
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
掌握多种编程开发语言能够让程序员的职业竞争力得到很大的提升,而今天我们就简单来学习一下,程序员如何判断自己是否掌握一门编程语言。
1、学习语言设计思想
学习语言,要注重语言背后的设计思想而不是形式(语法糖)。比如:
变量声明,究竟是把类型放在变量名前面好,还是变量名放在类型前面好?为什么?
强(弱)类型系统与静态(动态)类型系统各有什么优缺点?
类型推导是怎么回事?有什么益处和弊端?
作用域怎么回事?如何有效避免名字冲突?
传值引用与指针引用的区别?各应用在什么场合?有什么注意事项?
在语言使用层面完全屏蔽指针是合理的还是不合理的?为什么?
(对象指针)是显式声明好还是隐式声明好?
为什么说组合优于多重继承?多态(继承与实现)究竟应该针对行为还是针对属性?
如何实现类型检查安全的泛型机制?
匿名类与闭包、lambda是怎么回事?为什么要有这些特性?
函数即是对象怎么理解?代码即是数据怎么理解?
结构化/面向对象/函数式/元编程是什么?各有什么益处和弊端?
并发、垃圾回收、工程管理特性、代码规范内置在编程语言里,好还是不好?利弊如何?
网上的语言特性的争论,分歧点在哪里?为什么有人说这个语言特性设计得好(或不好)?
弄清楚这些语言背后的设计思想,或许能更快地熟悉一门新编程语言。而要真正掌握一门编程语言,好的途径莫过于自己去设计和实现一门稍微简单的编程语言或DSL了。
2、如何判断自己是否足够掌握一门语言的运用
学会使用语言的良好子集来构建程序,而不是贪多求全;
深刻理解作用域;
深刻理解变量的初始化顺序和过程;
学会使用函数来构建模块化程序;
学会识别指针和引用,用对指针传值和引用传值;
学会根据问题域构建对应的结构体或对象;
学会接口、类与对象的用法;
学会此语言的习惯地道用法;
学会和掌握此语言的代码规范;
学会将中小规模的程序划分为多个逻辑单元;
能够运用编程语言实现基本的数据结构,比链表、哈希、二叉查找树;
能够用编程语言实现一个背包问题求解(动态规划);
能够运用编程语言实现一个迷宫(回溯算法);
做一个单词解析程序;
做一个简单的管理系统;
做一个简单的爬虫程序;
学习如何写出Bug少的程序;
学习如何写清晰的可维护性良好的程序;
学习并发编程(高阶内容);
学习网络编程(高阶内容);
学习反射和泛型(高阶内容);
学习如何对该语言项目进行编译、打包、部署和运行(高阶内容);
学会语言的编译实现,比如汇编、字节码、虚拟机、CPU指令集(高阶内容);
从入门到放弃……
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。