Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Attack of the one-letter programming languages

Peter Wayner | Nov. 25, 2014
Watch out! The coder in the next cubicle has been bitten and infected with a crazy-eyed obsession with a programming language that is not Java and goes by the mysterious name of F. The conference room has become a house of horrors, thanks to command-line zombies likely to ambush you into rewriting the entire stack in M or R or maybe even -- OMG -- K. Be very careful; your coworkers might be among them, calm on the outside but waiting for the right time and secret instructions from the mothership to trash the old code and deploy F# or J.

The language is designed to work well with the past. You can link to Fortran 77 and all the software you still have stored on dusty decks of punch cards. In fact, it's not really a stand-alone tool. You simply turn on a command-line option (-std=F), and your Fortran 95 compiler becomes an F compiler by enforcing the cleaner rules.

If you're keeping a factory or refinery running without rewriting a huge pile of legacy Fortran 77 code, now you can enjoy a slightly more modern language for writing the glue logic.

F on the Web:

One-letter programming language: F#

F# has nothing to do with F. In fact, F# is different from F in deeper ways than C# is different from C. While F is the latest version of the classical imperative programming, F# is devoted to functional programming, the idea that software is better when it is built out of simple functions that don't mess around with outside data, often called side effects. This can lead to code that's easier to understand, faster to debug, and more amenable to compiler-driven optimization and parallelization.

Not everyone has a positive experience with functional programming, and some complain about the strange code they must write in order to shoehorn their business logic into the functional paradigm. F# is said to be "functional first," which means you can cheat. There are loops, arrays, objects, and — gasp — mutable variables.

There are versions available for major platforms such as Android, iOS, and some desktop operating systems. There are also tools for moving your parallelizable routines to GPUs.

F# on the Web:

One-letter programming language: M

A long time ago when acronyms actually had to have words behind them, some developers building a database for the medical world called their product the "Massachusetts General Hospital Utility Multi-Programming System," presumably because it boiled down to "MUMPS." (Hah.) When the naming trends changed, the MUMPS world renamed it M, a decision blessed by the ANSI in 1995. The name change isn't sticking, though; in the week that I wrote this, more than 20 jobs were posted on looking for MUMPS programmers and only one of the subject lines called it "M/Mumps."

The language itself is often considered one of the earliest examples of a key-value database, the model now being rediscovered as NoSQL data stores. But you don't do your work with queries sent to a distant, mystical entity behind a curtain; you dump your data into what looks like a variable and MUMPS — er, M does the work of storing it. It handles the caching and moves it between memory and disk.


Previous Page  1  2  3  4  5  6  Next Page 

Sign up for CIO Asia eNewsletters.