Missing: Icon. I think Icon is a fascinating language in spite of being dynamically-typed. I've not used it in many years though. What makes Icon interesting is that its functions ("procedures" in Icon terminology) are essentially generators in that they can "fail" (prune, produce no [further] results), or "suspend" results as many times as desired. "Failure" drives backtracking. So it's Prolog-like, but with Algol-f…
Interesting Programming Languages
61–70 of 85 posts
Re: Interesting Programming Languages
#62Missing: Icon. I think Icon is a fascinating language in spite of being dynamically-typed. I've not used it in many years though. What makes Icon interesting is that its functions ("procedures" in Icon terminology) are essentially generators in that they can "fail" (prune, produce no [further] results), or "suspend" results as many times as desired. "Failure" drives backtracking. So it's Prolog-like, but with Algol-f…
Do you like writing jq? I really tried to like it, appreciated the ideas, but found even simple programs extremely hard to write in it. (Obviously, this is possibly just an artifact of me being thrown into a functional deep-end with an extremely terse syntax).
Here's a small example of a smaller ETL script a wrote a while ago for stats collection over scm repos: https://gist.github.com/turbo/36e87947a56cfaacec9d0356b3e521...
As you can see it loads data from vars, fed by other jq scripts. Don't try to put everything in one script. Each script should basically just reduce and normalize.
Re: Interesting Programming Languages
#63Notably missing: APL (Dyalog), J, Prolog, Rebol (Red is on the list), PicoLisp, Racket, Factor, 8th (Reva was mentioned and that was the creator's prior project), and Haskell. Maybe most of the above are too mainstream for the list.
I'm the author. You are right. I think the above are all "mainstream" enough for me. At the least, I've installed and played with them all at one time.
Re: Interesting Programming Languages
#64Earlier quoted context omitted.
I'm the author. You are right. I think the above are all "mainstream" enough for me. At the least, I've installed and played with them all at one time.
I would have included Picat and Kitten. Picat is a descendant of Prolog that has some rather nice differences in semantics. Kitten is a statically-typed concatenative language.
I've read a little on Picat.
Re: Interesting Programming Languages
#65Earlier quoted context omitted.
I'm the author. You are right. I think the above are all "mainstream" enough for me. At the least, I've installed and played with them all at one time.
Would you say that people interested in languages should first look at certain "mainstream" languages Scheme/Racket, Common Lisp, Haskell, OCaml, Smalltalk, and Prolog, before looking at less-mainstream ones?
The above are all pretty cool though and each (as Larry Wall would put it) are the perfect examples of modernism. Each one takes a single idea to a fault.
Lisp => lists, Haskell => functions, Scheme => lists and recursion, Prolog => logic, Smalltalk => objects, Forth => concatenative and extreme minimalism, and APL => arrays.
Most post-modern languages combine many of the above in more practical and less elegant ways. Python is OO at heart, but can be written in a functional style, and can do array programming with Numpy.
So there is value (I think) to looking back at those languages from an educational point of view even if you're not using them in your personal projects or production.
The more novel ones that the author posted are probably also educational in their own way, but probably don't ram just one idea home. I think we're mostly past that now as Wall has stated. Perl6 might not run very fast or be very mature or popular, but it is a very interesting language that does a good job showing the post modern system. It pulls what the language designers felt were the best features from all the past languages (Perl5, Python, APL, Haskell, Smalltalk, Awk, Java, C#...etc).
Re: Interesting Programming Languages
#66Earlier quoted context omitted.
I'm the author. You are right. I think the above are all "mainstream" enough for me. At the least, I've installed and played with them all at one time.
Too mainstream? Then have a look at T3X ( http://t3x.org/t3x ) or mLite ( http://t3x.org/mlite ) or Klong ( http://t3x.org/klong ). :)
Re: Interesting Programming Languages
#67Earlier quoted context omitted.
I'm the author. You are right. I think the above are all "mainstream" enough for me. At the least, I've installed and played with them all at one time.
Picolisp being considered mainstream in any capacity is a pleasant surprise. Might I suggest two more Lisps that I use: Carp and TXR? I also like Picat as an evolution of Prolog.
I like PicoLisp and wish it was more popular. There are some decent resources on it and the mailing list is pretty active.
I kinda disagree with the primary author's "need for speed" article on why performance doesn't matter anymore. I think there is definitely the majority of common uses in the business where he is right, but we're getting to a point (think data science) where faster is better and necessary. Using C++ is still too painful for most (pointers anyone), so I'm betting languages like Nim, Rust, and D will continue to grow in popularity to some degree.
Re: Interesting Programming Languages
#68I was curious and disappointed to find that there is no blurb about Nim. Not had a chance to give it a go yet?
Edit:typo
Re: Interesting Programming Languages
#69Are there any other languages which compile to OpenCL/CUDA? There are so many libraries built on them, but I haven't seen so many languages compiling to them.
Re: Interesting Programming Languages
#70Earlier quoted context omitted.
Would you say that people interested in languages should first look at certain "mainstream" languages Scheme/Racket, Common Lisp, Haskell, OCaml, Smalltalk, and Prolog, before looking at less-mainstream ones?
Lol nope, not gatekeeping programming languages :) The above are all pretty cool though and each (as Larry Wall would put it) are the perfect examples of modernism. Each one takes a single idea to a fault. Lisp => lists, Haskell => functions, Scheme => lists and recursion, Prolog => logic, Smalltalk => objects, Forth => concatenative and extreme minimalism, and APL => arrays. Most post-modern languages combine many o…
Perl is an interesting language (and I defended Perl's merits in a language forum within the last year [1]). But people who've mostly done Perl for a long time might want to question cute sayings about other languages, and discover that, today, for example, the evolution of Scheme (especially Racket) has different ways of doing those best features from other languages that you list for Perl6.
[1] https://www.mail-archive.com/racket-users@googlegroups.com/m...