编程语言的选择

 一组良好搭配的编程语言可以使得程序员在日常工作中面对各种问题游刃有余。

(1)应该精通一门正统的、具有良好类库支持的面向对象语言

C++,运行速度快,功能强大,类库需要手动选择,编译型跨平台
JAVA,运行速度缓慢,需要虚拟机环境,完全跨平台,类库丰富,功能中庸,无法进行底层的高级操作
C#,运行速度中等,需要虚拟机环境,即将跨平台,类库丰富,功能与略比JAVA多,主要是能与操作系统底层交互

OOC 

C#和java上手快、开发速度快,C++效率高、可处理底层,C则更甚。

C++和C面向操作系统编程;C#和java面向Internet平台编程。

 

(1)XML

 

(2)可以根据实际的需要掌握一种或几种脚本语言

 

 

(3)最后是你工作中不得不用的行业编程语言。例如matlab。

 

初步选择:C#/XML

 

程序语言就是在不断抽象:从汇编、C、C++, 再到Java、C#,再到更动态一点的语言如Perl、Python、Ruby 等等。不管它再怎么变、再怎么抽象,还是编译原理应用的产物。

 

■《C++编程思想》

■《深入浅出MFC》

■《Windows 核心编程》

■《数据结构》《编译原理》

 

 

 

COM只是Win32下的一种组件设计、实现技术。

跟着微软混,就往.NET走

跟着IBM混,就往Java走

想独立,就跟开源混,走C/C++

 

说语言重要因为,语言还不会,当语言会了之后,感觉算法重要,于是去看看数据结构,以为自己会了算法了,最后一看人家都给你做了,而且很好用,所以数据结构也不是特别重要了(可以暂时不理了),于是乎感觉比较难懂的是操作系统,这个黑盒子怎么运行的呢,不知道,我们的程序怎样和它配合呢.于是我们找了好多的高级编程的书来读,什么多线程,多进程,线程同步,独占...,好了以为自己是高手了,然后某一天,你要用到别人的东西的时候,发现这个东西运行在其他的平台,那个平台怎么回事?我们焦头烂额了,没办法还要学.研究 编译器 比如 VC 和 gcc 和 标准的C++ 编译器的差别,还有标准 ISO89 ISO99 ...大家看到了java 看到了.net 大家乐了。我们不用学那么多东西了,因为虚拟机都给大家做好了。库也有了,我们需要做的就只有业务了。我们成为高手了么?我们遇到问题怎么办呢?我们的调试水平还停留在 输出异常的水平上吧。大家都变得一样了。于是大家在这里讨论 .net 和java ........................................”

 

呵呵,何必去反驳呢?

每个语言,每个工具的存在都有其理由,微软的梦想就是让所有的事情越来越简单,越来越傻瓜化,而.net就是它在向这个方向迈出的一大步,我们不可否认.net平台大大的提高了生产效率,但同时,它也让越来越多的程序员变成了名副其实的代码工人。

封装的越多,我们离底层就越远,这样下去,终有一天大部分的代码工人的会被智能电脑所代替,而剩下的那部分程序员将会是金字塔上最顶部的那些所谓了解内幕的人们。

因此,我认为一个开发人员应当打好基础,拓宽知识面,不要让语言牵着你的鼻子走,而要跳出工具的包围,站在更高的地方鸟瞰和展望这复杂的IT生态环境

 

可以适当了解COM的思想,比如:IUNKNOWN,接口不变性,类工厂。(豆子说这是COM最重要的3点)

 

 

参考链接:

(1)http://hi.baidu.com/jiangjiepu/blog/item/7be608f7e29a0f21730eecf5.html

(2)http://zhidao.baidu.com/question/84703051.html

(3)http://topic.csdn.net/u/20090228/11/d3531ad5-4c51-4e68-a5f9-de21fa3dab0e.html?seed=1329071044

(4)http://www.hackbase.com/tech/2008-10-26/42060.html

(5)http://industry.ccidnet.com/art/1077/20050912/695557_1.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值