Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

I want to learn a programming language

Programming languages, Coding, Executables, Package Creation, and Scripting.
Message
Author
User avatar
KOTAPAKA
Posts: 507
Joined: 2008-02-22 00:26
Location: UK

I want to learn a programming language

#1 Post by KOTAPAKA »

I am going to uni in October to do and engineering degree and I have the whole summer now. So I was thinking of learning a new programming language. I don't know what language to learn though. I have some suggestions but they might be completely inadequate. Here they go:
C
Perl
Lisp
Python
FORTRAN

As far as I know FORTRAN is used in computational programming. I don't know much about the others. I tried reading wikipedia but it explains it with terms I don't know. Anyway, I need to make an important decision. I have approximately 3 months with perhaps several hours a day. I will most likely learn several of those but I don't want to learn something which is not used anymore. I also want to do this so that I will be able to write scripts and understand Linux/Unix configuration files better.

PS please feel free to add any other language you think is more appropriate than the ones listed above. As I said I am completely new to programming.
Debian Lenny "stable"

User avatar
BioTube
Posts: 7520
Joined: 2007-06-01 04:34

#2 Post by BioTube »

C is used a lot, but I've heard good things about Lisp. FORTRAN is ancient and Python is an interpreted language(this means changes may be examined by merely running the program) that may be compiled to bytecode(meaning it can be run with a lesser performance penalty).

Though, you say "new" programming language. You should pick one that compliments your current knowledge - for example, if you know C++, you should learn C. Python would probably be a nice addition to Java. I know nothing about the other two.
Image
Ludwig von Mises wrote:The elite should be supreme by virtue of persuasion, not by the assistance of firing squads.

User avatar
Vultaire
Posts: 51
Joined: 2007-07-05 04:59

#3 Post by Vultaire »

It looks like BioTube just beat me to the punch, but I'll post this reply anyway. Sorry for repeated info.

First, the popularity chart: http://www.tiobe.com/index.php/content/ ... index.html. If you're looking to use the language for more than just your personal projects, then I'd definitely heed this to some degree.

As for which language is best, people of course have many different opinions. The sentiment I've often heard as of late, and which I think I agree with, is that Python is pretty good if you haven't programmed before.

If you just want a good easy language to learn, you probably want to stop here and give Python a go. I'm going to keep writing, though.

Perl was kind of the de facto standard scripting language on UNIX systems in the past, and still has a lot of use although it seems Python's taken its prior place.

I think FORTRAN is for pretty specialized usages, but depending on what kind of engineering you're doing, it may be important. It's a bit down the charts, ranking at 22.

Lisp is cool, but is not really used very often in the field. There are some exceptions (and I know NASA has used Lisp for a few things), and it's good to learn if you want to try programming a little differently and if you want to better understand how to customize emacs. ;) Outside that, not really recommended if your objective is to use it professionally.

C is the granddaddy of the bunch, and is still widely used despite many people thinking it needs to die a painful death. If your engineering degree has a strong software focus, you'll eventually want to learn it. C and C++ are my personal languages of choice.

User avatar
jackass
Posts: 66
Joined: 2008-04-28 19:58
Location: United States

#4 Post by jackass »

For an engineering student, I would recommend C to start with. There's enough to learn with C before jumping into C++. For Fortran, there is a business Fortran and a scientific Fortran. Scientific is used for dealing with very big or small numbers (ie. in a nuclear plant, for instance ).
Debian - Testing/Sid

User avatar
KOTAPAKA
Posts: 507
Joined: 2008-02-22 00:26
Location: UK

#5 Post by KOTAPAKA »

So I think I will start with Python and then go to C. Do those two match each other?
Debian Lenny "stable"

User avatar
Telemachus
Posts: 4574
Joined: 2006-12-25 15:53
Been thanked: 2 times

#6 Post by Telemachus »

KOTAPAKA wrote:So I think I will start with Python and then go to C. Do those two match each other?
Nope, but they're different in a good way. Python is object oriented, and C is not; C gets compiled into an executable, but Python is (primarily? always?) an interpreted language.

I always say two things in answer to this question:

