View Full Version : Should I start with Python language before Linux

08-15-2009, 11:59 PM
I want to learn how to program, and I have come across lots of information. Several sources are in agreement that python is a good place to start. They also inform that I should get some sort of Linux OS eventually. Should I use both python and linux at the same time. Or should I just focus on mastering python first before messing around with Linux?

Some more background info... I have had some experience with html. I know it's not a programming language, but I have read that writing in html familiarizes one with the fundamentals he/she will use when working with actual programming languages. Other than html, I really don't have that much experience with programming, or computers for that matter. So, basically, considering my limited background, should I just focus on mastering several languages for now, and if so, when do I implement linux into my training?

Lastly, does anyone know about the ebook, "The Hacker's Underground Handbook"? If so, would you recommend it?

08-16-2009, 01:42 AM
You're question is like asking if you should learn every street in every city before learning to drive.
No, don't wait to start using linux before learning python (my python skills are pretty weak; I'm pretty proficient with linux), but you'll find that python works quite well in complement with linux. Perl is another great choice to start with on linux; you'll find a lot of administrative tasks can be easily solved using perl. I would definitely recommend one of the two to start with (I went with perl about 12 - 15 years ago, and have rarely used it since PHP version FI/2 was released). If you do choose perl, make it a quick overlook on it, handling arrays, subroutines, pattern matching, maybe some forking. Thats about it, then move on.
Programming is all the same, really. Programming is a skill; language use is a tool to implement you're skill. Knowing a language tells you its limitations (examples: PHP cannot create client side GUI interfaces, javascript cannot interact directly with a server), and the differences between other languages (examples: C is datatype strong meaning we need to explicitly state the type of variable, PHP is datatype weak meaning it will choose the datatype in context). HTML is a poor example, its not an actual programming language so much as a markup language. If you're interested in web technologies, I'd probably tell you to start with JS, since you don't need a special environment to run it in.

Mastering a language is rare. My primary language is PHP, and I'll bet there is probably 600 or more built in functions that I've never so much as looked at, though I do consider myself to be a master in PHP. Only PHP mind you, the rest of my language skills give me a great foundation to work with in C#/Java for example, but I need to do some heavy searching when using C or C++. My ASP skills have heavily degraded with time, especially since ASP is rarely used anymore - nowadays its ASP.NET.

BTW, there is a pretty good thread here on recommendations for linux distros. I'm with spooks on using a Fedora distro, but if you're not used to using command line interfacing and would prefer a gui, go with ubuntu or kubuntu I think it is.

08-16-2009, 03:42 AM
OK, I'm thinking of using the ubuntu 9.04 ditstro, and I will run it using virtualbox software instead of partitioning my hard drive because, frankly, I don't know how. Once I have the Ubuntu OS up and running, do I just start tinkering around with stuff? Are there any tutorials that can point me in the right direction?

08-16-2009, 03:52 AM
No problem with virtualization. It can be tricky if you plan a dual boot since microsoft insists to have the first mbr. If you don't plan to use windows anymore, the installation process will take you through partitioning as well (I think it should, I haven't installed ubuntu before). If you're using virual, you can probably get away with just a live disk mount instead, but that's up to you.
I found this page, top of the google. Looks like it would be alright:

08-16-2009, 07:53 PM
OK, I'm thinking of using the ubuntu 9.04 ditstro
I prefer the Mandriva LE 2005 distro myself. Later versions have some things removed and don't run as fast on the same pc as LE2005 does.

"It can be tricky if you plan a dual boot since microsoft insists to have the first mbr."

This is true too but an easy way to fix that is to have linux on it's own harddrive. The way to do it is to first install windows without the linux drive installed. Once windows is installed, move the drive from Primary Master to Primary Slave. Then add the linux hd as Primary Master and install linux. When linux comes near the end of the install process, it should give you the option to dual boot using linux's mbr. Just don't put any NTFS partitions on the linux drive so older versions of windows won't use it for C: instead of the windows hd as it should. I have a webpage that shows how to do this for Mandriva, pm me for a link if it will help you.