LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
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


View Poll Results: Wich language?
C 45 28.13%
C++ 38 23.75%
Perl 12 7.50%
Java 22 13.75%
Python 26 16.25%
Other 17 10.63%
Voters: 160. You may not vote on this poll

Reply
  Search this Thread
Old 05-23-2002, 04:08 PM   #31
Mara
Moderator
 
Registered: Feb 2002
Location: Grenoble
Distribution: Debian
Posts: 9,696

Rep: Reputation: 232Reputation: 232Reputation: 232

Quote:
Originally posted by Tinkster
What kind of projects/target apps is that?
We're programming acoustics data evaluation (about 270KB/s data stream from a towbody)
and have no performance issues using C++ on a P166 with 64Megs even using Motif & the
Xrt class libraries for visualisation.

I deal with graphics. And prefer C. I know that you can write fast progs in C++, but it requires more work than in C.
Quote:
And as for "full control" ... I rather type 3 lines to display
a window saying "Hello, world!" than 200 ... makes debugging/error-checking much easier.
Especially with polimorfism
Quote:
And if you link the external libraries statically you can gain some performance, too. I don't think
that a statement like "C++ is slow" is just :]
External libraries linked statically result in size, unforunatelly. Sometimes this does matter, too. There's balance needed there. And balance, as always, is hard.
 
Old 08-06-2003, 03:54 PM   #32
(l.winthorst)
LQ Newbie
 
Registered: Aug 2003
Location: Ohio & Washington, DC
Distribution: RedHat/Debian/Knoppix
Posts: 5

Rep: Reputation: 0
I Don't Know About C++

The first language I actually became adept with was the BASIC-like stuff on the TI-82. So, I know where you are coming from.

What you learn next is up to you... Everyone has a favorite but that doesn't mean necessarily that these are good languages to learn with. So what I will do here is try and give the pro's and cons of starting with a couple, and you can decide which is best for you!

Now, first off, the difference between C and C++ is that C++ is "object oriented", which means that programming in C++ is completely different from programming in C. While a lot of the keywords you use might be the same, the way you program and the structure you use are light years apart.

So, the main choices you have are, IMO(in my opinion):

Non-Structured/MetaLanguages/Scripting
1)HTML
2)Visual Basic
3)PHP
4)Shell/Batch
5)Perl

Structured-Procedural
1)C
2)Ada
3)Pascal

Structured-Object Oriented
1)C++
2)Objective C
3)Java
4)Python

Here are your first criteria -- why do you want to learn to program?

If you want to be able to do useful things and learn more about your computer, but aren't interested in persuing a career or anything in Comp Sci, choose from the first group. These are languages put together to get things done. If you want maximum output in a short time, learn these. If you want to make a website, learn HTML and JavaScript -- maybe even PHP. If you want to do cool things with Windows and Office programs, learn VB. If you're interested in administiring Windows, learn batch scripting -- for Unix or Linux learn shell scripting (basically they are lists of commands you enter at the text prompt). Under no circumstances should you ever learn Perl. Haha, actually Perl works like all of the above put together and is really cool, but is very difficult and cryptic to understand as a newbie.

The problem with this group is that learning these teaches BAD programming skills, if any at all. With these you don't create programs, just instructions for other programs. They are tools, basically, and should be used this way.

Now, if you have an academic interest in programming or really want to dedicate your life to being a top-notch programmer, you should start with the second group of languages. You won't be able to do anything productive for a long time, but they will give you the fundamentals to make REAL programs, and incredible systems. Everything worth programming should have been written in C! You can ask other people why, but trust me. Ada, which I learned on, was a great way to learn (and most government / defense / international critical systems are written in it), but no one likes it and finding help will be next to impossible. Pascal is very cool, and lots of people will really like you for starting with it (while most will just laugh).

My guess is, however, you want to be able to spin this programming experience into a marketable skill. If this is important for you, you have to learn OO (object-oriented) programming. I would suggest against C++, b/c it was made so that people WHO ALREADY KNOW C could write object oriented programs. Otherwise it is difficult to crack. If you want to start off and be able to write good OO programs and learn C at the same time, choose Object C -- it is much more intuitive and just as powerful (if not as widespread). Java is the best to learn if you are currently in debt and need to get a job now ! It is incompareably useful today, and not THAT hard to learn if:
1)you get a good book
2)you have access to someone who can answer questions

Otherwise it can be totally confusing, especially as a first language.

Finally there is Python, which is touted as being (and I believe so too) THE BEST way to learn to program. Go to O'Rielly's website to find great books on learning to program by using Python. It is wonderful. The problem with it is it hasn't cracked the business world so much yet, has a comparatively (with Java, C and C++) small following, and can be difficult to get running as a newbie (although Java can be as well).

There is really so much more to it, but I hope that helps!
 
Old 08-06-2003, 05:29 PM   #33
Strike
Member
 
Registered: Jun 2001
Location: Houston, TX, USA
Distribution: Debian
Posts: 569

Rep: Reputation: 31
Quote:
Originally posted by Mara
Quote:
[i]Originally posted by gui10
you CAN do OOP in C.
Then it's C no more.
Tell that to the GNOME folks.
 
Old 08-06-2003, 05:40 PM   #34
Strike
Member
 
Registered: Jun 2001
Location: Houston, TX, USA
Distribution: Debian
Posts: 569

Rep: Reputation: 31
As many of you may have guessed, I voted Python

My question is, how many of you who voted are actually well-versed in all of the choices available? That would be a more telling poll, I think. Sure, any bum can say "hmm, I learned C first and I think I'm doing okay with it, so I'll vote C", but that doesn't mean that they have an informed opinion on which is better to start with. Of all the ones on here, Python is actually the one I learned last, but if I had started with it first I feel I'd be a much better programmer than I am today simply because I would have been able to learn useful things (i.e. concepts, etc.) faster instead of fighting with much less useful things like syntax and compiler/build particulars.

Unfortunately, you can't restrict polls to "only people who have used all these languages" And even if you ask nicely for only those people who are to vote in the poll, people won't follow the directions anyway.
 
Old 08-06-2003, 10:21 PM   #35
Sornen
Member
 
Registered: Jul 2003
Posts: 37

Rep: Reputation: 15
Yes I voted python as well. I have tried C++ and Java but found them difficult to learn, too much to learn in order to use the language effectively. However python is relatively easy to learn, is OO, and has some neat features and a good standardised library. It has been reported that development times in python can be 1/3 that of C++.
 
Old 08-07-2003, 07:43 AM   #36
titanium_geek
Senior Member
 
Registered: May 2002
Location: Horsham Australia
Distribution: elementary os 5.1
Posts: 2,479

Rep: Reputation: 50
well, learn I started with Basic... and HTML
Sure sure, HTML is not really a language... but it teaches you a bunch about keeping your code clean.

titanium_geek
 
Old 08-07-2003, 10:42 AM   #37
cyberhawk
Member
 
Registered: May 2003
Distribution: Slackware 10
Posts: 34

