⇐ MY QUORA-INDEX QUORA - my answered Questions

QUORA - my answered Questions

Q001: There are too many programming languages out there. If you had to choose only 5, which languages will you choose?

I need only one language which is the most powerful language ever: FORTH

Responses

Adam Denchfield
Explaaaaaain

Andreas Klimas
FORTH is not simply a programming language, FORTH is kind of an interactive proto or meta language. You can implement and extend the system in any direction, from low level (assembly) to high level (OO, functional, logic oriented, imperative, with or without gc). The drawback is, you have to do it yourself. But once you have grasped the system (which is very simple (and doable for one person in weeks), compared to todays compilers (C++) and interpreters (Python, Ruby)), you can implement such features easily. Then you can implement (end hence extend the compiler) profiling, instrumenting, statistics .. all by yourself. There are two borders which I?m aware of. Hardware capabilities and ones imagination. Another example. Try to extend an ANSI C compiler to understand lambda expressions. To implement a debugger will take some hours. Then you get break points, conditional breakpoints, watch point, step in, step over, restart at current word, recompile current word .. and so on. I did it. It?s fun, really! And it is that simple. If you are already a C coder I have a link where I show an interpreter, compiler, disassembler in about 300 lines of C code. It?s a small course I wrote last week: Implementing a FORTH virtual machine I?m not aware of any other language which comes close to FORTH. Not even LISP. One thing I forgot to mention. In the case you are able to implement all those fancy things within hours or days you know that this stuff is not really helpful to solve your problem, and much more simpler solutions become obvious.

Adam Denchfield
That?s pretty cool! The only thing I know that I?ve heard anything similar is emacs-lisp, where it?s encouraged to do whatever you want to emacs once you have it. Thanks for the explanation, because Wikipedia wasn?t giving me this knowledge. I have C background, but mostly use python now. Starting to dabble in the emacs-lisp I mentioned.

Andreas Klimas
Yes, LISP is pretty close but you have to stay inside the LISP environment. So the LISP system is the border, not the hardware. In FORTH you are kind of directly connected to the real processor (or processors). This in LISP is probably possible as well, but I think it is a lot of work.