LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

Reply
 
Search this Thread
Old 07-27-2005, 01:48 AM   #1
Jonescity
Member
 
Registered: Jul 2004
Location: Jacksonville
Distribution: Slackware Current - (Using Slapt-get!)
Posts: 51

Rep: Reputation: 15
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

 
Old 07-27-2005, 02:04 AM   #2
Nylex
LQ Addict
 
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464

Rep: Reputation: Disabled
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!
 
Old 07-27-2005, 02:20 AM   #3
hk_linux
Member
 
Registered: Nov 2004
Location: India
Distribution: RedHat, PCQLinux, Fedora
Posts: 95

Rep: Reputation: 15
Sometime in the recent past, there was a similar dicsussion.

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

HTH
 
Old 07-27-2005, 04:43 AM   #4
enemorales
Member
 
Registered: Jul 2004
Location: Santiago, Chile
Distribution: Ubuntu
Posts: 410

Rep: Reputation: 30
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.
 
Old 07-27-2005, 05:11 AM   #5
vharishankar
Senior Member
 
Registered: Dec 2003
Posts: 3,142
Blog Entries: 4

Rep: Reputation: 121Reputation: 121
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.
 
Old 07-27-2005, 07:04 AM   #6
enemorales
Member
 
Registered: Jul 2004
Location: Santiago, Chile
Distribution: Ubuntu
Posts: 410

Rep: Reputation: 30
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
 
Old 07-27-2005, 12:37 PM   #7
Jonescity
Member
 
Registered: Jul 2004
Location: Jacksonville
Distribution: Slackware Current - (Using Slapt-get!)
Posts: 51

Original Poster
Rep: Reputation: 15
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)

Last edited by Jonescity; 07-27-2005 at 08:58 PM.
 
Old 07-27-2005, 05:16 PM   #8
Jonescity
Member
 
Registered: Jul 2004
Location: Jacksonville
Distribution: Slackware Current - (Using Slapt-get!)
Posts: 51

Original Poster
Rep: Reputation: 15
anyone?
 
Old 07-27-2005, 05:46 PM   #9
Nathanael
Member
 
Registered: May 2004
Location: Karlsruhe, Germany
Distribution: debian, gentoo, os x (darwin), ubuntu
Posts: 940

Rep: Reputation: 32
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.
 
Old 07-27-2005, 05:52 PM   #10
R00ts
Member
 
Registered: Mar 2004
Location: Austin TX, USA
Distribution: Ubuntu 11.10, Fedora 16
Posts: 545

Rep: Reputation: 30
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.
 
Old 07-27-2005, 06:10 PM   #11
Jonescity
Member
 
Registered: Jul 2004
Location: Jacksonville
Distribution: Slackware Current - (Using Slapt-get!)
Posts: 51

Original Poster
Rep: Reputation: 15
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++

Last edited by Jonescity; 07-27-2005 at 08:57 PM.
 
Old 07-27-2005, 09:33 PM   #12
vharishankar
Senior Member
 
Registered: Dec 2003
Posts: 3,142
Blog Entries: 4

Rep: Reputation: 121Reputation: 121
del double post.

Last edited by vharishankar; 07-27-2005 at 09:34 PM.
 
Old 07-27-2005, 09:34 PM   #13
vharishankar
Senior Member
 
Registered: Dec 2003
Posts: 3,142
Blog Entries: 4

Rep: Reputation: 121Reputation: 121
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.
 
Old 07-28-2005, 01:33 AM   #14
Nylex
LQ Addict
 
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464

Rep: Reputation: Disabled
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.
 
Old 07-28-2005, 01:41 AM   #15
chrism01
Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 6.5, Centos 5.10
Posts: 16,289

Rep: Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034Reputation: 2034
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;

Last edited by chrism01; 07-28-2005 at 01:45 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
which programming language is used to do tcp/ip programming?? gajaykrishnan Linux - Networking 9 12-21-2012 05:16 AM
Mandrake - good to begin with??? JNaas Linux - Newbie 10 09-24-2004 12:00 AM
Best language to begin with? Eits0 Programming 78 12-22-2003 05:03 AM
Wine Keyboard Language Problem!!!HELP PLZ!!! idontknowaname4 Linux - Hardware 0 10-23-2003 11:17 AM
Is Python a good language to learn for a newbie to programming? prophet621 Programming 2 05-19-2003 03:48 PM


All times are GMT -5. The time now is 07:41 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration