Friday, June 03, 2011

Class of 2011: New era of programmers

“If I knew then, what I know now”. Back in the Dark Ages when I decided on a career in programming, resources were limited. The Internet was not evolved. I waited in computer labs just to get an hour on an x86 PC with a 14.4 modem to connect via Kermit, an Internet terminal service. I didn't know which direction to take or what language(s) to learn. I had a degree in Mass Communications but wanted to start my career over using the DIY method. It’s taken me years to get where I am now. Nowadays, beginning to program is not as difficult as it was for me. If I had the opportunity to do it again and shorten the trip, this would be my advice:

First, dedicate a computer to programming. In my recent series about hacking, “School of Hacks”, I recommend a Unix-like operating system, or Linux distribution, but that’s not necessary. If you only want to learn programming, Windows is fine. Furthermore, I’ll be sharing information for Linux and Windows operating systems.

Second, select a semicolon programming language, and learn the language. Programming languages vary - some update frequently, others seldom change. Learning a semicolon language makes it all better when the common methods and functions are similar within the array of that language. Once you learn one language, it would not be too hard to learn another. Kind of like learning the grammar and semantics of Spanish, then translating that to Italian. What’s important is that you are learning programming logic, i.e., conditional statements, while loops, and switches. For you to begin, here are a few highly and more important, semicolon languages to choose from: C#, C, C++, Java and Python.

Third, download and get some hands-on experience with an Integrated Development Environment (IDE). The IDE is the locale where the code compiles. In the past, it was more of a challenge getting the hands on experience with an IDE. Nowadays you can download the IDE’s and install them on the same PC you use for programming. Each semicolon programming language has its preferred IDE. Let’s Start with C#. I currently work with C#, although my first language was a flavor of BASIC then onto Microsoft’s Visual Basic for Windows programming. Windows programming is now readily available online even for Microsoft .Net Framework. You can now get a Microsoft Visual C# Express version at no cost. On the same .Net Framework, if you wish to learn C++, you could download Microsoft Visual C++ Express free version. Microsoft Visual C# and C++ are for Microsoft Windows development only. There are also non Microsoft IDEs for Windows programming, such as Eclipse IDE for C and C++. These IDEs are also available for Mac and Linux. If you are interested in C or C++ development specifically for Linux platforms, I recommend GCC, the GNU Compiler Collection. Although, you might see that the GNU Compiler Collection handles Java, I recommend Sun’s, I mean - Oracle's Java. Java is a powerful, popular and widely used programming language. It was created by Sun Microsystems, and it now owned by Oracle. That being said, you can download a Java IDE from the Oracle site in the Sun Developer Network in flavors for Microsoft Windows, Linux, Solaris and Mac. You can download the NetBeans or the EE Bundle. Lastly, I recommend Python as a good beginner language. You can follow my article, Installing Python on Linux, or you can download Python 2.7.1 Windows Installer.

Fourth, get these tools and put them in your programmer’s toolbox: First, a printable PDF file called Python Cheat Sheet, and a C Style, or semicolon language Cheat Sheet for C, C++ and Java. Also, a printable Visual C++ Key Binding Poster, a Visual C# Key Binding Poster.

Fifth, use a good map to show you the way.  From the curriculum taught in “Introduction to Computer Science” at MIT (don’t ask), I gathered these topics you can reference to be on your way to learning programming:
  • Hello World
  • Operators
  • Types
  • Boolean
  • Conditional Statements (If Statements)
  • Loops
  • Methods and Functions
  • String Operations
  • List and Collections 
Sixth, practice, practice, practice. I can only take you so far. You can continue the DIY method, all you need to Google keywords, “learn” or “programming”, the topic, and the programming language, for example: “learn C# Operators“. And lastly, you need to practice programming. Once you mastered one language, you can graduate to more complicated Object-oriented programming and topics, like:
  • Objects
  • Inheritance
  • Polymorphism 
So far, this lesson has cost you nothing, except a computer which you probably already had. It doesn't take much money or time to get started. Like I said before, if I knew then what I know now, I would have started on a semicolon, or C like programming language, I would have begun with free and open source software, or even just with free software IDE. I would have spent more time understanding arrays as a collection or loops. Whether you’re a high school graduate in Cocoa Beach, Fla. or an elementary school graduate in Colorado Springs, this is a good start. It’s a new era of learning, and you can be a new programmer at no cost.

No comments:

Post a Comment