Register Advertise with usHelp Desk Today's Posts Search

Rate this Entry

Advice for new programmers

Share
Submit "Advice for new programmers" to Facebook
Posted 2nd December 2009 at 12:23 PM by Mr. Enthusiastic

Here's my advice, based on writing code since 1985 or so, for people who want to learn programming. There was a thread about it and I figured I should save my advice in case others would like to get started.

I think it's great that you start with Python. This lets you learn the principles of programming without a lot of strange punctuation. Free downloads and tutorials are at python.org.

There is a lot to good programming beyond writing code. Code writing is like the part of the postman's day driving around - the most visible job, but not all that they do.

Here's a helpful article about that: The Joel Test: 12 Steps to Better Code - Joel on Software

You can learn source control, builds, continuous integration, bug tracking, debugging, spec writing, testing, and usability testing within Python. Also you can learn how to make code modular, and how to do good object-oriented design.

You will find that PHP is similar to phython. Here's the reference manual: PHP: PHP Manual - Manual. Once you are intermediate at python, you should recognize these terms.

For debugging I highly recommend you learn assembly language. Google for "assembly language tutorial" and you'll find lots of resources. The better you understand what is going on at the hardware, the more efficient and powerful you can make your code, and the easier it will be for you to design and troubleshoot any system.

After assembly, continue with Forth to see how the efficiency masters think. Anything discussion involving Chuck Moore or Jeff Fox will inspire you to make small, concise, modular software. Kinda like limbo or Name That Tune, how few lines of code can you use?

C was developed a long time ago to be efficient for operating system development as a portable assembler, and for programming research. C++ was made much later to add many new features to C. Java was made in an effort to improve on C++. C# was made to improve on Java, or to crush it in the marketplace, depending on your opinion of Microsoft and we won't get into that here.

You really should learn LISP. It is a decade older than C and involves some completely different concepts and thought processes. You can find MIT's tutorial on their teaching version of LISP, called Scheme, for free at Welcome to the SICP Web Site.

Paul Graham's articles and forums would be your next place to learn more about the LISP world. Read Papert's book and learn Logo. The concepts of functional programming are becoming more mainstream, especially with several functional enthusiasts involved in the evolution of C#.

Parallel computing is going to be more important in the future, using multiple cores and coordinating programs across multiple machines on the Internet. If you master this material you will be way ahead of the average programmer.

Finally, be sure you learn how to code like a cat.
99 Bottles of Beer | Language LOLCODE

Happy coding!

Chris
Posted in Technology
Views 1473 Comments 0
Total Comments 0

Comments

 


All times are GMT -6. The time now is 04:52 PM.