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

0 Members and 1 Guest are viewing this topic.

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Learning programming the hard way
here  (or here if you're at work)

I think I'm gonna see if I can learn C (there are like a million free books on languages on that site, including graphics programming) ... IDK if it'll do any good, but,
Quote
If you don't know how to code, then you can learn even if you think you can't. Thousands of people have learned programming from these fine books:

Hmm.  Well, I once did attempt to teach myself C++ (Borland Turbo C++ or somesuch)

It was a miserable failure, because, at the time, something was wrong with my compiler (I guess)... they instructed me to create a simple program, which I did.  It would not compile.  I tried making several alterations.  No dice. 

I then proceeded to open up the answer key and I copied the correct program verbatim.  Still couldn't compile. At which point I gave up.  Not sure what the problem was, but I haven't attempted anything since.

They also have a manifesto that I copied here:

Quote
Programming, Mother****er
Do you speak it?
We are a community of mother****ing programmers who have been humiliated by software development methodologies for years.

We are tired of XP, Scrum, Kanban, Waterfall, Software Craftsmanship (aka XP-Lite) and anything else getting in the way of...Programming, Mother****er.

We are tired of being told we're autistic idiots who need to be manipulated to work in a Forced Pair Programming chain gang without any time to be creative because none of the 10 managers on the project can do... Programming, Mother****er.

We must destroy these methodologies that get in the way of...Programming, Mother****er.

* * * *
Our Values

They Claim To ValueThey Really ValueWe ****ing Do
Individuals and interactionsTons of billable hoursProgramming, Mother****er
Working softwareTons of pointless testsProgramming, Mother****er
Customer CollaborationBleeding clients dryProgramming, Mother****er
Responding to changeInstability and plausible deniabilityProgramming, Mother****er

We think the **** on the left, is really just the con in the middle, and that we really need to just do the thing on the right...Programming, Mother****er.

Signed,

Zed A. Shaw
And The Programming Mother****ers

Can anyone look at this site briefly and tell me if it's a pretty good place to learn?  Or are there other better sites?  Keep in mind that I'm not going to have time to sit down and learn this; I'm going to have to pick up bits and pieces here and there and try to keep myself interested as well.
« Last Edit: March 22, 2012, 12:27:27 am by jr2 »

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: Learning programming the hard way
lmao... language filter fail.

what link is actually linked to:
http://www.programming-mother****er.com/become.html

EDIT: After getting past some of the hard feelings, it looks like it's got links to some interesting reads. Of course, you probably still do need a compiler that actually works. :p
« Last Edit: March 21, 2012, 09:43:27 pm by z64555 »
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
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 Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Learning programming the hard way
:lol:
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Aardwolf

  • 211
  • Posts: 16,384
    • Minecraft
Re: Learning programming the hard way
jr2, C++ can be incredibly frustrating due to the amount of "meta" stuff ... directory setup, debug vs. release, linker settings, ... such that there may be nothing wrong with your programming, but it won't work.

You can probably find instructions for how to set up your dev environment somewhere on the Internet.

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Re: Learning programming the hard way
Thanks.  And, I used bit.ly to fix the language filter bug.  EDIT: At work, you can always go to progmofo.com.  Apparently, he recommends learning a scripting language first.  I chose Python (instead of Ruby), and I'm all set up now (finished exercise 0, setting up).

Obviously (if you read it), a lot of this stuff is familiar to me (using command line to list and create directories, and change working directories, etc), so that helps.  Hopefully I'll get something out of this in the end.  Wish me luck!  :D
« Last Edit: March 22, 2012, 12:12:22 am by jr2 »

 

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.

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Learning programming the hard way
i definately support starting with c. high level languages are really good at hiding what goes on beneath the surface. oop is all fine and dandy when you need to organize a massive code base, but i find when youre learning the basics, like data types, control structures, pointers, functions, structs, etc, dealing with high level stuff like objects just really gets in the way. once your proficient in the basics then move on to oop. learning from the top down seems like it would be confusing. like teaching calculus to someone who doesn't know algebra. of course i dont advocate learing asm first either. the advent of the programming language is actually important because it makes programming much more accessible to everyone. asm is hard to read, hard to write, you have to memories hundreds of opcodes and know a considerable amount of information about the cpu, where programming languages proper just lets you tell the computer what you want to do and have the compiler decide which instructions best represent your code. you can completely avoid asm so long as youre not writing really tight code (and if you are the cpu is fast enough where you might not care or notice whether something took 10 nanoseconds or 10 microseconds).
« Last Edit: March 22, 2012, 02:58:24 am by Nuke »
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Polpolion

  • The sizzle, it thinks!
  • 211
    • Minecraft
Re: Learning programming the hard way
I suggest starting with C as well. It's pretty, simple, relatively small, and introduces you to ideas that would lead to huge frustrations if you start with a scripting language and went down in abstraction instead.

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Learning programming the hard way
the cool thing about c is that once you learn it its fully featured enough to keep using it, or you can move into c++ or some other c derivative, without needing to learn a whole other language.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Spicious

  • Master Chief John-158
  • 210
Re: Learning programming the hard way
The bad thing about sliding from C to C++ is you'll most likely start off writing terrible C++.

 

Offline pecenipicek

  • Roast Chicken
  • 211
  • Powered by copious amounts of coffee and nicotine
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • PeceniPicek's own deviantart page
Re: Learning programming the hard way
i'm probably gonna get a lot of flak for this, but i find vb.net quite glorious. especially if you work in VS2010.
Skype: vrganjko
Ho, ho, ho, to the bottle I go
to heal my heart and drown my woe!
Rain may fall and wind may blow,
and many miles be still to go,
but under a tall tree I will lie!

The Apocalypse Project needs YOU! - recruiting info thread.

 

Offline Ghostavo

  • 210
  • Let it be glue!
    • Skype
    • Steam
    • Twitter
Re: Learning programming the hard way
Your first imperative language is not really that important, as long you learn how some basic data structures/algorithms/control flows work.

Hell, you could always do it the hardcore way and go for full blown pseudo-code.

"Closing the Box" - a campaign in the making :nervous:

Shrike is a dirty dirty admin, he's the destroyer of souls... oh god, let it be glue...

 

Offline headdie

  • i don't use punctuation lol
  • 212
  • Lawful Neutral with a Chaotic outook
    • Minecraft
    • Skype
    • Twitter
    • Headdie on Deviant Art
Re: Learning programming the hard way
Your first imperative language is not really that important, as long you learn how some basic data structures/algorithms/control flows work.

Hell, you could always do it the hardcore way and go for full blown pseudo-code.



My old programming tutor loved pseudo-code, with it helping you to translate the student scribbled "what i want to do" into usable code.  So did the ppl on the course for the other modules because they could still get marks without even if they hated programming.

Oh and this thread has encouraged me to actually find a tutorial and start relearning C for the first time in 10 years :D
Minister of Interstellar Affairs Sol Union - Retired
quote General Battuta - "FRED is canon!"
Contact me at [email protected]
My Release Thread, Old Release Thread, Celestial Objects Thread, My rubbish attempts at art

 

Offline Qent

  • 29
Re: Learning programming the hard way
I'd say start with Scheme and work your way down to C, but that's just because that's how they taught it in school when they had some years available to teach it. :o

 

Offline LHN91

  • 27
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.

 

Offline Polpolion

  • The sizzle, it thinks!
  • 211
    • Minecraft
Re: Learning programming the hard way
If Scheme is your first programming language I swear I will worship you forever.

 

Offline Sushi

  • Art Critic
  • 211
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). :)

 

Offline LHN91

  • 27
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.

 

Offline Qent

  • 29
Re: Learning programming the hard way
If Scheme is your first programming language I swear I will worship you forever.
I played with Java and QBasic first, then took C++ and HTML/CSS/Javascript/Perl in highschool, then the first programming course in college used Scheme. So unfortunately I will have to turn down the nomination for godhood. :(

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
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 *****.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN