I want to learn a programming language

Need help with C, C++, perl, python, etc?

Postby GODhack » 2008-06-26 20:23

Learn Perl (Perl is easy) and C later.
GODhack
 
Posts: 50
Joined: 2008-05-23 18:33

Postby IronRage » 2008-06-26 20:44

Does Perl make it easier to learn C or C++?
IronRage
 
Posts: 16
Joined: 2008-06-26 09:26

Postby BioTube » 2008-06-26 21:28

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.
User avatar
BioTube
 
Posts: 7551
Joined: 2007-06-01 04:34

Postby GODhack » 2008-06-27 15:39

IronRage wrote:Does Perl make it easier to learn C or C++?

I think yes. Some things are same in Perl and C.
GODhack
 
Posts: 50
Joined: 2008-05-23 18:33

Re: I want to learn a programming language

Postby Damotclese » 2008-06-27 15:55

KOTAPAKA wrote:
    C
    Perl
    Lisp
    Python
    FORTRAN

How about PHP and MySQL?
User avatar
Damotclese
 
Posts: 406
Joined: 2007-07-12 18:22
Location: http://www.crystallake.name/

Postby Gomer_X » 2008-06-27 16:34

IronRage wrote:Does Perl make it easier to learn C or C++?

In my experience, yes (for C, at least).

Perl is designed for doing something quickly without the trouble of writing it in C (and when you need more power than a shell script can handle). It allows you to get something working quickly, so you get instant gratification.

Perl is forgiving of sloppy syntax (but can be strict if you want) and lets you do things a number of ways and get the same results.

It CAN make it easier to learn bad habits that you may have to unlearn later when you get to a more structured language.

Python has many of the advantages of Perl, but not all the disadvantages. Unfortunately no matter how I try, Python just doesn't make sense to me. :D
User avatar
Gomer_X
 
Posts: 201
Joined: 2008-04-11 15:06
Location: Cincinnati, OH, USA

Postby Vultaire » 2008-06-29 18:22

I'm not gonna try to start a Python vs. Perl flame war. I've used both, and I do prefer Python, but that aside, both languages are good gateways to C/C++ and other "harder" languages.

Perl, it's true, has a reputation for write-only code. However, there is well-written perl code out there as well. It depends on the programmer using the tool, like with anything.

Python tends, IMHO, to have a cleaner syntax, although the enforced indenting drives some people up the wall, as does the "this" pointer being required in member function declarations. I think these are minor annoyances, but it's your call.

Here's a few good resources for both languages. For Perl, check out Beginning Perl. It's a very good free book on the language. Alternatively, for Python you can check out Dive Into Python. It should also be available in the Debian repos.
User avatar
Vultaire
 
Posts: 51
Joined: 2007-07-05 04:59

Postby Telemachus » 2008-06-29 18:46

Vultaire wrote:Here's a few good resources for both languages. For Perl, check out Beginning Perl. It's a very good free book on the language. Alternatively, for Python you can check out Dive Into Python. It should also be available in the Debian repos.

The Simon Cozens book on Perl is great, but "Dive Into Python is a Python book for experienced programmers." So I'm not sure that's the best book for this situation.
"We have not been faced with the need to satisfy someone else's requirements, and for this freedom we are grateful."
Dennis Ritchie and Ken Thompson, The UNIX Time-Sharing System
User avatar
Telemachus
 
Posts: 4677
Joined: 2006-12-25 15:53

Postby Vultaire » 2008-06-29 19:36

Bleh, good point. I was just thinking about what I used as my reference for getting started. I stand corrected. :)
User avatar
Vultaire
 
Posts: 51
Joined: 2007-07-05 04:59

Re: I want to learn a programming language

Postby rusi_pathan » 2008-06-30 16:48

KOTAPAKA wrote: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.

Which engineering are you doing?

If it is Comp Sc/EE then you must learn C and perhaps C++. However do remember that it can take you years to master C++.

