You are not logged in.

#1 2008-09-18 23:33:49

MarCustomized
Member
From: Detroit, MI
Registered: 2008-09-05
Posts: 116

Learning Programming

I know there are a lot of threads like this that ask "Where should I start?", but I'm more concerned with whats the most simplistic, "average joe", zero-experience, language to begin with.

My aim is to eventually be able to program graphical stuff with Python, but starting there seems a bit... steep.  There looks to be a lot to take in regarding libraries and all this other stuff I just don't understand.  Should I begin with Bash or Perl, or just start with basic Python tutorials?

I have no real previous programming experience.  I know general HTML to make static pages and whatnot.  Any suggestions regarding languages or books to read is greatly appreciated.

Last edited by MarCustomized (2008-09-18 23:42:06)

Offline

#2 2008-09-18 23:36:54

haxit
Member
From: /home/haxit
Registered: 2008-03-04
Posts: 1,247
Website

Re: Learning Programming

Try learning some bash scripting. Then move onto python.


Archi686 User | Old Screenshots | Old .Configs
Vi veri universum vivus vici.

Offline

#3 2008-09-19 00:07:38

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: Learning Programming

I'd start with python directly. I think python is clearer than bash and will be the path of least resistance, plus you can go farther with python than you can go with bash.

I would also say to not let the seemingly overwhelming amount of things to learn get to you. If you look at everything at once, it will seem like a massive mountain to climb, but step by step, it's not difficult (well, maybe sometimes, but not as difficult as you think). Some things which seem completely unintuitive and foreign at first will eventually just click as you wrap your mind around them. Learning a programming language is progress just as learning a real language is. You won't be speaking fluently using obscure verb conjugations 2 hours after you open a book. Just be patient.

I don't have any sites for tutorials other than what comes up on Google, but here are some links from my python reference bookmarks:
http://docs.python.org/lib/built-in-funcs.html
and, in general, http://docs.python.org/lib/
http://www.webreference.com/programming/python/
http://www.amk.ca/python/howto/regex/
http://infohost.nmt.edu/tcc/help/pubs/tkinter/


Also, the interactive python console is a great tool. When you're going through a tutorial or a reference page and want to quickly test something out, just fire it up and try.

I would recommend giving yourself small programming tasks whenever you can. Following tutorials will get you started but most of the time you'll end up coding something just for the sake of coding it and without having any real use for it. If you start with a goal, you'll have more motivation (and lots of "how the #%$#% do I do that now???" moments), but you'll learn more and you'll always know WHY you're learning to do something.

Btw, I love Perl and use it for nearly all general scripting. I use Python for object-oriented stuff though since it's clearer in Python imo. The only reason that I recommend Python and not Perl to start with (even though I started with Perl), is that Python is generally syntactically clearer. You're more likely to come across head-scratching code in Perl than in Python. Also, if you work with html/css, you might consider learning some PHP or JavaScript. Moving from PHP to Perl or vice versa is relatively easy imo (plus PHP documentation is neatly centralized and organized).

Last edited by Xyne (2008-09-19 00:10:46)


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#4 2008-09-19 01:08:42

dav7
Member
From: Australia
Registered: 2008-02-08
Posts: 674

Re: Learning Programming

Learn Ruby. Well, even if you don't want to, this book tells you really... interestingly... how Ruby works.

http://poignantguide.net/

(Click the picture of the book tongue)

And if Ruby isn't your thing, try Haskell, or like haxit said, learn bash. Or maybe you could learn PHP - that'd get you into webdevelopment quickly and give you possibilities you wouldn't otherwise have (yes, PHP is one of many languages that can be used for webdev - any language can, really - but it's often #1 the most popular and #2 the only language installed on the webserver/hosting account).

-dav7

Last edited by dav7 (2008-09-19 01:38:00)


Windows was made for looking at success from a distance through a wall of oversimplicity. Linux removes the wall, so you can just walk up to success and make it your own.
--
Reinventing the wheel is fun. You get to redefine pi.

Offline

#5 2008-09-19 01:14:08

ssjlegendx
Member
Registered: 2008-01-01
Posts: 94
Website

Re: Learning Programming

The introductory CS course at my university uses Python. It's been a while since I've looked over it, but Learning to Program (by Alan Gauld) might be helpful if you go down that route. smile

(The course itself used How to Think Like a Computer Scientist: Learning with Python as an online textbook of sorts -- though I do not recall using/reading it very much....)

Last edited by ssjlegendx (2008-09-19 01:14:53)


#!/vim/rocks

Offline

#6 2008-09-19 01:58:13

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,963
Website

Re: Learning Programming

dav7 wrote:

try Haskell
-dav7

Not entirely off-topic:
Could you share some thoughts on Haskell? What would you say are its strong and weak points, why did you recommend it to a new programmer, what would you say it's mainly good for, etc.

I keep thinking of installing the interpreter but keep saying "until I'm actually going to learn it, it's just 300 MB of useless info".

Last edited by Xyne (2008-09-19 02:22:06)


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#7 2008-09-19 01:58:21

freakcode
Member
From: São Paulo - Brazil
Registered: 2007-11-03
Posts: 410
Website

Re: Learning Programming

