最近学习的一点思考

原创 2015年11月18日 21:03:36

我发现,我现在所学的东西分三类:

  1. 准备考试时看的,我称之为刷题。其实为了准备考试这是最好的方式,而且真正在做题的时候其实并不枯燥反而觉得挺有成就感(两本习题集,一本看一本做)。可是它的作用也就仅限于准备考试,考完试之后所做的这些工作全都失去了意义。对于我这种毕业后准备直接去工作的人来说,没什么卵用。
  2. 前两天新接触的,我称之为技术。学校并不开设相关的课程,主要是自学,例如Android,html,css,jsp等等,一般都是培训学校开设相关的课程。我最近学了一点网络编程的东西,写了简单的TCP的客户端服务端,UDP的接受发送端。给我的感受是学起来很有趣,能够迅速的变成使用的代码。可是仔细想想不过是调用了几个人家封装好的API,具体的细节怎么实现的并不知道。
  3. 主要是学校开设的专业课的相关领域,主要是各种技术的底层原理,例如算法,操作系统,计算机网络等等。这些东西上课一般听不下去,自己看书效率也很低(至少没有前两者高),一上午可能就学了一两个算法代码还不全是自己写的,而且学起来极其耗费精力。我想这就是某些人所谓的“内功”。

简单谈一下自己的想法:

一开始看一些文章和知乎上介绍怎么成为合格程序员的回答,很多人都瞧不起那些仅仅学技术的人。我现在大概能够体会到为什么了,我想就像我所说的,不过是调用已经实现的API,底层代码不需要自己实现甚至都不需要去了解就能够写出实用的代码。(暂且不去考虑代码的结构和可维护性等等)这种东西找一个智商正常的人稍加培训都可以学会。我想,如果要成为一个合格的程序员,仅仅学习那些技术而不去了解底层的原理是没有什么竞争力的。

可是,我看到的大多是另一个极端,那就是技术没必要现在学,现在就学各种数学(高等数学,线性代数,离散数学,概率论等等)学各种底层(汇编硬件操作系统编译原理)而不屑于去学习那些技术(我想这应该是学术界混的一般的人对工业界混的比自己好的人的一种酸葡萄心态)。我认为,如果你不想献身学术界,那这样的方式是很有问题的。甚至我在知乎上面看有人问“为什么计算机网络学不懂?”有人的回答竟然是“离散数学没学好”,我认为这就有点扯了。这学期我也在学习“计算机网络”这门课,一开始我也不知道老师在说什么,前面还有一篇文章在喷我们老师讲的不够好。后来想了想并不全是老师的问题,底层的东西本身就很抽象,没有具体的应用很难理解。问题来了?什么是具体的应用呢?我认为这就是技术重要性的体现了。一开始我下学习各种协议时也不知道说的是什么东西,后来自己学了点网络编程的东西,对套接字,各种应用层传输层协议有了更深入的了解,再去看书自然就明白的多而且效率高了不少。再举一个例子就是我大二的时候学习操作系统这门课,老师讲线程进程的时候也听得云里雾里的,后来学习了多线程编程后再去看自然容易的多。

所以我认为合理的学习顺序是先去学习技术,这样可以写些实用的代码并且养成良好的代码规范。对这些技术有了一定的了解之后再去学习底层的原理,这样可以达到很不错的效果。像现在学校开设的课程如果仅仅按部就班的学下去,那么结果就是没有一门能够找工作的技术,代码写的少的可怜,最要命的就是所有的专业课考完之后全部还给老师,可能对着门课的记忆就仅限于书前面的目录了吧,这样的课不听也罢!

最近学习ffmpeg的一点总结

花了好几天研究的下ffmpeg,不知是人太笨还是怎么了,学习效率好低,现在把总结做下记录。 ffmpeg视频编码过程: 1.设置编码器的参数    AVCodecContext *c;    ...
  • meejoy
  • meejoy
  • 2011年10月02日 20:24
  • 1460

最近练习悬腕摇的一点体会

恩,和悬腕摇纠结了大半年的时间了,最近总算是有了一点小小的进步,遂把自己走过的弯路和直路写出来,和大家分享。 我试过压腕式的悬腕摇,试着从扎桩摇把手腕抬起来,可能是扎桩摇的功夫不到位,觉得压着手...
  • fen0707
  • fen0707
  • 2013年09月29日 12:59
  • 2848

本人最近公司,比较清闲,请教各位大侠,怎样才能接到外包项目,比较容易一点的。

作为一个多年从事外包项目接单的软件开发人士,我想从以下几方面谈谈我的经验,希望对大家会有所帮助。 第一点, 到哪里接项目 软件团队或SOHO最为关心的一点是在哪里可以找到项目做,也就是到哪里可以找到有...

最近使用Spring的一点总结

最近在看spring的参考文档,巩固一下spring的知识,顺便修改一下之前那个Spring和Stuts2整合的系统,以下是遇到的问题和在之间学到的东西 一 Spring的作用域问题 默认情况下,...

最近Git迁移的一点心得

我们所有各个模块的代码中,有几个小组的代码还存活在SVN上,所以这几天努力将没有迁入Git的代码,按步骤移进来,形成最终统一的体系。 Git上手并不难,深入学习一定是靠多实践,好的学习教程有...

最近对接口有了深一点的理解,以及什么是解耦

package packageExercise; /* 因为方法的多态,所以接口的调用者只需要调用接口, * 具体的业务交给接口的实现者去实现 * 即使用接口,可以避免接口调用方直接参与业务...

百度地图,根据地图上任意一点的经纬度获取周边最近的POI位置信息

根据地图上任意一点的经纬度获取周边最近的POI位置信息       //启用滚轮缩放     var map= new BMap.Map("containe...

最近进行python和c++混合语言开发的一点体会

以前在开发python和c++混合语言的时候,总是采用简单的方法快速完成,shell的无比强大助力提供了无需代码的方案。但这样有几个问题一直无法很优雅的去作,一个是参数传递问题,由于shell不能传递...

CocoaPods 最近的一点小变化

最近一直在忙项目(加班��),今天想写一个 Demo 发现 CocoaPods 不能安装第三方了。在 OS X Yosemite 报这样的错:[MT] DVTAssertions: ASSERTION...

最近的一点想法

我不是天才,也没有什么出众的才能,但我只想做一件事…… 其实,想了很多事,也有很多想法……但大都是一时兴起,过了一段时间就偃旗息鼓了…… 这一次,我想改变自己,真正做一点自己想做的事,那么多的想法,我...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最近学习的一点思考
举报原因:
原因补充:

(最多只允许输入30个字)