3 ms·
I don't know the list of languages included in the book, but anyone interested should try out: - J: https://www.jsoftware.com/#/ you'll learn arbitrary dime
by gcanyon 1y ago
I don't know the list of languages included in the book, but anyone interested should try out:
- J: https://www.jsoftware.com/#/ you'll learn arbitrary dimension arrays, verb composition and more
- Lisp: I don't know the right Lisp to recommend. Macros stand out as something to learn
- Forth: I don't know the right Forth to recommend. The stack is an interesting metaphor
- A constraint-based language: maybe https://www.minizinc.org constraints are super interesting
Those are all practical languages -- none is esoteric just for the sake of strangeness.
There are more of course.
- 7thaccount 1y agoGood choices. Add APL, Prolog, and Rebol.
- lordhumphrey 1y agoHmmm. GP listed three languages which are not esoteric, and you've patted them on the back and shared three more which are not esoteric. Oops. Esoteric language =/= any non-mainstream language. Here's the definition from the esoteric programming language wiki, which is a lovely resource for anyone interested https://esolangs.org/wiki/Esoteric_programming_language https://esolangs.org/wiki/Esoteric_programming_language: > An esoteric programming language is a computer programming language designed to experiment with weird ideas, to be hard to program in, or as a joke, rather than for practical use.
- 7thaccount 1y agoUmmm...APL, Prolog, and Rebol are extremely esoteric. Their share of total code out there has got to be like less than 0.0001% and their paradigms are considered extremely weird and not for general consumption . I don't agree with the definition of esoteric included above and by the original poster.
- jacquesm 1y agoThe right Forth is the one you write.
- userbinator 1y agoI don't think those languages would be "esoteric" in the meaning of the article (purposefully designed to be different for the sake of being different) but they are more like domain-specific languages designed to fit certain use-cases extremely well, and in doing so, depart from the traditional imperative model.
- UltraSane 1y agoI would add an SMT solver like Z3. It can solve problems when they are translated into first order logic.
- olmo23 1y agoRacket is the canonical LISP (well, Scheme) to recommend to new users. https://racket-lang.org/ https://racket-lang.org/
- tmtvl 1y agoYeah, as much as I love Common Lisp and prefer it to Scheme (despite learning Scheme first), the fact you can read the entirety of R7RS small in a single afternoon is, in my opinion, quite important in making the language approachable to beginners.
- gus_massa 1y agoIf you wish, you can install a package to run R7RS small program in Racket. Just run in the commend line raco pkg install r7rs or search r7rs in the package manager inside DrRacket. It's not maintained by the core developers, but it pass all the test suit and if you ever find a bug and post an issue in github or in the discourse group, it will be fixed very soon. https://pkgs.racket-lang.org/package/r7rs https://pkgs.racket-lang.org/package/r7rs https://github.com/lexi-lambda/racket-r7rs https://github.com/lexi-lambda/racket-r7rs more info: https://github.com/lassik/racket-r7rs-example https://github.com/lassik/racket-r7rs-example
- hungmung 1y agoForth would be neat on an RPN calculator. /random
- anthk 1y agoLisp is not esoteric. Emacs, Guix, AutoCad...