Quantcast
Channel: Hacker News
Viewing all articles
Browse latest Browse all 10943

How to Start Learning Computer Programming for Free. - Programming Blog

$
0
0

Comments:"How to Start Learning Computer Programming for Free. - Programming Blog"

URL:http://www.jeremymorgan.com/blog/programming/how-to-start-programming-for-free/


So, you want to be a computer programmer? It’s a lot easier (and cheaper) than it used to be. When I first started programming in the 90s, I remember having to shell out $300 bucks for a compiler package, and that was the “standard” edition. At the time it was pretty much your only option if you wanted to do C++ programming. A lot has changed since then.

If you want to do serious commercial development, you’ll have to spend a considerable amount of money on a really good suite of tools to do so, that much hasn’t changed. But what if you want to just learn programming? It would be helpful if you could find out whether it’s your thing or not without spending hundreds or even thousands of dollars right? Well, thanks to a lot of hardworking and generous people, you can. I’ll list off some free stuff you can get if you want to get rolling as a programmer. You might like it, you might not, but at least you’ll find out without breaking the bank.

What kind of programming?

The first thing you have do decide is, what kind of programming you want to do. Do you want to do web programming (building dynamic websites)? Do you want to do desktop programming? Mobile Phones?  This is the first choice you have to make.

If you really boil it down, most programming languages and platforms are somewhat similar. The core part of programming is pretty much the same. You have:

  • Variables
  • Data Types
  • Expressions
  • Operators
  • Conditional Statements
  • Functions

This is a very basic overview, but these are the things you’ll need to learn about with whatever language you choose. You also must choose between:

  • Compiled Languages - (C, C++, Delphi, ASM, etc)
  • Interpreted - (Perl, Python, PHP, etc)
  • Virtual Machine - (Java, C#)

Compiled languages are where you write your code and then compile it, turning it into byte code that the CPU understands. With interpreted languages you write code and then an interpreter reads through it and acts on the commands. Virtual Machine or runtime languages are a type of hybrid that compiles code, but it is read by a runtime environment rather than the CPU.

Generally desktop programs are compiled or VM, and web languages are interpreted but you have some instances where those rules are broken.

Programming Tools

If you’ve made you choice, here are some free tools to get you started.

C++

There are tons of great free C++ tools out there. I’ll list the two that I’ve tried, that I can vouch for.

To start out, I would recommend Dev C++ by Bloodshed Software. This is a simple, yet powerful compiler that is perfect for those simple lessons you’ll be going through as a beginner. You don’t need all the extra stuff yet, so a simple compiler like this is perfect. You would be surprised how powerful it is though, you can build a lot with this product.

When you start getting into building GUIs, installers and other things, step up to the Microsoft Visual Studio Express Edition. Even after a year I’m still shocked at how much they’re giving away here. This product is good once you’ve gone through the beginner tutorials, and will provide awesome power for building apps.

Special Note: I don’t generally don’t recommend C++ to beginner programmers. This language can be very steep for beginners, and they get discouraged easily. If you are super dedicated, you can learn it, and the knowing the basics of this language will make it far easier to learn others.

C++ is a great language for those who want really fast, powerful programs, but it’s not always the best solution. If you’re building something relatively basic that doesn’t require a lot of CPU power, you may want to look for something closer to C# or Visual Basic.

C# .net

So you wanna be a C# programmer? This is a fast growing language due it it’s power and simplicity. It’s easy to learn, and you can pump out a lot of things fast, which is why it’s great for beginners.

Again, download the Microsoft Visual Studio Express C# edition. It’s quite powerful and easy to learn.

Visual Basic .net

Visual Basic is exactly what it sounds like: basic. I may get flamed for saying this, but usually I steer even beginner programmers away from it. 10 years ago VB was a great program for beginners, but these days I think if you are going to invest time learning a language, you’d be better off going for C# . It is as simple as VB, yet more powerful and I feel the industry has been leaving VB for years. If you want to be employed as a programmer, there aren’t as many avenues for VB programmers, with the exception of those working on legacy code.

If you do want to learn VB anyway, download the Microsoft Visual Studio Express VB edition. I’ve tried it, and it works very well.

Java

Getting into the java world is like stepping onto another planet. Java is, in fact a whole other world. There are arguments for and against Java, but in my personal opinion, I feel it’s the most valuable of all the desktop development languages to learn. It’s cross platform, and you can build software to anything from servers to PDAs, or microwave ovens. And Java is everywhere, so the employment opportunities are great.

Java is modeled after C, yet they started it from scratch so there aren’t all the backward compatibility features of C++. It’s not a difficult language to learn, but there is a lot to learn. It takes a long time to master, but it’s a worthwhile effort.

I recommend getting the JDK with NetBeans. This environment will give you all the tools you need to get started as a Java programmer.

PHP

This is a web based language so it doesnt quite fit in with the above languages, but is easily the fastest growing and most popular language on the web. Want to get started with PHP? It’s easy.

Get the Zend Core Package from Zend. This will install a fully functioning php webserver on your local machine, so you can build web apps right on your desktop. When you’re done you can upload them to a webserver. You don’t need to know much about setting up servers, or messing with Apache because the Core does all the work for you.

For an IDE, I suggest Notepad++. This is the absolute best tool for text editing I’ve ever seen. You can edit php files, or even files for all the languages up above, and it does syntax highlighting and complicated text features. Download it now! So, if you want to get into desktop or web programming, you don’t have to spend a dime. If you decide you really like it, and want to move on, there are products out there with far more features you’ll need for serious commercial development. But why not spend some time learning with the free stuff? Heck you may not need anything more than that. I know quite a few professional developers who still use the free tools.

Programming Tutorials

Once you get the tools you need, here are some great places to find free tutorials to learn your language.

C Plus Plus - Great C++ tutorials from beginning to advanced.

C Programming - Great tutorials for C programming.

Function X - A good resource for tutorials in C, C++, C# and more

Java Ranch - Great spot for beginning and advanced Java programmers

C# Station -  Great place for C# tutorials

MSDN C# Basics - Microsoft’s C# tutorials

Good PHP Tutorials - Some good tutorials for PHP programming

W3Schools PHP Tutorial - This site has awesome tutorials for tons of languages, and they’re all great. This is the PHP section.

Get Programming!

Here is some good info on getting started in programming and another list of free compilers. Get to coding and learn as much as you can. Experiment and play around, but most of all have fun!



Viewing all articles
Browse latest Browse all 10943

Trending Articles