Jump to content

Unpopular programming languages


bascule

Recommended Posts

Sure we've (probably) all heard of BASIC, C/C++, Java, Perl, PHP, and Fortran (this is a science forum after all!), and to a lesser extent I'm sure many have heard of Lisp, Python, Smalltalk, and possibly Ruby (yay!)

 

So, this thread isn't about those languages. What languages have you been dabbling in which are yet to gain mass appeal?

 

Here's my list:

 

Erlang - Originally designed to solve the problems of fault tolerant, highly interconnected telephone communication systems, it draws upon a bizarre lineage which includes history of obscure languages targeted at parallel systems, like the Transputer's Occam. Erlang operates utilizing lightweight processes which communicate using an asynchronous message model and all run concurrently. While I doubt Erlang will be the Next Big Language, whoever eventually comes up with a language designed to target an upcoming generation of massively parallel multicore CPUs will likely borrow heavily on Erlang. Bizarre syntax and a general divergence from common language concepts will prevent Erlang from gaining mass adoption.

 

D - It's everything C++ and Objective C weren't. Imagine a fast, compiled language with C-like syntax, a sensible OO model, and garbage collection. Gone are the arcane syntax of both C++ and Objective C; D focuses on clarity. D is quickly gaining libraries, and provides easy interoperability with C, but will likely serve as a source of ideas for upcoming changes to C++ than a replacement.

 

Lua - What can only be described as a "multiparadigm" language, Lua provides an abstract framework in which higher level concepts like object orientation can be implemented, much like Lisp or CAML. However, unlike Lisp and CAML, Lua is an imperative procedural language and may therefore be a bit more familiar to your average programmer. Lua is one of the few languages which uses a register-based virtual machine which is often regarded as superior to the stack-based virtual machines of Java and the .NET Common Language Runtime. The only other language I know of offhand using a register-based VM is Perl 6's Parrot, which at this point is essentially vaporware (and also Perl 6 developers have considered dropping Parrot entirely)

 

Factor - A stack-based concatenation language, much like a combination of Lisp and Forth. Factor also borrows ideas from Sun Microsystems Self language, particularly a rich and powerful console to develop from. While your average language probably requires around 10,000 lines of Yacc in order to parse it, Factor manages to implement the core runtime in less code, thanks in part to becoming mostly self-hosting. For those of you who thought stack-based languages were dead or only useful for OpenBoot/OpenFirmware debugging, guess again!

 

I've been meaning to look at Haskell since it's apparently all the rave, but haven't had the time to wrap my brain around it and it looks very... weird.

Link to comment
Share on other sites

What about unpopular languages that SHOULD be popular? That might make an interesting thread as well. I note, for example, the continued, against-all-odds growth of Ruby.

 

I program Ruby professionally and love it as a language. It's definitely seen a massive surge in popularity following the release of Rails, which was certainly its first real killer app, and also rather frustrating to the Pythonistas who had devoted so much time to writing web frameworks, none of which managed to generate the buzz and attention that Rails did.

 

That's not to say that Python hasn't been successful as a web language: It's the basis of many Google applications and also what YouTube is written in. But Rails has managed to capture a lot more attention, namely through agile development practices like convention over configuration and test-driven/behavior-driven development.

 

But that said, both Ruby and Rails have their fair share of problem. There are some serious issues with the way the Ruby VM is implemented which they're presently working on moving from an AST-based VM to a stack-based one which uses a JIT compiler.

 

Rails has grown increasingly bloated and seems to be suffering from a dictatorial developer core who isn't open to new ideas. There are fundamental problems with the way its dispatcher is architected that make it very bad at things like serving files or chunks of data. Furthermore, they've been very anti-component. Rails comes off a lot like WebObjects minus the component architecture.

 

All that said, I'm going to our local Ruby Users Group tonight to learn about a new Ruby web framework called WAX.

Link to comment
Share on other sites

  • 4 weeks later...

I've been around far too long; I could fill a page. But doing so would detract from the one of the most despised "languages" of all times: Job Control Language. A flavor:

 

//IS198CPY JOB (IS198T30500),'COPY JOB',CLASS=L,MSGCLASS=X
//COPY01   EXEC PGM=IEBGENER
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  DSN=IS198.TEST.INPUT,DISP=SHR
//SYSUT2   DD  DSN=IS198.TEST.OUTPUT,
//           DISP=(NEW,CATLG,DELETE),
//           SPACE=(CYL,(40,5),RLSE),
//           DCB=(LRECL=115,BLKSIZE=0),
//           DATACLAS=SEQFB
//SYSIN    DD  DUMMY

 

Translated into Unix:

cp IS198.TEST.INPUT IS198.TEST.OUTPUT

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.