惊落一身雪 发表于 2024-9-4 23:37:16

步调员要学习一门新的编程语言,该怎么做

许多步调员在学习一门新的编程语言时通常会走两种路子:

[*]大抵地看看语法,就开始写代码,碰到问题再查资料。

[*]花费许多时间完备地学习一遍,然后再开始写现实的代码。
这两种方法都不是最佳的。学习一门新的编程语言实在不需要掌握太高深的东西,平时需要用到的大多数是基础知识。会合一周的业余时间学习一下,完全可以或许掌握这门语言。
现实上,写步调并不怕完全不会,最怕的是一孔之见的应对问题。因为你完全不会,就会自然地去认真地学习。如果你的学习能力很好,写出来的代码质量也不会太差。而一孔之见,自己动手“土法炼钢”,那么写出来的代码根本上都是废铜烂铁。
因此,即使时间再告急,在利用新编程语言举行开发之前,下面的这些内容也是必须首先完备了解一遍的。掌握这些内容之后进入现实开发,即使有问题,也根本不会影响项目整体。开发者本人可以安心地学习,逐步进步自己。

[*]了解该语言的


[*]根本数据类型


[*]根本语法和流程控制,比如判断/分支/循环等


[*]重要数学运算符


[*]print函数的利用
到达可以或许编写数学习题的程度。

[*]掌握


[*]数组和其他集合类的利用


[*]如果有基础的话,可以理解一下泛型。如果理解不了也问题不大,后面可以补充。

[*]简单字符串处理所谓“简单”,就是指不包罗Regex和Parser等内容,比如查找更换、截取子串等。不过这个阶段有一个难点,就是字符编码问题。如果理解不了,可以先跳过。否则的话,最好在这时候把这个问题搞定,以免留下后患。

[*]根本的面向对象或者函数式编程特性无非就是继承、多态、Lambda函数等等。如果有履历的话,很快就能理解。

[*]异常、错误处理、断言、日志和调试支持,对单元测试的支持你不一定要用TDD,但在这个时候应该掌握在该语言中做TDD的根本技能。

[*]步调代码和可实行代码的


[*]组织机制


[*]运行时模块加载


[*]符号查找机制
这是初学时的一个难点,因为大部分书都不太留意先容这个极为重要的内容。

[*]根本输入输出和文件处理,输入输出流类的组织这通常是比力繁琐的一部分。可以提要挈领地学一下,搞清楚概念,用到的时候查就可以了。到这个阶段,你可以写大部分控制台应用了。

[*]该语言怎样举行callback方法调用,怎样支持变乱驱动编程模子。 在今世编程环境下,这个问题是涉及开发思想的一个焦点问题,险些每种语言都会用足功夫,比如.NET的delegate,Java的anonymous inner class,Java7的closure,C++ OX的tr1::function/bind等等。如果能彻底理解这个问题,不但步调不会写得太走样,而且对该语言的计划思路也能有比力好的熟悉。

[*]序列化和反序列化掌握一下缺省的机制就可以了。

[*]动态编程,反射和元数据编程,数据和步调之间的相互转化机制,运行时编译和实行的机制。有抱负的开发者在这块可以多下些功夫,可以或许使你对语言的熟悉高出一个层面。

[*]如果有必要可了解一下线程、并发和异步调用机制,重要是为了读懂别人的代码。如果自己要写这类代码,必须专门花时间严肃认真系统地学习,严禁半桶水上阵。

[*]如果有必要可在这时研究regex和XML处理问题,如无必要可跳过。

[*]如果有必要可研究一下该语言对于泛型的支持。不必花太多时间,只要能利用现成的泛型集合和泛型函数就可以了。如果有时间,可以在以后闲暇时抽时间系统学习。需要留意的是,泛型技能跟多线程技能一样,用不好就成为万恶之源,必须系统学习,谨慎利用,否则不如不学不用。

[*]如果还有时间最好咨询一下有履历的人,看看这个语言较常用的特色features是什么。如果之前没学过,应当补一下。比如Ruby的block interator,Java的dynamic proxy,C# 3的LINQ和extension method。如果没时间,可以边做边学,没有大问题。

[*]在工作的闲暇时间,可以着重考察两个问题:


[*]这个语言有哪些惯用法和模式。


[*]这个语言的编译/解释实行机制。
至此,你已经掌握了这门语言的根本部分。之后是做数据库、网络还是做图形,可以根据具体需求去搞,找相应的成熟框架或库,边做边学,加深理解。
掌握了以上的内容,就给练武术打好了根本功。虽然不见得有多优秀,但肯定是根正苗红,未来不必绕大弯子。就算是临时利用的语言,把上面这个提要精简一下,只看重体字的部分,大致能在几天到一周内搞定,不算是太耗时,而且写出来的代码不会太不靠谱。
以上提要未涉及内存模子。对于C/C++,这个问题很重要,应该放在明显位置来考虑。但对于其他语言,这个问题被透明化了,除非你要做hardcore项目,否则不必太关注。

资源下载:https://blog.csdn.net/a_juvenile?type=download

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 步调员要学习一门新的编程语言,该怎么做