LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 02-18-2013, 01:28 AM   #1
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Advanced programming languages


http://matt.might.net/articles/best-...ing-languages/ - stumbled upon and found interesting.
 
Old 02-18-2013, 06:52 PM   #2
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,636
Blog Entries: 4

Rep: Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933Reputation: 3933
I have always been an avid student of languages. (Some might say, "a fan," and if this be so, then I do not apologize.)

When someone (and I am among their number ...) sets out to "create a language," then he or she has a particular class of problems in mind, and seeks in some way to create a powerful and generally-useful solution for them. You will quickly find that the scope of "a particular class of problems" is endless ... and that the scope of "languages that have been implemented to solve them" is endlessly imaginative.

In the very(!) earliest days of computing, when digital computers were not powerful enough even to get out of their own way, two "think outside the box" programming languages nevertheless appeared: (((LISP))) and ˚∑π (APL). These languages captivated my attention in those days because they were both solution focused, not implentation or hardware focused.

Fast-forward a couple of decades, and the Prolog language enabled me to be first-to-find on a very difficult Geocaching-style puzzle that involved both a large Soduku puzzle and an 11-step "logic problem," both of which took almost a minute of computer time for my anemic laptop to solve but which solved them, nonetheless.

All four of the languages reviewed in this most-interesting and well-written article take a similar approach ... and all of them are available right now, free of charge, on your Linux machine. "Check 'em out! ... and wear your nerd-glasses and pocket protector with pride."

Fact is ... the true world of "computer science" is endlessly challenging. The "dumb machine" is, and remains, the universal drum against we can bounce any sort of stick we can dream of. After an entire day of smashing your head against the limitations of JavaScript and Java and <<fill in the blank>> ... and, by the way, presumably getting paid for it ... you can, without restriction, consider what else this same "dumb machine" can do, if it is approached by the same person (you...) using entirely different (why not?) tools. All on your Linux machine. (Fair warning: it's happily addictive!!)

Case in point:
Quote:
Originally Posted by the article ...
The example of type classes that got me excited was bounded lattices. A bounded lattice is a mathematical structure that has a least element (bot), a greatest element (top), a partially ordered less than relation, a join operation (join) and a meet operation (meet).
If such a thing gets you "excited," too ... heck, if you even understand it (as do I) ... then you have definitely picked the right profession!

Quote:
Originally Posted by the article ...
Scala is a rugged, expressive, strictly superior replacement for Java.
If such a statement prompts you, as a Java programmer (or someone at-least cursorily interested in it) to want to "dive in, just to see what all the fuss is about," and perhaps to start advocating for a course-change at your present place of business ... then, once again, you have definitely picked the right profession.

Some people use lightsabers and thermonuclear devices. Others prefer pocket protectors. Same difference. You say you haven't heard about "map-reduce problems and their application to massive parallelism?" Sounds a bit too "computery sciencey" for your taste? Uh huh. Okay then, have you ever heard of "Google?"

N3RDZ RUL3Z ...

Last edited by sundialsvcs; 02-18-2013 at 07:09 PM.
 
Old 02-18-2013, 07:07 PM   #3
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Original Poster
Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by sundialsvcs View Post
I have always been an avid student of languages. (Some might say, "a fan," and if this be so, then I do not apologize.)

When someone (and I am among their number ...) sets out to "create a language," then he or she has a particular class of problems in mind, and seeks in some way to create a powerful and generally-useful solution for them. You will quickly find that the scope of "a particular class of problems" is endless ... and that the scope of "languages that have been implemented to solve them" is endlessly imaginative.

In the very(!) earliest days of computing, when digital computers were not powerful enough even to get out of their own way, two "think outside the box" programming languages nevertheless appeared: (((LISP))) and ˚∑π (APL). These languages captivated my attention in those days because they were both solution focused, not implentation or hardware focused.

Fast-forward a couple of decades, and the Prolog language enabled me to be first-to-find on a very difficult Geocaching-style puzzle that involved both a large Soduku puzzle and an 11-step "logic problem," both of which took almost a minute of computer time for my anemic laptop to solve but which solved them, nonetheless.

All four of the languages reviewed in this most-interesting and well-written article take a similar approach ... and all of them are available right now, free of charge, on your Linux machine. "Check 'em out! ... and wear your nerd-glasses and pocket protector with pride."

Fact is ... the true world of "computer science" is endlessly challenging. The "dumb machine" is, and remains, the universal drum against we can bounce any sort of stick we can dream of. After an entire day of smashing your head against the limitations of JavaScript and Java and <<fill in the blank>> ... and, by the way, presumably getting paid for it ... you can, without restriction, consider what else this same "dumb machine" can do, if it is approached by the same person (you...) using entirely different (why not?) tools. All on your Linux machine. (Fair warning: it's happily addictive!!)
I think what's important in different languages is different paradigms. So being a fan simply reflects the desire not to be bounded by single paradigm.

In that respect I am playing with OCaml because I want to start mastering functional paradigm on one hand, and, if necessary (e.g. I need to do something quickly, but my skills in functional paradigm are not yet good enough) to be able to retreat to imperative paradigm.

Still, I liked the article because I think it's a well balanced one.

And I came to OCaml after first reading a lot about Haskell. So one can say I chose OCaml because I am afraid to jump off the cliff (which Haskell demands) of imperative programming - I want to stay a little bit longer on the cliff .
 
  


Reply

Tags
haskell, scala, scheme, standard ml and ocaml


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Programming in multiple languages - How? steve296 Programming 7 07-13-2010 09:18 AM
programming languages as religions sycamorex General 9 01-04-2009 04:05 PM
Programming Languages where did it came from SBN Programming 14 11-05-2007 07:20 PM
What programming languages do you know? ugoff General 24 12-13-2004 06:01 PM
How many programming languages do you know? MikeZila Programming 4 07-25-2004 01:26 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 09:14 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration