- stdlib full of edge case problems causing you to second-guess and double-check things. I had to write so many libraries to wrap core classes like libxml.
- No support for multiple CPU cores
- UTF-8 is still a second-class citizen
- Not strongly typed
- High memory usage
- Slow execution
PHP and Ruby can't even serve themselves safely over HTTP and they are web languages. They offer nothing that isn't better handled by Go and Rust. Even Node is a better choice thanks to non-blocking I/O, the huge talent pool, and the ability to reuse code on the frontend, desktop, and mobile.
Thanks for the clarification. I think those are fair points.
BTW, do you think Rust would be a good replacement to Ruby for companies trying create an MVP? Or do you think Go and Rust are more for the optimization/scaling phase?
Speaking for Ruby/PHP web apps. Go is not quite as fast as Rust, but much easier to pickup since it has a simple syntax and manages memory for you. I would save Rust (or C) for the optimization phase since finding developers is harder.
Go is so good that huge companies like sendgrid, cloudflare and google never move past it. Rust is great for hardware and embedded devices where memory management really, really counts.
- No support for multiple CPU cores
- UTF-8 is still a second-class citizen
- Not strongly typed
- High memory usage
- Slow execution
PHP and Ruby can't even serve themselves safely over HTTP and they are web languages. They offer nothing that isn't better handled by Go and Rust. Even Node is a better choice thanks to non-blocking I/O, the huge talent pool, and the ability to reuse code on the frontend, desktop, and mobile.