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

您所在的位置:网站首页 团购系统源码怎么用 程序员要学习一门新的编程语言,该怎么做

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

2023-04-01 18:17| 来源: 网络整理| 查看: 265

很多程序员在学习一门新的编程语言时往往会走两种路子:

粗略地看看语法,就开始写代码,遇到问题再查资料。

花费很多时间完整地学习一遍,然后再开始写实际的代码。

这两种方法都不是最佳的。学习一门新的编程语言其实不需要掌握太高深的东西,平时需要用到的大多数是基础知识。集中一周的业余时间学习一下,完全能够掌握这门语言。

实际上,写程序并不怕完全不会,最怕的是一知半解的应对问题。因为你完全不会,就会自然地去认真地学习。如果你的学习能力很好,写出来的代码质量也不会太差。而一知半解,自己动手“土法炼钢”,那么写出来的代码基本上都是废铜烂铁。

因此,即使时间再紧张,在使用新编程语言进行开发之前,下面的这些内容也是必须首先完整了解一遍的。掌握这些内容之后进入实际开发,即使有问题,也基本不会影响项目整体。开发者本人可以安心地学习,慢慢提高自己。

了解该语言的

基本数据类型

基本语法和流程控制,比如判断/分支/循环等

主要数学运算符

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3