微信号:we21cto

介绍:21CTO(21CTO.com)是中国项级技术专家的学习与服务平台.我们为CTO、技术总监、架构师等技术专家提供高质量的资讯、问答、活动等产品,同时与企业连接,提供技术咨询、研发、运维、技术支持、培训及人才招聘等服...

如何学习一门新的编程语言?

2017-10-03 22:38 21CTO

21CTO社区导读:在这篇文章中,一位开发者分享了他是如何去学习新编程语言的经历,并提供了他喜欢使用的三个练习,希望对大家有价值。



在过去的几年里,我持续学习了一些新的编程语言。包括JavaScript(还有一些框架,比如Angular,React,Meteor和Node.js),Kotlin,Python等。作为一名有经验的程序员,我一直在寻找一种快速学习的方法,让我可以以最快的方式学习新语言,新的语言让我感到很开心,更新自己的知识库,并且又有一个新的玩具来应用到工作中了。


我承认有时候做到也的确不易,有时候我也不知道该从哪儿开始。


我个人不太喜欢阅读初学者教程,因为那里面有太多面向小白的解释。像什么是变量,什么是布尔表达式。还有为什么从0到10开始循环,它会进行10次的循环。我要从里面阅读很多类似的内容,会浪费很多时间,直到看到我需要的语法部分。这确实是一件无聊的事情。


但是无奈的是,面向中高阶开发人员的教程实在不太多。我想根据实际真实场景,将开发经验开放出来的人员,没法通过写出一种有价值的文章吧,比如如何面向正式的API,提供真实有效的帮助。


在每个语言都遇到同样的问题后,我自己总结了一套有效的练习。


现在的我,对每一个需要学习的新语言,都是列出一个简短的列表,帮我能够正常的学习,这些练习会让我更快的了解新语言的语法。


以下是我练习题列表的一部分。它可能不完整,也有缺点。但是对于有经验的开发,下次尝试学习新语言时可以参考一下。



练习一:在屏幕上打印“Hello World”


是的。这其实更平静,无聊。但是我还是喜欢这个传统。


这个小小练习将帮助我们了解如下事项:


1、如何编译和运行程序

2、如何进行简单的输出

3、程序从新的一行到结束怎么搞

4、是否有特殊字符,比如需要逗号和分号?


当你在写程序时,可以尝试打印一些其它的内容,比如当前的日期,你的名字,年龄等等。反正有时候可能在这些简单的打印中学到更多的内容。


练习二:编写一个从用户的输入,计算圆半径的程序,输出圆的面积和周长。如果半径不正确,显示错误信息。


这道题将帮助我们了解:


1、如何处理用户输入。需要管道吗?

2、条件处理如何完成

3、简单的算术如何显示

4、怎样打印字符串和变量

5、程序中怎样的写常量


当你在写程序时,可以深度做更多的一些计算。计算平方根的方程式,生成一定范围内的随机数,也可以使用一些数学函数和任意数的浮点运算。


练习三:编写一个从用户输入的程序,打印数字中的偶数。


这是一个很棒的简单练习题,它将教我们处理循环和其它一些事儿:


1、如何在新语言中做比较计算

2、这个运算是否有取模运算符

3、怎样做循环处理,哪种最好


如何不写一个循环,就能确定每个数字的唯一性。也可以根据数字排序,这些会让我们的手习惯新语言的语法(有时可能是一个语法怪物)。


好的,先和大家分享这三个练习,后面我会继续写其它的内容。依我的经验看,给自己最正确的焦点,而不从初学者的东西开始。


如果你也有想法关于新语言的学习之最佳实践,或者你喜欢(或不喜欢)我的例子,我都很高兴愿意听到。


译者:21CTO社区

来源:https://dzone.com/articles/a-receipt-for-learning-a-new-programming-language


 
21CTO 更多文章 解放程序员,MIT“创世纪”机器学习新系统,自动生成补丁修复Bug 马化腾:这8个经验,让初创时的腾讯快速成长 扎克伯格:不冒风险才是最大的风险 一名7年总监的6点离职忠告 《王者荣耀》技术总监:我们为什么要在技术架构与网络同步方案上做出这些改变?
猜您喜欢 iOS开发者的 WWDC 2016 愿望清单 科技圈最受瞩目的音乐会终于回归了 为什么说做PPT的水平,将影响你的职场竞争力? 拿什么来衡量程序员的生产力? 【Meetup #4 活动总结】如何开展前端测试