Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
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.
I've been lurking around this forum for a while and it seems REALLY helpful. I'm *pretty much* a newbie at Linux. Been messing with it for 2 or 3 years off and on. My question is:
I want to learn a little programming, but I'm not sure what language to learn?? I want something that I can learn by myself, and something that might be helpful in the future when it comes to job searching.....I have a couple of the O'Reilly "Learning Perl" books, is that a good one? I appreciate any suggestions or advice....
O'Reilly is a good source for knowledge but when first learning perl I started with Perl and CGI for the World Wide Web. This started me off and I am able to create programs for my computer and have a general knowledge of it to help others when asked. I also have a pdf of all of the O'Reilly books on Perl as a second reference.
What's just as important as what you start with is what you don't start with. (Visual) Basic, Pascal, or Ada can teach you some bad programming habits, and as someone whose first language was Basic, I can attest that those habits can be very hard to overcome. I don't recommend Perl as a first language either, even though it is a great language. The reason is that Perl is so flexible, and allows you to do things so many different ways, that once again bad programming habits can creep without you realizing it.
I have to agree with quite a lot of other people that Python is a great language for beginning programmers to learn. Java is also a good choice, particularly for learning how object-oriented programming works, though it's a little more difficult than Python. C/C++ should probably wait until later, since they can be more frustrating to a new programmer; don't jump right in on them just because someone says they're more powerful. Python and Java are both wonderful, very capable languages. They're not "beginner's languages" just because they're easy to learn -- they are very powerful, and will enable you to do just about any kind of programming you can imagine except very low-level stuff (kernels, drivers) and heavy-duty graphics work. There's also a huge community of enthusiastic people around Python in particular, so help is never far away.
Here are a couple of things that might help you out......
If you are hell-bent on learning perl (a good choice, btw!), head on over to http://perl.about.com and go digging around through there. You can get a number of good "newbie" tutorials. You can also send an email to the guide (top left on the page), who can set you up with an eleven-week email course that will help immensely.
Python is also a good choice, and PHP/MySQL has some real benefits as well. One of the major benefits of all of these languages is that they are *free*, and there is a wealth of information out there on them. MySQL will help you get your foot in the door of SQL.....from there, you can do all kinds of things! Get one or more of these languages under you, add in the database end (MySQL/SQL), and I think you will be hopelessly addicted...
Probably the best advice that I can give you is to play like a madman. Code as much as you can when you are starting out. Start with the typical "Hello World", and go from there. Don't be afraid to make mistakes.....they will help you learn. Oh, and unless you love living dangerously, don't be doing all of your testing on your work's production server.....hehe
Good luck to you, and may you find success in your goal of becoming a code monkey!
Actually, one good way to learn to program in a new language is to find a piece of interesting open source software, and start playing with it. Just start by changing the titlebar caption or something to get used to modifying the source, the build system etc. Then move onto hacking on other features. That's how I taught myself C (but i already knew programming of course, so you might want a good book as well).
Linux is great for that, you have all the tools and docs already installed
personally i would not recommend python. it's a great language, but is much more unique that most othes. it's the only language that made me really laugh at it's cleverness recently, but it's much more worthwhile learning a more conventional language like c/c++/java, even perl is pretty standard, but when concepts such as self documentation are taught as core features it's a bit of a headfsck, and won't make transitions to other languages too easy.