You are not logged in.

#26 2010-09-02 17:19:53

lustikus
Member
Registered: 2009-11-10
Posts: 262

Re: Which programming language to look into?

mfgann sums it up pretty well. Definitely start with Python, Perl or Ruby.
Learning Haskell or Lua as a first language does not make sense. Haskell is what the cool kids use today, because it's different and new, but honestly, I would not suggest it as a first language. It has totally different concepts and thinking than other languages.

Here's a litte Python tutorial you can do in 1-2 hours that shows it simplicity and power:
http://hetland.org/writing/instant-hacking.html

Learning how to do these things in C, Haskell or the like would definitely take 5-10 times longer (or even more).

BTW, if you want a language you can use in a job, most useful ones are Java, C++, Python/Perl/PHP

Offline

#27 2010-09-02 17:20:36

daemotron
Member
Registered: 2010-08-27
Posts: 8
Website

Re: Which programming language to look into?

Just as there were some questions concerning Go: The language itself isn't too bad - quite easy to learn once you're familiar with Java or C++. Concurrency is much easier to handle with Go than with the traditional languages. However, the language (grammar, specfication) is one thing - a mature tool chain is another one. The compiler - well, it woks (and that's the best to say about it). The linker is quite crappy (generates only statically linked binaries), and the Go standard library is anything else but mature. So if you're just interested in learning and experimenting, I'd say have a "Go" at it - but don't try to use it for production quality applications, the tools and libraries currently being available are not yet ready for that purpose.

P. S. personally, I'd advise you to start with C (pure ANSI C without any ++). If you have mastered the art of pointer shooting, you're ready to let an interpreter or an object wrapping layer do that kind of stuff for you. The huge advantage: you will understand, what a Python interpreter does in the background when executing your script...

Last edited by daemotron (2010-09-02 17:23:00)


“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

Offline

#28 2010-09-02 17:24:01

Stythys
Member
From: SF Bay Area
Registered: 2008-05-18
Posts: 878
Website

Re: Which programming language to look into?

Yeah I was thinking of learning Java somewhere along the line, and will definitely learn C alongside Go.

@lustikus- is taking 5-10 times longer really that bad?  I keep hearing that learning functional languages like haskell really help you, even if you're not going to program in them.

Last edited by Stythys (2010-09-02 17:28:59)


[home page] -- [code / configs]

"Once you go Arch, you must remain there for life or else Allan will track you down and break you."
-- Bregol

Offline

#29 2010-09-02 17:40:41

lustikus
Member
Registered: 2009-11-10
Posts: 262

Re: Which programming language to look into?

Stythys wrote:

@lustikus- is taking 5-10 times longer really that bad?  I keep hearing that learning functional languages like haskell really help you, even if you're not going to program in them.

I don't know, I just read the first couple of chapter of http://book.realworldhaskell.org/read/ and I was really confused so I stopped smile
Functional languages are said to be able to solve difficult problems in a simple way but to solve simple problems in a difficult way.

Offline

#30 2010-09-03 09:48:35

raf_kig
Member
Registered: 2008-11-28
Posts: 143

Re: Which programming language to look into?

mfgann wrote:

Python and Ruby are relatively new.

Perl: 1987
Python: 1991
Ruby: 1995

Offline

#31 2010-09-03 11:14:50

marfig
Member
From: Portugal
Registered: 2010-07-30
Posts: 189
Website

Re: Which programming language to look into?

Which does make Python and Ruby quite new. A nice chart from O'Reilly helps bring some perspective: pdf link

The age of a language should have little bearing on most arguments though. On some languages, maturity is achieved very fast thanks to the engaged community and the language own attributes. It certainly was the case with Python and Ruby. More fascinating is to observe the historical evolution of these languages, what influenced them, what did they influence, and a few trends. Like the programming language boom of the 80s.

Last edited by marfig (2010-09-03 11:17:46)


I probably made this post longer than it should only because I lack the time to make it shorter.
- Paraphrased from Blaise Pascal

Offline

#32 2010-09-05 03:46:22

linkmaster03
Member
Registered: 2008-12-27
Posts: 269

Re: Which programming language to look into?

I suggest Python. It is a really powerful language with a massive amount of libraries.

I would stay away from all the off-beat languages. They may sound cool, but they will frustrate you, especially as a beginner! They also do not have the community that bigger languages do. So, I would pick Python or Ruby or C over languages like Haskell, Erlang, and Scala.

Offline

#33 2010-09-05 11:35:46

JeffreyV
Member
Registered: 2010-07-24
Posts: 15

Re: Which programming language to look into?

I strongly suggest Python as well, it's quite easy to learn and allows you to do a lot of stuff in such an easy way. Perl is great as well, it might be a little bit harder to learn, but in text processing you would surely prefer Perl.

Another language that comes in extremely handy in the Linux world is obviously C, if you know how to write code in C, the compiled executables will outperform your Python and Perl scripts in most cases, I think the learning curve is at a quite bigger level though.

Offline

#34 2010-09-05 20:41:02

rapala
Member
Registered: 2010-09-05
Posts: 1

Re: Which programming language to look into?

One way to choose a language (or a group of languages) to learn is to think hard about your motives.

"I want to program for a living":
Many would say: "Don't!" But if you want to try, learn one or some of the so called enterprise languages: Java, C++, C# and the .NET shabang. Most entry level jobs require a knowledge of one of these languages. You also can write good and elegant Java code if you take the time to actually learn the language, but wheter you can use that knowledge at work is another story.

"I want to make applications":
Programming as a hobby. Making applications for your own, and maybe someone else's joy. Unless you want to hack existing code (like the linux kernel) forget C. You most propably won't need the extra efficiency, and you certainly won't appreciate the holes that you will shoot in your legs. Choose a programmer friendly language, like Python, Ruby or maybe Javascript. You can also choose a project that you would like to participate in, and learn the language it uses. Reading code is a great way to learn programming. Writing a web app with Django or Rails could also be a fun way to learn.

Speaking about C and shooting your own leg. Go is a really nice language that solves some of the more irritating things in C (and in C++) while still providing a good level of control needed in a system language. It is garbage collected, and has a nice interface system providing polymorphism. It also has a nice concurrency primitive called channel. Unfortunately Go doesn't have that much libraries, and that makes it almost unusable for "hobby" projects - yet.

"I want to understand programming":
This is the category where I place the languages like Lisp, Haskell, Clojure, Scheme, Scala and Go. Many of them are young and immature, some of them are old and forgotten. The combining thing is that these languages have and will provide the programming language world with new and above all different ideas. There still aren't anything quit like the macros in Lisp and Scheme. Haskell has it's monads. Clojure, Scala and Go have some very nice concurrency primitives. But one learns these languages to promote the ideas in them, and to gain knowledge of different ways to write programs. They aren't a very good fit for production use or as a first language for a programming hobbyist.

So I would guess that you fall mostly to the hobbyist category. Thus I would recommend Python or Ruby, as I have really good experiences from both

Offline

#35 2010-09-08 11:31:53

jumzi
Member
Registered: 2009-02-20
Posts: 69

Re: Which programming language to look into?

Eh what...

If you want to start programming and are intressed in it... start with doing simple bashscripts(or zsh^^) for stuff that will make your general life at the computer go easier, then maybe step it up. I wanted to make some websites so i learned PHP and how to use mysql... after making two sites and relalizing the web is full of shit and weird standards i now don't even want to touch it with a forklift. i went on with my adventure focusing allot on how OSes works and are now making some audio decoders in plan9 using its thread lib in C. (which is amazing, and apperently go builds on that and alef so i really want to put my teeths in that big_smile)

Essentially what do you want to do? Then think of a language that might do that well.  And don't let ppl talk you in to using a language, make them tell you about a language that you might want to use.

I just want to say as a final note... Please use c++:s Objects and OOP in general... Then you might see how annoying it mostly are.

Offline

#36 2010-09-22 01:03:18

Owen Tuz
Member
Registered: 2010-09-16
Posts: 12

Re: Which programming language to look into?

Firstly, I'm not an experienced programmer - I've always been able to get by with bash scripts, and tinkering with other people's php, that sort of thing. I'm currently learning C++ as my first 'serious' language for a specific project I want to help develop.

Whatever language you choose, though, I would recommend spending some time with Structure and Interpretation of Computer Programs. It's in MIT Scheme (a dialect of Lisp), but the ideas in it are useful whatever you're doing. Don't expect it to teach you OO, or a Haskell way of thinking, but you'll find any programming book that much easier to understand for it.

Oh, and it's free.

Offline

#37 2010-10-13 07:04:23

Jinxware
Member
From: Wales
Registered: 2010-06-26
Posts: 1

Re: Which programming language to look into?

Nobody has mentioned D from Digital Mars yet.. it's a really nice language that is the brain child of Walter Bright (expert in compiler building) and Andrei Alexandrescu (expert in C++), the language aims to solve many of the problems from C/C++ and it also brings a lot of nice new features for a systems programming language (it beats the sh*t out of Go). Just thought I'd mention it in this thread as it never gets any of the popularity vote that it definately deserves..

http://d-programming-language.org

Thanks,
Jinx

Last edited by Jinxware (2010-10-13 07:06:19)

Offline

#38 2010-10-13 11:38:04

bernarcher
Forum Fellow
From: Germany
Registered: 2009-02-17
Posts: 2,281

Re: Which programming language to look into?

+1 for D, especially version 2 (whose definition is still in flux, however)

Unfortunately there is no really usable 64-bit compiler yet. But there is a multilib compatible package in the AUR. 2 packages are needed - for D, version 2 these are the compiler dmd2 and the runtime and standard libraries  in libphobos2.


To know or not to know ...
... the questions remain forever.

Offline

#39 2010-10-13 15:32:41

Texas
Member
From: Dallas, Texas
Registered: 2010-09-10
Posts: 131

Re: Which programming language to look into?

Ruby!

Offline

#40 2010-10-14 21:32:50

harman
Member
From: The Netherlands
Registered: 2010-03-03
Posts: 43

Re: Which programming language to look into?

I also asked myself this question. I've never programmed anything but I just wanted to learn things... after googling and thinking about it, I decided to go for assembly. This isn't exactly the language to get things done... but it is exactly what I'm interested in learning.
I've seen python get recommended but there was something I didn't like. So I would go to some website that had an interesting little piece about python as an introduction to total beginners. It said something like, it's easy, bla bla bla, for example if you do print "whatever" you get 'whatever', brilliant! But I sort of didn't like it. And later I found that I did not enjoy not knowing what goes on behind the scenes. I mean what really happens if you do that? What is a computer, really? I bought a book on assembly and it's exactly what I'm looking for. You want to learn assembly, you really need to understand the computer. That kind of closeness seemed awfully impractical to write apps with, but it seemed like a fun thing to do... as a hobby.

Assembly is apparently a language that is almost impossible to master. I don't intend to be a programmer so it seems this is out of the question. Still I'm very happy with the book I bought. The answer to your question is really all about what you want, and I guess sometimes it isn't easy to find out what it is that you really want. I was interested in programming but it seems I was also interested in knowing the guts of a computer. And I don't mind if it's hard to understand, that kind of thing I quite enjoy.


hey mr shuttleworth im real happy for u and imma let you finish but i just wanna to say ARCH LINUX IS THE GREATEST DISTRO OF ALL TIME

Offline

#41 2010-10-20 13:00:56

gbarnett
Member
Registered: 2010-09-28
Posts: 7

Re: Which programming language to look into?

There are many schools of thought here, you could go for a low-level language like C and its newer relation C++, both of whom are imperative languages (higher-level langueages like Java exist also), or you could look at a functional language like Haskell or OCaml.

I'd hesitate to recommend anything JVM-based due to the recent news around Oracle and Google but Scala is a nice language that will introduce you to many advanced design patterns, it has a healthy mix of functional and imperative constructs.

Personally I would learn one imperative language and one functional language to give you a good balance.

Offline

#42 2010-10-21 00:56:34

Gullible Jones
Member
Registered: 2004-12-29
Posts: 4,863

Re: Which programming language to look into?

From another complete newbie's perspective: find a language that clicks for you, and mess around with it. Once you have better understanding of it, other similar languages will also start to make sense, even if their syntax is different.

(That's how it worked with Perl and Python for me.)

Take my advice with a grain of salt though, since as I said I am a complete newbie. tongue

Offline

Board footer

Powered by FluxBB