许多老程序员不建议新手用IDE集成开发环境,而是用编辑器+编译器,用命令行编译,这个怎么看?

1)不要在工具上使傻劲来感动自己

北洋曾经说过他当年学java是怎么学的,把classpath,path那些配置给背下来,现在回头看,毫无意义,因为现在openjdk直接解压缩后就能用了,连安装都不用安装了,你说北洋背的那些配置有用吗?

没用,毫无意义

类似的还有gc tune的时候,cms一堆配置,现在cms都被删了,这些配置参数背了有什么用

2)人要学会驾驭机器,而不是去尝试替代机器,你也不可能替代得了机器

我们之所以用计算机,就是想让计算机来帮我们做点重复性的劳动,所以无论你做什么,你都应该想想,怎样才能让自己不去做这种事,因为重复性操作,是机器最擅长的,你做不过机器

无论是记忆红楼梦还是背pi小数点后多少多少位,这都是没有意义的工作,交给机器就行了

3)做好预案,多选几个plan b,plan c

当然,如果我们过多地依赖一个工具,尤其是商业工具的话,那么可能会出现被人卡脖子现象

那技术的好处就在于,随着科学的发展,技术的普及,会有越来越多的替代品出现

这对于从业人员来说,未必是好事,因为会出现同质化竞争

所以你应该避免成为工具人,就那种只会一种工具,一旦这种工具失灵了,就完全无能为力的人

居安思危,而做预案并非一件很困难的事,就像我经常拿java做各种语言的备选

比如安卓开发,我们用flutter,ios开发,我们用swift,云端开发,我们用kotlin

但是这些都可以用java来做

所以虽然我们已经不怎么用java了,但是由于有这些备选方案的存在,使得我们的主观能动性就更强

工作中经常会遇到,一条路走不通的情况,那很多企业会在这种时候去逼员工,这就很傻

因为效果并不好,退一步看看,换一条路走,没准就走通了,这就是plan b,plan c能够给我们带来的好处

就比如ios开发,你用swift不会做,换flutter行不行?flutter不行,javafx行不行?三种方案,总有一种满足你,然后你再回头来看,诶,flutter哪里不行,哪里需要补强,同理javafx也是如此,可能短时间内,这些还是不行,但是你可以过去跟作者交流啊,给他们提提意见啊

就像javafx要做aot,一开始用的是robovm的aot,后来graal出现了之后,glavo跑过去提了一个issue,就引起了关注,然后两年之后,javafx就用graal来aot了,来打native image,制作ipa也就是ios上的app了

但是如果glavo不说,那这种事可能永远都不会发生

而当选择越来越多的时候,你用这个技术的成本就真的被降低了,因为预案出现了

只有一个选择的时候,那价格往往不低,这就是为什么要破坏掉垄断,因为垄断对市场有害

只有国家才有权力搞垄断,因为国企的钱收上去,会被用于政府财政支出,但是资本一旦得到了垄断的地位,那就会把资本的嗜血的本性发挥到极致,你会发现东西突然就变贵了

人民企业为人民,你看火车票,电费,是不是十年不涨?,但是充分市场化的地方,比如广深线,比如南方电网覆盖的地方,就比较贵,深圳这种地方,公共交通贵死了,经常可以遇到5块钱的公交,其他城市很多都是1块钱,尤其是省会城市

所以我们需要有更多的选择,更多的参与者,好坏其实不重要,哪怕是做得再糟糕,它的存在本身,就足够让市场竞争被充分调动起来,这样真正受益的人,就是顾客是用户

你就不会被技术所绑架,然后我们再将这些先进的技术予以推广,看到一个是一个,学会一个是一个,就像群里前几天有人说,我要做一个红警,我说加油,然后过几天,问,图片翻转怎么做?我说scale(-1,1),他就懂了,我看他的红警快搞出来了,这种学生就值得推他一把,谁知道他是不是将来的资本家呢?

在这样一个移动端越来越强大,越来越凶猛的时代,我主要关注的是苹果,谷歌在做什么,然后用java等开源技术做一个备案,基本上就够我们用了

当然因为我已经不再是工具人打工人了,所以我的看法未必会让你成为老程序员,而是老板

原文链接:,转发请注明来源落伍老站长!

发表评论