2 ms·
Have you considered C#? It only has a single string class. With async-await, concurrency is fine too. Not long ago, they open sourced the compiler and a subset
by Const-me 9y ago
Have you considered C#? It only has a single string class. With async-await, concurrency is fine too.
Not long ago, they open sourced the compiler and a subset of runtime, making it cross-platform: https://github.com/dotnet/core https://github.com/dotnet/core It’s a but tricky to install on Linux, but for me it works OK, at least so far (an embedded TCP/UDP server app).
- josephg 9y agoI haven't, and its a good idea. I wrote a bunch of C# code back in 2007 and I consistently enjoyed it. - It seems like a very pragmatic language choice. But if I'm going to move further away from the hardware in exchange for some language comforts & quality of life improvements, Elixir is the next language I want to try. I think both its concurrency primitives and immutability rules might be the right language-level defaults.
- Const-me 9y ago> move further away from the hardware in exchange for some language comforts & quality of life improvements C# has descent native interop, i.e. [DllImport]. On Linux it imports from .so dynamic libraries. When you want to be closer to the hardware, because SIMD, or system calls not exposed to .NET, or integration with third-party C code, it usually works OK.
- pjmlp 9y agoC# has some SIMD support since version 6.
- Const-me 9y agoVery limited support. On x86-64, the only languages that have good SIMD support are C (С++ gets that for free, ‘coz compatibility) and Fortran.
- pjmlp 9y agoThere is also D and Object Pascal, unless you won't consider inline Assembly as having support. Oh and Fortran of course. But yeah, I also find it sad having to go down to Assembly to make use of them.