5 ms·
Perhaps a generic comment, but part of the problem with new programming languages is that they are a massive achievement for -- usually -- the single human that
by usgroup 3y ago
Perhaps a generic comment, but part of the problem with new programming languages is that they are a massive achievement for -- usually -- the single human that made them. There is just no way that you'll invent a whole programming language that works and performs and say nothing about it, whether it adds anything to the "grand scheme of things" or not.
Again, now saying it applies directly here -- although I personally struggle to see the rationale from what I read on the front page -- just a generically applicable comment.
- imtringued 3y agoThe problem with all these programming languages is that they aren't novel enough. I have an idea for a programming language that would change fundamental aspects. If I wanted to make the programming language I would keep it simple. Just an auto generated parser and interpreter to demonstrate a novel concept. For industrial use, I just want Java with less boilerplate (i.e. Kotlin or Groovy). The space for niche programming languages is quite large, but nobody is picking the fruit, because a programming language that isn't general purpose isn't as exciting.
- _a_a_a_ 3y ago> I have an idea for a programming language that would change fundamental aspects. I'm interested, go on.
- spinningslate 3y ago> Just an auto generated parser and interpreter I guess you mean one of the parser-generators or PEG libraries to auto-generate the parser. I'm not aware of tools for auto-generating interpreters. Can you point to one/some if there are? Thanks.
- UncleEntity 3y agoThere are methods to generate an interpreter but AFAICT there are no real implementations. Seems to be one of those pure research fields. https://github.com/sillycross/PochiVM https://github.com/sillycross/PochiVM is the closest I've seen to an actual implementation but it looks mostly abandoned. And I'm talking about generators on the same level as flex/bison and not something like pypy where they (used to?) use abstract interpretation/partial evaluation as you're really just transforming a handwritten interpreter with all the hard work that entails.
- Yoric 3y agoThere are tools that let you basically write an interpreter and a compiler at the same time, so perhaps it's that?
- crq-yml 3y agoI believe it's actually quite a bit harder to apply the "principle of least power" in practice than it is to recapitulate Fortran in some fashion. Programming languages boil down to type system + syntax + runtime + libraries, and many libraries could be generalized to languages if we wanted, but languages themselves have trouble supporting other languages because you're reinventing the tooling, so you lose track of types and syntax and ability to debug the runtime, and that produces a cliff of negative productivity that makes it hard to justify anything but the "big" language. Although, if we had first-class support for "runtimes talking to each other", that might change, and the whole spectrum of protocols along those lines from the OS-level pipes and sockets up through SOAP or REST suggest that we are trying really hard to come up with a right way of doing it.
- graypegg 3y agoI never really got into the Etherium development world, (or crypto at all really) but I always found the smart contract environments so interesting. [0] Having "contract" and "address" be top level things seemed so interesting to me. They're not objects, you can't make your own "Contract", it's a language feature. OpenSCAD [1] is another one. I actually wish it went a bit further, it very much feels like a macro language, with all of the tedium of flow control and such. It would be so interesting to see language to define 3D objects via constraints, instead of procedurally! There's so many niches out there, you're 100% right. I'm way more excited about someone's new solutions about a specific problem, rather than solving all the problems with the same local-minima solutions we all know. [0] https://en.wikipedia.org/wiki/Solidity https://en.wikipedia.org/wiki/Solidity [1] https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenS...
- sakras 3y agoI was just thinking that while browsing the language docs. Something like "This is my programming language. There are many like it, but this one is mine".
- graypegg 3y agoI do think there’s a space for 1 dev to make a big impact if it’s 1) very novel and 2) very scoped, like a domain specific language for something they’re very familiar with. Making a new general purpose tool is definitely a big achievement, but chasing fame and adoption for something general purpose is a fast track to disappointment. (Not saying this project is.)
- logtempo 3y agoI believe general purpose tool will atract people with general knowledge, so more people. Very specific dev will atract experts, so less people will engage to the work.
- graypegg 3y agoLocal minima though, that larger group of people have already found the fastest/easiest/most intuitive way to build the everything tool. You've got a lot more prior art to be better than. If your goal is wide adoption and hype, that's not a great starting point unless you've found the next local minima.