共计 5583 个字符,预计需要花费 14 分钟才能阅读完成。
看到一篇关于选择编程未来的方向的文章,讲的还有些内容,进入软件这一行业,起初选择一门语言是很重要,也是关系着以后的发展的方向,可语言真就是那么重要吗?在这个行业待的久的人,肯定会说,是未必吧!
一门语言的出现,总有他的存在的价值、发展的目的和适用的范围,经典、适用于市场的语言才会留下来,就比如最近 eclipse 推出的新语言 Xtend,是以己之长补 Java 之短,精简代码,无类型,改进可读和维护,我没有深入研究过,我就是有些可笑,这门语言仅仅是补充了 Java 之短,但是市场有没有带来什么利益呢?没有市场的驱动,能存活多久。
再说 Java 和 C#,Java 号称垮平台,难道 C#就不行吗?Java 的跨平台,了解的肯定知道,Java 是运行在自己的 Jvm 中的,并不是运行在自有的系统平台的,而 C#依靠自有的系统平台,如果 C#加入类似 Java 的一个中间层,难道就不能跨平台吗?况且现在,已经有 C# 跨平台的实现了。
编程未来的方向,如果未来仅仅就是做编程,仅仅就是写代码,做一个码农机器人,也仅仅在一门语言上面发展,ok,那么要么就是个真正的码农机器人,或者去研究院,做一个这门语言的语言专家,再说,语言专家也要很了解其他语言的。
选择未来的编程方向,不能说什么选对了,什么选错了,这么问,明显是误导人的。选择的结果,只要适合和不适合,就比如我们做开发,有的技术适用于目前的环境,可就不一定适应于其他的环境。
选择一门自己入手的,或者感兴趣,钻研熟练的掌握他,这个自己的本钱,也是有能力学习其他知识的课本,根据市场和实际情况的需要,学习掌握需要的知识。
多说一句,未来的事情,谁说的清呢?
原文网址:
http://blog.csdn.net/lin_lujian/article/details/6941633
编程未来的方向,你选什么,你选对了吗?
为什么会有 Java,为什么会有.NET? 有人说,Java 是为了跨 Windows 和 UNIX 而产生的。是这样吗?Sun 有? 自己的操作系统 solaris,并且打的是高端市场,而 Java 发展早期阶段,? Windows 还主要定位在中小型企业,并没有打算与 Sun 一争高端客户。? 而且 Sun 的用户大部分都是大型企业级,而 Windows 定位在家庭消费? 用户,由于 Windows 已经成为桌面 OS 的事实标准,Sun 根本无意抢夺? Windows 的地盘,而且 Sun 有自己的操作系统,扩大自己产品销售才是? 第一。但是 UNIX 一直是个混乱的世界, 各种 UNIX 版本在并存, 你为这种? UNIX 开发的应用, 却很难在另一种 UNIX 上跑通. 应用的阻塞影响了 UNIX? 市场需求的扩大, 就象没有 SQL Server, 没有 OFFICE, 没有 Windows 游戏,? 和 Windows 上的开发工具, 就算你的操作系统做的再漂亮再容易我们也会扔掉 Windows. 为什么? 因为没用, 我买回来一个大铁家伙, 我什么也做不了.Sun 就出于这种考虑, 所以才有 VM 的想法, 否则谁傻了, 做个又慢又麻烦的 VM. 所以说 Java 的产生, 只是为了跨 UNIX 平台. 当然能跨 Windows, 吃定 Windows, 那岂不是更好, 呵呵呵,Sun 为自己的妙招而没事偷着乐
那为什么会有.NET 呢? 可是 Windows 就一个呀, 它也要跨平台? 而且微软已经把 CLI 提交给标准委员会, 看来是真要跨了? 真的吗? 从外表来看,Windows 确实是一个. 但是从技术角度看,Windows3,? Windows95,Windows2000 是截然不同的三种架构. 在中国, 大家对新技术的追求比较热衷, 所以说一个企业中这三种操作系统并存互连的可能性不怎么大. 但是老外是精打细算, 不见兔子不撒鹰, 所以你在国外企业运行很老的系统也不要见怪. 微软为了同时维护这几种操作系统也是煞费苦心, 而且由于技术是各个时期形成的, 有的技术由于历史发展原因有明显的缺陷, 也无能为力修改了, 而且为了功能更强大,API 海洋,DLL 黑洞,ACTIVEX,OLE,COM,DCOM,COM+, 各种技术交叉, 唉, 其中苦谁了解
所以跨 WINDWOS 平台是微软制造.NET 的一个原因, 这样给你一个抽象的统一的平台后把你摆平后, 他再着手修改他的底层, 省得一天人们叫着 Windows 不安全,Windows 不稳定. 当然从 J2EE 的火热场面来看, 拉去了很大一批 Windows 平台上的 C ++ 程序员. 失去了应用开发的源头, 那还有什么发展? 如何拉回这批程序员让他们继续为 Windows 开发当然也是.NET 的原因之一, 这就是为什么.NET 从架构到开发语言都与 Java 极其相似的原因, 就是吸引你平滑的再回到微软的世界中, 如果跨度大了, 程序员就有了迟疑. 唉, 如果没有 Java, 如今的 C# 也不会是如今这样, 原本它会更好, 我想 ANDERS 一定心中很郁闷, 但是商业是不以个人意志为转移的. 而且现在已经不是桌面为王的时代了, 现在是互连网的时代,Java 是第一个有强大开发 WEB 应用的完整体系, 而当时微软的技术还是七拼八凑, 只是互连网一下到来微软刚醒过神来仓促应战的结果, 当然无法与 J2EE 媲美. 想在互连网时代也分一杯羹, 必须也有一个完整的体系, 于是.NET 就产生了
我们已经有了 Web Service, 我们还需要.NET 吗
其实技术发展到如今的应用集成时代, 用户的需求就是把现在各种平台上的应用集成起来. 集成的方法有很多种, 当然跨平台也是一种. 不过最省力的还算是 WEB SERVICE. 因为现在已经是组件应用的天下. 各种 COM,EJB,CORBA 成为快速组装企业应用的主流技术. 组件是位于操作系统, 数据库, 网络之上的技术, 站在组件的层面上, 下面用什么技术已经无所谓了, 因为已经被组件屏蔽了. 如果我们能把我们的组件互连起来, 不也可以集成吗? 应该怎么做? 这几项技术都分属于不同公司, 想联合真不大容易. 这时就要找到每个体系公共的东西, 用公共的东西把他们连在一起不就行了. 找呀找, 终于发现, 是 TCP/IP. 随即几大公司都发现了突破口, 需要快速占领先机. 由于 Sun 一直在 Java 发展的问题上给了 IBM 很大的阻塞, 所以 IBM 宁愿先和微软联合做, 如果微软有什么不轨之心, 就放出 Sun, 让他们互相咬, 然后在适当的时机出来装出老大的样子摆平他们, 给他们俩制定一个适合自己发展的竞争协议. 我们已经可以互连了, 我们干吗要.NET. 我们的问题已经解决了, 我干吗花钱再投资呢? 经济本来已经很不景气了. 但是, 但是, 就是这该死的但是…微软看来已经决定不在现有基础上增强 ASP 和 COM+ 了, 现在是互连时代, 也是组件时代, 两大要命的地方我都不升级了, 你自己看着办, 我可没逼着你买
和 Java 在中国哪个更有前途
这个问题好象已经不用再争了. 中国 90% 的用户是 Windows 用户, 保护现有投资, 使用很习惯很易用不用重新学习, 我又不用跨平台, 我干吗要换 Java 呢. 过去是微软没有提供很强大的 WEB 开发解决方案, 现在提供了, 我干吗要用 Java. 而且. Net 比 Java 出的迟, 肯定会吸收 Java 的优点, 弥补 Java 的缺点. 而且微软的 VM 肯定和 Windows 结合的很好, 性能不用担心. 我干吗用 Java? 而且微软显然把宝已经压到了.NET 上, 你难道还要在? .NET 的 VM 上再加一层 Java 的 VM?.NET 有什么新的亮点? 当然是 ASP,ADO 和 COM+, 还有清晰的架构, 并且由于统一的类库,WEB,GUI,MOBILE 而开发的应用会很容易的转来转去, 不象过去开发, 各需要学习不同的知识.ASP 终于结束了网页意大利面条式的程序, 面向对象和支持多种语言, 使构筑强大复杂的 WEB 应用提供了比 JSP 更凶猛的功能, 让人不得不爱.ADO.NET 也抛弃了过去的数据集一 Scroll 就连数据库进行提交的糟糕速度, 代而取之的是多条修改可以一次性提交上去. 这样性能会提高很多.COM+ 呢?COM+1.5 的特性大家在 WINXP 上也看见了, 比 1.0 强了很多, 未来还不用注册, COPY 完就能用, 多舒服. 至于安全嘛, 稳定嘛, 这话不敢讲. 因为盗亦有道,Java 也同样如此, 无法说谁比谁好
真的会跨平台吗
微软的命根子是操作系统, 微软此次出.NET 也是为了打入高端市场. 怎么打入? 微软第一已经在用 C# 收买 Java 程序员了, 并且做 Java 和 C# 的映射工具, 先断了 Java 应用的前途, 后面用 CLI 提交给标准委员会, 让别人开发 UNIX 上的平台, 微软不在正面和 UNIX 阵营冲突, 以免犯众怒. 当 UNIX 和 Windows 的 CLI 都有了时候, 基于 CLI 的应用可就两个系统都能用了, 这会帮助微软销售多少其他产品呀. 这不, 微软在支持着好几个 Open Source 社团在开发 UNIX 的 CLI. 跨平台的事微软不会轻易干的, 否则微软的命根子怎么办
真的支持多种语言吗
开发更多的基于.NET 的应用, 让.NET 快速成长起来. 第二.NET 是一次比较大的革新, 广大的各类程序员能否跟的上也是个问题. 多语言的支持当然会, 但是不会支持的很好, 否则微软大力做 C#干吗呀, 如果别的语言和 C#一样好, 那微软还混什么混呀. 最糟糕了, 也要其他语言的技术比 C# 慢半拍. 不过先走也未必领先, 就象 DELPHI 就后来居上, 这么大的市场, 微软是不可能通吃的
我们需要转到.NET 上吗
你可以不转. 就看你需要不需要 INTERNET 了. 我想在未来, 没有企业会说 INTERNET 对我没有一点作用. 现有应用能否平滑过渡呢? 在这个问题上可以看一下微软的历史. 微软在做完 WINNT4 的时候其实已经在策划现在的 WIN2000, 但是为什么在 WIN95 后有 WIN98,WINME,WINXP, 不是他当时做不了那样的技术, 而是必须引导着客户一步步走, 要追随客户, 走的太快, 就会丢失客户. 在这个重大的转折点, 微软也会如此. 而且在现在的 Windows.NET 上, 你运行现在的程序一样没问题, 速度依旧, 操作方式也依旧, 因为他使用了两种手段来区别对待这两种应用程序
什么时候转
如果你需要抢占市场先机, 现在转正好, 因为能支持 ASP.NET,ADO.NET 开发的 VSS.NET 已经推出快一年了, 就是有能力欠缺的问题, 第二版的出来也不会太晚了. 不过话在前头, 确实在实际的开发中,Vss.NET 确实有些做不了的事情, 不要看他好象什么都有, 这就跟微软当年宣布 COM 有池化的功能一样, 仅有一个外壳. 这是微软的策略, 跟不跟着走, 你自己看. 稳健型的公司建议在第二版出来后应用, 因为微软的产品一向在第三版才会好用
作为开发商, 跟随.NET 的难点是什么
难点难就在, 过去我们的开发方式, 拖一些控件, 连个数据库, 更新或 SELECT 一些数据. 再深一些就是消息, 或者是一些不常用的 API. 记住:.NET 是微软进攻高端市场的第一步, 现在的微软不是我们过去熟悉的微软,Vss.NET 的一推出, 就是强烈给人一种这样的感受: 从建模到开发到测试到发布, 全套企业级的工具都无缝相接, 而且处处体现着 OO 和设计模式, 在宣传中也频繁提到, 昭示着这个工具是为大型应用开发而定制的. 所以宝刀也需有能力的人才能拿的动, 否则只能砸了自己的脚. 对于现在的 Java 开发工具也是如此, 好象全世界一下都没有了小型企业一样. 我们是否具备了优秀的设计师, 建模师,OOP 的程序员, 我们是否有一整套流畅的开发流程来支持全程建模, 我们都需要深思. 在微软的.NET 的各种培训上, 培训师也是反复强调分析设计, 大型项目管理, 自动化工具的支持, 你做好准备了吗
题外话:Sun 在微软拆分问题上输了吗
微软的案子打了这么多年, 居然庭外和解.Sun 确实挺郁闷. 不过 Sun 并没有输. 为什么这么说呢? 依毛主席的话说就是: 敌进我退, 敌疲我扰. 确实微软在. NET 的发展上受了很多牵绊, 否则也不会到如今才推出来个框架. 在硅谷, 时间就是机会, 时间就是金钱, 谁前进的快谁就能占先机, 显然 Sun 并不是最痛苦的一个
的未来
依 Windows 的用户量和微软进攻高端企业应用的决只是呆板的图形, 不能全方位的表现网络的传输技术, 使应用进步更加依赖硬件而不是软件, 微软亚洲研究院为什么在做哪些研究, 就是因为他们不断在思考未来是什么, 所以每一次技术的浪潮他们总在浪头. 当然未来还会有所改变, 但是他们会及时调整他们的战略, 但大方向不会错到哪去! 当技术不再是阻碍应用发展的主要因素, 比如宽带的来临, 这时候你想过没有, 在它上面, 该做些什么呢? 世界有多大, 你能看多远? 为什么在每次浪潮到来时你都无法预想到, 而感叹这世界变化如此之快
我对微软的发展的一些看法: 微软把.NET 扩展到高端市场和移动设备市场, 为.NET 开发的程序可以在基于.NET 的任何设备上都可以运行, 大家不需要为不同的设备用不同的工具开发应用, 应用极大的推动了基础软件的扩大, 就象 OFFICE,SQL Server 辅助扩大了 Windows 的销售一样. 未来的 XBOX 也会变成.NET 平台, 成为家庭连网的安全网关和交易网关和信息网关, 如果你觉得微软进入游戏业就是为了眼馋游戏这块利润, 那你就大错特错了, 这个皮毛根本不值得微软大动这么财力.PDA 和手机也和机顶盒一样嵌入.NET, 你打开电视, 你打电话, 你玩游戏, 你工作, 你上网, 你甚至打开冰箱, 你都不会知道在背后支撑的是.NET, 从高端服务器到你的手机, 全部是微软的软件这是一个伟大的设想, 如果微软能够兢兢业业的走, 凭这样的财力人力和管理和经营战略, 走 10 年, 实现的可能性非常大, 这不是以个人意志为转移的, 你说他倒他就会倒吗? 如果会成功, 当然微软会成为人类历史上最伟大的公司, 赚取的财富已经不能再提, 最关键的问题是: 我们全人类的生活和工作被一个私人的商业公司所控制着. 只是到那个恐怖的地步, 你是否有勇气和能力把他拆分. 因为他足以触及到你的生活和工作, 社会的经济, 政治活动, 甚至军事, 任何的动作都足以引起社会的大地震. 你认为他有什么理由完不成这些梦想吗