LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
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 03-16-2003, 08:19 PM   #1
awdoyle
Member
 
Registered: Aug 2002
Location: Portland, OR
Distribution: Xubuntu
Posts: 135

Rep: Reputation: 15
Lightbulb Which language is best?


This question might need a little framing, so bear with me.

I was previously in tech support with a heavy Windows focus, but I'm not interested in pursuing that any further... So I decided to go back to school, and I'm meandering toward a dual degree - one in health care (who would guess?) and the other in computer science. Who's to say if these interests will converge at some point in the future. Where the option exists, my CS coursework is geared in the direction of nix platforms. I'm a programming newbie; I fell into it through an affinity for databases.
What are the best languages to learn, read, write, apply, work with, etc?

Wish me luck.
Andrew
 
Old 03-16-2003, 08:31 PM   #2
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
"if your only tool is a hammer every
problem looks like a nail"

Or, in other words, there's no such
thing as the optimum language ;)

It all depends on your personal style,
cost, time frame, necessity of future
maintenance (the latter three are as
you can easily spot depending on
an actual project) ...

But since you want to go Unix, C
and/or C++ would recommend themselves
in general, and you also want some
bash and/or perl-skills here ..

Cheers,
Tink
 
Old 03-16-2003, 10:03 PM   #3
Mohsen
Member
 
Registered: Feb 2003
Location: Iran
Distribution: Solaris 10
Posts: 201

Rep: Reputation: 30
If you are so newbie in programming, and don't have any previously experiments in the field, I suggest start with Pascal. As far as I know, it's the best programming language for STARTING. Then, after you understand the main cases in programming (variables, functions, pointers, IO, ...) try C/C++.
 
Old 03-16-2003, 10:20 PM   #4
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
I have to object Mohsen :)

First he should make up his mind
whether he wants to learn procedural
or object oriented programming (which,
again, might be closely tied to the
project he's going to work on).

Despite the object extensions in
borlands compiler pascal is primarily
a procedural language (OO purists would
claim the same is the case for C++ :}
and recommend something like smalltalk).

Cheers,
Tink
 
Old 03-17-2003, 07:15 AM   #5
llama_meme
Member
 
Registered: Nov 2001
Location: London, England
Distribution: Gentoo, FreeBSD
Posts: 590

Rep: Reputation: 30
As said previously, it totally depends on what you want to do. C is a safe choice as first language - you will certainly be able to do something useful with it, and find lots and lots of documentation. But then again, if you want to build combinatorial parsers, you want Haskell, and if you want to do lots of string manipulation, you want Perl, and if you want something simple but powerful you want Python...

My advice would be to try to learn the basics of two or three fairly different languages. This will make you a much better programmer overall, since useful techniques common in one language can often be applied to another. It also puts you in a much better position to learn new languages, so you can always use the right tool for the job, instead of sticking with what you know.

Alex
 
Old 03-17-2003, 08:04 AM   #6
Mohsen
Member
 
Registered: Feb 2003
Location: Iran
Distribution: Solaris 10
Posts: 201

Rep: Reputation: 30
Quote:
C is a safe choice as first language
Sounds
Although I'm a C++ programmer, and really love it, but it's not true. When I started programming C, there were no program of mine which didn't hang ones (grammer? spelling? meaning?). There is almost no range check in C which could be dangerous to those who program in DOS (or a non-protected mode OS) and are new to C.
So again my suggestion is Pascal for starting but it's true that it has nothing to satisfy someone (but safe).
 
Old 03-17-2003, 11:48 AM   #7
llama_meme
Member
 
Registered: Nov 2001
Location: London, England
Distribution: Gentoo, FreeBSD
Posts: 590

Rep: Reputation: 30
I take your point, but these days there are many "safe" languages which are so much nicer than Pascal. I think most people would have a much more pleasent experience learning, say, Python as a first language instead (or if they want a typed, compiled language, why not something a bit more modern like Objective Caml).

Alex
 
Old 03-17-2003, 01:34 PM   #8
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
Quote:
Originally posted by Mohsen
ones (grammer? spelling? meaning?).
'once' was the word you were after :}

