New to Programming - Language Help

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

Which Language

Perl
7
30%
Python
13
57%
Ruby
3
13%
 
Total votes : 23

New to Programming - Language Help

Postby shane » 2006-12-17 20:23

Which language would you suggest for someone new to programming. I have narrowed it down to a few. If one that is not listed please feel free to give your opinion and why.
User avatar
shane
 
Posts: 28
Joined: 2006-11-16 23:32
Location: United States

Postby Lavene » 2006-12-17 21:03

I recomend Python. There are loads of good tutorials available and lots of other resources. It has a syntax that's strict enough to allow beginners to write good, readable code and at the same time it's very noob friendly. It also has great Qt, KDE and GTK bindings available making programming of GUI apps a breeze. There are also quite a few good IDEs available if you prefer that over a standard editor. Personally I prefer using Kate, but I have tried both Eric and SPE and both are nice in their own way

Perl is nice too, but I feel much more comfortable with Python. Ruby I haven't tried.

Tina
Lavene
Site admin
 
Posts: 5096
Joined: 2006-01-04 04:26
Location: Oslo, Norway

Postby thamarok » 2006-12-17 21:48

@Lavene: If possible, where can I find these KDE and GTK bindings for Python?

Thanks!
thamarok
 

Postby shane » 2006-12-17 22:21

Seems most everywhere people say to start with python. Though I am wondering also if anyone can recommend some good starting places, tutorials book, etc.

http://www.greenteapress.com/thinkpython/
http://swaroopch.info/text/Main_Page

Would these be good starting points. Also if you have some for Perl and Ruby I would also like to take a look at those.

Thanks.
User avatar
shane
 
Posts: 28
Joined: 2006-11-16 23:32
Location: United States

Postby thamarok » 2006-12-17 22:24

I use Perl for my coding. I like it's style and even Python is good, but I like Perl better..

A very good website from where I learnt a lot of Perl is here: http://www.lies.com/begperl/

It helps a lot to make simple and advanced programs.
thamarok
 

Postby drl » 2006-12-17 23:39

Hi, Shane.

Almost any language is OK as a first language because the first time though anything is difficult. After having learned one language, others become easier to pick up.

What are your interests, skills, and goals? System administrator? Supplementing your income with analysis of data? Digging the FBI out of its IT messes? Preparing to be an attorney by learning practical logic?

Do you like quick solutions? Elegant ones? Exact solutions or fuzzy ones? Do you want to be close to the raw machine or far away? Do you like to know a subject thoroughly or cursorily? etc., etc. ... cheers, drl
["Sure, I can help you with that." -- USBank voice recognition system.
( Mn, 2.6.x, AMD-64 3000+, ASUS A8V Deluxe, 3 GB, SATA + IDE, NV34 )
Debian Wiki | Packages | Backports | Netinstall
User avatar
drl
 
Posts: 434
Joined: 2006-09-20 02:27
Location: Saint Paul, Minnesota, USA

Postby shane » 2006-12-18 02:27

To be honest my interests include all of the things you have listed. Though programming for me right now is a curiosity thing which always carries the possibilities of a career.

My skills as far as programming I have done very very little which is why I consider myself new to programming. I did take a CC course in Visual Basic .NET and a CC course in C++ both of which never made you think for yourself and because of that very little was learned, it was more of type what the instructor types with no explanation. (very disappointing)

I have lots of experience with computer's and how they work. I am most comfortable on a Windows environment as I am still fairly new to Debian. I will probably spend most of my time learning programming on Windows, and gradually ease into Debian with it. Though I am still considering whatever book, tutorial, language I decide on to run through all the examples and end of chapter tests once on my Windows box and once on my Debian box.

As for goals right now is to devote at least two hours or so a day to learning the language I decide on. Off the top of my head some things I would like to create when I have the experience is a simple text editor, a simple web browser, and a messaging type client that could be used over a lan, though I am in no hurry to complete those tasks I would rather they were done right than quickly and inefficiently. Eventually learn C++ and maybe C and Java, possibly some assembly or basic. lol Really I would like to learn as many as humanly possible. =)

