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.
I can empathize with your situation. I am a little bit ahead of you but my programming experience has been the following, in order, which has worked out quite well for me.
1. HTML (it sort of counts) -- You can search the web for this; no need to buy a book or anything.
2. CSS -- To go with HTML, google w3c, that should get you started with these two
3. BASH scripting -- it is simple, it's fun, and you get results right away. Not to mention, depending on your needs, you get to write some quick programs that you could set up as a cron job and customize your setup a little bit.
4. VB Dot Net -- I wouldn't suggest you try to learn that though. It will send you down the wrong path. It was a class at school that I was hoping would teach me the fundamental logic behing programming.
5. PHP + MySQL -- I would definately recommend picking up this combination. PHP is powerful, fun, and challenging. Much of my PHP knowledge (which I admit, isn't very much as of right now) is the result of a couple of books and Mambo (mamboforge.net). You set up a content management system (Mambo, PHP-Nuke, Post-Nuke) website quite easily then you get the hack around with the code and become familiar with the concepts of how to accomplish certain tasks, then from that point, you start to design your own programs.
This is just the route that I have taken and perhaps your learning style and goals are much different. I'm sure that whichever route you choose, it will work out fine. I have always liked the internet and web based applications. I think you should decide what your programming goals are and develop a plan that you think is best to accomplish those goals.
As far as books go, I would recommend Oreilly first and foremost, for anything. They are simply the best I have seen and you will learn more from taking the time to understand the contents of Oreilly than anything else "made easier" or "in 21 days".
I wud suggest Perl followed by C. Actually i wud like to suggest the same in the
reverse order, but since u r a noob in programming, perl wud be a better choice.
Perl says "There is more than one way to do it" and u can learn it very easily.
The "Progamming perl" in Orielly series is good. Skip the first chapter though.
Once u r comfortable, take up C.
I myself am an C programmer. But once i got into Perl, i became a big fan of it.
considering principels, you could hardely talk about "old" and "new". consider, the old day of low-resources computers, the all-concern is very efficient resource utilization. this is not relevant now. however, handhelds offer the same old challange now. i think this is called "recapitulation" (?).
you can consider even, (Intro to Algorithms) by Cormen, Leiserson, Rivest and Stein
the subject of algorithms and data strucuters, is a matter of core understanding of CS.
Originally posted by elsheikhmh >How old is that Brian Harvey book?
considering principels, you could hardely talk about "old" and "new". consider, the old day of low-resources computers, the all-concern is very efficient resource utilization. this is not relevant now. however, handhelds offer the same old challange now. i think this is called "recapitulation" (?).
you can consider even, (Intro to Algorithms) by Cormen, Leiserson, Rivest and Stein
the subject of algorithms and data strucuters, is a matter of core understanding of CS.
mustafa
Those are ridiculously overly complicated text's for a 16yr old beginner asking "how do I start programming".
Algorithms and data structures are obviously core to CS, but even more core to CS is understanding sequential, conditional and repetitional logic in at least one programming language before you can even think about how to do the above more effectively.
On another note, many people bash the series, but for beginners I really like the "Learn XYZ in 24 hours/7 days/21 days" books. I think a beginner can learn programming in just about any language they want with one of these type of books, which would be rather impossible to do with the language reference type books.
Example:
Learn C++ in 21 Days > The C++ Programming Language (for a beginner).
Nothing wrong with being a beginner, everyone starts somewhere.
I found that absurd from the moment I read it. PHP+MySQL = easy and simple???? What the hell were you thinking??? We are talking about someone that *does not know programming*
Before using html+php+mysql you need to learn *a lot* of thinks. You need to learn how a web server works. The basics of networking to understand exactly what you're doing. You need an interface to work with php, another for html. You need to know the basics of databases (no, someone that never programmed isn't born with that skill).
For a beginner on Linux, I'd recommend Bash, as you need to know that anyway just for doing basic cmd line stuff.
Later you can look into 1 of the P's ie Perl/Python/PHP for a more powerful lang.
I'd leave C, Java till last...
I'd go for python first as it is quick to learn.
Go to www.python.org for more details.
Then either Java or C as they are probably more useful for jobs.
Once you have learnt python and one of Java or C learn the other one.
Personally I agree with chrism01, start with bash. You'll learn a lot of what will be needed
later on and you can actually begin writing USEFUL programs right away. I can't tell you
how many absolutely worthless programs I've written over the years learning different
languages. With Linux/bash you'll quickly learn how to
1. Identify the problem.
2. Think of a appropriate solution.
3. Implement the solution.
4. Have fun, learn syntax, and most importantly, solve an actual problem.
Hontestly? I'm 16 and started w/ c++. I know, I know, shoulda started w/ something else...I haven't found it that difficult. I bought the "Practical C++ Programming" book from O'reilly. It's great. I did have some Linux experiance before starting programming but still. I think I'm gonna be taking an online C course this summer through Oreilly Learning Lab. It's called something like Learn C Programming. I would suggest however, that you build a program that will do something. Personally, I haven't gotten very far into programming, because I don't have the time to devote to it. Have fun!
im also a 16 year old and right now i think bash would be your best choice or if not find a compiler for basic ( not sure if there is one for linux ) or learn php
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.