Rep: Reputation: 15
I first started progrmming with VB6 which was dead easy to learn and quick to build simple programs then i was taught
Java and have never regretted it.whilst possibly more challenging than VB the power that it affords is addictive. tried my hand at C++ but Java just seemed easier (in java you don't have to worry about the pointers and references Java does all that for you so thers less to learn). plus server apps can be created easily in Java too.

I vote you start with a language that first teaches you the logic of programming, i.e. how to structure your programs, when to write a sub-procedure etc. then give Java a try. if u ever get stuck with java just give a shout there's tons of people who'll be able to help
 
Old 08-08-2003, 04:42 AM   #38
Garfalala
LQ Newbie
 
Registered: Aug 2003
Location: NA
Posts: 4

Rep: Reputation: 0
In my opinion, Python is a good language to start. Syntax is quite intuitive and the indentation of the scripts, which is the only way to separate blocks of instructions, makes the code more readable (good for debugging). I've studied in a engineer school where Python was the first programming language introduced.

Don't forget that learning algorithmic is more important than the language you will study.
 
Old 08-11-2003, 03:16 PM   #39
sk8guitar
Member
 
Registered: Jul 2003
Location: DC
Distribution: mandrake 9.1
Posts: 415

Rep: Reputation: 30
the first language i learned was pascal back in high school. i always thought pascal was really easy. then i did c++. c++ is really fun and powerful. then the next thing i did was perl because my job required it. perl is pretty cool too. then i started working on this big mysql driven website for the radio station i work at and i learned php.

i say just go where things take you. forget pascal and all those "intro" languages. if you look on them as "intro" languages thats how you are going to treat htem. just start with what you want. c++ doesn't take any prevoius knowledge to start to learn it. if you can grasp programming concepts in general, regardless of language, you can do any language. thats how it is.

and once you learn a language all the others are significantly easier to learn. its like an instrument.
 
Old 08-11-2003, 09:40 PM   #40
darin3200
LQ Guru
 
Registered: Dec 2002
Distribution: Gentoo!
Posts: 1,153

Rep: Reputation: 45
I think java is a good langauge to start with. To start with it you can always read my java howto
</plug>
 
Old 08-12-2003, 04:53 AM   #41
Robert0380
LQ Guru
 
Registered: Apr 2002
Location: Atlanta
Distribution: Gentoo
Posts: 1,280

Rep: Reputation: 47
i would say start with a language has true OO capabilities. The reason i say this is because once u learn to program OO, you know OO and procedural and learning other languages becomes a matter of syntax and library routines. If you start out with C for instance, you still wont know jack about OO design which (to me) is a VERY importan programming thing to know to be a very effective programmer (overall that is).


so, Java, C++, Python or any of those other OO lanuges.

i'm tempted to leave C++ off because it isnt a true OO language (that's what i was taught).
 
Old 08-27-2003, 04:27 AM   #42
Calum
Member
 
Registered: Mar 2002
Location: London
Distribution: Red Hat 9
Posts: 302

Rep: Reputation: 30
really?
how so?
 
Old 08-27-2003, 06:07 AM   #43
UltimaGuy
Member
 
Registered: Aug 2003
Location: Chennai, India
Distribution: PCLinuxOS .92, FC4
Posts: 840

Rep: Reputation: 32
This is beacuse C++ is a hybrid programming language and it is NOT a true OOP language(Atleast that is what the books say)
 
Old 08-27-2003, 06:33 AM   #44
vanquisher
Member
 
Registered: Aug 2003
Location: Hyderabad, India
Posts: 126

Rep: Reputation: 15
I started with C, then C++, Perl, JAVA and then Python. Now, with a considerable amount of knowledge of these 5, i think any beginner should go for Perl first. It is easy and you don't have to do lot of low-level stuff like malloc() etc etc of C. But the problem I face is, once you get good at Perl, you just don't want to migrate to any other language . Why write int, char, double when perl does a neat work of handling data types accordingly. Python is good but lack of braces { } makes it difficult at first. so, my list is much similar to that of Eric S. Raymond
1. Perl
2. Python
3. C/C++
4. Java

then you can go for LISP. You can also try bash scripting along with Perl.
 
Old 08-27-2003, 08:06 AM   #45
Strike
Member
 
Registered: Jun 2001
Location: Houston, TX, USA
Distribution: Debian
Posts: 569

Rep: Reputation: 31
Quote:
Originally posted by vanquisher
i think any beginner should go for Perl first.
I don't think any programmer should ever learn perl unless absolutely necessary (read: never)

Quote:
Python is good but lack of braces { } makes it difficult at first.
Yes, because braces are such a natural thing and whitespace formatting is not. Oh wait, whitespace formatting is far more telling from a visual perspective.
 
  


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
What's a good Programming language to begin with? PLZ HELP! Jonescity Programming 24 07-30-2005 07:43 AM
Where to begin silverjump Programming 3 01-22-2005 12:36 PM
Before i begin flickflum Linux - Newbie 7 10-27-2003 11:01 AM
Before I Begin... (l.winthorst) Linux - Newbie 3 08-06-2003 03:42 PM
where to begin dude Linux - Newbie 4 05-01-2002 03:00 PM

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

All times are GMT -5. The time now is 02:29 AM.

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