头文字C的混战何时方能休?论从某语言怎么怎么样到我要怎样怎样的语言
某冷眼旁观多时,苦思整夜,终于顿悟,其争论的焦点所在,其实是,一伙人在说某某语言不好,是因为他多了什么什么,应该什么什么样,一言概之,就是,这不是我好的那一口。另外一伙人呢则拼命的给之前一伙人布道,说其实老兄误会了,此语言应该这么这么用,其实这个语言是很好的。这不是对牛弹琴么?两边的出发点都是不同的,唯一相关的就是都关系到c#这门语言而已。其实某兄批判C#,正如老赵批判JAVA一样,老赵也没堪破这一关阿。
回过头来说说自己的看法。每一门语言的出现,都代表了一个大牛牛对于生活的看法(其实也就是一种对技术的观点),这是这门语言的基本出发点,每一个观点的存在都是有价值的,但是我也不想和稀泥说什么语言没有高低贵贱之分之类的毫无营养价值的话。这里用C,C++,C#,JAVA这四个最有代表性的语言来说明一下。
C的出现是因为Unix,所以C的哲学是简单,贴近底层,为底层编程提供一个更加适合人类阅读的实现(相比汇编而言)。
C++的出现是为了增强C,并且提供面向对象的实现,结果为了兼容C的变成范式把事情搞糟了,但是并不是说C++就不能用来做事了,只不过因为当年的失误造成了对开法人员的素质有个更高的要求而已,Linus不喜欢C++有他的理由,有他的视角,而对于做windows平台下桌面应用开发的C++在很多时候是唯一的选择。
JAVA自从改称平台了以来,一直被IBM等大公司把持。它的哲学是软件工程化,说白了就是让架构师搭好架子丢给一大群软件民工去编码的,有鉴于此,java在很长一段时间内都排斥一些新的编程范式融入java的血统里,因为这样会提高民工的培养成本。正是因为有了规范的范式,严谨的风格,所以阿三的超大规模软件工厂才能够存在。
C#其实现在的状况,起码在国内来说还是一门“工程语言”我所谓的工程语言,就是和Java差不多的用来码代码的砖头语言。当然很多人会本能的驳斥这种说法,但是事实如此,正因为如此,现在才会有用3.5的框架写2.0甚至1.1风格的代码的怪现象,不是大家不愿意学习,而是因为从工程的角度来说,本能的排斥新技术的引入,因为那样会带来不必要的风险,而工程非常讲究的就是风险控制。有很多到大公司应聘的同学抱怨说那个面试官如何如何,这个新技术也不懂,那个也不懂,其实都很正常,长期从事大型项目技术管理的人对工程的技术管理非常的牛,经验非常的丰富,但是也很大程度的限制了他们的视野,当然不能一概而论,因人而异吧,很多管大项目的牛人视野还是很开阔的,我只是说这种现象有其道理,不值得惊奇。
JAVA的红火很大程度上其实正是因为其保守而获得了工程管理人员的亲睐,而C#的激进可能是因为微软想以此来吸引更多的开发者转移到微软平台,然后卖更多的Money :)。
最后想要对firelong说的是,你的看法没错,因为你想要的不是C#而是有GC的C,但是你文章里的观点有问题,C++既然在做应用的时候不如C#和JAVA,是因为什么,是因为没有C#和JAVA那么高的开发效率,而不是执行效率,所以你对C#那些特性会影响性能的看法是错误的,去掉那些特性,剩下的还是C#么,去掉了的那些东西,其实剩下的C#既没有了开发的效率,也没有了执行的效率,反而成了拔毛的凤凰不如鸡,这才是真正的杯具
头文字C的混战何时方能休?论从某语言怎么怎么样到我要怎样怎样的语言相关推荐
- 验证方法学的发展历程及比较
2000年, Verisity Design(现在的Cadence Design System公司)引进了Verification Advisor(vAdvisor)采用了e语言,包含了激励的产生,自 ...
- 验证方法学的历史及比较
2000年, Verisity Design(现在的Cadence Design System公司)引进了Verification Advisor(vAdvisor)采用了e语言,包含了激励的产生,自 ...
- 方国伟:企业服务入云还有很长的路要走
编者按:随着云计算的发展与落地,越来越多的企业开始制定自己的云计算发展战略.但对于如何构建企业云服务目前业界存在着不同的声音.本届ArchSummit2015深圳,InfoQ特别邀请到平安科技基础架构 ...
- c语言程序设计铁道版,C语言程序设计(方少卿) 铁道C第1章(修订版).pdf
第一章第一章 CC语言概述语言概述 • 1.1 C语言的演变及特点 • 1.2 C源程序的结构特点 • 1.3 数据输入和输出的常用方法 • 1.4 C语言的字符集与C语言词汇 • 1.5 Turbo ...
- 北大穗志方教授:从语言到知识—构建语言智能的基石
AI TIME欢迎每一位AI爱好者的加入! 提到语言智能,大家或许会想到AI历史上鼎鼎有名的IBM Watson.2011年,IBM Watson在智力竞赛节目<危机边缘>中一举夺冠,展示 ...
- 智能猫窝是如何诞生的?详解百度大脑的开放生态
3 月 20 日下午,首场百度大脑开放日在北京中关村创业大街百度大脑创新体验中心举行.百度 AI 技术生态部总经理喻友平,就百度大脑平台与生态进行了全面的详解,同时展示了百度大脑开放平台 Q1 核心升 ...
- 百度大脑开放日:24 种新 AI 能力 20 个经典案例 助力 AI 落地
https://www.toutiao.com/a6715276196365468163/ 3月20日,首场百度大脑开放日正式开始,在开放日期间,百度将会介绍百度大脑全新开放的24种全新AI能力,AI ...
- Natural 自然语言处理(NLP)「全解析」
原文来源: 机器人圈 概要:在自然语言处理方面的研究已经延续了五十多年,而随着计算机的兴起,它的发展也早已超出了语言学的范畴. 提起AI,你可能会不假思索的想到自然语言处理.人脸识别.无人驾驶等.那么 ...
- JQuery面试题1
1.说下JQuery里面的选择器及其用法 ID选择器,元素选择器,属性选择器, 2.JQuery中常用的方法 ? 方法 描述 hide() 隐藏被选元素 show() 显示被选元素 toggle( ...
最新文章
- SpringBoot集成Swagger-Bootstrap-UI,页面更清爽!
- STP生成树协议原理及配置
- 人工智能能否跨越意识鸿沟?
- 【Python入门】Python列表的11个方法全解
- 每周一起读 × 招募 | WWW 2019:基于层次化强化学习的多源搜索展示优化
- php弹出第一个数组中,PHP array_search始终返回数组的第一个键
- 巨坑 之 pip install 和 conda install 的区别 以及 查看 和 修改 虚拟环境下运行路径
- 许昌:让便捷支付成为智慧城市新名片
- 纪中B组模拟赛总结(2020.2.3)
- php dump utfp,php pchart乱码-使用REST接口获取GeoServer中的...-结合 thinkPHP 分页写成自己分页类_169IT.COM...
- HTTPS 使用certbot升级过期证书
- 刷魔趣系统与安装google相机
- 简单查询多个D速物流,并分析未签收延误的单号
- WIN10 自带无线投屏功能 灰色不可用
- html中绑定点击事件的三种方法
- 设置SolidWorks三维设计值参数化的方法,可以导入Workbench进行优化分析
- VisionPro软件介绍
- 使用百度翻译开发平台,英文翻译为中文
- 老扎克伯格的四位儿女全是人生赢家,到底是怎么教的?
- 随机生成1万个随机姓名与密码存入txt文本中