You are not logged in.

#1 2009-09-29 01:46:29

toasty_ghosty
Member
From: The Internets
Registered: 2009-01-12
Posts: 103

First language to learn

Hello

I have been using Linux for years now and would really like to take a step farther into geekiness...I would love to learn a programing language. I have looked and not found much information about learning a language that is useful with Linux.

Any ideas of which one to learn and what it is good for?

-Ghosty


Thinkpad X200 FTW!

Offline

#2 2009-09-29 01:48:03

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,412
Website

Re: First language to learn

C, bash, python, ....

It all depends what your are looking to achieve.  What problems do you want to solve/automate?

Offline

#3 2009-09-29 01:57:46

toasty_ghosty
Member
From: The Internets
Registered: 2009-01-12
Posts: 103

Re: First language to learn

Well, learning to use scripts to automate most tasks would be very neat, however lately I have heard that Perl is more useful for that. What is your thoughts on that?

-Ghosty


Thinkpad X200 FTW!

Offline

#4 2009-09-29 01:59:57

pyther
Member
Registered: 2008-01-21
Posts: 1,395
Website

Re: First language to learn

One Word: PYTHON

Last edited by pyther (2009-09-29 02:00:12)


Website - Blog - arch-home
Arch User since March 2005

Offline

#5 2009-09-29 02:00:28

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: First language to learn

I'd recommend Python if scripting is one of the main things that you'd like to do because it's incredibly well documented.

Offline

#6 2009-09-29 02:02:43

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,412
Website

Re: First language to learn

toasty_ghosty wrote:

Well, learning to use scripts to automate most tasks would be very neat, however lately I have heard that Perl is more useful for that. What is your thoughts on that?

I mainly use bash for most of that sort of thing and python if that is too limiting.  Perl would work for that too... (just ask Xyne).

Offline

#7 2009-09-29 02:02:54

toasty_ghosty
Member
From: The Internets
Registered: 2009-01-12
Posts: 103

Re: First language to learn

Is there anything else that Python is good for as well?

-Ghosty


Thinkpad X200 FTW!

Offline

#8 2009-09-29 02:25:09

scj
Member
From: Sweden
Registered: 2007-09-23
Posts: 158

Re: First language to learn

Python is pretty good for everything, being a fairly well designed general purpose language with a huge active community and pretty well documented.

But perl is, imo, better and more fun to play around with.

Last edited by scj (2009-09-29 02:25:34)

Offline

#9 2009-09-29 02:32:37

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: First language to learn

Perl takes perfectly nice, young kids and turns them into SUGAR ADDICTS. Ask Xyne.

Offline

#10 2009-09-29 02:37:48

toasty_ghosty
Member
From: The Internets
Registered: 2009-01-12
Posts: 103

Re: First language to learn

skottish wrote:

Perl takes perfectly nice, young kids and turns them into SUGAR ADDICTS. Ask Xyne.

And that does sound nice.


Thinkpad X200 FTW!

Offline

#11 2009-09-29 02:38:39

dalingrin
Member
Registered: 2009-03-18
Posts: 128

Re: First language to learn

Personally I think Python is one of, if not the best learning language. It also just so happens to be good for most everything except high performance computing.
One advantage of Python vs Perl is, Python is widely used for GUI programming. I'm not saying you can't use Perl for visual programming but you definitely see many more Python examples these days.

Offline

#12 2009-09-29 03:02:02

toasty_ghosty
Member
From: The Internets
Registered: 2009-01-12
Posts: 103

Re: First language to learn

I believe I am going to start looking at Python. I actually have a book lying around from a few years ago. Might not be the most up to date, but it should do. Thanks for the input everyone. Helpful as always.

Thanks

-Ghosty


Thinkpad X200 FTW!

Offline

#13 2009-09-29 04:15:32

Pox
Member
From: Melbourne, AU
Registered: 2007-10-04
Posts: 66

Re: First language to learn

But... Perl!

Offline

#14 2009-09-29 05:15:29

Trent
Member
From: Baltimore, MD (US)
Registered: 2009-04-16
Posts: 990

Re: First language to learn

I could almost recommend that you not start with Python, because after you learn how to use it proficiently you'll never want to use anything else again.  Which is a problem for me, because I get paid to write Perl, not Python... smile

In all honesty, though, Perl and Python both come with my wholehearted endorsement, however insignificant that is.

Offline

#15 2009-09-29 05:32:13

Lich
Member
Registered: 2009-09-13
Posts: 437

Re: First language to learn

toasty_ghosty wrote:

Hello

I have been using Linux for years now and would really like to take a step farther into geekiness...I would love to learn a programing language. I have looked and not found much information about learning a language that is useful with Linux.

Any ideas of which one to learn and what it is good for?

-Ghosty

I think I've seen this question atleast 2-300 hundred times on a lot of different forums. There is no correct answer. Don't put so much emphasis on your first language, because I can asure you it won't be the last one that you learn (once you get "the bug").
I myself started with Z80 asm, which might sound scary, but at that time it was my only alternative apart from BASIC. I suggest you start learning what you need now. As you progress, you may find yourself incapable of doing what you want in the language that you are currently learning, so you will move up to a more decent one. Scripting would be a good start, since you don't need to burden yourself with compilers just yet. After a good scripting language has been learned (bash/python should be enough), I suggest you move on to C. All 3 of these are VERY well documented, and you can find tons of code snippets to feed a geek baby for a lifetime.


