关于开发高端软件的闪念

序言

 

高端软件,比如,MySQL、NoSQL、Lucene、ElasticSearch、ClickHouse、Docker、Kubernetes、Helm、ArgoCD、OpenStack、PhotoShop、Unity 等。

这里的高端软件 区别于 操作系统 开发,也不是基本的 Web开发。

这些 高端软件 是怎么开发出来的呢?大概是因为 兴趣、爱好、市场需求吧。

除了 具备基本的 技术技能 外,还需要 知道 目前 IT界 的需求。 

 

世界的 IT 需求是什么

 

IT产业界需要什么?

开发什么样的软件可以解决IT界或产业界的需求呢?IT技术 赋能 世界。

更高效率,更加自动化,2024年,会要求更加智能化吧。

要满足三高需求:高并发、高性能、高可用。当然,分布式 也是需要的。

一款高端软件,如何 make the world a better place?

 

最近看 CI/CD 相关内容,以前发布软件,一周一次或更低频率,现在有 CI/CD 高端软件了,发版频率是多少呢?听说 一天几百几千次,大公司或许更多。提高效率,也提高了正确率。

 

#IT界需求 #非IT界需求 #市场

 

基本技术技能

 

要开发高端软件,编程语言是需要的吧?还得不止一门。

Linux 的一些东西要熟悉吧,OS 内核 + Shell 等。

还有算法,普通算法、分布式算法,其它算法。

网络相关技术,TCP/IP、HTTP(1.1、2.0、3.0)、gRPC、IPv6 等,甚至要了解 WiFi、蓝牙 等协议。

甚至 芯片(存储、缓存、CPU、GPU)相关技术也是需要了解的吧。

还有一个点:结合 C/C++ 进行 混合编程,当然,本身就是 C/C++ 开发的软件 就不存在 混合编程了。

多操作系统兼容、多CPU、GPU兼容等(还有其它 *PU)。

当然,安全方面的也要了解下。功能 很重要,安全 也很重要。

 

#编程语言 #算法 #网络 #芯片 #C/C++

ben发布于博客园

从开发高端软件的角度来看源码阅读

通过 已有高端软件 出发,学习其 内在的 算法、架构、底层实现技术 等。

学完了有什么用呢?

简单用处就是 提升了自己的IT认知,也对 使用高端软件过程中出现 BUG 可以快速定位&解决。

高级用处呢?改进已有(开源的)高端软件,反馈开源社区,让这个高端软件更好。

另外,更可以借鉴这些高端软件的技术 来 开发自己感兴趣的高端软件。

当一个软件工程师开发了高端软件,那么,TA就不再是 CURD boys/girls 了。

 

当然,一旦开始,请尽量彻底搞透彻。

 

#反馈社区 #开发自己的

ben发布于博客园

---END---

 

ben发布于博客园

ben发布于博客园

 

posted @ 2024-06-30 16:00  快乐的凡人721  阅读(4)  评论(0编辑  收藏  举报