5 ms·
I believe TypeScript and Rust are both strong examples of languages that do this (for different reasons and in different ways). It's also possible for a langua
by TimTheTinker 2y ago
I believe TypeScript and Rust are both strong examples of languages that do this (for different reasons and in different ways).
It's also possible for a language to raise the ceiling of software quality, and Zig is an excellent example.
I'm thinking of "floors" and "ceilings" as the outer bounds of what happens in real, everyday life within particular software ecosystems in terms of software quality. By "quality" I mean all of capabilities, performance, and absence of problems.
It takes a team of great engineers (and management willing to take a risk) to benefit from a raised ceiling. TigerBeetle[0] is an example of what happens when you pair a great team, great research, and a high-ceiling language.
[0] https://tigerbeetle.com/ https://tigerbeetle.com/
- akira2501 2y ago> possible for a language to raise the ceiling of software quality Cargo is widely recognized as low quality. The thesis fails within it's own standard packaging. It's possible for a language to be used by _more people_ and thus raise the quality _in aggregate_ of produced software but the language itself has no bearing on quality in any objective measure. > to benefit from a raised ceiling You're explicitly putting the cart before the horse here. The more reasonable assertion is that it takes good people to get good results regardless of the quality of the tool. Acolytes are uncomfortable saying this because it also destroys the negative case, which is, it would be impossible to write quality software in a previous generation language. > TigerBeetle[0] is an example Of a protocol and a particular implementation of that protocol. It has client libraries in multiple languages. This has no bearing on this point.
- TimTheTinker 2y ago> The more reasonable assertion is that it takes good people to get good results regardless of the quality of the tool. That's totally true, and I never contradicted that. By "ceiling" I mean the limit of what is possible. A great team can do a lot more when they have great tools.
- sophacles 2y ago> Cargo is widely recognized as low quality. Can you point me to both of: * why it's considered low quality * evidence of this "wide regard" Other than random weirdos who think allowing dependencies is a bad practice because you could hurt yourself, while extolling the virtues of undefined behavior - I've never heard much serious criticism of it.
- anonfordays 2y ago[flagged]
- akira2501 2y ago> why it's considered low quality Other software providing the same features produce better results for those users. It's dependency management is fundamentally broken and causes builds to be much slower than they could otherwise be. Lack of namespaces which is a lesson well learned before the first line of Cargo was ever written. I could go on. > evidence of this "wide regard" We are on the internet. If you doubt me you can easily falsify this yourself. Or you could discover something you've been ignorant of up until now. Try "rust cargo sucks" as a search motif. > random weirdos Which may or may not be true, but you believe it, and yet you use your time to comment to us. This is more of a criticism of yourself than of me; however, I do appreciate your attempt to be insulting and dismissive.
- sophacles 2y agoIm not attempting to insult you, i didn't know you held such a hypocritical position - sorry pointing out that it is weird for someone working a field that is so dependent on logic to hold such a self-contradictory position insults you. Maybe instead of weird i should use the words unusual and unexpected. My bad. You're right, I'm being dismissive of weasely unbacked claims of "wide regard". It's very clear now that you can't back your claim and I can safely ignore your entire argument as unfounded. Thanks for confirming!
- anonfordays 2y ago>Can you point me to both of: >* why it's considered low quality >* evidence of this "wide regard" https://www.youtube.com/watch?v=OdMQwDtumJ8 https://www.youtube.com/watch?v=OdMQwDtumJ8
- TimTheTinker 2y ago> The more reasonable assertion is that it takes good people to get good results regardless of the quality of the tool. > Acolytes are uncomfortable saying this because it also destroys the negative case, which is, it would be impossible to write quality software in a previous generation language. Not impossible, just a lot harder. It's as if you're thinking in equations that are true/false, while I'm thinking in statistical distributions. Have you used Macintosh System 5? How about Windows 3.1? Those were considered quality systems at the time, but standards are up, way up since then. Why are modern systems better? Is it because we have better developers today? -- I don't think so. It took a "real" programmer to write quality apps in Pascal for early Macintosh systems, or apps in C for Windows 3.1. I think the difference is in the tooling that is available to us -- and modern programming languages (and libraries) are surely a very large part of that tooling. If you disagree, I challenge you to find a seasoned modern desktop app developer who can write a high-quality app for MacOS or Windows that looks and functions great by modern standards and doesn't use any modern languages or directly invoke any non-vendor libraries built after the year 2000. It's possible[0]. They may be able to do it, but you must certainly concede that doing a great job requires a much better developer than the average modern desktop app developer to be able to work well under those kinds of constraints. That's what I mean by "raising the floor" -- all software gets better when languages, libraries, and tooling improve. [0] https://stackoverflow.com/questions/30269329/creating-a-windowed-application-in-pure-c-on-macos https://stackoverflow.com/questions/30269329/creating-a-wind...