为什么一些程序员热衷于讨论sql、并发、框架、架构,却不讨论路由、操作系统等?

夶白兎


如今的IT行业属于香饽饽,程序员也增多了。你说的谈论spl这类东西,应该是后台服务程序员,那么为啥很少讨论路由、操作系统呢?从两个方面说说我的看法。

语言与操作系统无关

拿java来说,它是跨平台的,因为jvm的存在,所以在开发的时候不用考虑平台,对操作系统也只是了解阶段。只需注意平台特性,去做相应配置。比如Windows平台,需要配置环境变量等等。程序员精力也是有限的,用不到的或很少用到的,了解就够了,不会去深入研究和讨论,当然对系统感兴趣的程序员就另外说了。


网络框架层级不同

程序员所讨论的sql、并发、框架、架构之类的,从ISO模型来看,属于应用层,而路由属于链路层,一个偏硬件,一个偏软件。我们接触比较广泛的就是应用层面的程序员,所以会感觉讨论比较多的是sql之类的知识。硬件方面的知识,实践起来比较难,所以一半不怎么讨论,都是写文章交流经验。不像软件,实践容易,且软件实现方法更多不唯一,这也是讨论比较多的一方面原因吧。

程序员一般都是把重点放在业务逻辑上,所以在这方面锻炼的比较多,讨论的也比较多,但是也有小部分程序员讨论偏底层的知识。现在某些程序编程行业门槛也比较低了,比如前端开发,很多都不懂底层知识,根本讨论不起来。

我是非著名攻城狮,欢迎留言关注我,希望我的回答对你有所帮助!


非著名攻城狮


程序员一般率属于企业级公司的研发部人员,从事软件开发性质的工作。注意不是研发而是开发。

顾名思义。程序员是开发人员,开发软件的基层人员。就是通过一些写好的固定的计算机语言组装自己想要的想法、需求等。而在这个组装过程中的技术就是体现程序员能力的强弱。

sql语句的组装、并发线程的处理、软件框架的搭配使用都是个人能力的丰富体现。也是程序员在工作中必须要学会的知识点的。

一般人都是活谈论自己的长处,不会去过多的解释讨论自身的短处。而路由、操作系统,讲真。软件行业中的大部分程序员都不会接触或者深入学习这部分知识点。

讨论需要大家的附和以及各抒己见,你讨论一个别人不会的东西。自然就很无趣。这也是很少开发人员讨论路由、操作系统的原因。

小编只是开发人员程序员。对于研发人员不甚清楚。

些许拙见,供您参考。

从事互联网开发多年,欢迎大家骚扰


凯腾凯


看了这位大叔的职业生涯,简直就是传奇的一生!崇拜之情油然而生,不由得停下了正在敲击键盘的双手,思绪进入“如果我有这么厉害的技术那么我会...”的幻境之中,开始意淫起来。。。

突然,产品经理来了,让我给他把一个用户的数据给修改一下。我打开MySQL客户端工具,并连接上了线上的库,写了一条sql:“select * from user where user_id = 123”,然后按照产品经理的要求把这条数据给修改了。然后继续回到我的idea上开发APP这个版本要迭代的功能。

回归到题主的问题,为什么不讨论路由、操作系统?个人认为有以下几点可以讨论一下:

不会底层操作系统知识

这个是真的不会,大多数人都不会,除了在大学期间学的计算机原理、操作系统这些知识以外,工作以后真的很难接触到这些东西了。就算能接触到一些,也是一些皮毛。大多数人毕业之后都从事软件开发了,个人认为这也是国内硬件普遍较差于软件的一个原因。

应用开发

题中说的sql、并发、框架、架构这些都是基于应用开发,属于软件层面。99%的公司根本不需要了解所谓的路由、操作系统,也不会给你时间去琢磨这些东西,工作中也用不到。但是sql、并发、框架、架构却是每一个应用开发都需要的知识,而且门槛也低。是个人就会用,平时接触最多的知识就是这一块了,本着解决问题为出发点,自然讨论的就是这些东西了。

大神就那么几个

还有,大家不要觉得人家就很牛逼,自己就很菜。人家确实牛逼,和人家比自己确实也很菜。但是这不是思考问题的点。本是芸芸众生,之所以出名,就是因为他是技术大神,是属于金字塔顶部的那么几个人中的一个。我们要做的就是不断的往上爬,不断学习,精进技术。

以上是我个人的一些观点,欢迎大家继续讨论~


java架构设计


题主这问题是典型的国外月亮比国内的圆。

