What's a good Programming language to begin with? PLZ HELP!
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.
Distribution: Slackware Current - (Using Slapt-get!)
Posts: 51
Rep:
What's a good Programming language to begin with? PLZ HELP!
Hi my name Johnathan and i'm 19 I've been using linux for about a year and a half and in recent months I've gotten interested in programming! My question is what's a good programming language to begin with? A few days ago I read some good things about perl and I bought a "beginning perl book" by James lee. Before I begin is there any other easy programming languages I should begin with or is this a good begginners language? I want to learn how to make good command line programming (example make a command line mp3 player) (Boy I can dream)! or something like that before I go into GUI programming!
Oh yeah I heard some good things about C but, some people tell be it's obsolete! and you can't write any usefull apps with it (obviously they know nothing about C) Any thoughts?
Two more things:
1. Do I need to know C before going to C++ ?
2. What kind of math you need to know for different programming languages?
I hear Python is a good language to start with, but I don't have any experience with it.
I'm learning C++ at the moment. You don't need to know C before learning C++. I don't know much about C, but the Linux kernel is written in it (I think! Someone will tell you if I'm wrong).
As for maths, well, it might help to learn about binary numbers, octal numbers, hexadecimal. Books on programming usually have an appendix with stuff about these in. I haven't been through and read those yet, but I probably should!
C/C++ will make you a tough, no-nonsense programmer. You can virtually program in every OS if you are strong in your fundamentals. If you can learn and master C/C++ then you can go on to other languages.
Java will give you a good foundation in OOP and is fun to learn and use because of the rich set of features. Cross-platform too. Java is easy to learn too once you get your fundamentals right (programming concepts, structure of Java and so on).
Python is also fun to learn and is cross-platform too. However, not as cross-platform as Java is. However has a rich set of features thanks to *a lot* of modules/bindings that add a lot of power to Python scripts/programs.
Pascal may sound outdated, but Linux has the free pascal compiler and IDE. If you long for the old Turbo Pascal days, you can install and use Free Pascal. Recommended if you are good at Pascal and want to continue with it. Free pascal has support for objects.
PHP for web development if you are interested. Excellent and powerful while being easy to learn and use. Definitely recommended over Perl if you plan on creating dynamic database driven websites.
Shell scripting. I haven't really learnt this myself, but many Linux gurus recommend this as a good way to learn and use Linux as such.
Originally posted by Harishankar Python ...However, not as cross-platform as Java is....
I have read that, despite with advertising says, this is not 100% true. I just installed Python in my PocketPC and now I'm looking for a editor to write scripts while I'm on the bus
Distribution: Slackware Current - (Using Slapt-get!)
Posts: 51
Original Poster
Rep:
Quote:
Originally posted by Nylex I hear Python is a good language to start with, but I don't have any experience with it.
I'm learning C++ at the moment. You don't need to know C before learning C++. I don't know much about C, but the Linux kernel is written in it (I think! Someone will tell you if I'm wrong).
As for maths, well, it might help to learn about binary numbers, octal numbers, hexadecimal. Books on programming usually have an appendix with stuff about these in. I haven't been through and read those yet, but I probably should!
OK I know binary and I know HEX is like: 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F but say for instace I need to look for 64 in HEX how would I do that?
Can some please answer this next question as tried to look for a clear cut meaning on wiki-pedia but,
WHAT is object-oriented programming and what it does/what's it's used for? and do anyone here use it and what other languages use it? (I know JAVA uses it)
Distribution: debian, gentoo, os x (darwin), ubuntu
Posts: 940
Rep:
there is quite a lot of information about programing languages on the LQ wiki pages (http://wiki.linuxquestions.org/wiki/Programming)
also google-ing for "object-oriented programming" will give you a lot to read, and a lot to learn about OO languages.
searching for 'hexadecimal' on google, was also a success and the first listing is a wiki page, which is fairly good... read, this will not just explain hex, but also teach how to read it.
Personally I would recommend starting out with C, because it will give you a great foundation on which to build off other programming skills/languages on. I DO NOT recommend starting with Perl, because Perl is really high-level and abstract. I would wager that learning Perl as your first language could be enough to scare off most people from programming altogether.
Distribution: Slackware Current - (Using Slapt-get!)
Posts: 51
Original Poster
Rep:
Quote:
Originally posted by R00ts Personally I would recommend starting out with C, because it will give you a great foundation on which to build off other programming skills/languages on. I DO NOT recommend starting with Perl, because Perl is really high-level and abstract. I would wager that learning Perl as your first language could be enough to scare off most people from programming altogether.
Thankyou! I will be returning my book and I may start with C OR C++
Originally posted by enemorales I have read that, despite with advertising says, this is not 100% true. I just installed Python in my PocketPC and now I'm looking for a editor to write scripts while I'm on the bus
Sure, you have Python on many platforms. That's what not I meant. I meant writing 100% cross-platform code in Python is harder than in Java.
What I meant was that in many cases you will not be able to use the write-once, run-everywhere thing with Python.
Unlike Java, you do find platform specific APIs in many Python modules/bindings which might not work on all platforms.
Try googling 'number bases' for more info. The relevant ones for programming are: 10 (decimal), 8 (octal), 16 (hexadecimal or hex for short), 2 (binary) ...
BTW as for C vs Perl, they're both good langs.
Perl is less finicky with eg datatypes, worrying about string lengths etc.
C is more picky, but teaches you good lessons about disciplined programming and also the fundamentals eg most higher level langs eg Perl, PHP, Java, SQL are written in C underneath, as are RDBMSs and large parts of OSs
If choosing Perl, always use warnings and strict options ie;
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.