4 ms·
I think this is good advice under one assumption: your intent is to create a practical language that other people will adopt for real products. Reasons you mig
by _bxg1 6y ago
I think this is good advice under one assumption: your intent is to create a practical language that other people will adopt for real products.
Reasons you might make a language that isn't bound by the above questions:
- For learning
- For fun
- To explore a concept
- For sheer novelty
- To make a point
- clarry 6y ago- To have a language you like, even if nobody else in the world cares for it
- ModernMech 6y agoTo put an even finer point on it: - to indulge in syntax design The author of this advice explicitly calls out syntax design as pointless. As if Java, Lisp, Python, Haskell are the end-all of syntax design. Haskell in particular is notorious for indulgent syntax design. One thing I've noticed about my students (undergrads) is the first thing they are interested in playing with when it comes to language design is syntax. They have ideas about syntax they want to try out, and it gets them interested in parser design. Probably because it's the most tangible thing they have access to and experience with. When they try out their syntax ideas it opens up new pathways for them and they eventually move on to greener pastures. But the idea that syntax is done and solved and there is no more room there for innovation is completely foreign to me. What about syntax in other (natural) languages? Languages written from left to right? Top to bottom? Languages with a non-roman character set? What about syntax with emojis? There are entire programming languages written with emojis now (https://esolangs.org/wiki/Emoji https://esolangs.org/wiki/Emoji). Did the author of this consider them in 2006?
- _bxg1 6y agoDon't forget languages written in the form of a bitmap :) https://en.wikipedia.org/wiki/Esoteric_programming_language#Piet https://en.wikipedia.org/wiki/Esoteric_programming_language#...
- Reelin 6y ago"for learning" + "to explore a concept" -> to understand why things are (or were) done a certain way -> to test the boundaries of what's possible Surely no one thinks that current languages are the most efficient or effective possible way of doing things? That we've even come close to enumerating all useful methods of expressing program execution? (Take a look at what Racket is doing for example.)
- carapace 6y agoYou're preaching to the choir my friend. (^_^) Here's mine: https://joypy.osdn.io https://joypy.osdn.io > Thun is dialect of Joy written in Python. > Joy is a programming language created by Manfred von Thun that is easy to use and understand and has many other nice properties. This Python package implements an interpreter for a dialect of Joy that attempts to stay very close to the spirit of Joy but does not precisely match the behaviour of the original version(s) written in C. The main difference between Thun and the originals, other than being written in Python, is that it works by the “Continuation-Passing Style”.