You are not logged in.

#1 2009-12-29 04:34:14

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Looking for a new programming language to learn. [solved]

Yo.

I want to learn a new programming language.

A bit of my background on languages I have looked at, or learned.
* I started out in college programming in Java (ugh) and C. As this was "long ago" (for some value of long), I have forgotten most of it. ha!
* Then I learned php
* Then I learned ruby
* Then python.
* I can 'read' perl (some groups at work use it quite a bit) and edit/modify perl code, but I certainly wouldn't consider perl as a tool if I were starting a project (I don't personally like perl much at all).
* I have dabbled in Erlang, Haskel, Lisp (SBCL), and Clojure, but not to a large degree. Mostly picked up a book on them, dabbled for a few weeks/months, and learned some new concepts. I never wrote anything significant with them. Of the languages listed, I would say that I liked Erlang (except for string handling) and Clojure (downside is it isn't compiled to machine code, and requires javaVM) the best. Haskel was good for 'brain stretching', but I am not sure if it is a good fit for me.

I daily use bash and python (at work, and in my personal projects). I want a good language to add to my daily use toolset that is capable of being compiled to machine code.

I guess what I am looking for (listing is from most important to least important):
- compiles to machine code
- is readable (I like python syntax as an example of what I consider 'readable')
- has a decent standard library
- I am not interested in managing my own memory / GC
- strongly typed (if it supports type inference, great!)

A 'compiled python' would be very close to many of the above, but it doesn't exist in any usable form (I have looked at shedskin and rpython) that I have found.

I am currently considering 'go' and 'D', or possibly just diving back into C. Not excited about having to manage memory and deal with C's typing though. hmm

For those curious, C++ is right out. No. Just.. No.

Anyone have any insights?
Particularly into 'go' and/or 'D'?

Last edited by cactus (2010-01-02 01:49:09)


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#2 2009-12-29 05:06:38

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,111
Website

Re: Looking for a new programming language to learn. [solved]

My vote is for C, and I'll even give you an ironic quote from Mr. Torvalds:

Some people seem to think that C is a real programming language, but they are sadly mistaken.

Offline

#3 2009-12-29 06:15:56

tomd123
Developer
Registered: 2008-08-12
Posts: 565

Re: Looking for a new programming language to learn. [solved]

I was going to recommend C++ but I guess not smile Anyways, give OCAML a whirl.

Offline

#4 2009-12-29 06:24:12

roy_hu
Member
Registered: 2009-10-29
Posts: 85

Re: Looking for a new programming language to learn. [solved]

I'm sorry to point this out, but it bothers me when you misspelled Haskell as Haskel. Haskell satisfies all the requirements you listed, but you didn't explain why it wasn't a good fit. Laziness? Purity?

Offline

#5 2009-12-29 06:55:11

Zeist
Arch Linux f@h Team Member
Registered: 2008-07-04
Posts: 532

Re: Looking for a new programming language to learn. [solved]

Out of a business standpoint and to be able to dig into a lot of programs C++ is good to know, it is not really that exciting though. C# and Objective-C are pretty interesting, it is quite fun to see different ways that C could have been extended.

D is a pretty cool language with some really good design ideas that have gone into it, so I can recommend learning that. Another language that you may want to look at is Ada, since it has some good ideas in it.


I haven't lost my mind; I have a tape back-up somewhere.
Twitter

Offline

#6 2009-12-29 09:35:07

jac
Member
From: /home/jac
Registered: 2009-05-19
Posts: 431
Website

Re: Looking for a new programming language to learn. [solved]

I also really like D. I've been moving away from C++ to D and there were practically no syntax changes. A lot of C/C++ programs could probably be compiled by a D compiler. Plus, I haven't gotten into the features that are supposed to make it more like a scripting language, I figure that can only make it even more uselful.

Offline

#7 2009-12-29 10:32:53

samuele.mattiuzzo
Member
From: Treviso, IT
Registered: 2009-10-12
Posts: 307
Website

Re: Looking for a new programming language to learn. [solved]

yay, thumbs up for ocaml smile or go deeper into haskell learning smile
functional languages actually are the funniest to develop

or learn java / objective-c to raise some money with android applications or ipod/iphone applications

Offline

#8 2009-12-29 13:04:04

Ramses de Norre
Member
From: Leuven - Belgium
Registered: 2007-03-27
Posts: 1,289

Re: Looking for a new programming language to learn. [solved]

Your "what I'm looking for" list reads as part of a Haskell description smile

Offline

#9 2009-12-29 19:55:42

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: Looking for a new programming language to learn. [solved]

@Zeist
I have done some C# in the past (mostly asp.net), and I really didn't enjoy it all that much. It reminded me alot of java.

@tomd123
I dabbled in ocaml a bit as well, and I actually disliked it quite a bit. I think the ML style just doesn't suit me. It also felt very weird having to use different operators for float and integer arithmetic. I like a compiler to do a bit more work _for_ me I guess. wink

@roy_hu
And yeah. haskell (with two l's). Chalk it up to typos.
I think the only people more opinionated than Haskell programmers, are LISP programmers. ha!

@Ramses de Norre
As for diving further into haskell, I might. However, most of the apps I deal with are very much IO driven, and it doesn't seem like network intensive and/or IO driven apps are a good fit for haskell. If most of the apps I dealt with daily revolved around number crunching, spatial manipulations, or some realm of category theory, I would think haskell would be a better fit.

@Ziest
objective-c. hmm. An interesting suggestion. How is the portability of objective-C code across *nix?

@jac
What kinds of things have you been using D for?

@falconindy
haha! Classic. wink


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

#10 2009-12-29 20:44:03

jac
Member
From: /home/jac
Registered: 2009-05-19
Posts: 431
Website

Re: Looking for a new programming language to learn. [solved]

I've been using D for everything I was using C++ for. Mostly it's been one-off applications for Project Euler (which seems to be much easier than in C++, but that's probably just because of the amount of each problem memory management used to be). There's also been some small math programs that are just random interests of my own. The Tango libarary is really nice for that, especially since it utilizes NaN payloads. Then, I'm also progamming a mech simulator in D with some friends as a hobby. I'm not really in very deep with the scripting aspect of it, so I can't tell you how useful it will be as a tool for daily use. Though, if you do learn it, you should be able to pick back up C pretty easily.

Offline

#11 2009-12-29 22:30:06

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

Re: Looking for a new programming language to learn. [solved]

With the STL containers and auto_ptr, you really do not need to do that much memory management in C++.

Offline

#12 2009-12-29 23:15:51

caelestis
Member
Registered: 2009-04-04
Posts: 88

Re: Looking for a new programming language to learn. [solved]

Vala?

Offline

#13 2009-12-30 00:28:50

Zariel
Member
Registered: 2008-10-07
Posts: 446

Re: Looking for a new programming language to learn. [solved]

Lua? I started with that then learned python, I prefer the syntax and workings of the simpler Lua.

Offline

#14 2009-12-30 16:52:00

tomd123
Developer
Registered: 2008-08-12
Posts: 565

Re: Looking for a new programming language to learn. [solved]

@Ziest
objective-c. hmm. An interesting suggestion. How is the portability of objective-C code across *nix?

Afaik, C# is to M$ as Objective C is to APPL. I've never seen any application written in OC outside of the mac.

Last edited by tomd123 (2009-12-30 16:52:59)

Offline

#15 2009-12-30 22:23:32

h_al
Member
Registered: 2009-12-30
Posts: 17

Re: Looking for a new programming language to learn. [solved]

I feel compelled to suggest C++.

Offline

#16 2009-12-31 00:33:40

winch
Member
Registered: 2008-04-13
Posts: 43

Re: Looking for a new programming language to learn. [solved]

Objective-C is just a thin OOP veneer on top of C. Like C the language doesn't do a lot, you either write loads of code or make heavy use of libraries.
The difference with Objective-C is it was usually used with a big API that was the centre piece of the OS and did everything from string handling to drawing GUI widgets. GNUstep is the free software implementation.

Since Objective-C has a small userbase outside OS X GNUstep is the only way to go on linux but is a big dependency nobody has installed. You will probably also spend lots of time wrapping C libraries as well since they either won't have been wrapped yet or the wrappers will be out of date.

Offline

#17 2009-12-31 03:57:22

upsidaisium
Member
From: Vietnam
Registered: 2006-09-16
Posts: 263
Website

Re: Looking for a new programming language to learn. [solved]

your list of requirements seems a bit hard to satisfy! besides, if you're getting your daily work done with what you already know... i'm not trying to sound negative, but if you haven't got some sort of "real world" demand or need for learning a new language then whatever language you choose to learn might end up like other languages you've dabbled with in the past: buy a book, learn a few concepts, but never really use or apply them much.

well, that probably wasn't the response you were looking for yikes

i'm tempted to suggest learning Go, but it might not to be prudent to spend time learning a language that's so new and yet to be proven/adopted. i figure C is the safest bet, considering potential uses for it.

Last edited by upsidaisium (2009-12-31 03:57:56)


I've seen young people waste their time reading books about sensitive vampires. It's kinda sad. But you say it's not the end of the world... Well, maybe it is!

Offline

#18 2010-01-02 01:48:54

cactus
Taco Eater
From: t͈̫̹ͨa͖͕͎̱͈ͨ͆ć̥̖̝o̫̫̼s͈̭̱̞͍̃!̰
Registered: 2004-05-25
Posts: 4,622
Website

Re: Looking for a new programming language to learn. [solved]

Decided to take the following route:

1. With D 2.0 coming soon, it seems like a good time to pick up the language. I am actually kind of excited! tongue
2. objective-c. I agree with what winch said, being that it is quite particular to OS X, but it may prove interesting to work with a bit regardless (having a mac in the house makes this easy too).
3. C. I am going to get back into C as well. I don't think it is avoidable. For example, I am looking at fixing a few bugs in an openvpn-ldap plugin, and that requires using the openssl libs, and... C.

Thanks for all the input everyone.


"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍

Offline

Board footer

Powered by FluxBB