(1) You need to learn programming more than any particular language. Pick up a good book on data structures and algorithms (eg, Niklaus Wirth's), in addition to whatever How to program in X book you buy.
(2) Try Perl. It rocks hard.

Burnside
Posts: 614
Joined: 2006-07-23 20:33
Location: Bend, OR

#7 Post by Burnside »

Perl may not be a good place to start, but it's a very interesting language that's worth looking into at some point.

User avatar
KOTAPAKA
Posts: 507
Joined: 2008-02-22 00:26
Location: UK

#8 Post by KOTAPAKA »

But what can I write in Perl? Can I write a small program for Unix users? Can I write a small program for me? I mean I know Perl is used in conjunction with PHP in web programming.
I will obviously learn C and probably Perl but is it reasonable to start with them provided I have done no programming apart from some Pascal about 2 years ago (and I don't remember much). Please suggest a learning path.
Debian Lenny "stable"

User avatar
Telemachus
Posts: 4574
Joined: 2006-12-25 15:53
Been thanked: 2 times

#9 Post by Telemachus »

KOTAPAKA wrote:But what can I write in Perl?
Perl excels at any kind of text wrangling, but it's good for lots of other things. Obviously its strength in text-manipulation makes Perl good for the web and small sys-admin scripts, but it is also useful for larger utilities (like ack a drop-in replacement for grep) or tools (like svk a revision control tool to work with subversion repositories). It's a misconception that Perl is only good for 10-100 line scripts.

I'm advocating for Perl because I love it, but again I don't really think which language you start with is the biggest deal. Try to learn as much as you can about programming period - the details of the individual language are less important.

User avatar
KOTAPAKA
Posts: 507
Joined: 2008-02-22 00:26
Location: UK

#10 Post by KOTAPAKA »

What about VB.net? I mean I still don't know what language to start with? If I start with Perl directly wouldn't it be too hard? I think I have a solution. I will start learning the following languages in order:
1. Python
2. C
3. C++
4. Perl

Is this OK?
Debian Lenny "stable"

BdON
Posts: 9
Joined: 2008-06-11 08:19
Location: Illinois

#11 Post by BdON »

I would cast my vote for C. I am about to graduate with a computer engineering degree, and I find it the most useful. Writing small programs for linux is also easy in C.

Mikuro
Posts: 159
Joined: 2007-12-16 04:56

#12 Post by Mikuro »

Telemachus wrote:(1) You need to learn programming more than any particular language.
I agree completely. This is why I usually recommend starting with a simpler language. I used SmallTalk (via HyperCard) and Basic (via REALbasic) for many years before ever using C, and the general programming skills I learned there have transferred over very well to C, C++, Python and several others, even though the languages are very different.

While C and C++ are "the biggies", I really don't recommend learning them as your first language. My feeling is that it's very easy to get bogged down with the specifics of the language rather than the logic of the programming. I'd recommend Python or perhaps even SmallTalk (I've been meaning to give Squeak a try myself).

User avatar
BioTube
Posts: 7520
Joined: 2007-06-01 04:34

#13 Post by BioTube »

A rule of thumb is to avoid COBOL and BASIC. For some reason, those have a reputation for ruining programmers.
Image
Ludwig von Mises wrote:The elite should be supreme by virtue of persuasion, not by the assistance of firing squads.

User avatar
Gomer_X
Posts: 198
Joined: 2008-04-11 15:06
Location: Cincinnati, OH, USA

#14 Post by Gomer_X »

Telemachus wrote: I'm advocating for Perl because I love it, but again I don't really think which language you start with is the biggest deal. Try to learn as much as you can about programming period - the details of the individual language are less important.
I love Perl too, but you don't really "learn" Perl so much as you absorb the parts that are useful to you. It's too big to learn it all, but it's easy to pick up enough to do what you want.

I use it for systems administration/automation and web stuff. I didn't really get around to learning it until I really had a NEED for it. I wanted to do more advanced scripting, and I just don't get BASH script, no matter how hard I try.

I guess my point is Perl is a very useful tool, but I don't think it's the best way to learn programming.

If I had to do it over, I might do C then Python (or vice versa). Maybe C++ after that.

IronRage
Posts: 15
Joined: 2008-06-26 09:26

#15 Post by IronRage »

You should really learn BrainFuck. lol

Seriously though, go with C or C++.

GODhack
Posts: 50
Joined: 2008-05-23 18:33

#16 Post by GODhack »

Learn Perl (Perl is easy) and C later.

IronRage
Posts: 15
Joined: 2008-06-26 09:26

#17 Post by IronRage »

Does Perl make it easier to learn C or C++?

User avatar
BioTube
Posts: 7520
Joined: 2007-06-01 04:34

#18 Post by BioTube »

Perl's got a reputation for write-only code. And since it's procedural, it's more like C.
Image
Ludwig von Mises wrote:The elite should be supreme by virtue of persuasion, not by the assistance of firing squads.

GODhack
Posts: 50
Joined: 2008-05-23 18:33

#19 Post by GODhack »

IronRage wrote:Does Perl make it easier to learn C or C++?
I think yes. Some things are same in Perl and C.

User avatar
Damotclese
Posts: 406
Joined: 2007-07-12 18:22
Location: http://www.crystallake.name/

Re: I want to learn a programming language

#20 Post by Damotclese »

KOTAPAKA wrote:
  • C
    Perl
    Lisp
    Python
    FORTRAN
How about PHP and MySQL?

Locked