Programming or such. . .

Recommended Videos

ChillinMargrave

New member
May 18, 2009
59
0
0
I'm wondering if there's anyone that knows what path I should pick for learning programming, I'm thinking about doing, C or C+, not quite sure, and preferably not something that relates to taking a course, due to my ups and downs.

I've heard that the smartest way is to buy a book about programming, so which should I buy? I've looked around and found some books, here and there. But I'd rather know what people say for the best book a beginner should get, preferably easy to get your hands on but not a necessity.

Another form that came by my hear is mentoring, is that a good way to learn? Anyone been lucky/unlucky and gotten that treatment? Was it a memorable and sharing experience?

And last, but not least; I'd love if anyone know a good online guide with programs I should download, what I should do with them and basic stuff to make really dirt poor programs, then I can build my way up.
 

thiosk

New member
Sep 18, 2008
5,410
0
0
There is only one programming language.

PERL.

Hookers love PERL. They will give you freebies.
 

Flishiz

New member
Feb 11, 2009
882
0
0
Truth be told the best languages to learn are C++ and Java, and if you're feeling spunky, Python. Aside from that, touch base with HTML. Too useful not to know.

(Also, in my case as a CompSci major, don't date an animation major, else the nagging to learn Flash Actionscript will be forever imprinted in your brain DX)
 

Pielikey

New member
Jul 31, 2009
1,394
0
0
Python is a really good starting language.

http://www.python.org/download/
(download 3.x)

http://docs.python.org/3.1/tutorial/
The tutorial is actually pretty short compared to some of the other tutorials out there.

EDIT: C++ is a good language too but it's not something you would want to start with. (I tried that and couldn't learn coding for the life of me from it)
 

Agayek

Ravenous Gormandizer
Oct 23, 2008
5,178
0
0
As a starting language, I would recommend Java, simply because it holds your hand through a lot of the basic mistakes you will make time and time again in C or C++. The book I used for my beginning Java class was "An Introduction to Object-Oriented Programming with Java" by C. Thomas Wu. It's been a few years since I touched it, but if memory serves it was a fairly capable beginner's book. A slightly more advanced book (though not for any specific language) that I would also recommend is "Introduction to The Design & Analysis of Algorithms" by Anany Levitin. Very well-written book, but it does not teach specific languages. Instead it teaches pseudocode algorithms, which are the important bits of any piece of software.

Java is a good starter, but once you get the basics of algorithms down, you should learn a lower level language, C being the best choice as it is the most common. I'm told "Advanced Programming in the UNIX Environment" by W. Richard Stevens is the C Bible, but I'm not sure how valuable it is for learning the language. I picked up on it through messing around with Ubuntu and having a few classes require its use.



That's basically how I got into programming, but there are definitely advantages for starting with C. C compilers are very... unhelpful at times, and they'll allow you to do incredibly stupid things, so breaking yourself of those habits before branching into higher level languages may help.


Also, The Art of Computer Programming by Donald E. Knuth. Read it, live it, love it.


PS - And if you really want to learn a fun programming language, I would recommend picking up a copy of "Real World Haskell" by Brian O'Sullivan. Haskell is a functional language which is hugely different from the iterative languages that are most common (C, Java, C++, etc) and it's tough to wrap your head around at first. But once you get the hang of it, it's a lot of fun.
 

Woem

New member
May 28, 2009
2,878
0
0
Start with QBasic. That worked for me when I was 7. And don't they teach Pascal in high school anymore?
 

Snork Maiden

Snork snork
Nov 25, 2009
1,071
0
0
I learnt C# first, and then fell dead easily into C++. That said while learning C# from a book would be easy, I can't help but think if I hadn't been explicitly taught a language beforehand then C++ would've been a nightmare. The arguments for C# are basically the same as the ones for Java, so either would do I guess.

I've found that after you've got your first language under your belt its fairly easy to move onto another if you work at it.

ChillinMargrave said:
Another form that came by my hear is mentoring, is that a good way to learn? Anyone been lucky/unlucky and gotten that treatment? Was it a memorable and sharing experience?
I dunno about one to one mentoring, but having someone on hand who you can ask questions to means you will eliminate half the battle. Early program mistakes are almost *always* idiotic, and been told "this is wrong, this is why" saves a lot of headaches.
 

Trivun

