谈谈我现在软件开发行业的看法

本文最后更新于$day天前,文中所描述的信息可能已发生改变。

1.吐槽

​ 不知道什么时候开始,软件开发无论配置还是编写,越来越复杂。回归实现简单的功能的初心越来越复杂。

​ 不知道什么时候开始,普遍认为,使用命令行才是程序员高手,用Linux才是资深。

​ 从Asp、PHP,到Asp.Net Core,配置文件是一个比一个多。

​ 最近在看易语言,为什么用户越来越多,因为他的模块,真的很强大,能一行代码实现别的语言很复杂的事情。几乎没有什么配置文件,最后生成只有EXE。

​ 现在意义上的程序员和易语言的群体感觉已经是两个世界,我看到V2EX问PHPer 2022年路在何方,其实语言只是一把武器,要在不同场合用不同武器,自己也要多熟练各种武器,这样才是真正的Coder。

​ 现在你发现一个软件随便引入electron,体积都50M往上,一个简单网页也要VUE或者React编写与编译。虽然现在内存已经配备8G以上,但是也不能这样随便浪费。

​ Docker和K8s这些运维技术兴起,感觉越来越多资源消耗在里面,无论你Dockers用了是多少的Linux内核,但是始终每个dockers都是一个虚拟机。或许CPU性能不会被损耗,内存也会至少让系统核心模块占据。

​ Go和RUST是近年新兴编程语言,Go还是非常轻巧的,引入模块的方式也非常棒,直接可以使用GitHub的路径。虽然模块引入后还是非常多零碎文件,很考验机械硬盘,但是相对于RUST,我只要把Actix-web框架引入,好像就多了几万个小文件和几百兆的空间占用。反观微软的Nuget还是非常好,只引入编译好的DLL。不会占用大量空间。

2.展望

​ Asp.Net Core 6已经简化了一些配置,希望继续加油,而.Net Core 6也支持封装单文件。

​ 社会发展往往向慵懒前进,不要让软件越变越大,配置越来越复杂。如何让技术便捷我们生活,加快实现一个我们想要功能。往往才是好软件。

​ 虽然serverless无服务架构,内核或许也是Dockers,但是已经可以简化了很多部署步骤,也不需要配置主机,不用过份担心流量、攻击、服务器运维,我认为这方向非常好。

​ 我初心做的事情,一定要化繁为简,敏捷开发。本博客还要记录一些简单方法能实现简单功能。

​ 春节有空在思索一下各种语言的优点和缺点,梳理一个自己喜欢的开发架构,让自己的Coder思路更清晰。