这小哥说的很多是对的,还是没有看到rust的亮点。
我团队的现状,已经是新增代码必须是rust,C/C++代码不允许上生产。
我这里的特点是:一个资深程序员带着一堆小年轻。
为什么不让C/C++上生产?因为我上面提到的团队特点,只有一位资深程序员,它不可能去review所有代码,而年轻的程序员很难把C/C++代码里的内存bug写到生产的要求。其实,即使是资深程序员,也很难。
在实践生产中,如果出了bug,需要紧急修复,否则会有很大损失。那对于C/C++代码,上线前需要很大量的很系统的测试,但很现实的情况是很多团队(包括我的)是做不到这种测试的。但对于rust,需要的测试量就小很多。
说一个比较具体的情况。对于C/C++程序,生产中如果出了内存错误,只显示一行Segfault,然后就抓瞎,根本没有头绪。rust首先基本不会有内存错误,而且出了错能显示是哪行代码的问题(即使是release build),这对于紧急修复是致关重要的。
另外,在性能上,各类测试说明rust的执行速度是小于C,接近但小于C++的。但要注意的是测试的项目是各类比较成熟的代码。我遇到的实际情况是,小年轻们写的rust代码速度要比同功能的C/C++要快很多。
rust难挣钱?这个是的,但其实C/C++的处境差不多,这是市场需求的问题。
rust很难学?是,也不是,看你的情况。实际上,完全不懂rust、甚至不懂C/C++程序员从入职到提交生产环境的rust代码,不需要一个月时间,只需要我告诉他学不会就会被炒。
【 在 topgenius 的大作中提到: 】
: Goodbye, Rust. I wish you success but I'm back to C++ (sorry, it is a rant)
: In my 3 year run in Rust I did asynch/multithreaded code, FFI with bindgen, kernel programming without std. It was fun. But fun is over, I started a C++ position 1 month ago.
: Rust is a superior technology to C++. It has better tools (cargo), better libraries ecosystem (crates.io), it cuts out a lot of crap (no OOP, no exceptions, memory handling, etc), it disciplines you to do the things the right way.
: ...................
--
FROM 180.158.147.*