LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   What's a good Programming language to begin with? PLZ HELP! (https://www.linuxquestions.org/questions/programming-9/whats-a-good-programming-language-to-begin-with-plz-help-347179/)

Jonescity 07-27-2005 01:48 AM

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?

Thank You All Very Much!!


-- Johnathan :D

:newbie:

Nylex 07-27-2005 02:04 AM

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!

hk_linux 07-27-2005 02:20 AM

Sometime in the recent past, there was a similar dicsussion.

http://www.linuxquestions.org/questi...hreadid=335415

HTH

enemorales 07-27-2005 04:43 AM

Just to make it clear. C is FAR from being obsolete. It is being widely used (for instance in the Linux Kernel) and it will be for a looong time. ;)

vharishankar 07-27-2005 05:11 AM

Some options available to you are:

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.

enemorales 07-27-2005 07:04 AM

Quote:

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 ;)

Jonescity 07-27-2005 12:37 PM

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? :study:

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) :confused:

Jonescity 07-27-2005 05:16 PM

anyone? :(

Nathanael 07-27-2005 05:46 PM

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.

R00ts 07-27-2005 05:52 PM

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. :eek:

Jonescity 07-27-2005 06:10 PM

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. :eek:
Thankyou! I will be returning my book and I may start with C OR C++ :)

vharishankar 07-27-2005 09:33 PM

del double post.

vharishankar 07-27-2005 09:34 PM

Quote:

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.

Nylex 07-28-2005 01:33 AM

64 is 40 in hexadecimal, but I can't seem to work out why. I'm finding it hard to write 64 in binary, even though it should be easy.

chrism01 07-28-2005 01:41 AM

Here's a cheat sheet for Decimal/binary/hex/ASCII
with a short explanation http://www.prepressure.com/library/binhex.htm

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;

#!/usr/bin/perl -w
use strict;


All times are GMT -5. The time now is 11:06 AM.