Beginning Program language?

I was just wondering if anyone out there could give me their opinion of a good starting program language(not QBASiC or html) and if you could please point me in the direction of a good book.
thnx later

C++

It’s really not as hard as people make it out to be to get started. Just take a look through the various books, even C++ for Dummies is quite good. Also, Blender’s coded in it, that’s a plus. :wink:

Whatever you do, don’t start with a BASIC derived language that will give you bad habits. It took me a long time to drop the ones I learned from QBasic. I always regretted not going C++ in the first place.

most of blender is c, the game engine is c++

I would suggest python

the truth is that there a lot of programming concepts (loops, if statements) that many people simply don’t get quickly, it helps if there is a simple language (where compiling isn’t an issue) to get started on

I would have suggested qbasic, but vlarking brings up a valid point, tons of bad habits. also it is old. visual basic isn’t much better…

that said, c++ isn’t too difficult if you can get those programming basics down…

so, uh, what have you programmed before?

This is an interesting question. The only language that was designed to be used as a teaching tool was/is basic. Then came (shudder) PASCAL which was designed to teach programming (please note that most of the programs still in use today started as either basic or machine language programs[also note that CPM is not a programming language]).
NOTE: PASCAL was designed by some college professor to inforce his particular idea of what a computer program should look/act like.
C was created to make operating systems, which means that it lacks in the areas that are not part of the operating system.
C++ what can I say about C++, don’t really know why this beast was created and as of approximately a year ago still was no standardized (this may have changed).
The above are programming languages, in my opinion. Then comes the
‘others’.
Among the others are PERL, PYTHON, etc, etc, etc. These were created as something else and kinda evolved into a language.

Now for the best to learn from… every programming has his/her own facovite but in my opinion basic is the best for learning, even with the snide comments about bad habits ( which in reality only exist because the prople that teach programming usually developed a dofferemt idea of how a programmer should work).

Althiom, the picker of nits.

In agreement with z3r0 d python is a good start, it’s easy to learn and code changes can be checked with out having to endlessly recompile, and the python site has good documentation…tutorials and such. Past that I’d suggest C since it’s the most used language, the gcc compiler is written in C (except for libstdc++ ;), and if you’re going to develop on OS X Objective-C is the prefered language.

My university teaches Java as a beginning language in Computer Science 1. I don’t really like it because it seems like the methods to get everything to work proper are not very straightforward… so maybe it’s not actually such a great language to start with.

I would recommend Java. The Java language (in my opinion more then even C++) forces you to build software Object Oriented. Java is in my opinion a great implementation of concepts like data and function abstraction.

Assembler rockz (just kiddin’)

I would recommend Java. The Java language (in my opinion more then even C++) forces you to build software Object Oriented. Java is in my opinion a great implementation of concepts like data and function abstraction.

I totally agree, since I’m a Java-Programmer. The Java concept is so great and a fantastic IDE is available for free (see www.eclipse.org). Eclipse with Java is so powerful that big software projects are realizable with only one person (myself,hehe) and there are so many well programmed (and also well documented) apis for internet programming, OpenGL, MySQL databases and so on.

And at least, if you know Java, Python won’t be a problem for you.

GreetZ

ReSeT

Certainly not C++, which is a language far too complex to do anything simple. At start, it was advertised as a better C + well designed objects, and fail miserabily in both areas.

Not that C++ is a bad langage, far from that, but a beginner cannot master it without prior knowledge. In C++ you would be forced to digest from start too much advanced paragdims.

C has the defects of its qualities, it doesn’t force you to make good programming. It is a great langage and you will need to learn it sooner or later, but it’s not recommend as a first one. But if you want, the only book you will need is “Programming in C” from Kernnigann & Ritchie. It’s heavily outdated and you need an unix to really pick all from the book, but it is still the far best one I know.

So what choices are you left with ?

Python and Java were are 2 good candidates and it only depends of your objectives.

Both are object oriented, easy and will force you to do good programming.

Java will direct you to more complex apps or applets with a GUI, whereas Python is more filter and small tools oriented. Both will learn you the basics well.

An advantage of python is that it interfaces itself easily with C.

Personnally, I would choose Python then C, I’ve never much liked Java, but it’s only a matter of tastes. Keep learning C++ for later.