Learning Python will be the least of your problems, because Python or any language is not more than a syntax to express logic. First, make sure that along your way learning Python, you are understanding the main concepts presented (logic, common algorithms, data structures, procedural programming, object oriented programming, etc.).

BTW, Python is a good start as it will enable you to do procedural and object oriented programming, the syntax is somewhat clean, and the interactive shell is just so much cool for learning. Ruby might be also a good bet, but I'm afraid that it tries to be so clever and abstracts so much key concepts that a beginner will feel lost.

And, I would recommend a beginner spend some time wraping his head around C or even assembly, as it's the root of everything and you gain a lot of knowledge and vision of how the more abstracted stuff works internally.

Last edited by freakcode (2008-09-19 02:06:54)

Offline

#8 2008-09-19 08:33:04

moljac024
Member
From: Serbia
Registered: 2008-01-29
Posts: 2,676

Re: Learning Programming

If python seems to complicated for you to begin with, then maybe try Pascal ? It's terribly outdated and overly simple but could be a nice introduction to programming.

Don't flame me please smile


The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...

Offline

#9 2008-09-19 09:14:37

dav7
Member
From: Australia
Registered: 2008-02-08
Posts: 674

Re: Learning Programming

Xyne wrote:
dav7 wrote:

try Haskell
-dav7

Not entirely off-topic:
Could you share some thoughts on Haskell? What would you say are its strong and weak points, why did you recommend it to a new programmer, what would you say it's mainly good for, etc.

I keep thinking of installing the interpreter but keep saying "until I'm actually going to learn it, it's just 300 MB of useless info".

yikes mad yikes mad yikes mad 300MB?!

Wow, I didn't know that.

Haskell just happens to be the most-recent compiled language I know of that has a cool name. tongue

There's also Common Lisp which can be compiled, but Haskell just sounds... better. I don't know. Heh.

-dav7

Last edited by dav7 (2008-09-19 09:14:52)


Windows was made for looking at success from a distance through a wall of oversimplicity. Linux removes the wall, so you can just walk up to success and make it your own.
--
Reinventing the wheel is fun. You get to redefine pi.

Offline

#10 2008-09-19 09:59:08

Baha
Member
Registered: 2008-09-07
Posts: 52

Re: Learning Programming

I recommend python, because it is simple and very intuitive. I think Haskell may be difficult now (and later too, haha) and I don't like PHP...

I started learning C, by the way, and I think it isn't hard to learn.

Offline

#11 2008-09-19 10:08:07

Lord Illidan
Member
From: Malta
Registered: 2007-10-25
Posts: 248

Re: Learning Programming

I've done some Haskell in CS. I like the language a lot, but I'm hesitant to recommend it to a new programmer. Personally, I started out with some Visual Basic and a lot of Pascal. Now I'm doing mainly Java, but I've dabbled with Python, too.

I suggest learning through challenges, for instance projecteuler.net is a good site - but it gets very mathematical.

Offline

#12 2008-09-19 13:00:39

MarCustomized
Member
From: Detroit, MI
Registered: 2008-09-05
Posts: 116

Re: Learning Programming

Thanks guys.  I've decided to work through Python.  I found a good book which takes it pretty slowly and it's quite thorough and understandable.  The input is much appreciated smile

Offline

#13 2008-09-19 13:07:37

kensai
Member
From: Puerto Rico
Registered: 2005-06-03
Posts: 2,484
Website

Re: Learning Programming

MarCustomized wrote:

Thanks guys.  I've decided to work through Python.  I found a good book which takes it pretty slowly and it's quite thorough and understandable.  The input is much appreciated smile

Do you care giving the name of the book?


Follow me in: Identi.ca, Twitter, Google+

Offline

#14 2008-09-19 15:57:15

foutrelis
Developer
From: Athens, Greece
Registered: 2008-07-28
Posts: 705
Website

Re: Learning Programming

OReilly's Learning Python (3rd Edition) is pretty good IMO. smile

Offline

#15 2008-09-19 16:19:57

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: Learning Programming

I know that this thread is resolved, but I need to say one thing about Python: It's a joy to work with. I've only used it for writing scripts for GIMP, but I was truly amazed on how well designed it is, and just how easy it is to find documentation. You need a glob pattern? First search hit. You need sorting? First search hit. You need anything at all... My entire experience is always like this.

Last edited by skottish (2008-09-19 16:20:23)

Offline

#16 2008-09-19 18:01:56

cschep
Member
Registered: 2006-12-02
Posts: 124
Website

Re: Learning Programming

Here is a solid book on python, that's free online:

http://diveintopython.org/


also, if you're looking at ruby at all why's poignant guide is brilliant. also:

http://hacketyhack.net/

you can't go wrong with python though, good choice!

Last edited by cschep (2008-09-19 18:02:06)

Offline

#17 2008-09-19 19:52:50

MarCustomized
Member
From: Detroit, MI
Registered: 2008-09-05
Posts: 116

Re: Learning Programming

kensai wrote:
MarCustomized wrote:

Thanks guys.  I've decided to work through Python.  I found a good book which takes it pretty slowly and it's quite thorough and understandable.  The input is much appreciated smile

Do you care giving the name of the book?

Learning Python by Mark Lutz [O'Reilly]
Beginning Programming by Wallace Wang [For Dummies]

Offline

Board footer

Powered by FluxBB