ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Ok, so, I'm psoitivly thrilled about computer languages, and the stuff I can do with them and the fact that if I learn a bunch I will be a source of never-ending knowlege... ((rant...rant...rant..)
But, I find it really hard to learn stuff off a online tutorial (ie, sitting down with it at the computer) What I found useful for my first language (humble html) I had a book, generously from my parents for christmas. I read it through before doing anything, but with online tutorials, you kinda need to follow the examples to pick anything up.
So, (i can hear you) you're saying: buy more books! But as you all know, they can get pretty expensive. And I have to get them myself now. Second problem: I live in Bolivia, SouthAmerica, so, no english books, second: heavy books not good for luggage restrictions.
So how do you learn a new language, and keep on learning in that language. I'm talking day one hour one stuff. as in: not knowing anything about the language before you start.
Have a project or target, it'll really drive you. I learned a lot fast by trying to mimic a few apps I used a lot, both in gui layout and actual functions.
just dive right in. surround yourself with books & online tutorials on the subject and learn through osmosis. or (if you wanna be a wimp ) you could just take Proud's advice .....
I would recommend 1 good book like The C Programming Language by Ritchie and Kernighan. If you get a really good book like that you will only ever need 1. But if books are not an option (as it may sound)...
Write Code. Read Code.
That is about as simple an instruction as any, but it works! Read good code and like others have said, try to mimic some simple apps. Start with "Hello World" and then I would try to make your own GREP clone if you are doing C, or something like it. Good luck!
I agree with peace.. reading and writing code is the best way to do it. Find somewhat small program that does what you want to do, and rifle through it. Try to change little things here and there.
But, I find it really hard to learn stuff off a online tutorial (ie, sitting down with it at the computer) What I found useful for my first language (humble html) I had a book, generously from my parents for christmas. I read it through before doing anything, but with online tutorials, you kinda need to follow the examples to pick anything up.
titanium_geek [/B]
I've also never read online tutorials on the computer unless it is very necessary or emergency. It's so boring.
If I find some interesting online tutorial or book or something, I just print it out the whole thing and staple chapter by chapter.
For example, I printed "Thinking in Java" out, the whole book, and stapled chapter by chapter. When I go out, I just take a chapter and read on the bus, the train or whenever I'm free. A chapter is quite thin (about 15 to 30 cheets) and it's very convenient to bring along with you wherever you go. And it's more convenient than a book in this case.
(But I also bought "Thinking in Java" printed book because I want to have it on my book-shelf.)
Books are best, yo can read them while hanging in a lazy chair. Second best are descent print outs. A lot of good stuff is available, here are just some:
1. Glibc info documentation (installed under /usr/share/info). Tells a lot about UN*X internals.
2. Some of the Linux HOWTO's, available at www.tldp.org. Check the advanced bash scripting and secure programs HOWTO.
3. Common Lisp the Language, 2nd ed. by Guy L. Steele (available online for free, see www.lisp.org)
4. The source code for gtk+ (www.gtk.org) Interesting, goodloking stuff. Bit advanced, shows how to implement OO type systems in C.
5. RxRS (x=2..5) The Revised Report on Sheme. This is the language spec. (use google, or go to www.scheme.org)
6. Python comes with full set of documentation. Perhaps a good start; Python is good as a first language.
7. Visit http://citeseer.nj.nec.com/cs. Here is a lot of info on computer science, algorithmsm, etc.
When selecting documents, prefer postscript or PDF versions for printing. Use a2ps to turn htmp and manpages into postscript.
The thing that would bug me about the online tuts is that you would learn the absolute basics (like: learn this to do this, who cares if you know what it does) and still not be much more the wiser. (I have learned html, mucked about in basic and javascript and am trying to learn python, before moving on to java BTW)
Print outs are the way to go (for learning, and bugging the other people in the family wanting to use the printer... :-] )
Or maybe my googling skills are so bad that I haven't found many good tutorials yet.
I agree with peace (that's not hard to say ), of course. Python is definitely the best first programming language out there.
Online documentation for it is excellent and much cheaper than buying books. Some of the best coders I know have few (if any) programming books, and get most of their material online.
Having a project as a target for learning is an excellent idea as well. That's how I learned a lot of good Python stuff. And I learn more by trying out new concepts, but it really sticks when you can use it in a project that turns out to be genuinely useful.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.