由优劣语言之争引起的思考

由优劣语言之争引起的思考

#欲使其灭亡,必使其疯狂

         昨天上午由阿里云中间件公众号和架构师小秘圈公众号发布的一篇文章《天天敲代码会使人变聪明么》在.net开发者中掀起了一阵巨浪,文章中提到的语言的先进与落后之争让基于.net开发者们义愤填膺,不少嫉恶如仇的开发者纷纷前往公众号去谴责作者的这种行为。

         作为高级工程师和架构师圈子里有着出色影响力的优秀公众号,在公开场合发表这种充满意识形态的争议性文字,实属罕见,我觉得应该是小编未能注意到作者在正文的某个角落夹杂着的个人观点引起的疏漏。在读者在公众号后台留言之后,编辑很快就对内容进行了修改,于是很快原文就看不到这段令人不适的文字了。

         互联网时代,任何意识形态之争或语言优劣之争,都只是图一时的口舌之快。优秀的开发语言也好,开发者也好,都应该拥有一颗博大的胸怀,时刻怀揣着用技术改变生活的梦想,用心去体会开发语言的妙处。我觉得,没有最优秀的开发语言,只有最适合的开发语言,就像有人喜欢吃甜椒,有人喜欢吃辣椒一般,没有必要因为自己的喜好,就讽刺别人的爱好。而只要是能解决问题的开发语言,都可以成为是开发优秀的语言。也从来没有什么优秀的语言能够使大脑聪明的道理,任何运用得当的开发语言或者技术,都会让精神愉悦。Java也好,.C#也罢,都是开发者们用来解决问题的工具。平和、包容、开放的心态,跳跃敏捷的思维方式,是我们解决问题的法宝。而那些抱着狭隘技术心态、自以为是的开发者,不过徒增笑柄而已。

       #平台开发VS业务系统开发

  在这个事情的背后,我觉得或许反应的是某些狭隘的平台开发者(或中间件)对于业务开发者的鄙视链。随着互联网的飞速发展和工作岗位职责的进一步细分,也让平台开发者与业务开发者之间的技术体系变得截然不同。尤其是近年来PaaS市场的风起云涌,更是让平台开发者成为时代的宠儿。最近看到有人分享的蚂蚁金服面试经,查看原文。在这篇文字中,我们可以看到,作为平台开发者所需要掌握的技术体系,无论是go语言,或者k8s这些,都需要非常深入的了解。 而平台开发者必须深刻领悟当今时代最先进技术的发展方向和技术的技术深度,才能应对平台建设过程中所带来的挑战。而这种挑战也同样引起了IT产业技术非常深远的变革,DevOps的盛行就是这个典型的案例。

     而业务开发者也同样促进了行业的进步和时代的发展。与平台开发者相比,业务应用开发者的知识体系则相对不同,更侧重于将技术灵活的运用到实际产品的开发过程中。经常可以在博客园看到一些专家的分享,讨论技术中方方面面的细节。之前看到路过秋天的分享,查看原文,作者介绍了他招聘架构师过程中遇到的一些常见的现象,实际上值得所有高级.NET工程师关注。随着时代的变迁,优秀的开发者关注的重点,应该不仅仅只是在业务范围内,有时候对业务系统、技术的每个细节都应该了如指掌,形成的是一整套完善的知识体系。事实上,像路过秋天这样的顶尖开发者所拥有的技术层次让我这个十年经验的开发者一阵冷汗。在过去若干年的项目开发过程中,由于太过于在乎业务细节的实现,而忽略了对于技术本质的探索,导致了我的知识体系看起来广大,实际上不过是浮在水面上的薄冰,触之即碎、太阳一晒就一点不留。甚至不留情面的说,与真正浸淫其道的专家眼里,这种仅仅停留在皮毛表面的技术积累,不过是小学生水平。 

  坦率来说,对于.NET技术而言,从某种意义上来讲,面临的是最差的时代。由于.NET技术主要的应用场景是各类业务系统的开发过程,虽然.NET技术的开发成本和开发效率相较于其他平台来说有不错的优势,在前期能够让企业开发者以最快的速度完成系统的建设,但是在互联网飞速发展的时代,由于高昂的windows授权费用和深度与windows的高度绑定等众多原因,让这些应用只能局限于互联网企业的非线上系统之中,鲜有胆大的企业把他应用在互联网的系统中,在加上.NET开发者梯队构成的原因,最终让大量优秀的企业纷纷选择了Java。

  头部玩家们的背离,跟随者们的抛弃,让.NET技术逐渐丧失了天时、地利、人和,终于与时代脱节。

      .NET Core助力传统产业转型

       即便如此,.NET作为一款优秀的语言体系,在面向B端的传统软件开发领域,有着广阔的市场拥趸,在传统产业的信息化系统中占比非常大的比重。例如,许多制造业巨头或者零售业巨头,其制造信息化系统或仓储物流管理系统往往会使用.NET构建。 

  作为旧时代IT企业的代表,微软实际上一直处于被误读的状态。微软一直以来对社区秉承着开放的理念。犹记得多少年前听雷军讲过,他认为最伟大的IT企业,非微软莫属。哪怕是昔日金山的wps软件曾经占据了中国的半壁江山,让微软的office一度措手不及,微软也从来不会发起什么3Q大战,让用户二者择一。

  而微软一直以来对开发者非常的亲和,除了微软之外,也几乎找不到其他公司能够把帮助文档写得像MSDN这么详细。而微软新任CEO纳德拉提出的“云为先”的战略以及.NET Core技术的诞生,我们可以看到微软放下了心理的包袱,以更加包容的心态来迎接本该属于他的成功。而当下传统产业的互联网转型,必将迎来.NET Core发展的新契机。 作为传统.NET技术开发者们,目前是入手.NET Core的时机了。2019年,.NET 社区以及.NET Core技术将迎来一波巨大的社区红利,让我们期待2019年的到来。  

