4 ms·
> Also, I suspect from your focus on syntax that you're new to the field of programming 10+ years including low-level embedded stuff in C/C++ and everything in
by grumblingdev 4y ago
> Also, I suspect from your focus on syntax that you're new to the field of programming
10+ years including low-level embedded stuff in C/C++ and everything in between.
On the contrary, I would argue that someone working in non-web code for 10+ years could easily have an antiquated view of what the modern developer experience looks like. JS/TS is miles ahead in terms of developer productivity than many other languages. Talking about the long compile-refresh cycles, poor module systems, lack of good debugger support, real-time test runners, etc.
Most JS devs have been using the same language for a very long time now, whereas non-web devs are jumping from Ruby to Scala to Go to Rust to Zig, and then the next thing.
> TypeScript has one type of string, Rust has dozens, because String and OsString and CString each have different semantics
The problem I see is that I'm sure there are a ton of Rust projects that don't want to do anything particularly low-level with a string. They want to operate on it in the same way a JS program would. But they are forced to grapple with all this complexity. I think the issue is probably that Rust was never designed for high-level kind of stuff. Like you wouldn't build a web app or web server in Rust. You might build a performant web server framework like nginx, but you wouldn't want to write the business logic in it.
That's why I'd love to see a simple language that you could easily drop down into low-level stuff when necessary without a giant context switch and new compiler toolchain.
- jmillikin 4y ago> Most JS devs have been using the same language for a very long time > now, whereas non-web devs are jumping from Ruby to Scala to Go to > Rust to Zig, and then the next thing. Most non-web development has been in Java or C# for twenty years. All of the languages you list summed together have a market position smaller than Visual Basic[0]. > The problem I see is that I'm sure there are a ton of Rust projects > that don't want to do anything particularly low-level with a string. > They want to operate on it in the same way a JS program would. What does it matter? There's people who write web frameworks in assembly, or write firmware in (Micro)Python. You can't force the whole world to make decisions that make sense to you personally. > That's why I'd love to see a simple language that you could easily drop > down into low-level stuff when necessary without a giant context switch > and new compiler toolchain. The ability to drop down into low-level stuff is what adds complexity to a language. You can either have a simple language for high-level code with affordances for occasional low-level optimization (Java, C#, Go, Swift), or you can have a language that directly exposes things like struct memory layout or SIMD intrinsics at the cost of a larger reference manual. There's no meaningful in-between. [0] Per Tiobe at https://www.tiobe.com/tiobe-index/ https://www.tiobe.com/tiobe-index/
- grumblingdev 4y ago> There's no meaningful in-between. Completely disagree. I believe it will come eventually. Check out AssemblyScript for example. People choose TypeScript because it's simple and easy. They choose Rust because they need the features and ecosystem that are not available in another syntax as of yet.