LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 08-19-2009, 01:08 PM   #1
xiqtem
LQ Newbie
 
Registered: Sep 2008
Location: The United States of America
Distribution: Using, Debian, have used, Simply Mepis, Gentoo, Fedora, Mandriva, and Puppy.
Posts: 28

Rep: Reputation: 15
Similar question about programming languages


As a teen around 20 years ago I used QBASIC to write small programs and have fun. Now as an adult I am way way WAY behind the rest of the world as far as my programming knowledge goes. I would like a language that is easy to pick up with lots of tutorials, how-to's, and examples. I would also like what I learn to not be wasted. I would like to have the beginning knowledge be relevant to a more powerful and complete language. I hope I don't sound to naive or ignorant here, but alas that's what I am at this point. Thanks in advance.
 
Old 08-19-2009, 01:20 PM   #2
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194
I think Java is the best fit based on what you described.

As you seem to understand already, the quality of available tutorials is a big factor beyond the inherent characteristics of the language.

I just did a google search for java tutorials and the results look very good, such as
http://www.freejavaguide.com/corejava1.htm
http://java.sun.com/docs/books/tutorial/
http://www.loirak.com/prog/java.php
http://www.javamex.com/tutorials/java/

Java has been criticized as a language because it requires more than a typical language amount of "boilerplate" meaning stuff a beginner has to put in a program before even starting to understand why it is there. That would only be a problem without good tutorials. With good tutorials you can copy the basic form of a simple program from the tutorial and change just the meaningful parts.

C++ is a more powerful and general purpose language than Java, but so far as I have found the tutorials aren't nearly as good. Java also leads into C++ fairly well as much of the syntax and many of the concepts are the same.

I think Python is too unstructured. That can feel a lot easier when you want to slap together a really trivial program. But that leads to a style of programming that can't scale up to serious projects. In theory you could write well structured code in Python that could scale up to serious projects. I'm sure many here will claim that is how they code Python and maybe it's true. I've never seen any well written large Python programs. I've done enhancements to big projects written in C++, Java, and Python and the Python code has been by far the worst and the abuses of good programming practice I've seen in Python code are things Java or C++ make almost impossible, so it isn't just a difference programmer skill. There is a real difference in what the language design encourages.

C is a very popular language on its own and as an introduction to C++. I think it is a poor choice compared to C++ for either of those purposes. The fundamental advantage of C over C++ is it makes much less work for the compiler. But that is insignificant with modern computers. The right subset of C++ would be easier to learn than C and more effective as a language. C++ also is easier than C to push to the limits of run time efficiency.

Last edited by johnsfine; 08-19-2009 at 01:55 PM.
 
Old 08-19-2009, 01:23 PM   #3
b0uncer
LQ Guru
 
Registered: Aug 2003
Distribution: CentOS, OS X
Posts: 5,131

Rep: Reputation: Disabled
I'd vote for Python or C++, whichever is more "you". But it depends a lot on what you're going to do with the language..there are quite a few languages and they're all good, depending on which way you look at them.
 
Old 08-19-2009, 01:46 PM   #4
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 4,070

Rep: Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897Reputation: 897
I'm in the python camp as a good beginner's/easy/scripting programing language.

when you say 'powerful', i don't think that you'll easy find stuff that the languages like python (and Java, in this case) can't do.

There is certainly stuff like real time data capture for which the pythons and javas of this world aren't the obvious choices, so choosing a language like python, which is similar structurally to c++ is a good idea, so the step up to c++ isn't a massive leap.
 
Old 08-19-2009, 07:31 PM   #5
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Centos 7.7 (?), Centos 8.1
Posts: 17,873

Rep: Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600Reputation: 2600
You could look at Perl; its easy to pickup and the lang docs here http://perldoc.perl.org/ explain everything with examples, as well has having many tutorials (see top left menu).
More tutorials http://www.perlmonks.org/?node=Tutorials
Runs on most OSes.
 
Old 08-20-2009, 12:04 AM   #6
xiqtem
LQ Newbie
 
Registered: Sep 2008
Location: The United States of America
Distribution: Using, Debian, have used, Simply Mepis, Gentoo, Fedora, Mandriva, and Puppy.
Posts: 28

Original Poster
Rep: Reputation: 15
Thanks for your opinions.