If it is Aero/Mech/Civil/Physics and if you expect to do heavy numerical computing (CFD/Solid mechanics etc.) then you should learn Fortran (not FORTRAN). Fortran 90/95/03 has matlab like syntax and modern compilers can often auto parallelize good parts of the code.

Python/Ruby are very nice scripting languages but I would suggest that you learn them only after you've done C/C++/Fortran (as they are easy to learn and you can be productive fairly quickly)

One thing I would suggest is that you stick to one language for the first few months and only then move on to others (if needed). Looking at 5 different languages at the same time will only lead to confusion/frustration.

Good luck.
rusi_pathan
 
Posts: 5
Joined: 2007-11-07 00:47

Postby Gomer_X » 2008-06-30 17:12

Vultaire wrote:Here's a few good resources for both languages. For Perl, check out Beginning Perl. It's a very good free book on the language. Alternatively, for Python you can check out Dive Into Python. It should also be available in the Debian repos.

I never got a grasp on Perl (even after reading "Learning Perl," the O'Reilly book) until I worked through a tutorial called "Robert's Perl Tutorial." The Google will find it. The original is long gone, but it's mirrored many places. Short, humorous and easy to follow.

For Python, there's a book called "How to Think Like a Computer Scientist" that is designed to teach beginning programming using Python. I've heard it is excellent. It can be found here: http://www.openbookproject.net/pybiblio/books/
User avatar
Gomer_X
 
Posts: 201
Joined: 2008-04-11 15:06
Location: Cincinnati, OH, USA

Postby Telemachus » 2008-06-30 17:20

Gomer_X wrote:I never got a grasp on Perl (even after reading "Learning Perl," the O'Reilly book) until I worked through a tutorial called "Robert's Perl Tutorial."

Fair enough, but I would be reluctant to recommend a tutorial where "the last hack was made on 20th April 1999." Perl has changed a lot since then. That said, the Google did find it (in many places), and here it is.
"We have not been faced with the need to satisfy someone else's requirements, and for this freedom we are grateful."
Dennis Ritchie and Ken Thompson, The UNIX Time-Sharing System
User avatar
Telemachus
 
Posts: 4677
Joined: 2006-12-25 15:53

Postby Gomer_X » 2008-06-30 17:37

Telemachus wrote:Fair enough, but I would be reluctant to recommend a tutorial where "the last hack was made on 20th April 1999." Perl has changed a lot since then. That said, the Google did find it (in many places), and here it is.

It's not a complete text on learning Perl, it's just a short tutorial. I didn't find anything in it out of date. It's definitely incomplete, but it got me hooked enough to move on to more in depth references.

If you want the works, get the latest Camel book (although that's outdated with Perl 5.10 out [edit: it was actually printed in 2000 and current as of Perl 5.6]).
User avatar
Gomer_X
 
Posts: 201
Joined: 2008-04-11 15:06
Location: Cincinnati, OH, USA

Postby KOTAPAKA » 2008-07-03 10:59

Well what I have planned is to read the Algorithms and Data Structures - Niklaus Wirth and do Python parallel with that. I'll see what happens. I'll try Fortran as well but later on.
Debian Lenny "stable"
User avatar
KOTAPAKA
 
Posts: 507
Joined: 2008-02-22 00:26
Location: UK

Postby Gomer_X » 2008-07-03 14:59

KOTAPAKA wrote:Well what I have planned is to read the Algorithms and Data Structures - Niklaus Wirth and do Python parallel with that. I'll see what happens. I'll try Fortran as well but later on.

Good plan. Python is an excellent starting language.

I'm not sure why you'd want to learn FORTRAN unless you really need it for engineering applications or something. I found it a lot like BASIC with some of the ugliness of BASH script thrown in. :)
User avatar
Gomer_X
 
Posts: 201
Joined: 2008-04-11 15:06
Location: Cincinnati, OH, USA

PreviousNext

Return to Programming

Who is online

Users browsing this forum: No registered users and 4 guests

fashionable