Avoid C# (microsoft last attempt to invade yet another area) at all cost.

Among other langages of interest, PerL is very good, but like C may give you bad habbits so avoid it for now.

If you are on a Mac, Objective-C is very good too and a must know.

Java is good! But is it the right language for me? Hmm…

From what I have to put up every Friday night before I get to enjoy it, I’d have to STRONGLY disagree! :smiley:

c…

The C Programming Language, 2nd Edition by Kernighan and Ritchie

lilo

WTF Dumbass there was no C+
The name C++ means to increment C by one. It’s an inside joke.

And that’s total BS about C++ being harder to start with than C. You only have to go as complex as you want. It’s not like you HAVE to learn about abstract object oriented concepts as a beginner.
My point, C++ is complex, but it’s only as complex as you want/need it to be.

I think lukep meant ‘+’ in the terms of ‘&’.

[quote=“JarellSmith”]

I think lukep meant ‘+’ in the terms of ‘&’.[/quote]

LOL, yeah. He said:

At start, it was advertised as a better C + well designed objects, and fail miserabily in both areas.

and he meant

At start, it was advertised as a better C with well designed objects, and failed miserabily in both areas.

I thought it was obvious because of the space, so who’s really the dumbass valarking?

Read better next time.

the “better C + well designed objects” is even a quote from Bjarne Stroustup himself.

And the problem with C++ is not only the langage himself but the standard libraries, which although well designed are utterly complex for the begginer when compared to java or python ones because they came with a severe complexity overload. And you cant program without them

Then you have the GUI classes (on any platform) which are worse.

Then you have the static declaration mecanism which means recompiling the whole thing if any classe changes.

Then you have the Template classes needed due to the static declarations.

Then you have multiple inheritance and so on.

All this is useful, but very complex to apprehend for the begginer, and he will encounter those oddities very early. That why C++ is ill-designed for learning.

StdC is bad but you can pick what you need and use only that easily.

Java and Python are even better at that. They both provide good frameworks you can build easily upon.

Obj-C and Cocoa are one (gnu)Step beyond but only for the mac

binary

now really i learned basic, then before i really started using it i learned C. then i started C++, which is what i use now(a little)

From what I have to put up every Friday night before I get to enjoy it, I’d have to STRONGLY disagree! :D[/quote]

She has to put up with me yelling at the computer because I absolutely abhor Java. It is a strongly typed language (too strongly, I think) that babies you into using one specific paradigm at all times, even if that paradigm isn’t the best. If I wrote down all the things I didn’t like about Java, it would probably take eighty solid pages or so.

My favorite language is C – it is extremely powerful and standardized, and does not force you to program in certain ways. Of course, that means that you can write poorly organized programs very easily, but you can also write great ones if you know what you’re doing. I wouldn’t recommend it as a beginner’s language, though, although I think it is the second language one should learn.

C++ is a decent language; it has some idiotic features, but to me, it’s Java without the bad parts. It’s definitely not a beginner’s language, though. Learn it once you know C.

If you want to learn how to program, learn Python first – you can use many programming paradigms. Start out learning procedural programming, i.e. separating a task into a series of smaller, more manageable tasks, and encapsulating each into a function. This will teach you the basics, like conditional statements, looping, function calls, etc. Then move on and learn object oriented programming (Python has a good implementation of classes).

Whatever language you learn, make sure that you focus on the concepts you are learning, not the nuances of the language. In an advanced high school programming class, I saw students come in who knew BASIC, but barely knew anything about programming in general! If you focus on concepts, you will be able to recognize them in any language you learn, and the learning process will be much quicker.

Matt

Thanks all I really enjoyed your help, I think I am going to have to learn python as my first but since i’m grounded for the next 2 months I think i’ll be able to get quite a bit of it down quite quickly(how long is quick I dunno)
Then I guess i’ll go on to C++. The main point of my learning to program is to be able to write games, Ok so I guess I can get all the information I need about python on the official site right?
Later

DO NOT LEARN C BEFORE C++!!! THE SYNTAX AND PROGRAMmiNG STYLE IS SO DIFFERENT, YOU’LL HAVE TO UNLEARN C FIRST!!! :< :< :x :x :< :x :< :< :x :x :x :<