I guess part of my curiosity in programming comes from wanting software to work the way I want it to. Or other programs not being available to a certain platforms. And I would like at some point to be able to contribute to other open source projects.

As for solutions I believe each problem has it's own solution so the type of solution is not a big worry for me I guess right now.

I suppose starting places vary from person to person, I'm just trying to find mine.

I would like to become efficient with C++ and maybe that would be the best starting point for me, since I have some experience even though it wasn't a good experience.

Well I hope I answered your questions, sorry if they aren't in the order they were asked sometimes I get carried away.

So any advice you could give off of this would be great.
User avatar
shane
 
Posts: 28
Joined: 2006-11-16 23:32
Location: United States

Postby Harold » 2006-12-18 03:10

Elements of Programming with Perl

Do not let the 1999 revision date scare you away. This is the best book for the beginning Perl programmer I have ever seen. The Llama and Camel teach Perl commands. This book uses Perl to teach programming!
Harold
 
Posts: 1502
Joined: 2005-01-07 00:15

Postby Lavene » 2006-12-18 05:18

thamarok wrote:@Lavene: If possible, where can I find these KDE and GTK bindings for Python?

Thanks!


They are modules available from the Debian repositories. For example:
Code: Select all
apt-get install python-qt3 python-kde3 pyqt-tools

will get you a long way. With 'pyqt' you can use Qt3 Designer to design your GUI and convert it to python (Must use Qt3 because pyqt4 is not yet available in Debian but that is not a problem). See http://www.riverbankcomputing.co.uk/ for dokumentation.

Some other good noob resources:

http://www.python.org/about/gettingstarted/
http://www.freenetpages.co.uk/hp/alan.gauld/
http://wiki.python.org/moin/BeginnersGu ... rogrammers
http://www.commandprompt.com/community/pyqt/

A free book I really like: http://diveintopython.org/toc/index.html

Enjoy
Tina
Lavene
Site admin
 
Posts: 5096
Joined: 2006-01-04 04:26
Location: Oslo, Norway

Postby drl » 2006-12-18 19:26

Hi, shane.

In a way you answered some of my questions.

The three languages in your poll are all scripting languages. No problem with that, but if you want to see some code in comparative terms, there are two web sites that may be of interest. The first site below compares 17 problems solved in as many as 32 different languages (some are dialects -- 2 kinds of Fortran, for example). The source code is available so that you can see how different programmers do things in different languages.

The other site solves only one problem. However, it showcases "1045 different programming languages and variations".

There is much more to programming than just typing code into an editor. There is design, keeping up with standards, testing, to mention a few tasks, and always, decisions, decisions, decisions.

Code: Select all
http://shootout.alioth.debian.org/

http://www.99-bottles-of-beer.net/

You wrote
... I am in no hurry to complete those tasks I would rather they were done right than quickly and inefficiently ...

I disagree. I would write something just to see what hurdles I am likely to encounter. Then I would start again, possibly in a different language, with the experience and certainty of hind-sight. I am re-writing code all the time. One of the current principles of fast software delivery is refactoring -- re-writing, essentially.

I cannot advise you on languages that are common to Windows and *nix. At least one of my friends says I have a bad attitude about Microsoft. I don't really, it's just a decision I have made long ago, and there has not been any evidence so far to change my mind. The *nix systems are not necessarily the best, but they are the best I have encountered so far, and they were written to support development.

There is a similar thread, but named developing at http://www.linuxquestions.org/questions ... ost2549244 -- the forum on programming at LQ seems more active than the one here.

