The Most Important Obscure Languages?
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.
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.
If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
http://catb.org/esr/intercal/
It speaks for itself...
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.
Assembly. Which is more of a family of languages than a single language, but that's not too uncommon in the PL world.
Very few people actually program in it anymore, but key bits of most OS kernels and programming language runtimes are still written in it.
Visual Basic for Applications seems to be a pretty important language on the dark side of the Force.
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
The intermediate languages like GENERIC/GIMPLE.
Who ordered that?
I have come to learn that all languages can be placed in one of those three categories.
If you believe the language you use just HAD to be built because it has some REALLY GREAT features which make it SO MUCH BETTER than the alternatives and are just ESSENTIAL for productive programming in today's HIGH-PACED environment, and its detractors just DON'T UNDERSTAND, you have a hipster language.
If you are doing a fairly specific job with a carefully developed (and often expensive, though sometimes completely Free) tool that has been around for ages and had a language develop with it, perhaps not even because anyone thought a new language was needed but because it was simply thought to be way more of a hassle to bolt libraries onto an existing language, you have a specialist language. Occasionally someone can get as defensive about a specialist language as they get about a hipster language - for example, I am rather partial to Mathematica's pattern-matcher, and sometimes let my enjoyment of it get the better of myself - but these sort of defenses omit a desire to have the WHOLE WORLD use the language.
If the language just evolved over time and well it's far from perfect but it'll do nicely for a lot of things, you have a general-purpose language.
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 about it, and it is very utilitarian in a meta context. Best obscure language.
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/ (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.
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.
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.
Because the superstar speaks it.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
French.
#DeleteChrome
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, 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.
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.
Job Control Language.
You can't handle the truth.
There are no important obscure languages. We shouldn't be hunting around for these tidbit languages that give half assed results. We should be focused on the tech that really brings to the table which is the very garden variety javascript.
It's not to say obscure languages aren't out there, but their usage is often seriously illogical when stacked up against a timeline, getting the job done, and having other people be able to come in and do maintenance or co-create.
Also, these nitty languages aren't universalized and the GUI you can produce with them often cannot hold a candle to simple CSS done well which can flex across multi-dimensional displays easily.
Why is it that just looking at it as a very straight forward simple task is never at the front of peoples minds? It's such a huge thing in terms of actually seeing a project get done instead of everyone ego masturbating over buzz word languages.
and on the other end of the spectrum https://en.wikipedia.org/wiki/...
Surely the best joke in Computer Science *ever*.
putting the 'B' in LGBTQ+
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.
"Never give up, for that is just the time and place when the tide will change." -Harriet Beecher Stowe ^_^
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
How about WEB 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.
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 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 the hundreds of single-purpose languages that helped make DoD systems so expensive and difficult to maintain. That led to the development of Ada, its temporary manadate, and to about a 20 year period starting in the 80's where small languages were looked down upon by the CS community.
This has recently been changing, with a profusion of new "Domain-Specific Languages". Give it a new buzzword, and what was old is cool again.
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.
putting the 'B' in LGBTQ+
Elixir is a functional, concurrent, general-purpose programming language that runs on the Erlang virtual machine (BEAM). Elixir builds on top of Erlang to provide distributed, fault-tolerant, soft real-time, non-stop applications but also extends it to support metaprogramming with macros and polymorphism via protocols.
Think of it as a mix of Ruby, Haskell and Erlang without too many compromises.
There is still a large community using it and supporting it.
ReXX (and variant Kexx) for text; J for maths, Occam for parallel processing.
-- Each tock of the Planck clock is a new world and here we are still life. --
For the avoidance of doubt, Go, Dart, Swift and Rust are top tier hipster, and a kitten masturbates god every time someone writes their first Hello World in any of them.
Ruby is so obviously hipster that not even hipsters think it's cool anymore.
Every language developed in the past 15 years which promises AMAZINGLY EASY PARALLEL PROGRAMMING OPPORTUNITIES is hipster. Pro-tip: parallel programming is hard, and an excellent understanding of just what the fuck you're doing is what'll give you efficient, bug-free code - not syntactic sugar.
C and Perl are the quintessential general-purpose languages.
Python is arguably hipster-LISP.
PHP was special-purpose in the days where it was that or cgi-perl, but I'm not sure what the fuck PHP is now. It still feels like BASIC but for web programmers.
Javascript is a great bit of general-purpose quick-and-dirty, but most Javascript libraries make it hipster. jQuery in particular is a great example of how it doesn't matter one fucking bit how incompetent software developers are because Intel makes some really fucking fast CPUs these days. This is really annoying, as the base language is just not-awful enough to be good.
"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, it replaced the SCUMM language in the Monkey Island games (note in the game the SCUMM bar was replaced by the Lua bar). It's also used by many other game developers, both prior and since.
Irony: Agile development has too much intertia to be abandoned now.
and we cant forget NORTH, ay?
putting the 'B' in LGBTQ+
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.
Trolling is a art,
There would be almost no chip designs without Skill code. It's a proprietary lisp derivative used as the extension language for Cadence's tools.
TCL ... much less obscure ... without which we would not be able to use Mentor's tools to check and verify chip designs.
I use C++ all day, every day. Every time the C++ standardization committee meets, the language gets more obscure to me.
There are also proprietary languages such as OpenEdge ABL (Advanced Business Language)
134340: I am not a number. I am a free planet!
It's like VB6 except for being awesome and Linux-exclusive. http://gambas.sourceforge.net/... http://gambaswiki.org/wiki
Buy your next Linux PC at eightvirtues.com
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/...
The truth shall set you free!
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.
Fortran is used for all sorts of science code but I'm not sure if it counts as obscure. It tends to be used by older programmers / engineers so it might become obscure in another 10 years or so when they all retire.
did you not understand?
well versed in the force you are not.
No comparison. VHDL.
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.
See that "Preview" button?
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).
All I know about Bush is I had a good job when Clinton was president.
Spouse Home Orders Exclusively
Note, despite the acronym, this fictional language works just as well on men as it does on women.
What part of the acronym implies it works better on women?
"Don't meddle in the affairs of a patent dragon, for thou art tasty and good with ketchup." ~ohcrapitssteve
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.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
I've worked on some really odd-ball languages ... the ones that surprised me are: ... I had never heard of it until a few years ago, and it's surprising the businesses that use this one.
CA: Gen - This one is crazy
JCL - This one seems to follow me around a bit. Think DOS, but less automated and for mainframes.
JOVIAL - I almost left this one off the list, but there is a wiki about it, so here you go.
There are some crazier ones out there ... The military seemed to enjoy making new languages with little or no documentation back in the 60s & 70s.
There in no religion higher than truth.
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.
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.
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.
Proverbs 21:19
Whitespace FTFY
*Love* whitespace, since a whitespace program and a C program can coexist in the same source file.
What other language contains the beauty of both RPN style programming and the ability to draw a Bezier curve?
Great language... actually a lot more powerful print language than PDF (yes, I know PDF isn't a language you pedantic insensitive clod!)
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?
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.
Without them, nothing else matters.
And its descendant is used everyday by everyone who prints out a PostScript/PDF document! :)
Paul B.
And here's why.
Hey... that's a different kind of coding. ;-)
"Never give up, for that is just the time and place when the tide will change." -Harriet Beecher Stowe ^_^
http://www.sysmaker.com/infopr...
Oh, wait... you wanted an important obscure language. Sorry. Carry on...
Sit, Ubuntu, sit. Good dog.
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 'program" stuff like where you'd like it to find the boot loader. 300Meg disk drive was the size of a washing machine, 10 Meg "removable" disk packs where 20" around.
DCL - Deck Command Language - VAX 11 scripting language, nice but clunky for doing any real processing.
JCL - Job control Language, it's not just on punch cards anymore..
CLIPS - Used to build expert systems.. Used by NASA in the Space Shuttle, makes you wonder why software didn't become a problem for the program.
K-Shell - Korn Shell, Heck of a way to run a Unix box..
AWK - Unix data extraction tool, It's just Awkward.
SED - Stream editor, companion to AWK, but really hard to follow.
YACC - Yet another Compiler Compiler, yep, you can make your own compiler with this thing...
RPN - Reverse Polish Notation, Programming using math primitives on a stack, you haven't lived.
Assembly - Yep, I've twiddled the bits directly on the processor, both by dropping into assembly from C and just coding directly in Assembly.
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
Red is a complete rewrite and upgrade of REBOL. REBOL? REBOL was rated as THE most expressive general purpose language (by a long shot) according to the famous http://redmonk.com/dberkholz/2.... But, curiously, it got no recognition. Rebol is sort of a the swiss army knife of languages (with networking, graphics, and pretty much you-name-it) All in less than ONE megabyte! No "libraries" -- the libraries are pretty nearly all built in. That seems near impossible in today's bloated world, but it happens to be true. And Red is a major reimplementation and upgrade likely to be released in 1.0 form within months. Actually red is aiming to be the world's first "full stack language" -- for everything from system's programming to DSLs and above. Download version 0.6 and read more here: red-lang.org. If you are intrigued, you can learn more, and assess for yourself the importance of rebol/ red by talking direct to the community and developers here: https://gitter.im/red/red.
jQuery in particular is a great example of how it doesn't matter one fucking bit how incompetent software developers are because Intel makes some really fucking fast CPUs these days.
It might just show that targeting several different runtimes, often with different capabilities, is hard, and that smart developers use a library to abstract the problem away. What you said, is an example of how you are ignorant, and probably a dickhead.
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 development, too. Unlike languages such as Python, bindings to C/GLib libraries do not require any compiled native code or runtime integration, since Vala has no special runtime outside of GLib.
And, if for some reason Vala's development stalls and you find yourself unable to compile changes made in your Vala code, you can always take your completed project's generated C code and switch over to that being your main source code. It's less maintainable due to the increased amount of boilerplate stuff, but there are plenty of large projects that contain manually hacked idiomatic C/GLib code that's functionally equivalent to what Vala's compiler generates anyway, for all kinds of patterns, like inheritance, signals, properties, etc.
Worst case, it saves you some time instead of having to write all that boilerplate code by hand. Best case, it saves you *A LOT* of time, by being able to write code that reads like C#.NET code, but without the runtime bindings (which constitute both a deployment headache and a source of inefficiency).
Simula 67 was never widely used. But it is the mother of all object oriented languages. And Smalltalk was strongly influenced by it.
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#).
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
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
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.
All those moments will be lost in time, like tears in rain.
I recently came across this. Which sums up Erlang pretty well IMO.
Have gnu, will travel.
ASL is the ACPI human language.
Did you know? (according to wikipedia) "...uses of Forth include the Open Firmware boot ROMs used by Apple, IBM, Sun, and OLPC XO-1; and the FICL-based first stage boot controller of the FreeBSD operating system."
I only vaguely remembered reading that somewhere, but I did know that are/were many Forth controlled Telescopes (which led to a better understanding of the cosmos.)
Personally, I used it back in the day to make very compact mission critical 24/7 programs.
PowerShell (derivative of C#).
I wouldn't really call it a derivative of C#, syntactically they're very, very different. They both run on .NET, though, but then so does VB.NET and bunch of other unrelated languages (IronPython comes to mind).
I'd say it's more like various shell languages, though I don't know them well enough to know which it's more like (cshell, BASH, kornshell?)
I always thought "collection-oriented" languages derived from or influenced by APL are interesting, such as the "J" language, "K" language, and the "A+" language. Although, these could perhaps be called "array-oriented" since they are less about stacks, graphs, lists, etc.
A sub-category of collection-orientation is "table oriented", which SQL is part of.
Table-ized A.I.
APL is the strangest language I have ever encountered (college late 70s computer science), nothing like a traditional programming "language". I vaguely remember it being very cryptic and the idea was to write as much code as possible on a single line. One had to understand the parsing of the code, in addition to its cryptic use of symbols not represented in ascii/ebcdic.
Existed before digital computers. Still going strong - probably used somewhere along the supply chain for every product built in the last 75 years. Keeps the fresh water flowing in and *hit flowing out in the nation's infrastructure.
The little-known (and much frustrating) language that defines the data interchange format for applications as widely-varied as X509 and LTE. Once you truly grok it (which is not intuitive at first) you appreciate the elegance and flexibility (plus zero-copy).
Clearly the most obscure of all but yet the most useful is clearly assembly. Intel assembly is ridiculously obscure and difficult to undertand. We are pretty much all depending on it and runnign binary encoded in it.
Yet we find it so obscure, we use compilers to generate it for us. (And a few actually write it directly when we must.)
SAS should be killed with fire. It is the most frustrating piece of garbage I have ever used. SAS is a garbage language, made by garbage people. And when I say that I don't mean to denigrate sanitation workers, for whom I have the utmost respect. I mean the employees of the SAS corporation are humanoids, perhaps sentient, literally made of garbage.
I wept tears of nerd joy when I convinced my workplace to drop SAS and adopt R.
We don't have a state-run media we have a media-run state.
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.
I'm still curious why people knock jquery so badly. I wrote a highly interactive application/wamp client using mostly jquery. The thing just worked on every browser I threw it at. No way that would have happened as easily without jq. I'm not into reinventing fixes to browser quirks.
Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
SATISDICTVMEST
No, and more to the point it never was. Hipsters do use Python out of irony, though...
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
Lua is not obscure.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
I prefer Qwghlmian.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
Both used a lot in specialized areas; Mumps: Health care, some finance, Ada: military/aerospace.
Both almost unheard of outside those areas.
"Almost every wise saying has an opposite one, no less wise, to balance it." - George Santayana
Because it showed that Programming Languages are possible. Programming in High Level languages was called, at the time, as "Automatic Programming". Just plain programming meant in Machine/Assembly/Macro languages. APL is another important language - helped define IBM 360 architecture formally (before there was Verilog or VHDL). PL/1 is important since quite a bit of Multics (parent of Unix) was written in it.
Mmm, built for supercomputing.
http://julialang.org/
https://www.youtube.com/c/BrendaEM
Avoid INTERCAL job postings at all costs.
So, you mean the fact that I wrote a c-intercal parser that used obscure opcodes to actually perform the interweave and or and xor isn't a good thing to put on my resume?
Also, my favorite obscure language is LIRL, and that has NOTHING AT ALL TO DO WITH ME BEING THE AUTHOR... rather, it's an interesting concept of, "what if Perl raped LISP and LISP was forced by the republican state government to carry that baby to term?"
The answer is: implied parentheses. To be clear, the language is absolutely context sensitive...
WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
While I agree that Smalltalk is an incredibly important language.. some/many of the things you mention came with Lisp first:
Closures
Duck typing
JIT compilation within the VM
Some truly innovative things Smalltalk brought us:
The GUI as is know today
The modern mouse
OO (Simula was incomplete)
Extremely simple/clean syntax
A truly interactive, dynamic, programmable, inspectable, live development environment
Platform independent UIs (several flavors: same on all platforms vs best for each platform)
Truly interactive debugging
Method based version control (see ENVY/Developer)
Sophisticated configuration management
National Instruments LabVIEW - a graphical (but compiled) flow-oriented programming language - is also used for industrial automation/testing. Some of the components within your computer have most probably been tested or handled (before or during soldering/assembly) by a piece of hardware programmed in LabVIEW.
Adobe also uses it a lot. Their image processing engine code is written in C/C++/ASM but the UI code in Lua. As far as I understand most of Lightroom is written in Lua
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
Prolog. Most notable use-case is in IBM Watson.
* Origin: XBase BBS (2:490/4100) Well the good old days may not return and rocks might melt and sea may burn.
Your attitude sucks rocks. Your use of the word "hipster" as a pejorative is asinine. It demonstrates that you have the emotional maturity of an eight year old.
To show just how puerile you are, I will demonstrate by substituting "cooties" for "hipster" in part of your post.
Since there are no standards on Slashdot it makes no difference when you post drivel like this. If you were to ever display this kind of behavior in a school or professional environment you would be lucky to last a week.
Get a clue. Grow up. Otherwise you are a waste of space.
Why is Snark Required?
Important mostly for embedded systems, and is as obscure as it gets.
(german translation) https://translate.google.com/t...
Virtually every factory and industrial plant in the world is filled with PLCs running software developed in a IEC 61131-3 language - Instruction List, Ladder Logic or Structured Text. None of these languages are pretty - IL looks like assembly code, LL looks like some weird Visio diagram with parameters and ST superficially resembles Pascal, but they're pretty much ubquitous in industry.
The most important (or widespread) languages that nobody ever hears about are assembly and microcode. They are everywhere and are almost completely invisible. I would suggest that PIC assembly code is probably the one that we could least do without, today.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I love the IDEA of LISP. I also slightly prefer Scheme, which to me is a bit more of a pure functional language. But in practice, I find it too much of a pain to use. I'm not accustomed to rethinking things recursively, and I totally get lost in all of the parentheses.
What many people don't realize about Common Lisp is that it's not really a functional language. It's functional-like. But there are side-effects and lots and lots of procedural constructs that seem out of place in a functional language. Consider the loop macro. It can loop over damn here anything efficiently, but it's not functional style. It's a domain-specific procedural language that you stick between parentheses within some Lisp code. Lisp has some features that make it supremely powerful. The code syntax and the data structure syntax are the SAME; that unification multiplies the power of the language in ways that are hard to describe. The macro facility is not equalled in any other language, because the macros are arbitrary Lisp code that is run at compile time that generates arbitrary Lisp code that then gets compiled. Lisp has also been around long enough that it's collected a huge number of libraries for just about anything, and the compilers are smart enough to produce some extremely efficient machine code.
So I really really want to use Lisp. It's just too much of a headache to deal with actually writing the code.
I've learned more languages than I can remember. C, Fortran, various BASICs, Ruby, Bash, C++, Java, JavaScript, HTML, CSS, SQL, Pascal, Ada, and so on. You know what my favorite language is? Verilog. What I enjoy most of all is designing chips. So I totally grok the theoretical value of languages like Lisp and Haskell, but I have the most fun designing circuits. That probably has a major influence on why I don't enjoy programming Lisp.
Now it's the language that drives more than 80% of the web. There's this thing called "Wordpress", you may have heard of it. The code is shit, to be sure, and it's much more popular than it is good, but it's still a thing. More modern frameworks (Zend Framework 1/2, both of which I've contributed to, Laravel, Symfony, etc) are much better. Maybe it isn't the most well designed or efficient language, but it lets you get shit done, which at the end of the day is the idea. Rapid development is important; hardware is cheap, developers are expensive.
Never underestimate the power of stupid people in large groups.
So, you mean the fact that I wrote a c-intercal parser that used obscure opcodes to actually perform the interweave and or and xor isn't a good thing to put on my resume?
Eep, I have offended someone with actual skills! The horror.
Putting it on your resume is one thing... heck, I'd hire someone who had legitimate INTERCAL experience on principle.
Still, I ran a few job searches and couldn't find a match... not a single job looking for INTERCAL experience. What has the world come to? You may get more luck on masochism personals (Ashley Madison anyone?): "gwc, into whips, chains, and being forced to code complex algorithms in INTERCAL". Hmmm.
Off to google LIRL now!
I don't get why Lua never became more popular than it did. It's Python after a marathon diet.
ugh ladder-logic yes It had to be mentionned. At first I hated it because it was so utterly outdated (simulate relays when actually running on a silicon asic). But it very visual, can be simple if programmer is consistant. Simple I/O is the best for ladder but some tasks maybe very awkward to do.
It taught me that I was certainly no game developer...
"The big question in our lives is how to be at the same time a hedonist and in a hurry" - Alain Ducasse (?)
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.
You mentioned SQL and looping, but you missed out on the 4GL database variants: Aubit 4GL, IBM (Informix 4GL), Progress (OpenEdge Database), Aestiva Software (Aestiva Array). In some domains, 4GL is referred to as ABL. In the version I've used, they support a simple subset of SQL-89, and just enough SQL-92 to support JDBC/ODBC clients - although I've never seen it work. As for the differences, I hear that 4GL databases are record oriented, where SQL databases are set oriented. 4GL has features that SQL lacks, such as looping [FOR EACH table ...], accessing 2 (or more) records from a single table in one query [DEFINE BUFFER x FOR table], max of a field in a particular query [LAST], and conditional access of sub-queries table/buffers with IF AVAILABLE, accessing table children efficiently [EACH childtable OF table] each with independent WHERE syntax, and it is compiled. On the other hand, SQL is very good at aggregating/grouping, handling NULLs with COALESCE, queries not relying so heavily on indexes, and it is NOT compiled. If you want dynamic queries, with 4GL you'll have to build the file and compile it as it runs. One interesting thing about 4GL is their text fields can be overstuffed. Let's say you define your table, CHAR(30), and later you decide you need four more characters. No need to change anything - the extra data will be silently saved. It won't be displayed unless you override your DISPLAY statement, but the data will be there - up to 2k or 4k, implementation specific, as I recall.
Most languages have the ability to create simple character based applications that can be accessed by Wyse and VTstyle terminals. Some environments have the ability to make .NET and Java based graphical applications, also.
Overall though, it's a good idea to have a little 4GL under your belt. I've seen these languages being used in the newspaper industry, web publishing, gas stations, and even banks. I know I've gotten interviews based on just being proficient with 4GL / ABL database languages. It's not a bad thing to know a niche language.
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.
SQL is not in any way obscure and is in fact the exact opposite of obscure. More programmers know SQL than any other language, Java is second.
You keep using that word....I do not think it means what you think it means....
"Those that start by burning books, will end by burning men."
SAS should be killed with fire. It is the most frustrating piece of garbage I have ever used. SAS is a garbage language, made by garbage people. And when I say that I don't mean to denigrate sanitation workers, for whom I have the utmost respect. I mean the employees of the SAS corporation are humanoids, perhaps sentient, literally made of garbage.
I won't necessarily disagree there. I only used it for a couple months back in 2002 and at that because it was something we already had. It was decent; but it certainly had its limitations. The folks on the mailing lists weren't too happy about my embedding 6 or 7 layers of macros...but it worked; the main issue was being able to debug those layers if you needed to.
I wept tears of nerd joy when I convinced my workplace to drop SAS and adopt R.
Certainly agree there. R is far nicer.
Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
There was a time when about 75% of all of the HMOs in America ran their company on an application written in Pick. And then the "traditional" insurance companies were allowed to buy all of the real HMOs and slowly turn them into complicated variants of 80/20 major-medical with a few tacked-on things mandated by state and federal law, and thus were able to throw away the Pick systems that they didn't understand, which ran very well a business model they didn't want to use, despite that model being much more profitable than the model they didn't want to let go of.
There was also a lot of small and mid-scale manufacturers running Pick and an application written in RPL ("Real-time Processing Language), which was a stack-based langauge based on RPN. There were stacks numbered 0-9, and if you needed more, you had to either clear a stack, or pop off all of its contents into a file and then read it back when you needed it. The individual instructions were only somewhat less terse than assembly commands, because the program and interpreter had to load into memory to run, and every bit counted when you only had 125k in your DEC LSI system.
PowerShell is not like the shell languages. It tries, but fails subtly the moment one tries to use something not .NET based, or anything not specially wrapped into a cmdlet. Pretty much fails the original promise of shell languages, the ability to pipe together programs that don't necessarily know anything about ech others beforehand. I don't like the attitude of everyting's .NET, raw data is irrelevant.
Say, try to manipulate SQL dump with binary data in it in the normal PowerShell way, it gets corrupted due carriage returns helpfully being added in. There are workaround though, just have to be super careful to not use THE PIPELINE for it.
Anyway, that's what bite me recently. Sorry for having to take my eruption, o random stranger.
IEC 61131 is the automation guys bread and butter, but apart from it, every machine smarter than a induction motor seems speaks it own variant of ugly QBASIC.
Learn to grok those, get good, have a proof of it and there are plenty of jobs.
I mean every guy can do simple "put an input in in these circumstances" like things in them, but dare to use the buggy and feature-depleted networking/gui/string manipulation utilities the programmers put in probably thinking no-one is going to use them anyway, you need some good wits, because the thing is literally a black box, sometimes you load the thing in with FTP or serial and the blinking lights at IO board is all you get to show that the thing is doing what you inted to. No debugger, though there will be bugs - hardware bugs! And bad, insufficient, badly translated documentation, no user community to get help from; maybe a manufacturer hotline which will tell "gee, I dunno" if you are lucky and privileged.
My vote: Pali.
and related Q .. www.kx.com .. a descendent of APL
used pretty heavily in finance, usually by a small group of gnomes working in the basement
Thus the use of "not obscure" in the quoted description. Thank you for your support.
FYI: many of the world's most sophisticated weapons systems use JOVIAL, a language first spec'd in 1958 and required by the US DoD for all acquisitions for decades. This complex (600+ BNF predicates) language is still widely maintained with little or no commercial/community support world wide. Think GPS satellites, multiple fighter jets, SAM silos, etc. used by virtually every military in the world and you'll get it's importance. Obscure? Sure; the last spec was in 1983(?) and still only available printed on dead trees. I win - amirite?
i meant forth, of course.