"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?
"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?",经常有人这么问我。
咱们从开源项目说起,可以从两个维度来对开源项目进行分类,一方面是编程语言,另一方面是应用领域。
首先说编程语言,像Java、C#、PHP、C/C++、Ruby、 Python、Go、JS、SCALA等等,有非常多的编程语言。很多人说编程语言很简单,会一种其他都会了,也有很多人说编程语言很难,很难精通一门, 更不用说很多门了。那到底是什么情况呢?事实上,我们不应该拘泥于具体的语言来看这个问题,我们可以从编程范式来看这个问题,根据编程范式的不同,编程语 言一般分为面向过程(命令)的编程语言、面向对象的编程语言、函数式编程语言、人工智能编程语言、领域特定编程语言等。作为一个专业的程序员,我们应该实 践这些不同的编程范式,通过写代码来比较不同范式的语言之间的异同,从而对编程语言有个宏观的理解。更重要的是,我们应该选择一门语言来深耕,深入地学习 该语言的高级特性、优化技巧、内部原理、语言实现、平台规范、框架类库等等这些东西,学好这些东西,就像修炼内功一样重要。
其次是应用领域,每一个开源项目都有自己的应用领域,小到论坛、网站、CMS,大 到数据库、操作系统、分布式计算与存储等等。应用领域很多时候是编程语言无关的,比如说数据库你可以用JAVA实现也可以用C/C++实现,比如说中文分 词,你几乎可以用所有的编程语言来实现。
通过上面的分析我们可以知道:作为新手,你首先要选择一门语言如JAVA在工作中使用,你要把它使得炉火纯青,因为你要靠这个工具吃饭,你要靠这个工具去做很多的应用领域的研究及开发;其次,你应该去学习其他不同范式的编程语言,开阔自己的视野。
最后总结一下,"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?"呢?幸运的是,技术框架虽然多,但是我们可以根据编程语言和应用领域对其进行分类,分类之后,根据自己的能力和兴趣选择相应语言之下的相应领域即可。
"技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?的更多相关文章
- App技术框架
一.App技术框架的类型 图1 三种App技术框架之间的关系 目前App的技术框架基本分为三种(图1): (1)Native App:互动型,iOS.Android.WP各一套,而且要维护历史版本,要 ...
- 你得知道这3个最基础的APP技术框架
出处:优设网作者:信籽链接:http://www.uisdc.com/3-basic-app-technical-framework 信籽(手淘设计师):不知道大家有没有遇到过这种情景,当你做好一个设 ...
- 3.Python编程语言基础技术框架
3.Python编程语言基础技术框架 3.1查看数据项数据类型 type(name) 3.2查看数据项数据id id(name) 3.3对象引用 备注Python将所有数据存为内存对象 Python中 ...
- Android常用的技术框架与博客社区
技术框架 图片加载 Glide Fresco Volley Picasso Universal Image Loader 网络请求 okhttp retrofit Volley android-asy ...
- VSLAM技术框架详述
最早的SLAM雏形是在军事(核潜艇的海底定位)上的应用,主要传感器是军用雷达.SLAM技术发展到如今已经几十年,目前以激光雷达作为主传感器的SLAM技术比较稳定.可靠,仍然是主流的技术方案.但随着最近 ...
- J2EE 领域的一些技术框架结构图
J2EE 领域的一些技术框架结构图 阿里百川,开启移动应用开发的新篇章 1.Spring 架构图 Spring 是一个开源 框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之 ...
- java中异常这种技术框架是怎么工作的?
异常这种技术框架是怎么工作的?马克-to-win:注意是运行程序时,而不是编译时,当一个非正常情况出现,比如除0,就叫异常情况.马克-to- win:为了能优雅的处理异常情况(在出现异常情况后,程序不 ...
- “造轮运动”之 ORM框架系列(一)~谈谈我在实际业务中的增删改查
想想毕业已经快一年了,也就是大约两年以前,怀着满腔的热血正式跨入程序员的世界,那时候的自己想象着所热爱的技术生涯会是多么的丰富多彩,每天可以与大佬们坐在一起讨论解决各种牛逼的技术问题,喝着咖啡,翘着二 ...
- 集合框架的类和接口均在java.util包中。 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。
集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换.
随机推荐
- Handler, AsyncTask用法简单示例
package com.jim.testapp; import android.app.Activity; import android.os.AsyncTask; import android.os ...
- keystone同步数据库的时候提示error
keystone 在同步的时候报出以下错误: su -s /bin/sh -c "keystone-manage db_sync" keystone CRITICAL keysto ...
- Ecplise中Junit4单元测试的基本用法
看了一些Junit4的视频,简单了解了Junit4的一些基本用法,整理记录一下. 环境搭建 这里使用的开发工具是MyEclipse,首先新建一个Java工程,将Junit4的jar包引入,eclips ...
- 【uml】之类图中的关系 标签: uml图形类 2014-11-29 09:02 1198人阅读 评论(23)
uml早就画完了图,但是自己迟迟没有总结,因为总觉的自己把握的不到位,虽然现在也还是不到位,废话少说,上篇博客总结了用例图中的几种关系,这篇就讨论一下类图中的几种关系. 在uml的所有图中,就我目前的 ...
- TIJ——Chapter Ten:Inner Classes
先提纲挈领地来个总结: 内部类(Inner Class)有四种: member inner class,即成员内部类.可以访问外部类所有方法与成员变量.生成成员内部类对象的方法:OuterClass. ...
- Python深入:super函数
新式类中最酷的,或者也是最不平常的特性之一,可能就是编写“cooperative类”.‘cooperative类’通过多继承,使用我称之为‘cooperative super call’的模式. 先来 ...
- linux扫盲之CPU模式
相信研究linux的大大都知道linux有实模式.保护模式.虚拟模式三种. 不多说,拷贝黏贴! 80386开始,cpu有三种工作方式:实模式,保护模式和虚拟8086模式.只有在刚刚启动的时候是rea ...
- oracle使用DECODE函数来减少处理时间
使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表. 例如: SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAM ...
- POJ 1961 Period 还是next数组的含义、
题意:求所给串的前缀(包括原串)中有多少循环串(子串长度至少要是周期的两倍) 思路:还是next数组的应用问题.如果不懂next数组的话 http://www.cnblogs.com/sasuke-/ ...
- 什么是redis
什么是redis 1.Redis是远程的 有客户端和服务端,客户端和服务端可以布置在不同的机器上,两者经过redis自定义的协议远程传输和交互的,我们一般说的是服务端. 2.Redis是基于内存的 所 ...