There are a lot of programming languages that aren't very well-known now, but may have some interesting features. I keep finding a new one every now and then.
They may have faded to obscurity, they may still be in development, they may serve a small niche, or they may just not have caught on.
Do you know any? Any language that is not too popular and has at least one cool feature is welcome!
I consider these languages to be 'established', but if you have a useful-but-obscure feature, that's welcome:
- Visual Basic
prolog - this is a great logic programming language. Prolog along with LISP and Smalltalk influenced Erlang.
APL - stands for A Programming Language. Here programming is done with the Mathematical notations.
lisp/scheme - these are ultimate functional programming language.
“LISP has been jokingly described as the most intelligent way to misuse a computer. I think that description a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.” ― Edsger Dijkstra
“Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.” ― Eric S. Raymond
The most powerful programming language is Lisp. If you don't know Lisp (or its variant, Scheme), you don't appreciate what a powerful language is. Once you learn Lisp you will see what is missing in most other languages. ― Richard Stallman
Take Lisp, you know it's the most beautiful language in the world - at least up until Haskell came along. ― Larry Wall
- haskell - this is the only fully functional language.
SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing. ― Philip Greenspun
- smalltalk - people says that it's the only language which is fully object oriented, and its rebirth is Ruby.
- There are a lot of awsm esoteric languages too:
- Brainfuck: You have only 8 instructions and a long single dimension array. Making any programs is very hard, but that's where all its fun lies.
- befunge: You do programming in sort of 2D grid.
- There are some more: marioLang, ///(slashes), etc.
You can easily make interpreters for any of these languages. Some of them are even Turing Complete.
I once saw a video, in which a man created a Turing machine in MS PowerPoint. So, you can also do some sort of programming in PowerPoint.
Another person created a game engine in MS Excel, I think he used VBA in it.
I would be going for ponylang
as you easily can spot it's an actor based language. I am following this language for quite a bit now. Actors are a concept I really do enjoy arxiv.org/vc/arxiv/papers/1008/1008.1459v8... and they built a language around it :D ....
use "collections" actor Counter var _count: U32 new create() => _count = 0 be increment() => _count = _count + 1 be get_and_reset(main: Main) => main.display(_count) _count = 0 actor Main var _env: Env new create(env: Env) => _env = env var count: U32 = try env.args(1)?.u32()? else 10 end var counter = Counter for i in Range[U32](0, count) do counter.increment() end counter.get_and_reset(this) be display(result: U32) => _env.out.print(result.string())
There is no D language on your list. It's something C++ should be, but failed, i.e. better, object-oriented C. I recommend reading some basic language tour to see what can be achieved if your main goal is not to be backwards compatible to 1980s.
Unfortunately, it's not widely known or used. This is mostly due some bad decisions of language core team some years ago (they were two separate standard libraries in D1, but one of them was killed in D2 and people did not like that). Because of that, it lost some trust from early adopters. Another problem is that it's hard to say to whom is the language addressed - some part of ecosystem is written like C++ while the other more like Ruby.
I hope to see it get some well-deserved visibility some day in the future.
I learned proraming on an Atari 520-ste. The language I had access to at the time was GFA basic.
I remember dumping the memory in binary to find where the mouse pointer was, and customize it. Yes, yes, it took a couple hours, but I found 2 memory blocks where the 0 and 1 drew the mouse pointer. I wrote my little program to change those 0s and 1s and voila! I had a totally original mouse pointer. It was the good old days...
You can still use GFA basic on PCs nowadays if you look around hard enough.