Archlinux | ratpoison + evilwm | urxvtc | tmux

Offline

#16 2009-09-29 07:44:51

ludovico
Member
From: Oslo, Norway
Registered: 2008-08-24
Posts: 75

Re: First language to learn

Pox wrote:

But... Perl!

+1


Sin? What's all this about sin?

Offline

#17 2009-09-29 15:47:30

tcoffeep
Member
From: Timmins, Ontario
Registered: 2008-11-26
Posts: 99

Re: First language to learn

C, Ruby, and Bash. ..)


=============== Read An Essay ===============
   Distro : Funtoo Linux || Kernel : ckernel-2.6.30-gentoo-r5
Processor : Athlon 64 X2 4400+ || RAM : 2GB || HD : 300GB
========================================

Offline

#18 2009-09-29 16:28:31

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: First language to learn

I'd recommend Python as a first language. It's relatively easy to learn, very versatile and it's currently a very popular language which means that there are lots of interesting projects connected to it.

Perl is great for scripting and I think that its regular expressions and shell interaction are superb (both feel clunky in Python by comparison), but I wouldn't recommend it for larger projects. You can get just about anything done with it though.

Bash is slow and ugly. Learn enough to automate some shell commands and then move on.

Eventually you should learn some C and even take a look at a functional language like Haskell. The latter will give you a very different perspective on programming.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#19 2009-09-29 17:47:55

saedelaere
Member
Registered: 2009-04-24
Posts: 30

Re: First language to learn

If you want to start with scripting I would also recommend Tcl/Tk. It is very easy to learn, has a superb documentation and a helpful community.

Regards

Offline

#20 2009-09-29 17:54:30

SpeedVin
Member
From: Poland
Registered: 2009-04-29
Posts: 955

Re: First language to learn

Python,Bash,Perl wink

Xyne wrote:

I'd recommend Python as a first language. It's relatively easy to learn, very versatile and it's currently a very popular language which means that there are lots of interesting projects connected to it.

Perl is great for scripting and I think that its regular expressions and shell interaction are superb (both feel clunky in Python by comparison), but I wouldn't recommend it for larger projects. You can get just about anything done with it though.

Bash is slow and ugly. Learn enough to automate some shell commands and then move on.

Eventually you should learn some C and even take a look at a functional language like Haskell. The latter will give you a very different perspective on programming.

I have question to Xyne what would you recommend for shell scripting (If not Bash)?
I mean we can change shell to ZSH or even Bash and scripts will be faster wink


Shell Scripter | C/C++/Python/Java Coder | ZSH

Offline

#21 2009-09-29 18:05:19

Xyne
Administrator/PM
Registered: 2008-08-03
Posts: 6,965
Website

Re: First language to learn

SpeedVin wrote:

Python,Bash,Perl wink

Xyne wrote:

...

Bash is slow and ugly. Learn enough to automate some shell commands and then move on.

...

I have question to Xyne what would you recommend for shell scripting (If not Bash)?
I mean we can change shell to ZSH or even Bash and scripts will be faster wink

Automating shell commands is shell scripting. What I mean is that bash should not be used for actual applications that are anything but very simple. I don't consider bash to be a proper programming language and I don't think people should recommend it as one.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#22 2009-09-29 18:59:17

Prikrutil
Member
Registered: 2009-09-26
Posts: 11

Re: First language to learn

Why has nobody suggested a functional language to go with?

Erlang - http://erlang.org/
Clojure - http://clojure.org/
Scala - http://scala-lang.org/
Haskell - http://haskell.org/

Though, they might seem a bit unusual at the first glance, but they all are much more prepared for the multicore future than Python. Being free of side effects means being ready to get concurrent GC, actors, software transactional memory (STM) etc. It doesn't seem very important, if what you you are going to use it for is scripting only, but it becomes much more important if you want to use it for, say, writing web applications.

Functional programming might be something most people haven't heard before, but foundation of functional programming had been laid before first computers were created! Languages like Haskell are clean like math, whereas languages like Erlang are pragmatic as engineering.

Are you going to use a language for something other than scripting in the future?

Offline

#23 2009-09-29 19:53:07

Peasantoid
Member
Registered: 2009-04-26
Posts: 928
Website

Re: First language to learn

bash - quick scripting
C - figuring out how everything works behind the scenes *
Python - everything (even web development - Django is truly awesome)
Haskell / any functional language that strikes your fancy - novelty tongue (seriously though, they're probably the future of programming)

* Manual memory management will teach you a thing or two when it finally clicks. I'd only recommend C for serious development if you a) are writing a library intended to be widely used or b) need your code to be as fast as possible.

Last edited by Peasantoid (2009-09-29 19:57:33)

Offline

#24 2009-09-29 20:05:09

&#32 Greg
Member
Registered: 2009-02-08
Posts: 80

Re: First language to learn

Scheme, if we're going functional.

Offline

#25 2009-09-29 20:05:24

skottish
Forum Fellow
From: Here
Registered: 2006-06-16
Posts: 7,942

Re: First language to learn

Peasantoid wrote:

Haskell / any functional language that strikes your fancy - novelty tongue (seriously though, they're probably the future of programming)

Even Microsoft agrees. F# is based heavily off of Haskell with some elements of OCaml thrown in. And if Microsoft agrees, it must be True™.

Offline

Board footer

Powered by FluxBB