Progamming for beginners

Started by
13 comments, last by jbadams 11 years, 6 months ago

[quote name='ELawson' timestamp='1349788654' post='4988330']

If you're learning to drive, the mechanics of actually driving the car is but a minor point, the rest is about learning road awareness, the highway code, learning how to read and anticipate situations and generally learning to be a safe, competent driver. Learning to drive in, say, a Porsche 911 adds an unnecessary layer of complexity and potential for danger so instead people learn to drive in cars that are far more forgiving. Same goes for programming. Any unnecessary layers of complexity and potential for danger only hinder the learning process, beginners have enough on their plate as it is.
[/quote]

This analogy doesn't quite go far enough. At the end of the day, driving a Porsche 911 in the city is really not that different from driving a Ford Focus. Also, the performance difference between languages isn't so deep either.

I would think a more apt comparison would be a Bugatti Veyron to a Formula One car. Both have comparable performance characteristic, but in a certain niche, in the right properly trained hands, the Formula One car will be superior. In other regards, and in ease of use, the Veyron will be superior. But at the end of the day, the Formula One car requires a hell of a lot more knowledge, special treatment and is just generally more of a pain in the ass to operate. On the flipside, you throw a formula one driver ( or C++ programmer ) at any other car ( language) they will do a pretty passable job with it.

Except LISP.
Advertisement
Goran, Serapth: Great points, I'd definitely agree. C++ is more complicated and tedious than it is hard.

- Jason Astle-Adams

Wow! I did not realize I had started such a large topic... lmao.
I did python as a first programming language. I do not recommend it. It will teach you many bad habits. Your best bet to get something that works some what close to c++ is java or c#. Java is more cross platform than c#. C# is a microsoft language, though there is a open source port of it called mono, this however is going to be similar to a much older version of c# 2.0 I believe.

Both languages have a C style syntax so you will feel rather comfortable going from either to c++. Python has a rather nasty syntax in my opinion. It makes a decent scripting language though.

I would say choose c# if you plan on only programming microsoft oses. Choose java if you're doing cross platform or working on linux.

The microsoft Visual studio IDE for c# is very good. This is why I suggest c# over java on microsoft oses. Also msdn is a really good place for documentation which you should get used to reading in a hurry.

Move up to c++ when you have made some fully functional and usable applications in your beginning language.

If your serious about programming. I suggest visiting 3dbuzz.com and checking out their videos for the live C# classes they did, for 35$ a month you get access to all of them via streaming of the recorded video, it's a college level education for 35 freaking dollars. I was there and participated live, they are really good. They also did c++ classes. They're building a new website and then they are going to come out with all kinds of new stuff, like iOS and andriod programming classes, more c# and c++ classes too.

If this post or signature was helpful and/or constructive please give rep.

// C++ Video tutorials

http://www.youtube.com/watch?v=Wo60USYV9Ik

// Easy to learn 2D Game Library c++

SFML2.2 Download http://www.sfml-dev.org/download.php

SFML2.2 Tutorials http://www.sfml-dev.org/tutorials/2.2/

// Excellent 2d physics library Box2D

http://box2d.org/about/

// SFML 2 book

http://www.amazon.com/gp/product/1849696845/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1849696845&linkCode=as2&tag=gamer2creator-20


I did python as a first programming language. I do not recommend it. It will teach you many bad habits.

What bad habits do you think you learned from Python? Obviously it's not going to teach you the curly-braces style syntax found in languages such as C/C++/C#/Java and you'll need to learn the syntax and adjust to the particular idioms if later changing to any of those languages, but I don't see any reason Python should impart bad habits.

In addition, beginners (and even more experienced programmers) can benefit from the interactive shell which allows you to try out and see the results of single lines of code without having to go through a laborious compilation process. This becomes less beneficial when writing larger pieces of code, but is an absolute god-send when a beginner is trying to learn the basics and can easily try out code for themselves.


Python has a rather nasty syntax in my opinion.

To each their own -- and this really is just personal preference on both our parts -- but just to represent an opposing point of view I personally find the syntax of Python very pleasing. In particular, because indentation has meaning, poor or inconsistent formatting of code seems to be far less commonplace, and with only a small amount of experience Python code listings can often be read just as clearly as pseudo-code.

- Jason Astle-Adams

This topic is closed to new replies.

Advertisement