作者:谭东
前言:很久没有微信发布了,可能最近有点忙。不过CSDN有更新,平台多了,更新有点麻烦...
可能在2年前你看到我的博客还基本上是Android相关的技术文章,这些都来自我在实际工作或者开发中遇到的问题,解决后进行的分享。不过当你现在来到我的CSDN博客,你可能又看到了Android,又看到了NDK相关,又有机器学习,又有Python以及Java Web相关的。有的人可能很迷惑,你到底是搞哪个方向或者方面的?一句话概括就是:编程语言都是大致上原理相似,当你熟悉或者精通了一门语言后,你会不满足这些,你会对新的技术或者你感兴趣的东西进行不自觉的学习,这可能就是与时俱进的学习上的好奇心吧。
大学本科主修课程:C语言、C++程序语言设计、高等数学、线性代数、数据结构、离散数学、算法设计与分析、Java语言程序设计(双语)、概率论与数理统计、电路与电子技术、计算机辅助设计、数据库原理、操作系统、电脑美术、汇编语言与微机接口、计算机网络、.NET程序设计(双语)、SQL Server程序设计、UNIX环境及程序设计、编译原理、计算机应用维护技术、计算机专业英语、计算机组成与结构、软件工程、嵌入式系统设计与应用、网页设计与制作、文献检索与利用。不过我认为对我来说比较重要的几门有:高数、线代、离散数学、概率论与数理统计、数据结构、算法设计与分析、软件工程、文献检索与利用、C语言、C++程序语言设计、Java语言程序设计、编译原理、汇编语言与微机接口。多不多?前几个是帮你后续提升的基础。Java让我学真正的学会了入门编程,什么面向对象、什么是类、方法、接口、API、继承、实现等。软件工程把软件的各个细节,包括管理、流程、各个模型、测试等等都交代了一遍,受益匪浅。
研究生阶段,教会了我如何研究、如何做好学术研究、如何做好科研、如何读和学习别人的论文(国内外期刊论文等)、如何把自己的研究和学习成果写成论文。如何写硕士论文我之前提到过,我想说很多人会觉得很简单,但是我想说:研究生阶段学术研究很重要,和本科阶段的内容、目的、心态、要求、课程内容、论文要求完全不一样,具体只有你读了才会体会。学术与研究并非说说而已,当然也要看个人情况,毕竟不能以偏概全一概而论。《硕士论文结构分析与如何写作》
不过,想提高还是需要有人带、去公司企业实践工作才会遇到各种问题、去学习去解决。我有点特殊,我是从大四毕业就在时公司工作,搞技术搞开发。所以我的开发经验和技术积累也要感谢公司。我当时也是有师傅的人,7年开发工作经验,写过出版过书。
话说回来,为什么最近两年在新方向上拓展了这么多?说实话一门语言入门与熟练后,东西也就那么多,当然你想很深入也可以很深入。可能不只是我,很多人都会有这种感觉,让你对某门其他的技术感兴趣或者不满足于仅仅掌握一门技术的人,那么他会与时俱进、不断学习新的东西。毕竟入门了编程后,再扩展其他技术的话比当初入门时会容易很多。对自己的全面发展也有很大的好处。读万卷书、行万里路。就像你在工作之余还喜欢看看经济学的、历史地理的、政治的等等方面的感兴趣的东西一样,你是想充实自己。
所以,当一个人在某个领域钻研了很久,熟悉或者精通了,拓展其他感兴趣的技术是值得肯定和鼓励的。当然也要看个人情况,毕竟不能以偏概全一概而论。其实我也想说,技术并非看起来高不可攀,例如Android、Java Web、机器学习等,这三个可能是代表了3个领域里的份额和常用的代表性的了吧?Android当你积累到一定经验的时候,深入的话无非就是ROM、看看FrameWork.jar的API源码?看看NDK?C库与Java库的融合调用?视音频处理。不过基本的应用层的话东西就那么多,无非根据你的经验优化下,改进下等等。Java Web只要不涉及到大数据处理、高并发等等。基础都容易,Android难在深入底层等;Web难在业务和稳定性、大数据、大并发。机器学习呢?总结一句话就是:给你一堆数据、用数学、计算找规律、找特征。
总结一下:技术需要的是思维,思维和逻辑弄清楚了,很多事情就会事半功倍。当然我喜欢务实、不喜欢务虚。
领取专属 10元无门槛券
私享最新 技术干货