上海岳城科技快速学习新技术的几条建议

面对现在更新迅速的新技术,如何快速掌握,以满足工作的需要,是大部分开发者所面临的问题之一。它或许影响着你未来职业生涯的发展。 Hanneli Tavante近日在Our Daily Codes网站上发表了一篇文章《Tips for learning a new programming language (when you already know one)》,正是针对该问题展开。开发者或许可以从该文中找到问题的解决之道。下面为该文的译文。

  当开发者们开始一个新项目,或者想转变成一个新的团队,往往需要学习新的语言、工具和框架。

  我有一些同事,因不得不用他们不太了解的技术工作而备受煎熬。他们表示这样做很没安全感,也不可能掌握新工具的所有详细信息。经过多年的软件开发,我所了解的重要一点是,你不需要100%的了解所有语言和框架。在小项目中,你可能会用到一些特殊的技术,而这些在你的一生中仅可能用这么一两次,你也不可能因为狂爱该技术而钻研它的全部内容。所以在这种情况下,你只需要了解工作中所必须的那部分技术即可。

  我并不是说你不需要深入了解任何技术。我认为你应该精通两、三种语言,对其他语言基本掌握即可,尤其是你工作环境经常变化的情况下。当你不得不学习新的语言,以按时完成工作时,你首先需要打开思维学习“基本的部分”,不要学习该技术的100%。你不需要成为所有技术的专家!而且,通常当你已经很好地掌握两、三种语言后,就可以很容易掌握新语言的基本技术。

  有些人曾问我:“有没有快速学习新语言的方法?”。以我看来,并没有万能公式,但我通常会按以下简单步骤来学习任何语言中的基本技术。

  基本上,我首先要做得是安装该语言所需的最简单运行环境。例如,在Mac上用Ruby编程,我将下载安装程序,并通过IRB在终端上使用Ruby。这是使用该语言的最简单方法。下一步要做的是,编写一些基本的程序——创建并打印变量、创建并调用函数。该过程上是十分重要,它们可以帮助你熟悉语言的结构。假如你所学的语言遵循面对对象(Object Oriented,OO)原则,接下来你可以采用以下步骤:

  正如你所看见的,这些步骤运用到一些基本的面向对象原则——创建一个类、添加属性与方法、创建对象。我们还可以利用TDD(测试驱动开发)对该过程进行改进——提前写好测试代码可以帮助我们更快地学习和记住新的语言。所以有了下面的学习过程。

  基本上,在应用OO技术之前,先写测试代码,观察未通过测试部分(红色显示),编写最简单的程序,观察通过测试的部分(绿色显示),在OO原则的基础上对代码进行重构以获得更完美的代码。

 (注:我通常采用这样的测试驱动开发原则:编写测试代码—>观察红色显示部分—>作出最简单修改,使红色部分转变为绿色—>进行重构。)

  接下来是学习类和对象之间的关系、继承、多态性及其他OO原则。以我个人来言,上述步骤十分有效。当然,如果我使用某些函数式编程语言,那针对OO的步骤也就无法使用了。此外,结对编程也不错。当你正尝试学习某种语言,找一个简单的问题,如Fizz buzz,和一个对该语言有经验的开发者通过结对编程实现它。

  如果你确实喜欢某种新语言,那可以考虑继续深入学习。如果并不喜欢它,至少你可以利用它完成工作。

时间: 2024-10-22 22:25:57

上海岳城科技快速学习新技术的几条建议的相关文章

上海岳城科技Web开发者必知的10个职业常识

上海岳城科技在哪里?众所周知,Web开发行业的持续发展和需求的不断变化给开发人员提出了新的要求与挑战.就网站而言,用户期望网站内容能更加丰富多彩.页面更加美观并且能提供良好的用户体验.如果Web开发人员一直止步不前,那终将会被淘汰. 站的高看到远,希望下面这十条能帮助你在开发这条道路上走的更远. 树立好印象 无论在何种场合,好的印象往往能使人记忆深刻.作为开发人员,忠于自己很重要,但与客户交流过程中,切勿向客户表达一些不切实际的想法或提出一些过分的要求,有时候一个坏印象就会流失很多订单甚至会给你

上海岳城科技致那些自嘲码农的苦逼程序员

好吧你可以说这是水文. 今天下午和经理聊了一些关于软件行业的话题,这两天晚上都有朋友向我倾诉程序员的茫然和苦楚,我觉得有些想法可以记录下来.时光佐证,其实我好久没写发骚的文字了,就啰嗦啰嗦.我不算一个梦想家,但是对于信念还比较固执.人各有志,赚钱多多的钱,没有什么不好.但是我希望赚钱能真正作为一项副产品,把自己希望的事情,当做一项事业去做. 互联网环境恶劣.软件环境恶劣,来到北京工作数个月,我有一些未曾体味到的感触.多少人都在议论吃青春饭的职业,多少人在自嘲重复劳动.苦逼工作,多少人在听到"程序

