
Ask HN: What is your favourite unpopular programming language? - enkiv2
I&#x27;m specifically gearing this toward obscure languages -- in other words, not PHP and Java, because although nearly everybody hates those languages, nearly everybody <i>knows</i> them too. Languages with bad reputations that are no longer common count, though (like COBOL and FORTRAN).<p>Mine&#x27;s prolog.
======
rwallace
F#. Beautiful language, clean and concise, encourages functional programming
without mandating it, type inference gives the benefits of static typing
without the boilerplate. And it's a .Net language so you have the full .Net
ecosystem, eliminating most of the disadvantages of using a minority language.

~~~
IndianAstronaut
I am actually playing with F# quite a bit. It is definitely forcing me to
rethink the way I am setting up my C# applications.

------
cmwelsh
Lua is pretty nice. Great memory footprint, easy to embed, and you can use
LuaJIT if you want to trade extra memory usage for extra speed.

The best integration so far is probably Nginx:

[https://blog.cloudflare.com/pushing-nginx-to-its-limit-
with-...](https://blog.cloudflare.com/pushing-nginx-to-its-limit-with-lua/)

~~~
Lasher
We implemented Lua as the quest / NPC scripting language within a "C" based
MUD engine and the performance has been incredible. Tens of thousands of
individual programs and not a blip, game pulses smooth as ever 8 times a
second.

------
lgunsch
I really like Rust.

I suppose its debatable whether it's unpopular, as Rust focused articles on HN
tend to be up-voted. But, it does seem "unpopular" compared to Go, and other
languages with a much larger following.

------
jophde
If popularity is not measured in the sheer amount of code written or
programmers, then I would have to say Java. It has to be the most publicly
shamed language. It's not really the language itself I enjoy. It's IntelliJ.
Seriously, IntelliJ makes writing Java code insanely fast.

~~~
applecore
The latest version of Eclipse IDE (Luna) is actually quite good and possibly
better than IntelliJ for Java development.

~~~
mahmud
Have you used Intellij? It's quite possibly the best software development tool
ever made. Sometimes I just gawk at how polished it is. Intellij IDEA is
simply amazing.

------
aqsis
Smalltalk - the granddaddy of all object oriented languages, and still the
'most' object oriented IMHO. And the only language that I know of that is
typically implemented in a system that offers image based persistence, which
is very cool (again IMHO).

------
colanderman
Prolog. Extraordinarily simple model (you can implement an interpreter in a
few hundred lines of code); yet extraordinarily powerful for solving many
kinds of discrete-math (e.g. parsing, graph theory) problems.

------
zck
Arc - the Lisp that runs Hacker News.

It's a really cleanly-designed language. While it has rough edges, the
problems with it seem to be things it doesn't do, not things it does for
confusing reasons.

------
AnimalMuppet
Perl, unless you think it's still too popular to count. If not Perl, maybe
68000 assembler.

~~~
enkiv2
I wasn't sure whether to count perl. Ten years ago, I'd say perl fell into the
same category as PHP and Java -- a large user base, many of whom dislike it.
But, it's transitioning toward being a language of the past.

~~~
hanumantmk
Perl probably counts.

For newer developers, I feel like even the linenoise/write once jokes are
pretty much unknown. For an older set you still see one-liners and text heavy
scripts, but no large players are really doing greenfield development in perl
anymore.

Which is a bit of a shame, because perl 5.20 is a pretty far cry from the 5.8
I was using those 10 years ago...

------
tluyben2
Shen. Love it because it's small, easy to implement, nice to optimize and I
have a real weakness for small implementations, Prolog and Lisp.

Edit: I really like Mercury [1] but the implementation is so crazy large and
complex that I stopped pursuing it. While it's so lovely. I just try to use
what I learnt from Mercury in optimising my Shen implementation.

[1] [https://mercurylang.org/about.html](https://mercurylang.org/about.html)

------
justintbassett
VBA. It's nice to be able to write somebody an excel macro that they can run
without having to install anything. Sue me.

------
LetBinding
Brainfuck.

Because it's fun.

My favorite Brainfuck interpreters.

[http://brainfuck.tk](http://brainfuck.tk)
[http://copy.sh/brainfuck/](http://copy.sh/brainfuck/)
[http://www.iamcal.com/misc/bf_debug/](http://www.iamcal.com/misc/bf_debug/)

This is a good IDE for Brainfuck.

[http://4mhz.de/bfdev.html](http://4mhz.de/bfdev.html)

If you are interested, you can contribute to this Brainfuck compiler
optimization project.

[http://www.nayuki.io/page/optimizing-brainfuck-
compiler](http://www.nayuki.io/page/optimizing-brainfuck-compiler)

------
xkcd-sucks
mathematica and/or the ＂wolfram language"

proprierary and slow (bad) but it has a huge, convenient, well documented
standard library so it's convenient for prototyping stuff

plus it's really satisfying to implement complicated thing in a single line of
code

------
bdcravens
CFML (language behind ColdFusion and open-source variants). Very approachable
by beginners. Web console by default, no need to jack with config files. No
database connection strings or convoluted models, just put SQL in <cfquery>
and get a recordset. Simple data structure. Ease of HTML syntax, but power of
c-like scripting if you want it. Backed by JVM, so can extend it in all the
ways you'd imagine, and can also write extensions in CFML if you'd like. I do
mostly Ruby these days, but I spent a long time doing CFML, so I'll always be
fond of it.

------
pmdulaney
I like PostScript. When you want absolute control over a vector image, it's
the way to go, and if you set up your macros right (that is "procedures") it
can be quite easy to modify and reuse.

------
partisan
I am burning a candle for Nim, formerly Nimrod. I like the brevity of the code
I write using the language. I feel it has very few drawbacks, but I wish there
were more of a community around it.

------
mahmud
Mozart/Oz. Such a beautiful language and system; except the syntax, dynamic
typing & sophomoric runtime ;-)

There is nothing like Oz. I spent 2 of my best years just studying its
research papers.

------
Lowgain
During the programming languages course on Coursera they focused on SML for
the first few weeks - while I haven't done too much with it outside of that
course I really liked it

------
sjolsen
Agda; it marries formal mathematics and programming in a very satisfying way.
I can't wait to see what comes of it and other intuitionistic type
theory–based systems.

------
waterlesscloud
The most fun I had coding in recent years was writing a couple simple games to
run on an Atari 2600 emulator. All kinds of hoops to jump through to get stuff
on the screen, but somehow all the effort just made it more fun. I should do
some more of that.

Solid intro tutorial here -
[http://www.atariage.com/2600/programming/2600_101/](http://www.atariage.com/2600/programming/2600_101/)

------
circuitslave
Rexx - [http://en.wikipedia.org/wiki/Rexx](http://en.wikipedia.org/wiki/Rexx)

------
jupp0r
Elixir, it combines Ruby-like syntactic sugar with Erlangs powerful OTP
libraries and distributed systems mojo!

------
yen223
I will always have a soft spot for ActionScript - it's what got me into
programming in the first place.

------
auganov
Haha, I scanned all the comments to see if someone said prolog just to figure
out that the OP did :D

It's prolog for me too. Or I guess logic programming in general, but prolog is
the main standalone one. I really hope clojure's core.logic takes off.

------
LarryMade2
FoxBase+/Mac - so very versatile for an 80s database language.

------
serve_yay
JavaScript :)

(Just because a lot of people use it, doesn't make it popular!)

------
brudgers
J is mind expanding.

~~~
GFK_of_xmaspast
So is datura.

------
yetihehe
Amos (my first programming language), Euphoria (It's nice), Erlang (when you
understand the erlang way, you seek it in all the rest of languages, something
like with lisp).

------
pinewurst
Tcl

------
brickcap
Mine's erlang.

------
duncantuna
Net.Data

------
Randgalt
Java