原文地址:https://www.cnblogs.com/xiyuanMore/p/10347346.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317393.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P1527 [国家集训队]矩阵乘法

P1527 [国家集训队]矩阵乘法 题意: 给你一个 nn 的矩阵,每次询问一个子矩形的第 k 小数。 题解: 整体二分稍微加强化 模板题是一个序列,现在升级成一个矩阵求,做法和原理都是一样的 使用整体二分解决的题目&#x…

[LOJ #521]「LibreOJ β Round #3」绯色 IOI(抵达)(结论)

#521. 「LibreOJ β Round #3」绯色 IOI(抵达) description solution 因为点的庇护所不能为自身,题目背景在树上,有结论一定是两个相邻点互为庇护所 所以树一定要能两两完美匹配才有解 判断完有解后就是构造解了,…

UOJ#310-[UNR #2]黎明前的巧克力【FWT】

1# 正题 题目链接:https://uoj.ac/problem/310 题目大意 给出一个长度为nnn的序列,求有多少种方案找出两个集合S,TS,TS,T使得这两个集合的异或和相等。 1≤n≤1061\leq n\leq 10^61≤n≤106 解题思路 可以转换为找到一个异或和为000的集合SSS,产生2∣S…

ybtoj洛谷P4426:毒瘤(虚树,环套树,暴力)

传送门 解析 顾名思义,十分毒瘤 但有一说一,相对来说这题没有之前做的那两个黑题那么(重读)恶心 而且本题如果放在考场上,暴力枚举非树边的状态dp就可以拿到70分的好成绩(改一改能改到75) 现…

微软是如何使用 C# 重写 C# 编译器并将其开源的

Roslyn 是 C# 和 Visual Basic.NET 开源编译器的代号。这篇文章将介绍它是如何从微软过去的十年至暗时刻走出来,成为开源跨平台的 C# 和 VB 公共语言引擎。我于 2005 年加入微软,也就是在.NET 2.0 发布之前,当时微软内部已经开始在讨论 Rosly…

P3332 [ZJOI2013]K大数查询(整体二分做法)

P3332 [ZJOI2013]K大数查询 题意: 题解: 利用整体二分来做,这个题和P3834 【模板】可持久化线段树 2的区别在于本题的修改是区间修改,所以将里面的树状数组改成线段树就行,区间修改区间查询 但是不知道为什么我调了一阵子也不对…

[APIO2020]交换城市(交互+kruskal重构树)

[APIO2020]交换城市 description solution 如果u,vu,vu,v存在于一条链上(只有两个点度数为111其余点度数为222)则无解,否则必有解 如图,不管是哪个点度数>2>2>2,都可以有解 以蓝色为例,第二个…

P3320:寻宝游戏(生成树)

解析 大结论题… 实在是不知道这题和虚树有半毛钱关系吗… 引理 给出一个按照dfs排列的点集S{a1,a2…ak} 它们的极小联通子树的边权和的二倍等于∑dis(a1,a2)dis(a2,a3)...dis(ak−1,ak)dis(ak,a1)\sum dis(a_1,a_2)dis(a_2,a_3)...dis(a_k-1,a_k)dis(a_k,a_1)∑dis(a1​,a2​…

P5333-[JSOI2019]神经网络【dp,容斥】

正题 题目链接:https://www.luogu.com.cn/problem/P5333 题目大意 给出nnn棵树,第iii棵树有kik_iki​个点,每棵树上的每个点和其它树上的所有点都有连边。 求这棵树有多少条哈密顿回路。 答案对998244353998244353998244353取模。 ∑i1nki≤5000\sum…

如何在ASP.NET Core程序启动时运行异步任务(1)

原文:Running async tasks on app startup in ASP.NET Core (Part 1)作者:Andrew Lock译者:Lamond Lu背景当我们做项目的时候,有时候希望自己的ASP.NET Core应用在启动前执行一些初始化逻辑。例如,你希望验证配置是否合…

扫描线讲解

参考文章: 线段树扫描线(有关扫描线的理解) 线段树扫描线(基本原理) 扫描线 第二个文章里面的图很生动: 我总结一下就是:将所给图形的横坐标全部记录,纵坐标记录为扫描线 然后对与…

P5400-[CTS2019]随机立方体【二项式反演,计数】

正题 题目链接:https://www.luogu.com.cn/problem/P5400 题目大意 有一个nmln\times m\times lnml的三维网格,要在每个格子处填上一个数,要求填的数中1∼nml1\sim n\times m\times l1∼nml都恰好出现了一次。 一个极大值被定义为这个格子比其他与它至…

「CEOI2019」魔法树(DP+差分启发式合并)

「CEOI2019」魔法树 description solution 设dpi,j:idp_{i,j}:idpi,j​:i子树在jjj时刻的最大果汁量,显然dpi,jdp_{i,j}dpi,j​在jjj是单调递增的 dpi,jmax⁡(dpi,j,dpi,j−1)dp_{i,j}\max(dp_{i,j},dp_{i,j-1})dpi,j​max(dpi,j​,dpi,j−1​) iii不收获 dpi,j∑…

梁迪:我为MVP骄傲,《微软最有价值专家奖励计划介绍》附专题视频

题记:有些事情,比 MVP 更加不朽,浩气长空,日月星汉,我们为 MVP 和那些心目中的“MVP”感到骄傲。微软 MVP 是一种追求,不必要去强求,但 MVP 必定是俱乐部发展的根基础。火车跑得快全凭车头带&am…

CF1472(div3):总结

文章目录前言A. Cards for Friends题意简述解析代码B. Fair Division题意简述解析代码C. Long Jumps题意简述解析代码D. Even-Odd Game题意简述解析代码E. Correct Placement题意简述解析代码F. New Years Puzzle题意简述解析代码G. Moving to the Capital题意简述解析代码前言…

How Much Memory Your Code Is Using? Gym - 101955J

How Much Memory Your Code Is Using? Gym - 101955J 题意: t组数据,每组数据会有n个定义类型的方式,给你每个类型所占字节,问一共占了多少字节,最终答案按照Kibibyte单位输出,并向上取整 题解&#xf…

P3295 [SCOI2016]萌萌哒(DP+倍增)

P3295 [SCOI2016]萌萌哒 description solution 强制部分区间相同,很容易就想到了并查集,直接暴力并查集合并是O(n2)O(n^2)O(n2)的 只需要考虑那一个数据结构将其转化成O(nlog⁡n)O(n\log n)O(nlogn)的 树之类的就不考虑了,一段一段的区间…

CF1677D-Tokitsukaze and Permutations【结论】

正题 题目链接:https://www.luogu.com.cn/problem/CF1677D 题目大意 对于一个排列pip_ipi​,定义一个序列vF(p)vF(p)vF(p),其中vi∑j1i−1[pj>pi]v_i\sum_{j1}^{i-1}[p_j>p_i]vi​∑j1i−1​[pj​>pi​]。 一次冒泡排序为依次对1∼n−11\sim…

【恭贺新春】2019年春节放假

2019年放假通知致全体微友: 2019年2月5日(正月初一)至2月8日(正月初四)春节放假,共4天,小编停止更新公众号信息。敬请相互转告。值此新春佳节到来之际,“dotNet跨平台”给大家拜个…

模板:圆方树

所谓圆方树,就是又圆又方的树 (逃) 前言 树有很多良好的性质,也可以上许多算法和数据结构 但我们对于一般图却没有太多办法… 然而,对于有些关注连同性、路径并&交的一般图问题,我们可以用圆方树&…