Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Poll

Which programming language is best for beginners?

Java
C#
C++
Other (Please specify)

Pages: [1] 2 3 ... 5

Author Topic: Learning Programming  (Read 12538 times)

Chattox

  • Bay Watcher
    • View Profile
Learning Programming
« on: October 13, 2011, 07:36:16 am »

I'm sure you guys get asked this question a thousand times a day, but over the months I've been here I've come to realise that the Dwarf Fortress forums are home to some of the most intelligent guys on the internet (I point you to the "Nerdy Bragging Rights" thread :P)

So, long story short, it looks like my degree might fall through, so I want to learn a programming language alongside it just incase it does. The only problem is which, and where/how to learn it. I'd like to learn Java or C#, but I can't decide which.

Which language would you recommend for an absolute programming beginner, and how would you recommend I go about learning it?
Logged
"10 z levels down, 10 tiles north is some blood, i shall go clean it before it drives me to insanity with it's crimson color"
The setting of Half-Life 2 Episode 3's release: "It is the 41st Millennium. For more than a hundred centuries the Gabe has sat immobile on the..."

MrWiggles

  • Bay Watcher
  • Doubt Everything
    • View Profile
Re: Learning Programming
« Reply #1 on: October 13, 2011, 08:10:24 am »

Its a hard question to answer.

Python and Perl are beggenerish, I suppose. So is Java beggenerish.

Seems to be more a question, what do you think you'll want as a first simple project?

Once you're competent with a language, its becomes easier to learn others.
Logged
Doesn't like running from bears = clearly isn't an Eastern European
I'm Making a Mush! Navitas: City Limits ~ Inspired by Dresden Files and SCP.
http://www.bay12forums.com/smf/index.php?topic=113699.msg3470055#msg3470055
http://www.tf2items.com/id/MisterWigggles666#

MorleyDev

  • Bay Watcher
  • "It is not enough for it to just work."
    • View Profile
    • MorleyDev
Re: Learning Programming
« Reply #2 on: October 13, 2011, 08:14:24 am »

C# > Java for learning if you ask me, largely because whilst both are about as simple to learn the basics, C# doesn't simply bar you from concepts Java deemed too 'risky' or 'complex' such as operator overloading (still bitter Java doesn't have that). They're available so you can actually step up to them, but it's still possible to code without them.

Alternatively Python or Perl is also "good for beginners".

As for how to learn it...books? Learn the basics from books or online tutorials, make some simple things, learn more, make more complex things, repeat and repeat ad infinitum ^^
Logged

Chattox

  • Bay Watcher
    • View Profile
Re: Learning Programming
« Reply #3 on: October 13, 2011, 08:22:18 am »

Seems to be more a question, what do you think you'll want as a first simple project?

Honestly, I'm unsure as I don't know what the languages are capable of. I'd like to something like a very simple game of some sort, though that may be too complex.

MorleyDev and MrWiggles, how did you both learn, and which language did you start with?
Logged
"10 z levels down, 10 tiles north is some blood, i shall go clean it before it drives me to insanity with it's crimson color"
The setting of Half-Life 2 Episode 3's release: "It is the 41st Millennium. For more than a hundred centuries the Gabe has sat immobile on the..."

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: Learning Programming
« Reply #4 on: October 13, 2011, 08:31:55 am »

I started with C64 Basic. Not advisable, this day and age :)

You're asking to learn carpentry, and whether you should start with the hammer or the saw. :) No, bad analogy. You want to learn "crafting", and wonder whether to learn carpentry or metalworking (bit better analogy). There's a tool for each purpose. You want to make a game? Learn a game-making language. Although you can make a game in any language, some are easier to work with than others. Some require weeks of work to get some pixels on screen, others have an innate ability to make graphics appear out of nowhere.

Given your choice, and going for a PC-game, I'd go for C#. Although it's microsuck, it's a good language. If you want to make a more portable run-anywhere-like-in-a-browser-or-phone-game, go Java.
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

shadenight123

  • Bay Watcher
  • Death. To all. Except my dwarves.
    • View Profile
    • My Twitter
Re: Learning Programming
« Reply #5 on: October 13, 2011, 08:35:51 am »

java is easy, really really easy to learn.
i was like...12? 13? and went on creating simple text adventures with conditionals, loops and whatnots.
it was simplicistic, but still, yeah, if you want to start learning, i'd begin java, then move on to C+ then onwards again to something else. Or there's always python.
or visual basic.
Logged
“Well,” he said. “We’re in the Forgotten hunting grounds I take it. Your screams just woke them up early. Congratulations, Lyara.”
“Do something!” she whispered, trying to keep her sight on all of them at once.
Basileus clapped his hands once. The Forgotten took a step forward, attracted by the sound.
“There, I did something. I clapped. I like clapping,” he said. -The Investigator And The Case Of The Missing Brain.

Chattox

  • Bay Watcher
    • View Profile
Re: Learning Programming
« Reply #6 on: October 13, 2011, 08:54:46 am »

Can anyone recommend any good books/tutorials for either language, that doesn't assume any prior knowledge of programming at all?
Logged
"10 z levels down, 10 tiles north is some blood, i shall go clean it before it drives me to insanity with it's crimson color"
The setting of Half-Life 2 Episode 3's release: "It is the 41st Millennium. For more than a hundred centuries the Gabe has sat immobile on the..."

PsyberianHusky

  • Bay Watcher
  • The best at being the worst at video games.
    • View Profile
Re: Learning Programming
« Reply #7 on: October 13, 2011, 09:11:13 am »

Can anyone recommend any good books/tutorials for either language, that doesn't assume any prior knowledge of programming at all?

I don't even code. I just know this book is a big deal.
http://en.wikipedia.org/wiki/The_C_Programming_Language
Maybe also get something with a focus on games
Logged
Thank you based dwarf.

Shades

  • Bay Watcher
    • View Profile
Re: Learning Programming
« Reply #8 on: October 13, 2011, 09:21:57 am »

Can anyone recommend any good books/tutorials for either language, that doesn't assume any prior knowledge of programming at all?

http://learnpythonthehardway.org/

It's free as an ebook or you can buy it. People keep telling me it's good and the author is a smart, if fairly arrogant, cookie. It's probably a good way to start learning to program.
I should mention although it uses python the things you learn are pretty applicable to anything.
Logged
Its like playing god with sentient legos. - They Got Leader
[Dwarf Fortress] plays like a dizzyingly complex hybrid of Dungeon Keeper and The Sims, if all your little people were manic-depressive alcoholics. - tv tropes
You don't use science to show that you're right, you use science to become right. - xkcd

Telgin

  • Bay Watcher
  • Professional Programmer
    • View Profile
Re: Learning Programming
« Reply #9 on: October 13, 2011, 09:50:54 am »

This is a tough question to answer, and first I'd like to pose a question of my own: Why are you learning to program?  You mention learning it in case your degree falls through, and if so then that means you intend to learn it as a means of finding work, right?

I really don't like to be the bearer of bad news, but even if you do learn to program, it's probably going to be difficult to find a job without a CS degree of some sort.  Certainly not impossible, but still tough.  My manager never finished his degree, but we work at a small family-like tech firm.  And he knew the HR guy personally.  He does know his stuff though.

Anyway, if that is your motivation, then I'd second learning either Java or C#.  Both of these languages see a large amount of use in the industry, have the features to do most anything you'd want, and aren't overly difficult to learn.  For what it's worth, the introductory programming classes at my university teach Java.

I wish I could recommend a book, but I've never found any programming books to be extremely useful.  I learned through a combination of stumbling through tutorials, trial and error and eventually formal instruction.
Logged
Through pain, I find wisdom.

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: Learning Programming
« Reply #10 on: October 13, 2011, 10:02:41 am »

No, OP is right: programming is what you do if you fail to learn a proper skill.

Actually going to school to learn something you should be doing as a backup when you fail school is kind of besides the point ;)
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

Chattox

  • Bay Watcher
    • View Profile
Re: Learning Programming
« Reply #11 on: October 13, 2011, 10:32:09 am »

No, OP is right: programming is what you do if you fail to learn a proper skill.

Actually, my degree is in software development, it's just that the entire uni is on shaky ground right now :P

This is a tough question to answer, and first I'd like to pose a question of my own: Why are you learning to program?  You mention learning it in case your degree falls through, and if so then that means you intend to learn it as a means of finding work, right?

I really don't like to be the bearer of bad news, but even if you do learn to program, it's probably going to be difficult to find a job without a CS degree of some sort.  Certainly not impossible, but still tough.  My manager never finished his degree, but we work at a small family-like tech firm.  And he knew the HR guy personally.  He does know his stuff though.

Anyway, if that is your motivation, then I'd second learning either Java or C#.  Both of these languages see a large amount of use in the industry, have the features to do most anything you'd want, and aren't overly difficult to learn.  For what it's worth, the introductory programming classes at my university teach Java.

I wish I could recommend a book, but I've never found any programming books to be extremely useful.  I learned through a combination of stumbling through tutorials, trial and error and eventually formal instruction.

Ideally, I'd like to do it as a hobby that I could possibly make money off (see Minecraft; I don't expect to make nearly that much money, but that's how Notch started).
Logged
"10 z levels down, 10 tiles north is some blood, i shall go clean it before it drives me to insanity with it's crimson color"
The setting of Half-Life 2 Episode 3's release: "It is the 41st Millennium. For more than a hundred centuries the Gabe has sat immobile on the..."

MorleyDev

  • Bay Watcher
  • "It is not enough for it to just work."
    • View Profile
    • MorleyDev
Re: Learning Programming
« Reply #12 on: October 13, 2011, 10:57:07 am »

I started with QuickBASIC (and then FreeBASIC back when it was just a faster QuickBASIC) xD I went from that straight to C++. After that I learnt C#, Java and other languages. After a few it becomes easy to pick up others in a short time. Don't recommend starting with a BASIC but I pretty much don't recommend BASIC ^^

Hang in, how can you do a degree in software development and not learn at least the formal concepts of programming? :S Really that's what you need to learn, it's just usually they are easiest learnt with a...ya know, language you can test them with xD

I'm a second year Bsc Computer Science student and one of our first year modules was Programming, taught using Java with optional C++.
« Last Edit: October 13, 2011, 10:59:50 am by MorleyDev »
Logged

Askot Bokbondeler

  • Bay Watcher
  • please line up orderly
    • View Profile
Re: Learning Programming
« Reply #13 on: October 13, 2011, 11:23:27 am »

i've decided fairly recently to learn to program too, i picked up python. posting to leech some advice from the thread

Cheese

  • Bay Watcher
  • 99% Dairy
    • View Profile
Re: Learning Programming
« Reply #14 on: October 13, 2011, 12:29:55 pm »

I've tried learning several languages several times. I've usually gotten so far then got bored, though I've always learned at least the very basic stuff, often beyond. This means that whenever I get motivated again, it's generally just re-learning the syntax, but I haven't really found any free stuff that teaches about how to think about programming and how to create algorithms and the like.

At the moment I'm trying to pick up Python again to attempt making some roguelike I have in mind.
Logged
Pages: [1] 2 3 ... 5