`
01robert
  • 浏览: 71924 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

当前最重要的十大开发技术

阅读更多
  The 10 Technologies that Will Help You Stay Employed Keeping up with key technologies is the best thing you can do to give yourself an edge in the employment market now—and in the future. Are you at least semi-proficient with all 10 of the technologies on our list?

by A. Russell Jones, Executive Editor


能跟上关键技术的发展,是你在就业市场和未来保持优势的最佳手段。你对我们列出的十门技术精通吗?哪怕是大略精通?



我不知道你的具体工作是什么。如果你是某冷门领域的专家而变得不可或缺,或者你们的公司十分稳固,以你现有的技术就足以安度你的职业生涯,那我不知道你是否有失业的危险。不管怎样,请你先不要急着寄出那些告诉我你们的公司对用VB3十分满意或你们除C以外永不用其它语言的信件,并保留起那些讲述.NET将如何把Java扫地出门、XML将如何取代关系型数据库、或你怎样能用汇编语言或C写任何软件而任何其它开发工具都不重要的信件。


现在,想象一下如果你像很多受裁员和公司倒闭影响的同行一样失去了工作,那将会怎样。如果你突然需要搬往它处该怎么办?如果你的公司突然做了技术转向又怎么办?
在目前的就业市场,经理们是根据当前和未来的开发需要招聘雇员。作为开发人员,你所掌握的知识是你找工作和保住工作的关键。你要了解技术的发展方向,跟上技术的变化,这一点十分重要,即使你永远不用再找开发方面的工作。
这里是我选出的当前最重要的十大开发技术,最重要的排在前面。看完本文后,请务必加入talk.editors.devx讨论组,提出你选出的十大技术。
1. XML



首先,你要了解XML。我不是说仅仅是XML规格本身,还包括一系列相关的基于XML的语言:最重要的是XHTML、XSLT、XSL、DTDs、XML Schema (XSD)、XPath、XQuery和SOAP。那些在过去5年内从未碰过键盘的人,可能不知道XML为何物。XML是一种文本文件,使用与HTML类似的标记。XML能定义一个树状结构,并能描述所含的数据。



XML最好的一点是既能存结构化数据也能存非结构化数据。它既能存贮和描述“规格的”(regular)表格数据,也能容纳和描述“粗糙的”(ragged)文件数据。


XHTML是现今写HTML的首选方法。因为它是形式完好(well formed)的XML,比起古老的、通常是畸形(malformed)的HTML文件,XHTML格式的文件更容易处理。


XSLT和XSL是用于把XML文件转成其它格式的语言。可转换的格式包括:文本文件、PDF文件、HTML、以逗号为分隔符的文件,或其它XML文件。
DTD和XML Schema描述XML文件所能包含的内容的类型,并让你“验证”XML文件内容的合理性,而不用写特殊代码以确保内容符合规则要求。


XPath和XQuery是用于从XML文件中抽取单个项目或一组项目的查询语言。XQuery扩展了XPath,因而更重要。XQuery与XML的关系正像SQL与关系数据库的关系。



SOAP是Web服务之间的一个标准通讯协议。尽管你不需要对SOAP标准一清二楚,你应该熟悉一般的schema和它的工作原理,以便能应用这门技术。


2. Web服务


Web服务是XML流行后的一个直接产物。因为你能用XML描述数据和物件,因为你能用schema确保XML文件内容的合理性,因为XML是基于文本的规范,XML为跨平台通讯标准提供了一个极其方便的基本格式。如果你还从来没碰到Web服务,你可能很快就会碰到,在未来5年内,你几乎肯定会碰到。熟悉 Web服务十分重要,因为它是目前所有跨不同机器、不同语言、不同平台和不同地点的通讯协议中最简单的一个。不管你需要与否,Web服务是迈向互用性的重要一步。


XML工作组主席John Bosak曾说XML“给Java一些事做”。实际上,Web服务让所有语言都有了一些事做。Web服务让在大型机上运行的COBOL应用软件能调用在手持设备上运行的Java应用程序、能让Java applet与.NET服务器交谈、能让微机软件与Web服务器无缝连接,并提供了一个相对容易的方法,让企业不光能向外界提供数据,还能提供功能,而且是一种与语言、平台和位置都独立的方法。


3. 面向对象的编程


很多程序员仍认为OOP是象牙塔里的技术。但如果你想一下是什么语言在过去的10年里占主导地位,你就会理解OOP不是象牙塔里的技术。OOP从 Smalltalk开始,传到C++和Pascal (Delphi)。Java使OOP大踏步地迈向主流,几年后的VB.NET和C#则完全确立了OOP的优势地位。尽管这些语言中的多数并不要求你必须会 OOP,但我觉得如果你不了解OOP的基本概念也不知道如何应用这些概念,你能找到的编程工作将越来越少。


4. Java、C++、C#和VB.NET


我把这些语言列在一起,并不是建议你成为每一种语言的专家。我的理由是:学习编程最有效的方法之一是看代码,而你能看到的大量的代码很可能不是用你所喜爱的语言编写的。


在过去几年,各语言的能力越来越接近。现在,你可以用VB.NET写Windows服务、Web应用程序或命令行程序。即使你只使用一种语言,你也应该学一些其它语言,以便能看懂那些样例,并将其翻译到你所用的语言。这4种语言是基本核心,还有其它一些满足不同需要、颇具用途的语言,如FORTRAN、 COBOL、APL、ADA、Perl和Lisp。


5. JavaScript


尽管名字有些相像,但Java与JavaScript并无关联。为什么一个脚本语言会如此重要呢?因为所有主流浏览器都用JavaScript。如果你需要写Web应用程序,你就有足够的理由学JavaScript。JavaScript可以用作ASP或ASP.NET的服务器语言,也可以当做用于扩展 XSLT的功能语言(functional language)。JavaScript是Mozilla/Netscape中用于激活基于XUL的程序接口的首选语言。JavaScript的一个变种ActionScript是Flash MX的编程语言。将来,JavaScript很可能成为新设备的编程语言,以及大型应用软件中的宏语言。


与JavaScript相对照的是VBScript。尽管Microsoft的软件对VBScript有良好的支持,但VBScript在未来的开发工作中很可能是一个糟糕的选择。就是Microsoft也倾向于用JavaScript(或Microsoft自己的变种:JScript)写客户端程序。在选择脚本语言时,请选择JavaScript。


6. 正则表达式(Regular Expressions)


查寻关系数据库可以用SQL,查询XML可以用XPath和XQuery,查询纯文本文件则可以用正则表达式。例如,你可以用一个命令从一个HTML文件中查找并删除所有的注释。各种开发语言内置的一些简单的文本查询功能,如"IndexOf"函数或VB中经典的"InStr"函数或"Like"操作符,根本不能与正则表达式相提并论。现在,各种主要的开发语言都提供使用正则表达式的途径。尽管正则表达式本身既难懂更难读(是回到早期计算机时代的一种倒退),但它却是一个功能强大而且未被充分利用的工具。


7. 设计模式


正像OOP通过把对象分类以简化编程一样,设计模式对一些普遍的对象之间的交互进行分类,并赋予一个恰当的名称。OOP用得越多,设计模式就越有用。一些最常用的模式的名称已经变成了软件开发领域共同使用的术语,所以要跟上信息的主流,你就要对设计模式有相当的理解。


8. Flash MX


如果你需要在客户端得到比HTML和CSS更多的图形和更强的编程功能,Flash是你的答案。用Flash编程比开发Java applets或写.NET代码要快得多,也容易得多。


在最新版本 (MX) 中,Flash不仅仅是画图和制造动画的工具,它已经成为一个编程功能强大的开发环境:能调用SOAP Web服务,也能调用远端服务器上的ColdFusion、Java或.NET程序。Flash无处不在。它的引擎存在于世界上大多数客户端计算机,包括手持设备、置顶盒、甚至是新的书写板电脑。所以使用Flash能大大扩展你的程序的应用范围。


9. Linux/Windows


熟悉Linux。在一台旧机器或新机器上安装Linux。下载图形用户界面,在其基础上写一些程序。安装Apache,写一个Web应用程序。这个世界不再仅仅是属于Windows,这种趋势可能还会持续下去。如果你是一名中坚的Linux开发人员,那就抛弃你对Windows的憎恶,看看你能否做一些 Windows编程。Windows能继续在台式电脑上称王是有其原因的,这不仅仅是因为Microsoft控制了这个市场。


没人知道你们公司会在什么时候决定从Linux转向Windows(或从Windows转向Linux),或者你想跳到一家用另一种平台的公司,或者你想出了开发一个杀手软件的好主意,所以你要争取拥有在不同操作系统上的编程经验。


10. SQL


尽管SQL不像本文讨论的其它技术那样新,而且SQL的重要性在未来10年内很可能降低,但它仍然是一项基本技能。很多开发人员还没有掌握这门技术,或掌握得不够,不足以有效率地使用它。不要依赖具有图形用户界面的SQL生成器替你做事情,你要自己手工地写查询命令,直到你熟悉基本的SQL语法为止。了解 SQL不仅能帮助你日后学习XQuery,你还有可能马上发现能简化或改进目前项目的方法。


培养好奇心


最后,(对,我意识到这是第11门技术),好奇心是你最重要的技能。要去尝试各种东西。新语言或新技术对你当前或将来的工作可能有用,也可能没用,但并不是你所学的每一件事都是为了工作。不要害怕失败,万事开头难,学新技术也是如此。大多数失败是因为人们希望太快地学到太多的东西。要对每一点进步感到满意,不要让时间(或缺乏时间)妨碍你。相反,你要安排时间留心、研究、试验新的开发技术和工具。


你可能永远也没有必要成为这些技术的专家,而且我的选择可能根本不适合你的特殊情况,但通过培养好奇心,你将会发现你应该了解的东西。


分享到:
评论

相关推荐

    计算机软件开发和应用领域十大关键技术解析.pdf

    第九,前端开发技术,如React、Vue.js和Angular,它们为构建交互式用户界面提供了强大的工具集,理解并熟练使用这些框架是现代Web开发者的必备技能。 最后,信息安全与数据隐私日益重要,了解基础的加密算法、网络...

    微软十大技术详解PPT

    其中,XML作为最重要的技术之一,不仅是一种数据描述语言,它的灵活性允许存储结构化和非结构化数据,广泛应用于数据交换、文档存储和Web服务。XML的相关技术,如XHTML、XSLT、XSL、DTDs、XML Schema、XPath、XQuery...

    就业前景最好的十大专业.pdf

    学习Android开发不仅能掌握移动应用的设计和开发技术,也容易找到与智能设备相关的工作。 2. Java编程专业:Java语言具有“一次编写,到处运行”的特性,并广泛应用于企业级应用、安卓应用开发以及大数据处理等多个...

    JAVA开发人员的十大戒律(TXT文件)

    选择最适合项目需求的技术栈,而不是盲目追求最新技术。例如,EJB(Enterprise JavaBeans)虽然强大,但并非所有场景都适合使用它。 #### 三、优化代码性能 代码性能直接影响到应用程序的响应速度和用户体验。避免...

    系统开发基础知识

    他们需要对业务需求有深刻理解,同时具备技术视野,能够制定出满足当前需求并适应未来变化的架构方案。架构师的工作包括选择合适的技术栈、定义系统模块、制定交互规范等,确保系统具有良好的可扩展性、可维护性和...

    社区服务类APP开发,必不可少的十大功能!借鉴.pdf

    社区服务类APP开发是当前数字化趋势下的重要方向,旨在提供便捷的生活服务,增强社区居民的生活体验。以下就是开发此类APP必不可少的十大核心功能: 1. 办事指南:该功能提供社区居民办理各类证照所需的指导,如...

    论工业软件的十大趋势

    工业软件的发展趋势是当前数字化转型大潮中的一个重要议题。随着数字技术的迅猛发展,尤其是工业互联网和5G技术的兴起,工业软件不再是单纯的工具,而是成为推动工业进步的关键力量。在这一过程中,工业软件自身正在...

    CAE技术应用面临的几大挑战

    CAE(Computer-Aided Engineering)技术是现代工程设计中不可或缺的一部分,它利用计算机模拟和分析来预测产品的性能和行为。...解决这些挑战,将有助于CAE技术更好地服务于产品开发,推动企业的技术创新。

    2022全球十大消费者趋势-2022.pdf

    报告标题:“2022全球十大消费者趋势-2022.pdf”揭示了当前全球消费者行为的变化和新兴趋势,这对我们理解市场动态、制定商业策略至关重要。报告涉及到的数据分析、大数据以及数据挖掘技术,是现代商业决策的核心...

    软件工程技术动态报告.doc

    随着信息化社会的不断发展,软件工程师已成为中国十大IT职场最受欢迎的职位之一。我国软件出口额达到215亿元,显示出软件产业的强大活力。国家对软件行业的扶持政策也促进了该领域的人才培养,为软件工程师提供了...

    借助基于AI的流程强化并购战略:电子企业应当秉持的十大原则精品报告2020.pdf

    在当前的商业环境中,电子企业的并购战略对于企业扩张、市场占领和技术革新至关重要。报告《借助基于AI的流程强化并购战略:电子企业应当秉持的十大原则精品报告2020》针对电子企业如何在并购中高效利用人工智能(AI...

    IT求职最受欢迎的十大技能

    ### IT求职最受欢迎的十大技能详解 #### 一、解决问题的能力 在日常生活与工作中,人们面临着各种各样的问题,这些问题往往需要综合性的解决方案。具备高效解决问题的能力,并能够迅速做出正确判断的人才,在当前...

    2020年度全球十大人工智能治理事件.pdf

    加州大学的研究人员开发出将大脑信号转化为文本数据的系统,引发了隐私保护的争议。这种技术的进步能够实现高精度的脑机接口,但同时也可能威胁到个人隐私。 再者,法律层面对AI生成作品的界定也是当前治理面临的...

    十大最酷机器人展示.pdf

    ### 十大最酷机器人展示知识点解析 #### 一、18.2秒解魔方机器人 - **特点**: 这款机器人被称为“机器人二号”,是世界上最快的解魔方机器人,能够在短短18.2秒内解开魔方,打破了吉尼斯世界纪录。 - **技术亮点**...

    未来就业前景最好的十大专业-就业前景好的专业排名.zip

    6. 生物医药工程:生物技术和医学的交叉领域,生物医药工程师致力于开发新药物、医疗设备和治疗方案,对改善人类健康有着重要作用。 7. 金融科技:金融与科技的融合产生了新的服务模式,如区块链、数字货币和智能投...

    世纪最伟大的十大算法PPT教案.pptx

    - 单纯形法通过不断移动当前解的顶点(单纯形的顶点)来逐步接近最优解,每次移动保证目标函数的改善,直到达到最优解。 - 此算法在优化理论和运筹学中具有重要地位,为决策支持提供了强大的工具。 3. **Krylov子...

    全球6G通信技术研发的现状及国内媒体新闻传播建议.pdf

    日本政府也制定了推动6G研发的综合战略,并将太赫兹技术列为“国家支柱技术十大重点战略目标”之首。日本总务省提出了5G技术研发综合战略草案,计划在五年内掌握6G关键技术。日本电信公司研发出的超高速芯片技术在太...

    十大受欢迎的AI模型.rar

    综上所述,这个压缩包文件提供了一个深入了解当前AI领域热门模型的窗口,无论是对于学术研究还是实际开发,都是宝贵的参考资料。通过深入学习和实践这些模型,我们可以更好地理解和利用AI的力量,推动技术的进一步...

Global site tag (gtag.js) - Google Analytics