实际上不分国内国外,全世界的大部分程序员都是更热衷讨论“sql、并发、框架、架构”而不是“路由、操作系统”。

为什么?因为“sql、并发、框架、架构”是应用层关心的事情,“路由、操作系统”是底层关心的事情。

如果大多数程序员都不搞应用级开发,普通用户拿什么来办公?拿什么来娱乐?全都滚回二十多年前的DOS下去敲命令行吗?

国内有没有搞底层的大牛?当然有,难道你以为华为做鸿蒙、阿里做大数据、百度做无人驾驶全都靠的外国人吗?

综上所述,大多数人讨论什么内容不一定是技术水平决定的,更可能是市场需求所决定的。


不会编汇编


这种现象也是国内软件行业现状的体现,不是程序员不想谈论路由和操作系统,而是想谈却谈不起来!要不找几个大学的计算机教授来唠五块钱的操作系统,看看有几个能聊明白?或者大家想想咱有能拿的出手的操作系统供大家谈论的吗?

但这个问题仍然值得我们深思,我认为有以下几点原因导致了大家多谈论sql,架构,并发和框架,而很少谈论路由和操作系统的现象。

人们谈论多的往往是所涉足的,对于未曾接触的却无从谈起

都说没有实践就没有发言权,这句话放在这里就挺合适。这个问题要分开来看:一方面,大家想谈路由和操作系统却没有谈资。另一方面,此程序员非彼程序员,路由和操作系统的实现不是一般程序员可以完成的!打个比方,都是运动员,你问问詹姆斯和科比为什么不和刘国梁比赛乒乓球呢?根本就不一个类目嘛~

如果你是一个家庭主妇,久而久之你谈论的将围绕着柴米油盐。如果你是二人转演员,那么生活中处处都是段子。同样由于我们国内的程序员日常工作大都围绕着sql、并发、框架和架构,所以这就成为了大家的谈资。反过来,如果都是做操作系统开发的,还愁没人聊有关话题吗?

一个是应用系统程序,一个偏底层系统程序,国内程序员做应用的多,做底层的少

从专业角度讲,这是软件开发不同的范畴。sql、并发、架构和框架主要是应用系统方面的,主要有程序员岗位来开发。而路由属于网络通信方面的,主要是网络工程师或者通信工程师来实现。操作系统则是复杂而庞大的,管理硬件和软件资源的底层系统软件,是应用系统运行的基础和前提。

路由主要是通信方面的知识,工作中,程序员只需了解一些基本通信协议即可,不必关心其具体的网络路由细节,比如路由表、下一跳等。

关于操作系统又主要分为以下几类:

  • 嵌入式操作系统(包含ios和android)

  • 类Unix操作系统

  • windows操作系统

  • macos操作系统

无论是在哪个分类下,我们都处于绝对落后的地位。早在1999年,时任科技部部长的许冠华就曾说过“中国的信息产业却芯少魂”。这个芯指的就是芯片,这个魂指的就是操作系统。遗憾的是,时至今日我们还没能彻底改变这种状况,操作系统的技术和市场依然被西方国家垄断。

所以一直以来,在pc端的操作系统领域,很少有企业愿意投入研发成本来抗衡,都是国家团队在努力突破,可就是这样依然难见成效。而缺少了社会企业参与的氛围和土壤,众多程序员也失去了参与其中的机会,因此对于操作系统研发的谈论就无从说起了。

我们只是软件大国,还不是软件强国

后来到了移动互联网时代,操作系统不再是微软一家独大。国外研发出了ios和android,国内则出现了基于安卓的华为emui和小米miui,还有魅族的Flyme,还有阿里自主研发的yunos和alios。

近来华为更是推出了鸿蒙系统,更是让国人看到了希望。但同时围绕着操作系统生态的建设却成为人们担忧的话题。

而在应用系统研发领域,虽然我们拥有了支持高并发的电商平台和电子支付,虽然拥有金蝶、用友这样的企业级服务商。但还是难以和oracle、ibm、sap这样的全球性的企业级服务商匹敌。因此我们还只是软件大国,还不是软件强国。

也许等什么时候,我们的软件系统可以像中国的高铁技术、桥梁技术一样输出到国外时,我们谈论的也许将不再热衷于谈论sql、并发、框架和架构了!

其实,谈论SQL、并发、框架和架构也没什么不好的,技术的本质就是作为一种工具,为其他行业服务、为社会创作价值。就像我们的电商和移动支付改变了我们的生活、消费方式一样。没有这些技术指标的保障,是不能支持双11这么大体量的狂欢购物节的!