Thank you all for your opinions. I was interested in programming small amusing programs for fun and entertainment just for me and maybe some of my friends. I don't know that I would be writing anything big, I just don't want to spend the time learning only to find out later that it would have been better spent with a different language. Is C++ something I can do for free? I am pretty sure java is.
 
Old 08-20-2009, 12:28 AM   #7
mynameisflorian
Member
 
Registered: Jul 2005
Location: Minneapolis, Minnesota
Distribution: Ubuntu
Posts: 35

Rep: Reputation: 15
I would suggest javascript. Think of it as a "stepping-stone". It's not the destination, but a stop along the way.

easy to learn
- All you need to get going is a text editor and a web browser.
- MANY MANY MANY free on-line guides and tutorials
- doesn't take long to learn enough to make something useful

It leads nicely into c, c++, or java.

To use javascript in a browser environment, you have to know a little HTML, but that's really easy stuff.

check out http://www.w3schools.com/
and, if you use windows, download notepad++ (I have to use it at work)

I recently picked up o'rielly's "Javascript: The Definitive Guide" -- and would recommend it.

I think skipping straight to c++ is like skipping algebra and going strait to calculus. You'll probably get it eventually, but you'll be much more confused along the way (unless you're some sort of genus, in which case you'd only be a little more confused)

- Florian

p.s. I learned c, then c++. I guess that's the old-fasioned way :-D

Last edited by mynameisflorian; 08-20-2009 at 12:40 AM.
 
Old 08-20-2009, 12:30 AM   #8
mynameisflorian
Member
 
Registered: Jul 2005
Location: Minneapolis, Minnesota
Distribution: Ubuntu
Posts: 35

Rep: Reputation: 15
and yes, c++ is totally free, just like linux. I would get a good book, though -- no matter what your final choice is
 
Old 08-20-2009, 07:18 AM   #9
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194Reputation: 1194
Quote:
Originally Posted by xiqtem View Post
Is C++ something I can do for free? I am pretty sure java is.
All the languages mentioned here are available free in Linux and in Windows. There are also non free versions available, but there is no significant advantage to buying a non free version.

Quote:
Originally Posted by mynameisflorian View Post
I would get a good book, though -- no matter what your final choice is
To a large extent that depends on how you like to learn. I prefer to learn from online resources rather than from books. It also depends on what resources you can find each way.

When I was learning Python, I didn't find good enough online resources (which doesn't prove they don't exist) so I borrowed a book.

I work every day with advanced details of C++ that I don't always remember, and I haven't found great online resources, so I keep two books handy all the time:
The C++ Programming Language by Bjarne Stroustrup
The C++ Standard Library by Nicolai M. Josuttis
I don't think either is suitable for learning C++, but those two are quite good for reminding an advanced C++ programmer of forgotten details.

When learning Java (and later when I forget details) I used resources online at java.sun.com. It is hard to imagine a book being as convenient for that as the website is.

Last edited by johnsfine; 08-20-2009 at 07:27 AM.
 
Old 08-20-2009, 07:28 AM   #10
jschiwal
LQ Guru
 
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733

Rep: Reputation: 680Reputation: 680Reputation: 680Reputation: 680Reputation: 680Reputation: 680
25 or 30 years ago, Pascal was the teaching language. I believe today that Python has taken it's place. I do miss Pascal however. What happened to it, and why didn't it's decedent Modula-2 take off?
 
Old 08-20-2009, 07:42 AM   #11
brianL
LQ 5k Club
 
Registered: Jan 2006
Location: Oldham, Lancs, England
Distribution: Slackware & Slackware64 14.2 & current
Posts: 7,943
Blog Entries: 59

Rep: Reputation: Disabled
Quote:
Originally Posted by jschiwal View Post
25 or 30 years ago, Pascal was the teaching language. I believe today that Python has taken it's place. I do miss Pascal however. What happened to it, and why didn't it's decedent Modula-2 take off?
It's still alive, I think. There's GNU Pascal and Free Pascal compilers available.
http://www.freepascal.org/
 
  


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
Programming Languages where did it came from SBN Programming 14 11-05-2007 07:20 PM
What programming languages do you know? ugoff General 24 12-13-2004 06:01 PM
How many programming languages do you know? MikeZila Programming 4 07-25-2004 01:26 PM
security question regarding programming languages another2 Linux - Security 3 02-14-2004 07:14 AM
Programming languages and Linux healfdeane Linux - Software 1 09-10-2003 09:15 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

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

Main Menu
Advertisement
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
Open Source Consulting | Domain Registration