I Want to Learn a New Language

Aug 17

I Want to Learn a New Language

I’d like to learn a new programming language, but I’m struggling with what to learn.  My experience has been in procedural (VBScript, crappy PHP) and object-oriented languages (C#, good PHP).

The temptation is to learn something like Python, but it’s just another OO language really.  There are syntactical differences, but, in the end, the paradigm is the same.  Sure, Ruby has some syntactical sugar to it, but it’s still from the same bloodline.

I’m thinking about going way, way out on a limb…

I want something that’s going to make me look at programming from an entirely different direction.  Any recommendations?


Comments

by Doug D,   August 17, 2009 11:49 AM  

I recommend XSLT (a logical declarative language like Prolog) and XPath (a functional declarative language like lisp). However, I suspect you have already used these, but just didn't list them. XSLT/XPath certainly uses a different paradigm than OO procedural languages.


by Deane,   August 17, 2009 12:38 PM  

I know XPath up, down, and sideways.

I expend a great deal of effort trying to avoid XSLT.


by Peter M,   August 17, 2009 1:02 PM  

Another one would be Clojure http://clojure.org/


by Jason Tucker,   August 17, 2009 2:38 PM  

I'm working through F# & Haskell, trying to get my head wrapped around the functional language stuff. Scala would be my vote if it was just the list you have here.


by yachris,   August 17, 2009 4:43 PM  

I'd recommend Fan (at http://fandev.org ). It compiles to either Java bytecodes, .NET bytecodes, or JavaScript to run in your browser. It's got a really sane language design (mostly :-) ) coming from mainly from Java and C#, but borrowing bits from Smalltalk, Ruby, and some of the functional languages. But it REALLY doesn't feel like a "Kitchen Sink" language... they've worked very hard to clean up the various ugly bits of Java/C# so it's really nice to work with. Interestingly, it's still in the "development" stages (they haven't tried to publicize it too much) so I feel like you can still make meaningful contributions to the language design... it's not set in concrete.


by Anthony Mills,   August 17, 2009 4:56 PM  

Learn Scheme by working your way through the classic SICP, then learn JavaScript. Use JavaScript like Scheme; do the SICP exercises in JavaScript once you've done them in Scheme.

Why: because JavaScript is the most practical functional language out there. Once you know it well, it's completely useful to your day job, and using it as a functional language (instead of a completely procedural one) makes it really useful.

Haskell is also good to have fun with, and F# is probably more useful than the average functional language.

But seriously. JavaScript, man.


by Matt Thompson,   August 17, 2009 5:50 PM  

I recommend COBOL. I mean, with COBOL 2002 you get OO, so it's just like C#. :D

Haskell is probably the one I'd seriously recommend. I know I can't wrap my head around it, so I'm always impressed by one who can.

Or go for Ada. Remember, an Ada program compiles, it works. It's the compiling that hurts ya...


by Ross Nelson,   August 18, 2009 7:00 AM  

From your list, I'd Lisp or Erlang. Anything in that list would be great to learn, generally more for the experience with a different paradigm and not practical usage, but a lot of stuff is written in both Lisp and Erlang so you might actually have a real use for them in the future in addition to the learning benefits.

I learned a small amount of Lisp (very, very small) my first semester at UNL as it was being taught to non-CS students (mostly incoming freshman who thought they were taking a class on Office). I enjoyed it. Same with Forth. Prolog, on the other hand, confused me. I wasn't a huge fan, but that could be because very little was taught and I'm used to learning more about a language than the very basics.


by Dominic Cronin,   August 18, 2009 12:09 PM  

I'd suggest F# - Microsoft's implementation of OCAML on the .Net framework. Whether or not functional programming proves to be as popular as some pundits predict, if you're going to do it, you might as well do it on a ubiquitous platform.


by Bob Wallace,   August 18, 2009 2:41 PM  

I fondly remember coding in Snobol in college. Not the most practical language, but if you are looking for something different.


by Tal Ater,   August 18, 2009 2:51 PM  

Either way, keep us posted on what you choose and how it's coming along... Might be an interesting experiment to take on myself.


by Brade,   August 18, 2009 5:51 PM  

Actually I would strongly recommend learning assembly. I think you'd enjoy. From there you can more easily try pretty much anything.


by Joel,   August 19, 2009 11:53 AM  

I second clojure. Check out Programming Clojure by Stuart Halloway



Add Comment


Want to advertise on this site? Contact FM.
Laser Toner Cartridges UK laser toner, toner cartridges, hp toner, lexmark toner, samsung toner, canon, toner, epson toner, oki toner, kyocera toner, xerox toner, remanufactured toner, compatible toner
Direct TV Deals Free 4 room direct tv deals. no equipment to buy. free fast professional direct tv installation. this is the best direct tv deal available anywhere.
SEO Article Learn from the experts with our SEO article.
rope light Shopping with birddog distributing, inc., gives you access to the lowest prices, the best customer service and the quickest delivery times possible.
Laptop AC Adapter We offer genuine factory direct replacement AC adapters.
Direct TV Best satellite TV deals.
Direct TV Deals Direct TV programming deals are varied and include packages containing from 50 channels up to over 250 channels.
8mm film to DVD Retain family memories with the only frame by frame digital restoration service in the United States for your 8mm film to DVD today
Rubber Stamp Shop for custom self-inking stamps, hand stamps, address stamps, label stamps, check endorsement stamps, check deposit stamps, date stamps, pre inks, pocket stamps, ink and much more!