Cheers,
Tink
 
Old 03-17-2003, 07:01 PM   #9
awdoyle
Member
 
Registered: Aug 2002
Location: Portland, OR
Distribution: Xubuntu
Posts: 135

Original Poster
Rep: Reputation: 15
Thank you all for the valuable insight. To keep it interesting, how about this: What are the 3 most ideal programming languages out there to you - to learn from, read, write, work with, apply, get a frickin job [insert your reason], etc, etc, etc.
Andrew
 
Old 03-17-2003, 07:27 PM   #10
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
C++ for application development because
it conceptually supports re-use of code
very well and has a VERY broad basis in
the industry, and Perl & PHP if you are
into Web-development ;) because ASP sucks ;)

And if Borland managed to get their asses into
gear towards a real-linux (not just wine) Kylix
it would absolutely kick-ass ;) ... I have to say
that I love Delphi (yucky Pascal and all) :}
Great support for application building, a
fantastic editor, very quick turn-arounds
in compile/run test cycle-terms... *sigh* :}

Java would be cool if the VM's were a lot faster,
even with jit and native compilers I wouldn't want
a big app developed in java at the moment, though.



Cheers,
Tink
 
Old 03-17-2003, 08:05 PM   #11
cuckoopint
Member
 
Registered: Feb 2003
Distribution: Debian
Posts: 797

Rep: Reputation: 30
well, depends where you come from, but for a 'best' language you can safely bet on Esperanto.

 
Old 03-18-2003, 02:47 AM   #12
GtkUser
Member
 
Registered: Sep 2002
Location: Canada
Distribution: Redhat 9.0
Posts: 637

Rep: Reputation: 30
Middleware (Java or .Net) are being pushed out there by the big software vendors. Middleware skill would lead to a job because of the vendor class framework libraries, and the ability to reuse them through inheritance.

On the other hand, if you are interested in research and development, as well as computer science, than Standard C++ would be a good system implementation language. It is also impossible to get away from the use of C, in this day and age.
 
Old 03-22-2003, 12:08 AM   #13
awdoyle
Member
 
Registered: Aug 2002
Location: Portland, OR
Distribution: Xubuntu
Posts: 135

Original Poster
Rep: Reputation: 15
I'm curious: there are a few products out there that tout themselves as being written in C or C++. For example, on Dillo's home page, they say:
"Dillo is a web browser project completely written in C."
And the Blackbox window manager is written in C++.
I've tried Dillo, and it's ridiculously fast - the same [speed] is claimed for Blackbox (which I haven't used). Is the fast execution of the code why the writers use and mention C/C++? Or is this just part of the reason?
Thanks again for all the insight ;-)
Andrew
 
Old 03-22-2003, 05:45 AM   #14
GtkUser
Member
 
Registered: Sep 2002
Location: Canada
Distribution: Redhat 9.0
Posts: 637

Rep: Reputation: 30
C and C++ programs are pre-compiled to machine language and executed. On the other hand, middleware languages are compiled to an intermediate language and than compiled again during execution by a runtime compiler that execute line by line. In other words, it is not precompiled to machine code, only an intermediate language. There are advantages to both. If you want really fast code, write all your programs in binary.
 
Old 03-22-2003, 02:06 PM   #15
llama_meme
Member
 
Registered: Nov 2001
Location: London, England
Distribution: Gentoo, FreeBSD
Posts: 590

Rep: Reputation: 30
There are plenty of slow applications written in C++ (e.g. KDE, Mozilla). Blackbox is fast because it's small, and doesn't have a lot of features.

These days, a decent compiler will probably write better assembly than most people can code by hand.

Alex
 
  


Reply



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
Best first language? NotJustANewbie Programming 33 09-04-2005 06:03 AM
D language greg108 Programming 33 11-18-2004 08:53 AM
Which language? scuffell Programming 1 07-01-2004 08:17 PM
which language? 2k. Programming 4 11-04-2003 09:44 AM
what language TravisB Programming 2 03-29-2002 04:39 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:13 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