Author Topic: Learning programming the hard way  (Read 3680 times)

0 Members and 1 Guest are viewing this topic.

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: Learning programming the hard way
Whereas our entire University's Computing program is built around the idea that straight procedural ANSI C comes first, and then they add in C99, Java, Python, etc. later on; and IMHO, I think it's made me a better programmer. That's not to say I dislike Python, in fact I really like working with it, and if that's what you start with you could do far worse. Java is also a fairly good one to start with.

Personally, I feel though that C is actually a pretty good level of abstraction to start with. It's not assembly, but it's also not going to hold your hand and allow you develop sloppy coding practices either. A good middle-ground, if you will.

 :yes: That, and knowing several languages (even just a little bit) helps you understand their capabilities more and allows you to pick and choose the right language for the job.
Secure the Source, Contain the Code, Protect the Project

funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.


Offline Aardwolf

  • 211
  • Posts: 16,384
    • Minecraft
Re: Learning programming the hard way
I.... hate scheme with a passion. I agree with those that say start with C - you'll find that plenty of languages look an awful lot like C, and C is still a perfectly viable language to program in. As for compiler environment, I personally think you should set up Linux of some sort (Personal preference is something Debian based, at least in a VM) and compile with gcc; but that's likely because I've not touched Visual Studio.

this is about the only thing i like about linux. gcc is ****ing awesome, it takes all the bull**** out of programming. no ides to configure, libraries are easy to get, etc. just a simple makefile is all you need. visual studio on the other hand can be such a *****.

Ha, I use gcc/g++ on my win7 (gnuwin32 ftw!)

Not for serious stuff, but sometimes if I want to write a little dinky program to test an idea and I don't want to configure solutions and projects and stuff like that.


Offline Tomo

  • 28
Re: Learning programming the hard way
I use Qt Creator 2.4 as my primary IDE.

- It's happy with both mingw32 (gcc) and VC2010 compilers, the only difference I notice between these compilers is that gcc gives much nicer error messages and the debugger was easier to set up.

I tried Visual Studio 2010 Express but it's really painful to set up compared to Qt Creator.
(Plus jom means that Qt Creator compiles using VC2010 faster than Visual Studio does... Yes, this is madness but hey!)


Offline BloodEagle

  • 210
  • Bleeding Paradox!
    • Steam
Re: Learning programming the hard way
Don't learn a scripting language first.

C is actually a really good place to start.

I'm gonna say the opposite. Python is a fantastic place to start and learn all the basics about programming. It's a great language. I came to this thread planning to urge you to do something other than C as a first language anyway. There's a reason why the vast majority of introductory programming courses start with Java or Ruby or Python and NOT C/C++. Those last two have a lot of extra complexity that frankly just gets in the way of learning the basics.

I really don't buy the argument that it's bad to start at a higher level of abstraction. Abstraction, after all, is what programming is all about. :)

Pick up C as a second language, and use it to write a webserver or something (although there's nothing stopping you from doing that in Python too). :)

I haven't really had cause to check out Python, yet.  I was mainly referring to languages along the lines of JavaScript (stay the **** away from this for as long as you're able to).

I've always found error checking in compiled languages to be far easier with than in scripted ones.



When / if you move on to learning OOP, you should look into Processing.  It's like Java without the overhead (though it lacks a great many features).


Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Re: Learning programming the hard way
My programming classes in college started with C and then introduced C++, and we did all our work on a Unix shell.  I still don't know how the hell an IDE works, much less how to properly configure was all gcc/g++ and Makefile for us. :p

I.... hate scheme with a passion.
I strongly agree.  I forget which course it was that was based around Scheme, but I loathed it.  The whole language is so minimalistic and ass-backwards that it requires some sort of zany sideways thinking to do even something simple.  Give me operations and loops that actually make sense in plain English any day of the week.