Stabat mater dolorosa
Dec 13, 2008
9,831
0
0
Snork Maiden said:
I learnt C# first, and then fell dead easily into C++. That said while learning C# from a book would be easy, I can't help but think if I hadn't been explicitly taught a language beforehand then C++ would've been a nightmare. The arguments for C# are basically the same as the ones for Java, so either would do I guess.

I've found that after you've got your first language under your belt its fairly easy to move onto another if you work at it.

ChillinMargrave said:
Another form that came by my hear is mentoring, is that a good way to learn? Anyone been lucky/unlucky and gotten that treatment? Was it a memorable and sharing experience?
I dunno about one to one mentoring, but having someone on hand who you can ask questions to means you will eliminate half the battle. Early program mistakes are almost *always* idiotic, and been told "this is wrong, this is why" saves a lot of headaches.
"Now we know!"
"And knowing is half the battle..." (cue GI Joe theme music)

Anyway, I'll be doing a programming course as an optional elective module at university next semester. No idea what I'll be learning, or if it will be an actual language or just the basics that could be transferred between languages. My guess is that we'll probably start off with Java or C#, though I'm not certain. Anyway, as others have said, it should be easy to transfer knowledge from one to another after you have one language under your belt, so there shouldn't be a problem there. Good luck either way OP, but make sure you start with something easy then work your way onto the tougher, more complex languages...
 

Perception

New member
Nov 18, 2009
17
0
0
I'd suggest starting out with Java. Like someone else said, it holds your hand to a much greater degree than C does. Java compiler and runtime errors generally give you very detailed feedback, telling you exactly what went wrong where.

C likes to give you infinitely useful one-liners like "Segmentation fault.", and leave you the fun hours of searching to figure out just where you introduced an error.
 

Syntax Error

New member
Sep 7, 2008
2,323
0
0
Perception said:
I'd suggest starting out with Java. Like someone else said, it holds your hand to a much greater degree than C does. Java compiler and runtime errors generally give you very detailed feedback, telling you exactly what went wrong where.

C likes to give you infinitely useful one-liners like "Segmentation fault.", and leave you the fun hours of searching to figure out just where you introduced an error.
Oh, the memories start flooding in! Hours upon hours of debugging, only to find a single misplaced period (this was for a homework for extra credit in C++). JOY!!! Although that was my first "proper" programming language, so cut me some slack.
 

Agayek

Ravenous Gormandizer
Oct 23, 2008
5,178
0
0
Perception said:
C likes to give you infinitely useful one-liners like "Segmentation fault.", and leave you the fun hours of searching to figure out just where you introduced an error.
Seg faults are the devil. The one thing in programming guaranteed to send me into an apoplectic fury. I think I once spent 12 hours finding/fixing one of them in a program <800 lines long.
 

Mako SOLDIER

New member
Dec 13, 2008
338
0
0
I'd agree with the recommendations of starting with C#. It's really easy to learn ('Beginning C#: An Introduction ot Object Oriented Programming' by Jack Purdham, published by Wrox, is REALLY good, I've been learning from that and it's really clear and straightforward. Plus there are plenty of books to move on to after that which cover game programming specifically), so if it's really that easy to jump from that to C++ then you'll be on to a winner. That said, with C# you get access to the full convenience of XNA, so you might not even want to jump ship to C++ in the end.

I guess it depends on what you want to program and on what platform. If you're going with games on PC or 360 then although C++ is arguably the more popular programming language you'd still be better off with C#.
 

Kif

New member
Jun 2, 2009
692
0
0
c# will give you a good grasp of how programming works, from there for a lot of languages you'd only have to learn the syntax changes and if you want to start simple go with Java. C++ (that is proper industry standard C++ where C# style code is not allowed) is not kind to beginners.
 

Zombie_Fish

Opiner of Mottos
Mar 20, 2009
4,584
0
0
From what I know, Java is a good starter for learning to program (and can especially help if you want to go into webpage design), and from there a good place to start looking at programming language would be C#, as a few people have already pointed out. From there a lot of programming languages have similar traits as far as I know (or at least the more common ones nowadays do), so pick a language after that and just stick with it.

Woem said:
And don't they teach Pascal in high school anymore?
At least one of the education boards in Britain (AQA [http://www.aqa.org.uk/]) allows Pascal to be used, but I'm not sure how many schools teach it anymore. My College certainly doesn't and teaches Visual Basic instead, though I don't know about others.