1. 18
  1.  

  2. 8

    I get that he’s speaking from personal experience, but it always makes me a little bit sad when the same few languages are listed as the “advanced”, “mind-expanding” ones. There’s such a huge range of amazing languages out there. Chapel! Picat! Esterel! NetLogo! And that’s only mentioning languages that are obscure even in PLT circles. If you wanna go more “mainstream”, you have things like SPARK, HOL, Nim, APL, Prolog… there’s just so much cool stuff out there.

    1. 5

      I suspect this piece to be some years old (judging by the intro, and the dates mentioned in a preceding post) but there’s no time stamp from what I can see.

      Edit some spelunking on HN indicates this is from 2009: https://news.ycombinator.com/item?id=11932675

      1. 2

        Oof, that also explains

        I don’t do a lot of artificial intelligence, natural-language processing or machine-learning research, but if I did, Haskell would be my first pick there too.

        As advice for startups. There’s still plenty of good “interesting niche software” picks from before 2009. Eiffel, APL, Forth all come to mind.

      2. 2

        A few more: Icon and Unicon which uses failure as a control structure, Nial, which is like APL but more readable, Refal for grammars and string rewriting, and others.

      3. 5

        At least once a week I spend some time trying to build simple things in a mind stretching language. Lately that’s been APL for me, I find APL challenging and fun! I spent several months learning how to write code with Joy ( https://en.wikipedia.org/wiki/Joy_(programming_language) ) and that was equally mind bending.

        What else is on the edges? I have a job writing Haskell, and I got paid for decades of Python. What other brain stretching languages should I try?

        1. 6

          One that’s personally been on my list for too long is miniKanren. There’s a video that showed writing a program most of the way, then putting constraints on the possible output, which generated the rest of the code. It blew my mind and it’s sad I haven’t gotten a chance to dive in yet. Plus Clojure’s core.logic is basically an implementation of miniKanren and has alot of users, so it looks like there’s actual use of it in the “actually gets things done” parts of the software world which is always nice.

          1. 4

            You might like Strand. It’s a fun language to play around with and the Strand book “Strand: New Concepts for Parallel Programming” is a great read.

            1. 2

              Agreed, I’m really enjoying this one.

            2. 5

              I did a tweetstorm on interesting obscure languages I’ve been meaning to try! Check it out here: https://twitter.com/hillelogram/status/1243599545218596864?s=20

              1. 3

                I’d say something like Unison or Darklang. Solidity.

                1. 3

                  pure has been on my list for a while; I just can’t think of anything specific I want to do with it, and I haven’t been motivated to just work through something like 99 problems.

                  1. 3

                    Joy and other concatenative languages have been a pet favourite of mine, and it is fun to play around with it. Here was one of my attempts to cloth postscript on a concatenativeish skin.

                  2. 1

                    The need for Scala didn’t become apparent to me until I wrote a concurrent HTTPD from scratch to support long-polled AJAX for yaplet [link].

                    I hope that this website fell victim to domain squatting, and that the author was not actually developing a service for the sale of illicit substances.