3 ms·
I'm afraid that a language that was an agglutination of features of those three languages would be horrible to work with. Omitting features that aren't pulling
by kryptiskt 4y ago
I'm afraid that a language that was an agglutination of features of those three languages would be horrible to work with. Omitting features that aren't pulling their weight is key in making a good language. My instinct is to prefer a language with a minimal and orthogonal feature set. Tastes differ and some languages have a good reputation despite putting in all the bells and whistles (C# goes against all my minimalist impulses in language design, yet I find it very pleasant to work with).
Minimalist languages face their own challenges, the Lua mailing list is besieged by people who love the minimalism of it and only want to put in just one little feature that would make it perfect for them. If there wasn't a strong filter, it would have hundreds of those little features and not be so minimal anymore.
Anyway, tooling is great, but what I want to see most of all is simplicity, and not simplicity in the sense of Go, with masochistic manual error handling and all that imperative boilerplate. I'd like simplicity like Scheme or SML, omitting what isn't needed or can be relegated to a library. With great tooling, of course.
So, what I most of all want is for SML to become popular. Which isn't going to happen. So all I can do is to argue for replacing C++ with Rust at work (there's not much resistance actually, more than finding resources to do the actual work, which is problematic).
Anyway, I have fooled around with making my own language, but I don't think it's a good idea anymore (but damn would it be good if there was a modern SASL, think Scheme with ML syntax[0]). Because you correctly identified that it's tooling that is the decider these days. So if you want to make a difference, find an underappreciated language that is close enough to your ideal (there will be several, unless you have really wild ideas) and put in work on tooling for it instead.
[0] https://web.archive.org/web/20150402133901/http://www.eis.mdx.ac.uk/staffpages/dat/saslman.pdf https://web.archive.org/web/20150402133901/http://www.eis.md...
- mattnewport 4y agoHave you looked at F# at all? OCaml like syntax in the .NET ecosystem with great tooling and good interoperability with C#. It's pretty easy to work in a C# /.NET environment and introduce F# for some parts of the codebase.