简明现代魔法 -> 互联网时代 -> 关于编程语言的一些网络观点

关于编程语言的一些网络观点

2009-12-10

Tiobe今日发布了12月份的编程语言排行榜。榜单中,由大公司开发的编程语言表现优异,微软的C#、苹果的Objective-C和Adobe的ActionScript评级均创各自的历史新高。

微软的C#达到了它的最高评级,并很有可能成为Tiobe2009年度编程语言的评选中取胜。另外一个是苹果公司的Objective-c,同样打破了自己的记录,距离与排名前十越来越近,并获得了A的评级。同时,Adobe公司的ActionScript也获得了高分,重新进入了Top20。

  1. 有谁可以告诉我,他所支持的编程语言不是用C/C++写出来的么?

    C和C++的领域其实从来没有被撼动过,估计想改变也不可能,出发计算机的架构发生重大改变。

    那些叫嚣C#的人,实际上很可悲。至今我还没听见哪个公司用C#挣到大钱了的,终究不过小打小闹而已。以为自己背靠微软了,就冷挣钱了,可最后发现大钱还是被微软拿去了,自己仅仅是一个代码工人而已。

    看看其他的大公司吧,谁会把核心技术依靠于别人?现在google用java都要自己写一套jvm了,原因其实再简单不过了。

    C和C++的长期存在是因为它不属于某个公司,是完全开放的编程语言。真正看一下IT巨头们的核心产品,谁不是基于C/C++的?那些叫嚣java,c#的人,做的仅仅是外围一些简单应用开发而已,自己还以为自己很牛逼,真可悲。

    更可笑的是Java号称跨平台。。。。就我感觉他的跨平台应用还不如C++,你们看到手机上最常用的那几个程序,哪个是Java写的。高端智能手机上的应用,谁用Java写的?现在最火的iphone是用什么语言开发?占有量最大的symbian是用什么开发的? 看看这些公司的核心产品,就知道C/C++系语言的价值了。

  2. C更多地用在研究领域,软件生产还是要靠Java、C#来支撑,至于其他像JavaScript之类的语言,则主要在专门场合使用。如今的软件业,开源是大势所趋,谁在这方面做得好,谁就能占有主要市场。从开源这点来讲,Java还是做得不错的。
  3. 还是C++好,Java次之。C#嘛,我们从加拿大回来的大学老师说了,VB is rubbish, C# is also. 我也是用C#写过程序的人,感觉C#和MFC一样,都是微软拿来害人的东西。用C#写程序,就要受到各种框架各种API的束缚,很不自由,扼杀了创造力和想象力。还是开源的好啊,强烈顶开源。
  4. C能达到机器和人脑之间的最佳平衡。增则嫌多,减则嫌少,刚刚好够用。
  5. 在国内,放眼望去,大片大片的Java,C#,VB,C++程序员, 搞C的到底在那里呢?他们都躲在哪些领域?那些岗位? 还是说C根本就是外国人搞的东西。 难道是我们的程序员太贪图享受?
  6. 计算的本质到底是什么?本质就是对数据的处理。体系结构再怎么变,这个本质是不会变的。当你能够控制一个字节、一个位的时候,还有什么做不到的呢?C语言就刚刚好提供这种控制能力。它的语法够简单,很容易转换成对应的汇编,接近效率的极致,但又不像汇编那样晦涩难懂,而是将数据的处理流程以人能够理解的方式呈现出来:if/else/for,搞定一切。 C的应用场景在于嵌入式和网络。想学习和实践的话,这两个方向都可以。
  7. 用的范围不一样, c/c++很厉害,在特定的领域厉害。 你用它去做网站吧,好不好? 一般来说,编译器是用这两种语言写的。 它很厉害,但仅仅是开发语言的nb公司。 小公司,业务只是做软件和做软件,它用那个? 你用c写个界面的播放器吧,对于你来说不难吧? 你说的c那么nb,那么用的人那么少? 嵌入式用、开发语言的公司用。 别的小公司就不用了吧? java、c#那么火,是因为方便、易用。 你说的c是底层,是牛x,但我现在就是做一个网站。。 我知道你会选择c或c++,这不算什么。 但你也得看清,除了你,其它人都选c#或java呀 是不是?
  8. 建议大家有时间的话,可以将各种语言的官方手册弄到手研究一下。实际上C#确实是一个优秀的东西,因为它实现了很多很强大很优秀的特性,而且由于新生,目前不像Java那样太过于庞大。所以单就语言的特性上来说,我目前是很推荐C#的。但另一方面,我不能不说,支持C#的环境还太少,而Java却刚好相反,Java可以在PC、服务器甚至手机、电器上运行,所以它庞大的市场份额就可以理解的。但是如果考虑另外一种可能,如果有足够的人愿意去为C#写编译器或运行环境,将它移植到更多的平台上(甚至用到嵌入式或者做底层开发,都是可行的),那么C#的辉煌,Java的衰落是极可能的。

    但大家要清楚,现实的情况远没有技术人员想象的那么简单,各个大公司之间出于利益的考虑而进行的各种技术保护、相互制约,往往对语言的发展起着决定性的作用。技术爱好者需要拓展自己的视野,要有自己的清楚判断,不要在大公司的背后跟风。 国内大部分程序员对平台的关注大大超过对语言本身的关注。在评论语言的时候,支持它的平台是一个因素,但实际上还有很多其他更重要的因素。我们不能客观看待一个语言是因为:编程语言毕竟是一个虚的东西,它一般不能直接产生生产力--产品,除了机器语言,而平台是实实在在可以看到生产过程和结果的东西。

    有人提到google自己为Java写JVM,实际上就是基于很多方面考虑的,首先它是认可Java语言的;其次,它对Java现有的JVM是抱有保留态度的;同时,也不排除它对自己技术进行保护。我们的程序人员,如果确实对一门语言很热爱,认为自己已经对它掌握得无所不能了,何不尝试使用这门语言构建它自身的运行环境,即搭建一个自己的平台呢?这个事情可以说,C做得到,Java做得到,C#同样做得到,甚至Javascript都做得到。

  9. 使用正确的语言去正确地完成任务是一个聪明的程序员的基本观点。毕竟每个语言都有其擅长的和不擅长(甚至不能)完成的任务,这就是为什么如今世界上有这么多种语言同时存在,而不是某种语言一统江湖的根本原因所在。

    要强迫所有人都承认某种语言是唯一的、压倒一切其他语言的“绝对优势语言”是根本不可能的。全世界的男人一起选自己心目中最美的女性,难道有谁相信结果会是同一个人吗?绝对不可能。人们热衷于比较语言的优劣很大程度上是个人偏好和感情因素在作祟,同时绝大多数时候还参杂了个人认识的偏见,还有对其它语言的不了解等等。

    如果你真的认为C++比C#和Java都好,那你不妨用它们都写点大东西,在保证自己对这三种语言都有深入认识的时候再回过头来看看自己还真的认为C++在任何方面都比后两者好吗?反过来也是如此,支持C#和Java的人中,除了少部分人,绝大多数人都缺乏对C++的深入认识和对底层机器平台的了解,这也导致了他们对C++片面的排除和否定。

    用好你的语言,尊重其他语言和其他语言的用户。这是我们唯一能做的事了。现在房价这么贵,东西又涨价,真不容易啊。

  10. 会C/C++,再看其他语言(除汇编外),跟玩是的。一边看语法,一边把程序写出来了。重要的不是语言,是系统的架构与规划,模型、模式的运行。 如果一个程序员还在比较语言孰优孰劣,基本上还是一个门外汉。
  11. 做低层开发,越精简高效的东西越好,因为存储,效率这些是瓶颈,汇编效率最高,但是理解起来困难,所以C是首选。 做应用开发,存储和效率其实都不是最关键的东西,相反,编程工具的易用性,提高开发效率,这些才是更看重的。比如使用C++做一个企业据库应用系统,可以想象是什么效果吗? java两方面做的都不好,想做一个大而全的东西,其实什么都没有做到位。
  12. 现在很少有高级语言能做到C的效率的,这就是C长青的基本保障。 JAVA运行需要JVM,PHP,ASP等需要脚本解释器,.NET需要中间语言转换(这个我不怎么清楚),C++ 需要更多的开销来实现复杂的对象关系,在很多的低配置的系统里面,只有1K的内存,16K的FLASH,这点资源,不说一个JVM,就连一个简单的解释器的很难放的下,在这样的环境下,你可以不选择C,但是你能选的就只有汇编了。因此,C虽然比较繁琐,功能不够强大(就是封装的不够高),没有很多现成的类库或对象支持,但是其用途却是具有不可替代性。可以说,很大程度上,C语言形成了其他语言的基础。如JVM的编写,脚本解释器的编写,高效率的算法库的编写等。其他的语言用起来之所以比较爽,比较方便,是因为其面向的已经不是计算机本身了,而是对象或者用户需要解决的事情,已经有很成熟的前人的框架在里面了,而这些框架往往需要为了一致性,或者通用性,或者说更好的结构,而牺牲效率。不过话又说回来,现在的电脑都有很NB了,速度很快,即使效率低下,但是,仍然可以满足用户需要,我想,这才是这些高级的语言能够盛行的根本原因。
  13. 在国外,学会c或者c++一种,足够了,可以一辈子做这个,“活到老用到老”,很多人其实并没有想要成为什么大师,顶尖人物。而仅仅是因为他们20,30年都在用一门语言做开发,而且没有后顾之忧,所以自然而然就成该领域的大师。 可惜在国内不行,项目的性质决定了大多数人只能做没有真正技术含量的那部分软件开发任务,而这些部分的工作又被各种各样的语言所瓜分。。。。所以,中国的程序员真苦命。同样这也是在中国的这种环境下,基本不可能出现软件领域的大师的根本原因。
  14. C语言不可能消亡,它对已经成为系统底层开发的一种标准和习惯了,底层程序要的是性能和稳定性,而不是架构. 这点C谁也代替不了.
  15. 我觉得java已经不仅仅是一门语言了,他已经成为了一个平台(platform),这才是java的真正意义和归宿所在。也许以后没有人会再用java的语法写程序了,但是不管你是用Python、Groovy或是Ruby,他们都运行在JVM上,并且这个JVM有IBM、甲骨文、Google这样的公司支持(是不是很强大呀!)。
  16. 不管语言之间如何排行,我们关键是能够找到一门自己能够用起来得心应手,可以帮我们解决问题的语言就好,毕竟适合自己的才是最好的,语言只是个工具罢了,语言之间固然会有各自的优势,那我们就做自我选择了,比如,我们出门,近的地方,我们可以选择打的,而比较远的可以火车,或者飞机。工具毕竟是工具,关键是在我们的手里能不能解决我们对迫切的问题才是王道。生存就是真理,既然能够在众多的语言中名列前茅,足以证明它的普遍重要性,就算在这里争个排名有什么实在的意义嘛?
  17. 语言只是工具,用刀能杀人,用枪也能,只是用在不同的地方,效率不一样罢了。 争这么排行有意思吗?有很多语言只有很少数人会,不是照样没有消失嘛~只是用在很有限的地方罢了,如果你是这类人,估计薪水低不了。
  18. 看看招聘的都要求什么,就知道什么有用了,其它都是虚的。

