Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
Programming IT

The Most Important Obscure Languages? 429

Nerval's Lobster writes: If you're a programmer, you're knowledgeable about "big" languages such as Java and C++. But what about those little-known languages you only hear about occasionally? Which ones have an impact on the world that belies their obscurity? Erlang (used in high-performance, parallel systems) springs immediately to mind, as does R, which is relied upon my mathematicians and analysts to crunch all sorts of data. But surely there are a handful of others, used only by a subset of people, that nonetheless inform large and important platforms that lots of people rely upon... without realizing what they owe to a language that few have ever heard of.
This discussion has been archived. No new comments can be posted.

The Most Important Obscure Languages?

Comments Filter:
  • by BitterOak ( 537666 ) on Monday August 31, 2015 @02:21PM (#50429691)
    Just because a language was built for specialized uses doesn't mean it's obscure. R is very widely known and used. I haven't used Erlang, but I've heard of it, which means it probably isn't too obscure.
    • by LWATCDR ( 28044 ) on Monday August 31, 2015 @02:33PM (#50429839) Homepage Journal

      So what is and not obscure?
      ADA? It is used in all the latest Boeing airliners but not used a lot outside of the aerospace community.
      What about Lisp?
      Or Haskell?
      What about Comal, Action! and Promal? Now those are obscure.
      Pascal ,Modual, Oberon?
      Or the RPG family? REXX?
      Some are truly obscure or just not used anymore and some are very common in a specific domain. For instance I have never needed to use Lua but I know it is used in a lot of places.

      • Pascal? I can remember when many, many Intro to CS courses were taught in Pascal. Including some I took. I still have the textbooks.

        • True... I had a Pascal class in high school... it used to be fairly common to teach with once upon.

          I still remember my teacher talking about a "Waloop" and I couldn't figure out what the heck that was. (I should note that I wasn't alone with this confusion in class.) Then it hit me that she was talking about a "WHILE LOOP"! D'oh! lol She had a wacky accent.

      • by Z00L00K ( 682162 )

        A few I think are in the category of obscure languages that at least comes to my mind:

        • Logo
        • Lisp
        • Bliss
        • D
        • ML
    • I haven't used Erlang, but I've heard of it, which means it probably isn't too obscure.

      Read the summary. They are only discussing obscure languages that "spring to mind immediately".

    • WEB (Score:4, Interesting)

      by Roger W Moore ( 538166 ) on Monday August 31, 2015 @02:42PM (#50429965) Journal
      How about WEB [stanford.edu] then? (and no it is not HTML, Javascript or anything to do with the WWW!) It's the programming language used to write TeX which itself lies behind LaTeX which is widely used by scientists and engineers to typeset papers involving maths as well as for theses, text books etc.
    • Re:Avoid INTERCAL (Score:4, Interesting)

      by ZahrGnosis ( 66741 ) on Monday August 31, 2015 @03:31PM (#50430575) Homepage

      R is also only one of several even more obscure languages in that domain, including Julia and Stan... is MAPLE still a thing? Less obscure is MATLAB, and Mathematica... (all platforms as well as languages) they've all got their special strengths as usual.

      Swift is more popular than R, yet still obscure compared to the top 10 or so. I don't know how ABAP is still alive.

      Prolog, Scheme, Groovy, SCALA... there are lots. Even LISP shows up below R in some lists.

      SQL is similarly not obscure in its area, but worth learning and you rarely see it in a list of general programming languages (because it isn't). But the commercial vendors all ship their SQL with strong variants that extend the language and do more common language functions like looping. I speak of PL/SQL, TSQL, and their ilk, which all have a touch of obscurity in the same way R does.

      I might recommend targeting obscure libraries or platforms also. CUDA isn't a language so much as an architecture; OpenCV is interesting.

      If you're looking for jobs, take those, plug them into a job search engine and see what interests you. Languages tend to correlate with industries fairly well. If you want to work on Genomics, you'll see different languages at the top than if you want to work on Wall Street.

      Avoid INTERCAL job postings at all costs.

      • R is also only one of several even more obscure languages in that domain, including Julia and Stan... is MAPLE still a thing? Less obscure is MATLAB, and Mathematica... (all platforms as well as languages) they've all got their special strengths as usual.

        Don't for SAS Macro Scripting (http://support.sas.com/documentation/onlinedoc/code.samples.html). Extremely influential in numerous science fields and among non-programmers.

        There's also VHDL (popular for Engineers, again, typically non-programmers), and whether you like it or not even in the Windows world DOS-Batch is still very much alive though slowly getting converted to PowerShell (derivative of C#).

  • Intercal (Score:5, Funny)

    by Anonymous Coward on Monday August 31, 2015 @02:24PM (#50429729)

    http://catb.org/esr/intercal/

    It speaks for itself...

  • Haskell? (Score:4, Informative)

    by Wootery ( 1087023 ) on Monday August 31, 2015 @02:24PM (#50429733)

    I might go with a more exotic language, like Haskell or Mercury. D and Scala aren't as big as C++, but they're not conceptually that different. (That's not to say they're not worthwhile, mind.) Languages like Haskell, Mercury, Prolog, Erlang, are rather more alien.

    I guess my real point is that most important isn't terribly precise.

    • Re: Haskell? (Score:3, Interesting)

      by Anonymous Coward

      How about FORTH? It's the stack fantastic!

      • Forth is good because it gives you a completely different way of looking at programming. Instead of writing a program, you are extending the compiler.
        Alan Perlis said, "A programming language that doesn't affect the way you think about programming isn't worth knowing." Forth is worth knowing by that metric.
      • And its descendant is used everyday by everyone who prints out a PostScript/PDF document! :)

        Paul B.

    • by sdxxx ( 471771 )

      I definitely agree. Once you've learned Haskell, it helps you understand a lot of design decisions in other pograming languages. So well worth it even if you don't end up writing tons of production Haskell code.

  • VBA (Score:5, Funny)

    by alexhs ( 877055 ) on Monday August 31, 2015 @02:29PM (#50429797) Homepage Journal

    Visual Basic for Applications seems to be a pretty important language on the dark side of the Force.

  • The intermediate languages like GENERIC/GIMPLE.
  • BF (Score:2, Informative)

    by Anonymous Coward

    I rather like BF. It's a very compact language with 8 instructions total, so it's usefulness to implement useful software is pretty limited. By pretty limited I mean 0. However, the language itself, being 8 instructions and some implied state, is pretty trivial to implement. It is also Turning complete. So it ends up being a great mechanism to prove another language is Turning complete by implementing a BF interpreter with it. So no one wants to actually use it, there is a small number of people who know ab

  • by david.emery ( 127135 ) on Monday August 31, 2015 @02:37PM (#50429887)

    Most contemporary aircraft have significant amounts of flight-critical software in Ada, some train control systems use Ada, some air traffic control systems use Ada, and of course there's a lot of Ada in US (and other country's) weapon systems. There's the SPARK subset that has been used for provably correct systems (does your software vendor provide a no-bugs warranty?). And there's production-quality code available under Open Source. http://www.adacore.com/ [adacore.com] (no connection with AdaCore, other than I have lots of friends who work there.) All of my production code after 1980 was written in Ada. There's substantial anecdotal/unpublished evidence that shows large Ada systems have substantially lower life-cycle/software maintenance costs. Your Mileage May Vary, of course.

    • Ada was the first thing that came to mind when I saw this article. I'd say it counts as lots of people outside of the aviation world have never even heard of it.
      • If they're computer science graduates and have not heard of Ada, then they're merely 9 to 5 programmers with no interest in their chosen profession. If they're on Slashdot and have never heard of Ada then they need to turn in their ID number so that someone else can use it.

    • by LWATCDR ( 28044 )

      Ada and the PRG family jumped to my mind first. Do those count?

    • by grimmjeeper ( 2301232 ) on Monday August 31, 2015 @03:31PM (#50430577) Homepage

      I would say that since the FAA dropped the Ada mandate near on 20 years ago, there are few to no new projects being developed in Ada. As a former Ada programmer who has worked on avionics systems, the only jobs I see out there are for maintenance and upgrading of legacy software. Every new avionics project I've seen is done in C or in some cases, C++, depending on whether or not they went to the trouble of getting C++ accepted by risk-averse project management.

      I've spent a career in the safety critical world, both in military and defense. Coincidentally, I did a short stint in train control as well. I haven't written a line of Ada code since 1998 and it's becoming increasingly rare to see any project still written in Ada. I have not even heard of any train control systems being written in Ada (though that doesn't mean there aren't). All of the new Positive Train Control upgrades being added to train systems are all written in C/C++. That much I can say for certain.

      While Ada has some useful features, I found it was more than a bit tedious and cumbersome to use day to day. And while the development environment is solid and bug free, it doesn't get around the fact that bad programmers write bad code in any language. Sure, Ada puts road blocks in front of you but bad programmers are adept at getting around them with surprising frequency. That's not to say bad programmers writing bad code is exclusive to Ada. Bad programmers write bad code in any language. But the whole notion that a language can "prevent" bugs is ludicrous. The best it does is to "help you avoid" bugs. But adherence to a quality coding standard, along with competent people performing code reviews will do that for you no matter what language you use.

      In this day and age, Ada certainly qualifies as "little known" because it is a dying language that most young people are never exposed to. It is slowly being displaced by more ubiquitous languages. Sure, there are some passionate adherents who will keep it alive for decades to come. But it will linger on only in a few niche environments, slowly fading into history.

      • I've spent a career in the safety critical world, both in military and defense.

        That should be "civilian and defense"...

    • MUMPS as a language probably deserves attention in that same vein, because it's used in a lot of different (old) medical systems. If you haven't seen it, here's an example of what it looks like [slashdot.org].
  • Learn COBOL? Job security 100%.

    But it is nothing like all the 'modern' languages because it has hardly evolved. As a modern day well educated programmer, you will still need to make a few mind leaps to become a COBOL programmer, and as such it counts as obscure.

    However, many banks still handle their transactions on mainframes with COBOL.
  • Scala (Score:3, Interesting)

    by SumDog ( 466607 ) on Monday August 31, 2015 @02:38PM (#50429901) Homepage Journal

    A few years ago I started using Scala and have even worked at shops where I convinced them to let me use it on larger scale telecom projects. There are things in Scala that can be terse and weird, but it's more than just a clean version of Java. If you learn all the tricks, it's got a lot of syntactic sugar and functional syntax that lend itself to shorter more manageable code. I'm still using it for some pretty big projects like BigSense.io.

    Although it's not just Scala, Groovy and Clojure are both languages that try to leverage the existing JVM and the rich base of Java libraries with a newer language.

    Java was a big stepping stone during its time. It did a lot of things right, but the backwards comparability and keeping in horrible concepts (checked exceptions, no real properties, interfaces) has kept it from really growing as a language. I think the future of the JVM won't include as much Java.

    • Checked Exceptions are not a "horrible concept".

      Try to do a majour project without them ... have fun!

      And what would you suggest as replacement for interfaces?

      Sure, Java lacks true mix ins and true multiple inheritance (and templates) ... but what has that to do with interfaces?

  • Because the superstar speaks it.
  • by 93 Escort Wagon ( 326346 ) on Monday August 31, 2015 @02:39PM (#50429911)

    French.

  • LISP (Score:5, Interesting)

    by Ckwop ( 707653 ) <Simon.Johnson@gmail.com> on Monday August 31, 2015 @02:39PM (#50429915) Homepage

    LISP is probably the most powerful language every discovered. I say "discovered" here and not "created" deliberately. There is a quality about it that makes it feel more like an extension of mathematics rather than a language.

    It might have conquered the world if only Eich had been allowed to build Scheme in the browser [brendaneich.com], as he was hired to do.

    Instead, it languishes for some reason I can't really understand. I still wish for a day it becomes a mainstream language but I think it'll just remain a wish.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      The syntax is too obscure for most mainstream programmers.

    • LISP is the correct answer - it's in almost every printer on the planet, to begin with - by far the most ubiquitous of all, and as obscure as reverse polish is.

    • Obligatory: https://xkcd.com/224/ [xkcd.com]

    • If you're going to add Lisp, you should add Smalltalk, for similar reasons. It has a depth that make Java, C++, and such languages seem like object oriented parodies.
  • MUMPS (Score:4, Insightful)

    by Anonymous Coward on Monday August 31, 2015 @02:40PM (#50429929)

    https://en.wikipedia.org/wiki/MUMPS

    This unholy abomination is often tied into your healthcare systems. At the minimum, modern health care software has to be able to speak it to communicate to the old iron still used by hospitals. Often times, you'll still see the software designed in it. The best thing about it is the compactness of the code, which hearkened back to the day when 640kb of memory was all anyone needed. It compressed so much and encouraged such short variable length that mentally unwinding code is extremely difficult, especially when those variables are functionally database queries.

  • JCL (Score:2, Insightful)

    by roman_mir ( 125474 )

    Job Control Language.

  • Is Pascal used anywhere still? Should I put it back on my resume? Maybe the military uses it in the missile silos with those big ole 8 inch floppies.

    • by Halo1 ( 136547 )

      Is Pascal used anywhere still?

      We [freepascal.org] still get a lot of downloads, so I assume yes :)

    • Yes. I dread the days I have to look at pascal code and people's use of the with keyword. Someone needs a big punch in the cock for that.
  • by mlts ( 1038732 )

    It can be debated if Ada is obscure or not, but it has an important place in computing: Programs made from it can be made provably secure. Very few languages can do this.

    Of course, with most dev houses, being able to have a build tree that can compile an executable for packaging on ship date is the most important thing out there, but if someone actually cared to write code where security or life safety is an issue, there is a language, that isn't too unpopular, that can be used for this.

  • My first exposure to programming was Big Trak, a tank-like toy that you could program to move around the room and perform various functions. A few years later, I would be introduced to Logo at school. I had no difficulty in picking up the language, as I've been using it indirectly for years.

    https://en.wikipedia.org/wiki/Big_Trak [wikipedia.org]

  • I depends on what you consider "obscure". If LISP counts, it is probably the most important obscure language ever, just because it influenced the design of nearly every major modern "scripting" language. Particularly those that aren't procedural.

    If you mean languages most have probably never heard of, I'd go with CMS-2 [wikipedia.org] It was (and probably still is) used extensively in shipboard systems in the US Navy. It was also the Navy's first crack at a "unified" language. This led to a concerted effort to get rid of

  • A language used with graph (though we called them 'Network Databases' instead) and NoSQL database engines in the 80's and 90's. CULPRIT is to COBOL as SQL is to Java or C#. Or what ever NoSQL query language you are using is to whatever programming language you are using.

  • "Important" tends to depend on the industry. For videogame programmers, I'd submit that Lua might be a candidate. While C++ reigns supreme for game engine and client code, and C# has become fairly common for tools programming, Lua has proven to be extremely popular as a plug-in scripting language, as it's free, lightweight, easy to embed in game clients, reasonably powerful for it's small size, and (being written in C) completely portable.

    It's famously used by World of Warcraft, of course. At LucasArts,

  • and we cant forget NORTH, ay?

  • awk (Score:4, Interesting)

    by grub ( 11606 ) <slashdot@grub.net> on Monday August 31, 2015 @02:54PM (#50430101) Homepage Journal

    While it isn't considered a full-blown language, awk is pretty useful for a lot of purposes. Best of all, it's included with every *nix flavour.
  • C++, hands down (Score:5, Insightful)

    by DoofusOfDeath ( 636671 ) on Monday August 31, 2015 @02:56PM (#50430119)

    I use C++ all day, every day. Every time the C++ standardization committee meets, the language gets more obscure to me.

    • I use C++ all day, every day. Every time the C++ standardization committee meets, the language gets more obscure to me.

      Someone with mod points mod parent up +1 either funny or insightful.
      (I've already contributed to this thread, so I'm disqualified.)

  • There are also proprietary languages such as OpenEdge ABL (Advanced Business Language)

  • It's like VB6 except for being awesome and Linux-exclusive. http://gambas.sourceforge.net/... [sourceforge.net] http://gambaswiki.org/wiki [gambaswiki.org]
  • I remember running into a PICK AT system for a database application server quite a few years ago. Making a back up of the OS was difficult due to the non standard format. Found very little info on it at the time which made life difficult to service the system. It ran on a PC AT in the time of DOS.

    Wikipedia on PICK https://en.wikipedia.org/wiki/... [wikipedia.org]

    • PICK uses Data/BASIC as its language (suitably obscure). Nowadays, you run the PICK OS/database in a VM/emulator with a TCP/IP wrapper allowing it to communicate with the outside world. Still widely used in financial and accounting systems. ADP sells PICK based solutions. Very fast, very easy to use, very accurate. I prefer PICK over SQL for many databases
  • No comparison. VHDL [wikipedia.org].

    Every day you touch dozens or hundreds of things containing chips designed in VHDL, and you've never heard of it. Well, maybe you have, but no one else has.

  • by DarkEdgeX ( 212110 ) on Monday August 31, 2015 @03:09PM (#50430279) Journal
    As languages further abstract away the underlying hardware, it's helpful to understand how it all works. Especially if you've never had to step into an assembly language debugger. The most likely (and probably relevant) architecture would be x86/x86-64, followed closely by some variation of ARM. IA64 isn't relevant, but if you read up on a little bit of it (there was a series of articles on Raymond Chen's blog a few weeks back), you'll learn about an interesting take on a processor architecture (which offloaded much of the optimization work to the compiler; it was also heavily slanted towards parallel processing unlike x86).
  • The chips you are using are created using SystemVerilog or VHDL mostly.
    OCAML is used a lot to formally verify the logic in those chips and C code.
    OpenSCAD is an excellent physical design language for creating 3D shapes with code rather than poking your mouse at a 3D UI.

  • by Anonymous Coward on Monday August 31, 2015 @03:28PM (#50430523)

    Crucial for a huge amount of software, yet very obscure.

  • CORAL66 and JOVIAL are both quite important languages that were used in military applications. I learned Prolog as an undergrad, but not sure how obscure or widely used it is these days.
  • tcl/tk (Score:4, Interesting)

    by drolli ( 522659 ) on Monday August 31, 2015 @03:34PM (#50430621) Journal

    Its incredible how many *huge* simulation and engineering systems, adminirtative tools, and other things are still powered by a language the mos important datatype of which is a string.

    I for my part discovered tcl/tk as a programming language for everyday use only in 2007, and even if my tcl/tk programs were not that elegant (as e.g. the equivalent python program) they were compact and *extremely* stable (within 4 years of round-the clock data acquisition with sessions of months each, i never observed a crash attributable to the core libraries, no memory leaks etc....)

  • RPG was, and still is in some cases, the backbone of a lot of systems run by big corporations, banks, and government organizations. It's more of a back-office sort of language so it's not highly visible.

  • Kdb/Q, K, and while at it, J and APL. Cool stuff.

    ABAP/4 of SAP is the modern day COBOL, even uglier and backwards.

    How about FP and FFP, created by Backus, after realising the imperative mess that his FORTRAN unleashed on the World?

  • by sirwired ( 27582 ) on Monday August 31, 2015 @03:45PM (#50430799)

    MUMPS - A horrific health-record management specific language inexplicably still in wide use.

    JCL and REXX - Used for Mainframe scripting. Few mainframe shops will be without a JCL guru. (JCL is used for non-interactive scripting, REXX is used for the sorts of things you might use Perl for everywhere else.)

    JOVIAL - An IAL offshoot that still runs much of the US ATC system until the FAA finally finishes replacing the systems that run it.

  • by Dadoo ( 899435 )

    http://www.sysmaker.com/infopr... [sysmaker.com]

    Oh, wait... you wanted an important obscure language. Sorry. Carry on...

  • Useless obscure languages I've programed in...

    ATLAS - Automated Test Language and Stimulation, Looks like basic or Fortran but has only basic looping and variables. If you wanted to do any data processing you dropped into FORTRAN.

    VULCAN - The Operating system/shell ATLAS ran on, which ran on an Harris H-100 computer. 128K of memory, 24 bit address buss with a whole board dedicated to the processor made of 7400 logic chips, and the size of your fridge with lots of flashing lights and thumb switches to 'p

  • by Applehu Akbar ( 2968043 ) on Monday August 31, 2015 @04:09PM (#50431063)

    Mention of C# brings back nostalgic memories of maniacal pizza-driven overnighters to finish projects in the latter days of "Windows," an operating system written by Washington-state software developer Microsoft, which you will probably remember for its office applications. It enjoyed a period of popularity ranging into the first decade of our new century and is still in use by some of my rural IT customers.

  • Vala translates syntax very similar to C# into idiomatic C using GLib for object-based programming (inheritance, encapsulation, events, etc. are all supported). Hundreds of lines of Vala spits out thousands of lines of boilerplate C. You get native code that's nice and fast (reference counting is faster than GC, and you have no intermediary language like .NET/Java since it compiles to C which compiles to native). A couple of programs on popular Linux distros use Vala.

    It's a great language for plugin develop

  • For the most obscure, if not the most important, I would nominate Unlambda. It excels at giving headaches to unwitting users.

  • It's the defacto standard for games - meeting the requirement of being pretty much everywhere, but at the same time not well known. Most games with a scripting language have selected Lua because it's tiny, fast, simple and effective.

  • by quietwalker ( 969769 ) <pdughi@gmail.com> on Monday August 31, 2015 @05:59PM (#50432147)

    English.

    In all seriousness: it's becoming difficult to communicate with all the acronyms, framework names being used as verbs, and corp-speak trickling into conversation, and this is with folks who are not necessarily expert communicators in the first place.

The difference between reality and unreality is that reality has so little to recommend it. -- Allan Sherman

Working...