4 ms·
> Why yet another programming language? 'Because I wanted to' is a sufficient reason. Create all the programming languages you want and share it with the world
by gscho 4y ago
> Why yet another programming language?
'Because I wanted to' is a sufficient reason. Create all the programming languages you want and share it with the world!
- mathgladiator 4y agoAs a programming language author, your attitude is awesome. I love it. Thank you I'll share an example of my current fun example: http://book.adama-platform.com/examples/tic-tac-toe.html http://book.adama-platform.com/examples/tic-tac-toe.html
- new_stranger 4y agoI know some people are afraid of change and competition, but I'm thrilled everytime someone shares their new language or library. I don't have to learn or use them all, but it's great to basically have unlimited research and approaches to skim on github/gitlab/etc.. for any language and any problem.
- abirch 4y agoProgramming languages can be similar to bacterial DNA. Even if the language never gains broad acceptance, parts of it may be incorporated into other languages.
- gscho 4y agoI like to think of it like music. For each Nirvana type band there needed to be many Pixies and Melvins type bands to influence them.
- spicybright 4y agoI know it's a total pipe dream, but this is what makes me most sad about lisp never being taken seriously. It could have been common practice to create and pull in new language constructs like what this is doing.
- ilikehurdles 4y agoClojure seems to be gaining more and more momentum, unfortunately just as I changed jobs away from a clojure shop.
- ithrow 4y agoHow is it gaining momentum? "Who's hiring" posts have zero clojure positions and that is a place where you might expect to see such positions.
- spicybright 4y agoWhile a fair assumption, we're only seeing a small subset of software jobs here: mostly SV-style big tech. And with that a set of specific technologies that have become popular in the space. A lot of smaller shops use more unique technologies for different fields that I'm sure are using clojure for some things. Frankly, I'm just guessing, and would love to see some hard data on this stuff.
- WalterBright 4y agoLanguages that rely on the user creating their own language constructs suffer from a balkanization of the language - each team creates their own language, and cannot share code. This is why D does not have a macro preprocessor.
- wtetzner 4y agoI hear this concern a lot, but I’ve never actually seen it happen any more than it does in languages without macros. https://news.ycombinator.com/item?id=31520381 https://news.ycombinator.com/item?id=31520381
- WalterBright 4y agoI've seen it enough. Case in point, back in the 80's a friend of mine worked at Microsoft. A manager came to him with a lament that there was a program that compiled to 50K, written entirely in macro assembler. It had a bug in it. He had assigned it to multiple programmers, each of whom failed after trying to fix it for several weeks. The problem was the author had invented his own language with the macros, left it completely undocumented, and nobody was able to make heads or tails of it. My friend said, no problem, he'd give it a try. 2 hours later he had fixed it and checked it in. Astonished, the manager asked him how he'd figured it out. My friend said he didn't. He ran it through the disassembler I'd written https://www.digitalmars.com/ctg/obj2asm.html https://www.digitalmars.com/ctg/obj2asm.html (which is why he related the story to me) because it turned object code into asm source code. Found the bug, fixed it, and checked in the new source code. Not only that, I discovered I could not read my own macros a few years after I'd written the code. I've seen similar terrible examples that make use of expression templates in C++. They were all the rage for a couple of years. Fortunately for C++ programmers, expression templates are so miserably slow to compile that a blessed damper was put on the exploitation of this discovery. Feel free to disagree with my assessment of this. You'll have plenty of company. But use macros enough and eventually you'll agree with me :-)
- bobajeff 4y agoYeah, I plan on making at least 5 of them for one project. I think more people/project should reach for making/using different programming languages. Instead of trying to solve every problem in the same language.
- _greim_ 4y agoAgreed. I think a reason some would react negatively is every new language decreases the ratio of things-I-know : things-I-dont-know which feels threatening to those who are in a habit of zero-sum thinking.
- zzo38computer 4y agoIt is a sufficient reason, but that does not mean that you cannot also mention other reasons, and how it might be better for some kinds of uses, etc.