欢迎关注我@码农wu师,专注IT技能分享,一起聊聊编程谈谈生活!


码农wu师


程序员讨论路由和操作系统,那要网络系统架构师和网络工程师干嘛去?各负其责,专业的事专业人做,啥都干,啥都搞不好!


默守179059038


给你们讲个笑话 有个大厂的开发在工作时对我发火了 理由是他的vpn无法连接外网 但事实只是他DNS有问题 他有太多的vpn软件 有的可能修改了他注册表的DNS proxy 所以 他并不是连不上外网 还是DNS问题 关键这些都不是事 主要问题是 这哥们要和我不懂装懂 说“肯定是路由有问题 连上了VPN要访问外网肯定是要加路由的 你搞网络的这都不知道 ” 我日 给我气的


网工碾压机


从这种心态可以看出,还是迷信国内程序员不如国外的程序员厉害,国内软件行业经过近二十年的发展,已经积累了一大批经验非常丰富软件开发工程师,国内互联网公司能有这么大的影响力除了国内人口数量多的红利之外,还有一个很重要的因素国内程序员质量已经上来了,如果没有这个基础不可能发展这么迅速,国内一批优秀的编程高手已经在很多领域做出了国际水准,像阿里的阿里云算是中国程序员的一个杰作,水平已经能到很高的水准了,不像是很多人讲到的国内程序员只会简单的搬运工作。

程序员讨论的内容不可能仅仅限于框架,架构,路由和操作系统也是在这个范畴,特别是一些嵌入式系统经常有操作系统定制工作,也属于程序员讨论的重点,程序员讨论什么内容和工作的内容有着直接的关系,记得在一个项目内大家都非常热衷于讲自己的代码提交到开源社区,并且被通过认可,这种对于程序员来讲是巨大的荣誉,现在国内已经有很多的程序员在做这个事情了,很多开源社区里面已经陆续看到中国程序员的影子了,在初级阶段可能因为底子还比较薄弱。开始先是进行学习,基础足够了才能有创新的机会。

很多人觉得中国的程序员只会山寨,不懂得原创,在自己非常弱小的时候先是让自己存活下来然后才是创新发展,很多企业刚刚挣扎在死亡线上这个时候不可能有多大的创新产生,只有拥有了足够的财力才能有底气去搞创新搞研发,任何企业都离不开这个规律,程序员在一起讨论的问题点差别场景太多了,程序员讨论技术问题未必是在现实中,一般喜欢在网络上寻找答案,或者喜欢发论坛进行讨论,平时具体讨论主要是和项目相关的事情,很难直接去谈一些架构问题。

程序员能力高低主要和思维能力和基础编码能力决定的,编程基础可以随着时间的推移进行积累,思维能力需要经过经过项目的提炼,所以没有做过项目的程序员不算真正的程序员,程序员能力提升不要随着时间推移一步步提升的,有些程序员进步几年后慢慢进步就变得十分缓慢了,主要在编程思维上没有实现真正的突破。

国外程序员因为英文的先天优势在很多方面都要优于国内程序员,但到了一定程度不一定比咱们的要强,但和祖师爷级的老手差距还是非常巨大,主要还是历史的积累问题,类似于编程语言级别的创新国内程序员还是有差距,在应用型方面以及构建编程的生态系统方面也是存在比较大的差异,承认差距然后努力去追赶,也是国内程序员需要做的事情,没有必要妄自菲薄,也没有必要自我夸大,平常心去对待认真完成一个基本功能模块,认真审视每一行代码,时间足够长了,国内一样能诞生世界级的编程大神,希望能帮到你。


大学生编程指南


我作为程序员,曾经一度不都会装操作系统,对路由也不懂,但这并不妨碍我就不热衷讨论sql、并发、框架、架构。

很多问题大家都讨论,是市场有这个需求,然后应用人更多,问题更多,理解不同,有火花。工具类的东西更适合大家去用,和如何用的更好,而不在于更多人去讨论这个工具是怎么做成的。

另外,国外的人有些特质就是能把爱好做到极致,但是像我们,有时候到一定程度,对爱好的坚持会被家庭的一些责任等等分散,从而平衡。但并不代表就没有领域强人。


卖花翁


你这个问题有点外行啊,操作系统是专门负责操作系统的人,路由是网络,负载均衡一般也是系统团队负责,研发讨论的东西没问题啊


分享到:


相關文章: