这么说吧,go主要是属于换赛道。年轻人要是搞java,怎么和那些搞了10+年的老司机比,完全看不到头啊。go刚好又是编译快强类型上手简单的语言,java能干的我go也能干,而且正是造轮子建功立业的好机会,肯定转go啊。至于老java,没有理由迁移到go,但是毕竟这么简单,学一学也就一个下午的事。 然而...go写多了大型项目之后,发现它的类型系统抽象能力还是差点儿,代码太乱(可能主要是因为gopher太年轻naive),而且各种java面对过并有解决方案的问题,go一样会遇到,比如各种依赖注入AOP编程等等。然而java有anotation+范型(半残废),导致很多时候解决方案更优雅,至于go吧...年轻人根本没领悟到精髓,邯郸学步,轮子质量使用体验堪忧。
不过那又如何,换了赛道,2年毕业生和10年老java不就一条起跑线了吗,大叔你说有啥需求你能实现我实现不了吧...所以,93 94的P7,90后package 100+的越来越多了。没办法,面向工资编程。
至于rust,不得不说是一门好语言,用过了之后基本上处于不想碰C/C艹的状态。但是,这门语言的上手难度太高,想火几乎不太可能。如果说面向工资编程,rust不是一个好选择,毕竟小众语言招聘岗位有限。再说rust,它的竞对是C艹,所以看看C艹现在的热门程度,rust只可能比他差不可能超越。即使最理想,rust吸引了所有写C艹的人都转投rust,但是人数还是有限,那些用Java php Python js go写业务代码的,基本上不是它的受众。
Rust比C艹好就好在它比C艹年轻,不需要像C艹一样有那么多历史包袱,要兼容令人头秃的错误设计语言糟粕,而且rust吸收了很多c艹的经验,学习它的优势,也吸纳了很多最新研究成果。但rust差也差在年轻,各种生态还很不健全,aysnc await憋了好久,IDE至今没有一个好用的(Clion一写async智能提示就报废,类型推断就没了,都是宏的错)。而且很多不明真相的原教旨主义脑残青年,天天抓着别人代码中的unsafe块一通乱喷,根本不理解unsafe是语言中不可或缺的一部分。rust最大的缺陷我觉得就是unsafe名字取错了,这种大部分人都不用的关键字,应该换成I_know_what_im_doing_shut_up_ur_fk_mouth_and_I_promise_its_absolutely_safe