However, if you want to have some fast feedback and fun, I suggest another scripting language -- that of the shell. Everyone who uses *nix seriously needs to know shell scripting. There are some places on the web where you can find some guides, such as http://www.tldp.org/LDP/abs/html/index.html and I list one book below.
Master Foo once said to a visiting programmer: “There is more Unix-nature in one line of shell script than there is in ten thousand lines of C”. -- http://www.faqs.org/docs/artu/ten-thousand.html

Some books that compare languages -- although a bit old -- are listed below as well.

Best wishes, and keep us posted ... cheers, drl

Code: Select all
Title: Classic Shell Scripting
Subtitle: Hidden Commands that Unlock the Power of Unix
First Edition: May 2005
Publisher: O'Reilly
ISBN 10: 0-596-00595-4
Pages: 558
Categories:  scripting, shell, programming

Title: Programming Language Essentials
Author: H Bal, D Grune
Date: 1994
Publisher: Addison-Wesley
ISBN: 0-201-63179-2
Pages: 271
Cost: $30.75, Barnes & Noble
Categories: programming, languages

Title: Programming Languages, Concepts and Constructs
Author: Ravi Sethi
Date: 1989
Publisher: Addison-Wesley
ISBN: 0-201-10365-6
Pages: 478
Categories: programming, languages


( edit 1: add quote )
["Sure, I can help you with that." -- USBank voice recognition system.
( Mn, 2.6.x, AMD-64 3000+, ASUS A8V Deluxe, 3 GB, SATA + IDE, NV34 )
Debian Wiki | Packages | Backports | Netinstall
User avatar
drl
 
Posts: 434
Joined: 2006-09-20 02:27
Location: Saint Paul, Minnesota, USA


Postby ajdlinux » 2006-12-18 23:46

Python - nice syntax, a lot of modules available, easy to learn, multi-paradigm (structured, OO, etc.) - generally pretty good.
Jabber: xmpp:ajdlinux@jabber.org.au
Spammers, email this: ajdspambucket@exemail.com.au
ajdlinux
 
Posts: 2480
Joined: 2006-04-23 09:37
Location: Port Macquarie, NSW, Australia

Postby muskrat » 2006-12-19 04:55

Code: Select all
I guess part of my curiosity in programming comes from wanting software to work the way I want it to. Or other programs not being available to a certain platforms. And I would like at some point to be able to contribute to other open source projects.


If you plan on fixing software that's already writen, to make it work right, you should move over to open source frist rather than latter, MS won't let you look at the code to fix all thier screwups.
Steve - Muskrat
Registered Linux user #305785.
Registered desktop PC #261727 Sidux
Registered laptop PC #310468 Debian Lenny
User avatar
muskrat
 
Posts: 278
Joined: 2005-02-13 01:07
Location: Gulf-Coast TX-MX

Scripting versus Programming Languages

Postby michael7 » 2006-12-20 17:12

I consider your choices (at least Perl and Python-- I know next to nothing about Ruby) to be scripting languages rather than programming languages. That makes them no less important or powerful, just different. For what little scripting that I do, I use write plain ol' bash shell scripts.

For programming languages, my favorite is Java. I've been a code monkey with Pascal, Assembler, C, C++, COBOL, VB, FoxPro, and perhaps one or two more that I've forgotten about. C has always been a favorite of mine and it's still damn good for writing code that needs to get right down next to the metal, but for writing an up-to-date app, it shows it's age.

Perhaps that's one of the reasons that I like Java-- it's a lot like C in terms of syntax, only better. You can do just about anything with Java and now that Sun has GPLed Java, Mr. Stallman's objection to it is gone.
Live simply so that others may simply live.
Debian Social Contract
User avatar
michael7
 
Posts: 125
Joined: 2005-05-14 22:33

Postby DeanLinkous » 2006-12-20 18:02

Ruby is a language....it also works for programing too :D
User avatar
DeanLinkous
 
Posts: 1611
Joined: 2006-06-04 15:28


Return to Programming

Who is online

Users browsing this forum: No registered users and 8 guests

fashionable