"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?
2016-01-05 15:08
831 查看
"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?",经常有人这么问我。
咱们从开源项目说起,可以从两个维度来对开源项目进行分类,一方面是编程语言,另一方面是应用领域。
首先说编程语言,像Java、C#、PHP、C/C++、Ruby、 Python、Go、JS、SCALA等等,有非常多的编程语言。很多人说编程语言很简单,会一种其他都会了,也有很多人说编程语言很难,很难精通一门, 更不用说很多门了。那到底是什么情况呢?事实上,我们不应该拘泥于具体的语言来看这个问题,我们可以从编程范式来看这个问题,根据编程范式的不同,编程语 言一般分为面向过程(命令)的编程语言、面向对象的编程语言、函数式编程语言、人工智能编程语言、领域特定编程语言等。作为一个专业的程序员,我们应该实 践这些不同的编程范式,通过写代码来比较不同范式的语言之间的异同,从而对编程语言有个宏观的理解。更重要的是,我们应该选择一门语言来深耕,深入地学习 该语言的高级特性、优化技巧、内部原理、语言实现、平台规范、框架类库等等这些东西,学好这些东西,就像修炼内功一样重要。
其次是应用领域,每一个开源项目都有自己的应用领域,小到论坛、网站、CMS,大 到数据库、操作系统、分布式计算与存储等等。应用领域很多时候是编程语言无关的,比如说数据库你可以用JAVA实现也可以用C/C++实现,比如说中文分 词,你几乎可以用所有的编程语言来实现。
通过上面的分析我们可以知道:作为新手,你首先要选择一门语言如JAVA在工作中使用,你要把它使得炉火纯青,因为你要靠这个工具吃饭,你要靠这个工具去做很多的应用领域的研究及开发;其次,你应该去学习其他不同范式的编程语言,开阔自己的视野。
最后总结一下,"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?"呢?幸运的是,技术框架虽然多,但是我们可以根据编程语言和应用领域对其进行分类,分类之后,根据自己的能力和兴趣选择相应语言之下的相应领域即可。
咱们从开源项目说起,可以从两个维度来对开源项目进行分类,一方面是编程语言,另一方面是应用领域。
首先说编程语言,像Java、C#、PHP、C/C++、Ruby、 Python、Go、JS、SCALA等等,有非常多的编程语言。很多人说编程语言很简单,会一种其他都会了,也有很多人说编程语言很难,很难精通一门, 更不用说很多门了。那到底是什么情况呢?事实上,我们不应该拘泥于具体的语言来看这个问题,我们可以从编程范式来看这个问题,根据编程范式的不同,编程语 言一般分为面向过程(命令)的编程语言、面向对象的编程语言、函数式编程语言、人工智能编程语言、领域特定编程语言等。作为一个专业的程序员,我们应该实 践这些不同的编程范式,通过写代码来比较不同范式的语言之间的异同,从而对编程语言有个宏观的理解。更重要的是,我们应该选择一门语言来深耕,深入地学习 该语言的高级特性、优化技巧、内部原理、语言实现、平台规范、框架类库等等这些东西,学好这些东西,就像修炼内功一样重要。
其次是应用领域,每一个开源项目都有自己的应用领域,小到论坛、网站、CMS,大 到数据库、操作系统、分布式计算与存储等等。应用领域很多时候是编程语言无关的,比如说数据库你可以用JAVA实现也可以用C/C++实现,比如说中文分 词,你几乎可以用所有的编程语言来实现。
通过上面的分析我们可以知道:作为新手,你首先要选择一门语言如JAVA在工作中使用,你要把它使得炉火纯青,因为你要靠这个工具吃饭,你要靠这个工具去做很多的应用领域的研究及开发;其次,你应该去学习其他不同范式的编程语言,开阔自己的视野。
最后总结一下,"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?"呢?幸运的是,技术框架虽然多,但是我们可以根据编程语言和应用领域对其进行分类,分类之后,根据自己的能力和兴趣选择相应语言之下的相应领域即可。
相关文章推荐
- Word Frequency
- 解决VIM中文乱码的一次经历
- 深入理解BootStrap -- 基础排版3
- Android体系结构
- HDU-1712-ACboy needs your help(分组背包)
- 安全性测试工具IBM AppScan
- 安卓jni项目会删除其他so文件的问题解决
- ListView不能响应itemclick事件的解决方法
- 15 个最好的 Bootstrap 设计工具推荐
- "技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?
- Mysql数据库查询占用内存和CPU的优化技巧
- 基于对话框的MFC - 添加菜单
- 在AIX上配置NIM以及nim的mksysb备份
- 详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!
- jsp页面或者后台当前日期加减
- 第十章网络设备基本调试
- 内核编程(1)
- 在Linux中安装Thrift
- Bootstrap+angularjs+MVC3+分页技术+角色权限验证系统
- spring.jar是包含有完整发布的单个jar 包,spring.jar中包含除了spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的