关于 Java 与 .Net 之争

  1. .Net 平台=windows 平台,你连这个都没搞清楚,还敢发表言论? 现在有多少服务器是 windows 的? 真是物质这五位 !
  2. 真不知道楼主写这篇文章的时候是否仔细考虑过。 SUN虽然是Java的发源地,但并不是Java的全部。Java是社区化的。 Oracle虽然目前没有好好发展SUN,但并不意味着Oracle会对Java怎么样。因为Oracle大量的产品依赖于Java。 Oracle现在缺什么? 一个操作系统, 一种可以用于开发的各种软件的高级语言, 一个足够开放的,可以涵盖目前Oracle绝大部分产品的云平台, 收购SUN,让Oracle获得了前面两者,后者正是Oracle目前需要去做的。 因此SUN的大举裁员是必然的,Oracle不需要SUN的服务器系统,因为SUN的服务器系统不足以开发一个云平台。Oracle要么继续收购其它的公司,要么自己开发一套。 MySql只是暂时的放慢了脚步,这完全是因为MySql的市场定位不明确导致的,并非Oracle的问题,即使Oracle不拥有MySql,MySql的发展也必然会慢下来,直到MySql重新在市场上找到自己的合适的位置。
  3. 幼稚,完全不了解JAVA。真是个杯具。 SUN在JAVA上根本就没赚什么钱,倒是一直就没什么控制力, IBM ORACLE BEA等在JAVA上才赚的钱多,这些公司几乎垄断了企业级应用市场,MS再强大能干得过?MS的强项在于桌面而已,没见几个企业级产品是用MS的产品做的。要是干得过,SQL SERVER早就进入工业化数据库市场了,还是现在这样要死不活的? JAVA语言现在早就不是SUN来维持了,SUN不过扮演的是社区召集人和大管家的角色,真正干活的主角是社区(JCP)和IBM那些大佬,不然IBM BEA等怎么能够推出自己的JDK呢?也就是编译器和运行库,还有openjdk,如果SUN真的是控制了JAVA,IBM他们是搞不起来JDK的。反观MS,就是一家公司负责编译器和运行库,如果MS倒下,你们用谁的编译器去?跟着MS一起去死!但是JAVA则不同,没有了SUN的JDK,我们还可以有IBM BEA的编译器和运行库,还有公开的OpenJDK!照样干活吃饭。大佬会根据社区以及整体形势来决定做什么怎么做,不像傻不垃圾的MS,做什么都是自己干,累啊!不知道协作么? 也就是 JAVA语言 现在仅仅是个规范,由IBM BEA那些大佬来负责具体的执行的(生产编译器和运行库),你没看JAVA的真正主人,JCP 里有投票权的是哪些角色么?IBM,BEA,ORACLE....都是大佬,SUN可以倒下,IBM那些大佬会一起倒下?MS就算个屁!工业化市场根本就没MS份。 SUN已非JAVA的真正主人了!JAVA已经被交给了社区,交给了更多的人来维护发展!
  4. 你自己都说不做JAVA,怎么能说JAVA穷途末路呢? 我两者都会,很清楚彼此的差距。 差距在于,工业级应用上,需要的是稳定可靠,IBM BEA等大佬都已经通过产品竞争足够证实了产品的可靠性和稳定性,而且可以低成本转换服务公司,比如从IBM赚到BEA或者ORACLE。但是如果是用的MS呢?死路一条!.NET转到JAVA呢?
  5. 作为大型企业来说,首要考虑的是赚钱和持续赚钱的能力,他需要IT方面的投入的安全评估,需要的是稳定可靠的产品,MS的产品黏性太强了,用了MS的产品,比如.NET+SQL 2005,就只能在.NET平台左右腾挪,如果爆出漏洞,怎么办?等MS的解决方案,如果MS跟不上,怎么办?等死! 但是用JAVA平台的,SUN的JDK爆漏洞,我可以很容器就切换到OPENJDK去,或者其他的平台,.NET能做到吗?相比来说,用.NET就是等死,没有那个大型公司会用这种一旦崩溃只能束手无策的产品! 开公司不是学技术,是要赚钱的,首要考虑的是赚钱!不是让你学,如果.NET哪天足够开放稳定,甚至超越JAVA,那么,我想会有很多公司很自然的选择.NET,但是现在,NO!STOP!要我把公司的核心业务都架构在不透明的产品上就是等死!因为透明的产品,可以通过协作来解决,而MS的产品都不够透明!所以,只能等着MS的黑箱帮你操作! 懂否?语言不是问题,平台不是问题!稳定,开放,成熟,才是问题!
  6. 看了评论。没有人考虑JAVA倒下,仅仅是说的分裂! 更没有人会联想到.NET,所以.NET依然不足以提到JAVA的面前谈,.NET在JAVA面前狗屁都不是(这话是专门打击你们的,而且也是事实,如果算个狗屁的,IBM 怎么不用.NET做产品了?). 也就是,JAVA倒下,在JAVA人心目中,根本就不会有很大影响。起码不会影响到选择其他的语言学习! 语言是想通的,都是用来解决问题的。居然还有点幸灾乐祸的感觉了。莫名其妙。
  7. 正好相反,我放弃了Net,因为搞这个的人太多了,究争大,以后连小孩都会Net你这帮家伙只能拿几百元的工资 我现在转C++和Delphi了,不是因为它搞的人少,是因为C++和Delphi功能真的很强大,是Net程序的好多好多倍
  8. 在技术上我不认为微软不如以前的sun。 java不就是跨平台吗,现在在语言特性,掌握难易程度、普及趋势上.net都已经强与java,唯独在跨平台性上,不如java.其它的什么安全性什么这个那个啊.都被.net模仿成功并逐渐超越。 作为一个.net开发者,我想见证.net的辉煌。
  9. 纯属搞笑吧,Java是否倒下,不是Sun和Oracle能决定的。
  10. 你拿几百块的工资是因为你能力和小孩一样差,而不是因为你用.Net
  11. 又是语言之争, 以前也一直关注语言,但是随着项目经验的增加,发现所有语言都是相通的,每种语言都自己的优势,也有自己的劣势,关键看用的场合,在一个大型的企业应用中,往往是同时应用几种不同的语言,c++或c做底层,java或.net做企业应用等等,有时候前台你还需要dephi开发的Activex控件,所以语言只是一种工具而已,关键还是怎样更好,更快速的去适应企业的需求才是重点。
  12. Android SDK仅提供了Java语言的开发包,但和Sun Java Micro Editon不兼容,需要使用Google Dalvik虚拟机可以识别的Java语言 可以看出,Android的确是使用Java语言,但不是Java平台啊老大.不过这是好事,Java语言终于回到正道了,就是做它一开始创建时候的目标,嵌入式平台,移动平台的开发. 很难相信,现在Java平台做企业管理,网站方面开发的人,将来会用Android平台来开发企业应用及网站,当然我也希望Google能把Android平台做得这么强悍!
随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们