Need some help I'm new

Started by
17 comments, last by tufflax 13 years, 9 months ago
Why are you telling him not to go for c++? I started with c++ and loved it. It is by far my favorite programming language and it is what most pc and console game developers use. I mean look for what game development companies are looking for when hiring, here is naughtydogs: http://www.naughtydog.com/site/careers/gameplay_programmer/
Advertisement
How many other programming languages have you tried KBakerSR? Anyway, C++ is not good for beginners.
Quote:Original post by KBakerSR
Why are you telling him not to go for c++? I started with c++ and loved it. It is by far my favorite programming language and it is what most pc and console game developers use. I mean look for what game development companies are looking for when hiring, here is naughtydogs: http://www.naughtydog.com/site/careers/gameplay_programmer/


A number of years ago I would've agreed with you, but these days there are much better, easier and professionally applicable languages that are available (C# being the big one).

Not only that, but it'll probably take Hsblaze at least about 4 years before he even approaches having marketable skills, and by that time C++ will probably be on a sharp decline as far as industry use goes.

That's not to say C++ is useless, or that it's pointless to learn it, but as far as learning programming goes, there are much nicer ways to introduce someone than throwing them into a sea of pointer craziness.

edit: Also holy crap 2000 was a decade ago.
Some languages are harder and some are easier but in the end they're all worth a while and if you are very persistent it doesn't matter what you start with.

My personal preference to starting is Java. Why? Because I like it and I'm biased towards it as it was the first language that I've learned past the basics compared to other beasts like the above mentioned C++. It has it's own libraries which are readily available for use and can be run "everywhere."

The other suggested language is C#. I haven't checked it out yet, and, frankly, I have no intention on doing for a long time. If I was to go with a "simpler" language, I'd just use Java.

Java and C# are good options. There's also Python but... meh, I tried it once, but I didn't like it. I barely got to a hello world program though so it's almost as if I never even touched it.

I don't see why starting with C++ is a bad idea. Maybe the problem lies in poor documentation and books being deliberately written so you have a hard time understanding them. I don't know, the language itself is pretty easy to grasp. What you do with it, is the most important and oftenly overlooked aspect, and, generally, that's what gives people a hard time. They finish reading about the language and then when they open up the IDE, they have no idea where to start, and the journey of the could-be programmer ends.

Yo dawg, don't even trip.

The suggestion not to pick C++ stems from the difficulty in writing truly idiomatic and valid code, and that it's not as easy to express high level logic. There's too much of learning curve, and then too much programmer effort in productively writing robust C++ code. It's true that C++ is pretty much a must for programmers looking to get hired, but our OP is not applying to jobs. He is trying to get started.

For all mainstream languages, the basics are easy. They are the basics. It's once you get past trivialities that you can differentiate languages far more clearly. Beyond the utter basics, C++ is difficult.

The top two recommendations that bubble up on this forum are Python and C#, and I myself think those two are the best starting points. Language debates are ever present. this forum has had countless questions on "what language". It's worthwhile reading past threads to see the reasons put in favor of Python and C# and against C++.
Another post that wasted 3 days already( and counting) on which language to pick.
Just pick one and be done with it. You gonna probably have to learn the others
some time down the road anyway, so it might not even make a difference on which
language you start out with. Personally, I vote for this wonderful language , but thats
just me.
Edge cases will show your design flaws in your code!
Visit my site
Visit my FaceBook
Visit my github
Quote:Original post by tufflax
How many other programming languages have you tried KBakerSR? Anyway, C++ is not good for beginners.



I've used java, c#, c, and a version of assembly(not recommended!). Then of course a ton of web scripting languages.

I use c++ the most but java comes in a close second. I personally completely hate java but other people seem to really like it so i end up having to use it a lot. I am not saying c++ is the easiest language to start out using, it's not even close, but it is able to be done and personally i've had the most fun using c++. If he wants something easier to start out with I would go with python.

Here are some video lectures using python:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/

EDIT - also, do not go for the book recommended above (Structure and Interpretation of Computer Programs) as your first book on programming. It will most likely scare you away.
I love these threads! It feels so great that after 10 years of enthusiast-programming I am now able to help those who were once where I was...

Anyway, A good language to learn first is not C++, but C. It will teach you the basics of programming which you can apply to many other languages.

And of course, I recommend SAMS Teach Yourself C in 21 Days. The first three weeks of the book will teach you the C language, then there is a bonus week that introduces you to both C++ and Java.

Best of luck.

Languages; C, Java. Platforms: Android, Oculus Go, ZX Spectrum, Megadrive.

Website: Mega-Gen Garage

Python and Scheme are better beginner languages. Not only are they easier*, so the beginner can focus on learning the fundamentals of programming, but they also have an interactive interpreter which makes playing around and getting instant feedback possible, thus speeding up the learning process.

* For the beginners: Easier does not equal less powerful or something like that. If anything it means you can get more done in less time.

This topic is closed to new replies.

Advertisement