英语对于软件开发者来说到底有多重要?上海岳城科技来告诉你

英语是世界上最广泛使用的第二语言,是欧盟和许多国际组织与英联邦国家的官方语言之一.如今英语也是与电脑联系最密切的语言,大多数编程语言都与英语有联系.而且随着网络的使用,使英文的使用更普及.那么作为新时代的软件开发者,到底需不需要掌握英语呢?掌握英语对软件开发工作又有哪些好处呢?下面我们一起来看看过来人是怎么说的! 流行的英语编程语言 英语在软件行业.编程世界里都占有压倒性的优势,它能够帮助人们在关键词和代码库的选择上带来灵感.根据HOPL编程语言在线数据库的统计,全球有8500种以上的编程语言,

上海岳城科技告诉你成功者不断成功的十大非技术性理由

无论是四年一度的奥运会,还是每天都在上演的商业竞争,成功带来的优势,使成功者更容易保持其优势地位. 为揭示持续取得成功的秘诀,我在专业和业余体育运动员中选取样本,将成功者同失败者相比较,然后将结论同我的著作<信心>中商业案例的研究成果相对比.我选取了广泛的体育赛事组合,包括女子足球,男子和女子大学篮球,职业棒球大联盟,美式橄榄球,国际板球,和北美冰球等. 我发现,成功可以给成功者带来10大优势,并且引领他们不断取得成功.聪明的领导者应当培养和建立这些优势,以便在未来赢得成功. 1.积极的心态.

上海岳城科技web开发人员职业发展的11个阶段

今天我们带来的是一篇有趣的关于web开发人员职业发展11个不同阶段的文章. web开发人员是个有着许多阶段,非常有趣并且拥有挑战的一个职业.考虑到这陡峭的学习曲线,你可以完全预期到你将经历挫折,启蒙,自以为是以及在这些心态之间的转变.在这篇文章中,我们通过一系列超犀利的动画视角来看看这些阶段,相信这将非常有趣. 阶段一 菜鸟 在职业初期,我们总会有温热感,这段时期你对自己在做什么绝对是毫无头绪.就像是离了水的鱼,每一行代码都是一个谜.DOCTYPE?哈?见鬼的<div>是做什么的?第一个阶段是

上海岳城科技一个简单的Ajax请求例子

Ajax不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术.通过Ajax,您可以使用 JavaScript的XMLHttpRequest对象来直接与服务器进行通信.您可以在不重载页面的情况与 Web 服务器交换数据.在本文的例子中,我们将演示当用户向一个标准的HTML表单中输入数据时网页如何与web服务器进行通信. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo

程序员学习新技术的 10 个建议~

1.克服惯性 万事开头难,克服惯性是学习新技术的第一步.举个日常生活中惯性存在的简单例子,当我们看电视的时候会因为遥控器不在身边而懒得换台.幸运的是有很多的小技巧可以调动我们的积极性,帮助我们克服惯性. 对于我来说,微习惯是一个很好用的小技巧.与其被手头的任务吓到,不如将任务细分为一个个具体的微任务,然后挑选其中的一个开始做起.通过完成一个个的微任务,你会发现自己克服了惯性,并且这项任务不再显得难以完成. 这个方法可以被应用到学习新技能的过程中.关键就是将大块任务细分为微任务. 2.关注大牛 学

React Native学习(1):怎么快速学习一门新技术

React Native学习方法论 这是我技术公众号的第一篇文章,也是ReactNative系列文章的第一篇,对我的文章感兴趣的可以加我微信16230091进行关注. 本文表面上讲React Native(以下简称RN),实际上对于学习任何语言和系统都适用. 对于新技术的学习,分为两种,一种是语言,类似Swift.Objective-C.Java.ES6,另一种是系统,比如Android.iOS.前端. 1. 语言层面,如果你精通某一门语言,那么是可以很快切换到另一门语言的.这就是语言的相通性.

MongoDB快速学习1

从我第一次听到Nosql这个概念到如今已经走过4个年头了,但仍然没有具体的去做过相应的实践.最近获得一段学习休息时间,购买了Nosql技术实践一书,正在慢慢的学习.在主流观点中,Nosql大体分为4类,键值存储数据库,列存储数据库,文档型数据库,图形数据库.今天主要快速的浏览了文档型数据库中目前市场占有率的最高的MongoDB数据库.记得初次见到和关注这个数据库还是我刚来上海的时候,公司将该数据库作为新建的项目管理系统的后台数据库,当时还是很向往的,只是无缘参与那个项目,也就一直没有和该数据库打