LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
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 12-16-2001, 02:10 PM   #1
newbietolinux
LQ Newbie
 
Registered: Nov 2001
Location: Conway, New Hampshire USA
Distribution: Red Hat
Posts: 26

Rep: Reputation: 15
Your Opinions


I am just beginning a degree in programming. What would you recommend as a progression of languages to study? Is there any "easy" language that makes the others easier to understand? if you know of any good reference books as well I would appreciate it.

Thanks
 
Old 12-16-2001, 04:07 PM   #2
ferrous
LQ Newbie
 
Registered: Dec 2001
Location: Atlanta
Distribution: Slackware
Posts: 16

Rep: Reputation: 0
Red face

Fortran is too antiquated, C is too low level, C++ is too hard, Visual Basic is too kludgy, Basic is too useless, Lisp is too esoteric, Pascal is too fake,Java is too abstracted from the hardware, Smalltalk is too stupid, asm is too machine dependent, Perl is too inconsistent.

I recommend that you take up knitting!

Seriously though, my first serious endeavor in programming was in VB and it sucked. I had to unlearn a lot, especially due to it's asinine approach to OOP. Before that I had programmed in C-64 basic and whatever you'd call the language resident on my TI-82 calculator.

Traditionally, _The_ language with which to learn programming has been pascal. Pascal is kinda old though, and I don't approve of it's IN/OUT parameters. That thinking will screw you up later.

If you try to learn with C, you may have a lot of problems initially because it doesn't abstract away a lot of the machine. Also, it gives you the structured programming mindset that might be hard to overcome when you have to get used to objects.

Java has problems trying to be machine independant. It's a pain to, say, open a file on your computer with java. Apart from that, it can do just about everything that you will want to learn when you start off, so it might be the best bet.

-m
 
Old 12-16-2001, 05:35 PM   #3
Wynd
Member
 
Registered: Jul 2001
Distribution: Slackware 12
Posts: 511

Rep: Reputation: 32
I would try C++. It's a lot easier than C, but still has C's power.
 
Old 12-16-2001, 07:12 PM   #4
mjohnson
LQ Newbie
 
Registered: Jan 2001
Posts: 4

Rep: Reputation: 0
ferrous is right on the money.

This is usually my response to the question "which is better" and "which should I learn first": Learn the language you want to develop in. If you want to learn Italian -- learn Italian, don't learn French or Spanish first because you think it'll make learning Italian easier. All programming languages are "hard" in some way. You just got to knuckle down and learn one. Once you get one under your belt subsequent one's get easier. If you approach programming timidly you'll never make it...

If you are linux person learn C or PERL. If you are ambitious linux person learn C++ because you'll be able to code in both languages. My preference is C++ because I think the language allows you to model solutions better. I learned C first and in my opinion C++ is "a better C." But that's just my personal feelings. For me, it's the language that fits the way I think of the world...

good luck!

ps: you should learn BASH and PERL anyway to make your developing environment a lot nicer...
 
Old 12-19-2001, 06:43 AM   #5
Tonneman
LQ Newbie
 
Registered: Dec 2001
Posts: 14

Rep: Reputation: 0
Surely if you're beginning a degree in programming they'll begin by teaching you in one language or another? Probably Pascal or Java? Pascal is a waste of space so don't learn it unless you have to.

Otherwise, I recommend you learn C++ or Java. There's little point learning any language which isn't object orientated these days, and these two are the most popular and useful. Although I personally loath Java that's just a personal opinion. Java's probably easier to start in, since it 'mothers' you more than C++.

BlitzBasic or DarkBasic might also be worth looking at. They're neither great languages, but they are have very advanced graphics and input support, so you can get interesting things up and running in them quickly. And I know I'd rather start off by writting simple games, than simple text parsers.

By far the most interesting language I've worked in is Moscow ML, but it's not useful for any real world task I've seen. Assembly's also fun, but hardly the place to start.

If you want a job in programming, the three most sort after languages are C++, Java and VisualBasic - and VisualBasic is evil, so avoid it if you can. Java is mainly used for web development, and C++ is used for games, engineering and serious application development. The military and those interested in robustness tend towards Ada.

I think I've rambled on enough now, so I'll leave it there.

Tonneman.
 
Old 12-19-2001, 07:07 AM   #6
gui10
Member
 
Registered: Mar 2001
Distribution: enigma, slack8
Posts: 677

Rep: Reputation: 30
personally, i find the Java API too heavy, too much. but i suppose that's part of its design goals (purely object oriented).

i like C and C++. but that's more personal than anything... it fits my needs. apparently C++ is big on polymorphism...

forget Visual Basic... tied to only one platform, one OS... how far will that take u?

my vote is for knitting...
 
Old 12-19-2001, 07:09 AM   #7
gui10
Member
 
Registered: Mar 2001
Distribution: enigma, slack8
Posts: 677

Rep: Reputation: 30
and hey! who knows anything about objective C? i've heard of it but that's it! what is it all about?
 
Old 12-19-2001, 07:12 AM   #8
bluecadet
Member
 
Registered: Oct 2001
Distribution: MD81 RH71
Posts: 555

Rep: Reputation: 30
oh wow, Moscow ML is fun. we did courses ni that, and it was actually a very useful thing to lear, concept wise. sure it's useless for soemthign useful... but the principles behind it are very worthwhile, makes you more open minded i think.

C++ and java are practiaclly identical some a starting point. all the class stuff seems a bit unnecessary for a helo world but it all makes sense when you do big stuff, where OOP is such a massive bonus.

C++ pointers are of course an enternal irritation, but you can ignore them for the most part, unless you're trying to understand some pointer based code. i hate them, even if they are more efficient.

but yeah, c, c++ and java are the most useful, and they are very similar at a basic level. the knowldege is very transferable, just need a list of some equivalents in each, and you can pretty much swap from one to the other
 
Old 12-20-2001, 01:56 AM   #9
trickykid
Guru
 
Registered: Jan 2001
Posts: 24,133

Rep: Reputation: 197Reputation: 197
i would suggest using C ++ and Perl if your in the Unix environment or gonna program within *nix.
 
Old 12-20-2001, 11:43 AM   #10
newbietolinux
LQ Newbie
 
Registered: Nov 2001
Location: Conway, New Hampshire USA
Distribution: Red Hat
Posts: 26

Original Poster
Rep: Reputation: 15
thanks to all who replied

I have to take a VB course as a requirement, but as many of you have said, hopefully that will help me understand OOP. I will get my hands on a C++ book and start tackiling that too.

Thanks again.
 
Old 12-20-2001, 04:19 PM   #11
bluecadet
Member
 
Registered: Oct 2001
Distribution: MD81 RH71
Posts: 555

Rep: Reputation: 30
why vb? that's a bit dumb imo. and the oop in vb is odd....

I do find it strange how when i started my degree i had no idea what oop was, and it really took me ages to grasp the concept, now i understand it, i'm finding it hard to design gui's and such without class structures in c.
 
Old 12-20-2001, 04:58 PM   #12
trickykid
Guru
 
Registered: Jan 2001
Posts: 24,133

Rep: Reputation: 197Reputation: 197
when i was in college and changed my major to CS, they made me take a VB class to start off with.. don't know why but I hated that class..
 
Old 12-20-2001, 05:01 PM   #13
bluecadet
Member
 
Registered: Oct 2001
Distribution: MD81 RH71
Posts: 555

Rep: Reputation: 30
i just think that as long as people are open minded abuot what languages they are learning, and evaluate them constructively, you'll be ok.

people complained vigourously against writing in ml, cos it didn't have for loops etc.... but what it taught was so beneficial i found, just cos it's not java, doesn't mean it's not gonna teach you anything
 
Old 12-21-2001, 08:45 AM   #14
ferrous
LQ Newbie
 
Registered: Dec 2001
Location: Atlanta
Distribution: Slackware
Posts: 16

Rep: Reputation: 0
Quote:
Originally posted by gui10
personally, i find the Java API too heavy, too much. but i suppose that's part of its design goals (purely object oriented).

...

my vote is for knitting...
Heh. Java is far from purely object oriented. Check out Smalltalk-80. The language has absolutely _no_ atomics whatsoever. There are only objects. And methods. And methods can be treated as objects. Nothing like a programming language that will give you a core dump on the integer 4.
 
Old 12-21-2001, 02:10 PM   #15
Tonneman
LQ Newbie
 
Registered: Dec 2001
Posts: 14

Rep: Reputation: 0
Re: thanks to all who replied

Quote:
Originally posted by newbietolinux
I have to take a VB course as a requirement, but as many of you have said, hopefully that will help me understand OOP. I will get my hands on a C++ book and start tackiling that too.
If your course requires you to learn VB, I'd seriously consider changing college/university/whereever-you're-taking-this-course. The point of an education in computing is to teach you the best of what there is, surely?

VB is at best the most pragmatic solution to certain problems for those without the time to learn a more general programing language. VB doesn't support OOP (although M$ still claim it does), so how it's supposed to help you learn it I have no idea.

Tonneman.
 
  


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
5.4 opinions Atrocity *BSD 10 05-13-2005 06:49 AM
Opinions totally5150 Linux - General 7 06-27-2003 10:14 PM
Opinions?? Sadie Newlinux Linux - Newbie 2 04-25-2003 04:06 PM
Opinions on the best way to do this? cyberdiamond Linux - Software 11 11-15-2002 07:00 PM
Opinions LinuzRulz Linux - Distributions 1 04-14-2002 06:40 PM


All times are GMT -5. The time now is 08:53 AM.

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