近日随想两则_philip_2020的博客-程序员宝宝

技术标签: 其他  

一:IDE vs 记事本

经常看到一些地方形容一个程序猿很厉害的时候都说:他是用记事本写代码的!
大一刚上学的时候,我还没有把一个完整的集成开发环境配置好,再加上一开始写的代码重语法轻逻辑,逻辑都非常简单,所以我甚至连记事本都不用,直接在代码提交窗口里写代码。一直到那个学期的期末考试之前…还沿用的是这种方法。所以debug全靠肉眼,不知道什么是单步前进、什么是跳出,反正都没用过。现在想想,真的是很蠢。
之后我用了一年半的Visual Studio 2017,体验不错。期间因为要用Linux虚拟机就配置了Ubuntu操作系统,在那里面不方便装大型的IDE所以就用了Sublime Text。到了大二下学期写Open GL的时候虽然还是使用VS 2017,但是debug变得异常的困难,常常一个小符号的错误要调一整个晚上,而且debug方式也退化成了最原始的“把可行的例程中各个部分调换成自己写的代码然后测试”,否则真的没有办法定位到bug在哪里。大二暑假跟着一份B站视频搞了搞Tensor Flow,于是也搭建起了一个基于PyCharm的开发环境。大三上学期VS 2017跟我说许可证到期了,但还好我要写C的地方不多,主要还是在虚拟机里写Verilog或者在HLS里写C代码。实在要写C的时候就到网上找一个在线编译器来写。学期末的时候实在是遇到了没有办法调的bug,一气之下,把VS 2019下了回来。
最近这两天在虚拟机里面写一个比较大的C程序,要管理的文件非常多;到处都是内联汇编指令,甚至有少量的汇编代码直接展现在我们面前;远隔千里的变量来回引用,甚至有时候分不清它到底是个宏还是个变量。(我对这份代码这么不熟悉其实一定程度上也是因为绝大部分的代码并不是我写的。)于是我就特别怀念我的VS 2019。
实际上我想说,我觉得一个厉害的程序猿,是不会真的去使用记事本的。一个人强大并不是因为它不借助工具,而是因为他善于利用工具,从而达到事半功倍的效果。我们可以说“一个厉害的程序员可以使用记事本办公”,但是“有条件的情况下,一个厉害的程序员不会使用记事本办公”。

二:论“视而不见”

“学而不思则罔,思而不学则殆。”自己的思考在学习的过程中起着至关重要的作用。随着年龄的增长,我越发深刻地体会到这一点。
中学的知识相对简单,比较容易理解。到了大学,我发现有些问题是只有我自己才会产生的,同学们老师们都无法给你解答,上各种地方找资料好像也都很难解决我的疑惑。这种时候就必须自己想办法解决,消除障碍打通这个知识的脉络,有一种恍然大悟的感觉。
每当我觉得自己解决了自己的疑惑的时候,我常常开始思考下一个问题:“如何用简练的语言去点拨学这个知识之前的自己,从而能够节约下我解决这个问题的时间呢?”有那么几次我认为自己能够成功,例如对狭义相对论的理解和对那一系列质心力学定理的理解(但我不知道我是否真的能成功因为我也没法真的去和当初的自己相遇)。不过,随着学习内容的更加深入,我发现其实就连我自己都没有办法通过那么一两句话去加深曾经的我对一些问题的认识,如果真的让我说,我可能会说“亲自做一遍吧”,也就相当于没有节约时间。也就是说,现在我发现有些深刻的东西,如果不亲自去尝试一次,其实不可能真正深刻地体会到他深刻的内涵。
这个结果是如何造成的呢?这个问题实在是过于深奥(我都没办法轻松地理解一个问题,还让我理解自己为什么没办法轻松理解这个问题吗),我也只能尝试着从“视而不见”这一个角度来回答它。在我大二下学期的一门课上,老师提到了这个词并解释为:看到这样东西但没有意识到它的重要性。当时老师让我们积极提出问题,因为老师也是从PPT上挑重点或难点内容去讲,但他可能不会意识到有一些内容会在我们的想法中产生疑问,所以看到了也不会认为这些内容需要讲解。其实我觉得为什么学过一门知识的我很难让曾经的我迅速学会也是类似的道理,我想曾经的自己传达的东西,无论我认为它多么的重要,无论我多么强烈地去强调它,在曾经的自己看来它并不会意识到这究竟是怎样的重要,甚至在过度强调之后还会避重就轻忽略一些其他的重点,效果反而变差。
纸上得来终觉浅,绝知此事要躬行。 我在算分课的pre的最后写下了这句话,也算是激励自己,习题要亲手去做,定理要亲手去证,代码要亲手去敲吧。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/philip_2020/article/details/113919270

智能推荐

getquerystring 中文乱码、HTML获取链接中的参数--------解决中文乱码_weixin_30877227的博客-程序员宝宝

getquerystring 中文乱码、HTML获取链接中的参数--------解决中文乱码var points = position.split(',');var url = '"/mapView/patrol?name=event&lon=' + points[0] + '&lat=' + points[1] + '&id=' + value...

深度学习21天实战实战caffe学习<查看机器已经安装的环境>_女王の专属领地的博客-程序员宝宝

补充一下安装吧~因为发现很多人都很头疼那个这个问题,尤其是这种别人安装到半路,跑路的!!!目前我上手的机器以及有了这些个零件,我就只能看看配置了,这个过程很痛苦,因为你不知道,前人对他做了什么,你就像改bug一样,慢慢来~~~:PART1:查看已经安装的相关版本Ubuntu14.04python:[email protected]:~$ python --version

基于Matlab神经网络语音情感识别系统_索炜达.猿创的博客-程序员宝宝_语音情感识别系统

基于Matlab神经网络语音情感识别系统,五种基本情感:'生气','高兴','中性','悲伤','害怕'。

[转]一些鲜为人知却非常实用的数据结构_iteye_13946的博客-程序员宝宝

一些鲜为人知却非常实用的数据结构 作为程序猿(媛),你必须熟知一些常见的数据结构,比如栈、队列、字符串、链表、二叉树、哈希,但是除了这些常见的数据结构以外,还有没有其他不是很有名,但却非常实用的数据结构呢,有人在 stackoverflow 上问了这样一个问题,得到了很多热心观众的回答,我们今天就来看看那些鲜为人知却非常实用的数据结构吧。首先,维基百科上的一个页面列举了常见...

日语中のは、のを、のが的用法_weixin_34092455的博客-程序员宝宝

のは、のを、のが的用于复合句型中,其实和简单句型中的は、を、が用法一致,只不过前面的宾语或主语由一个名词或代词换成一个句子或其他词性的词语了而已.例如:まずいのはおいしくないという意味です。まずい就是难吃的意思.客の来るのを待っています。正在等着客人的到来.料理を作るのが好きです。喜欢做料理.转载于:https://www.cnblogs.com/cwbo-win/archive/2013...

三维点云配准简介、工具和数据集 - 1_妄想出头的工业炼药师的博客-程序员宝宝_点云配准数据集

目录1. 三维点云配准简介2.动手玩三维点云配准的准备三维点云配准简介常见的动手做三维配准的锤子其中,PCL、Open3D和CGAL是开源软件库,Open3D是intel实感推出不久的,跟PCL比会有一些新奇的东西,个人主要使用PCL;CloudCompare和Meshlab是带软件操作界面的开发库,建议新手开始玩用CloudCompare和Meshlab比较友好。从表中可以看出,C++非常重要,关于C++的学习,建议新手使用常用的C++功能就好,积累一个好使的代码模..

随便推点

linux安装问题小结及git的配置_周月省的博客-程序员宝宝

安装虚拟机 vm_wavare, 后提示安装系统 提示intel VT-x 未开启(intel 的vritual teanolig 虚拟技术 支持多操作系统 linux / windows等),解决方法 打开 开关 设置选为 enablle解决links:...

java.util.Optional学习笔记_程序员欣宸的博客-程序员宝宝

java.util.Optional是Java 8新增的类,可以帮我们把判空的代码写得更优雅,一起来了解一下吧。

终止Android中HandlerThread的方法_余龙飞的博客-程序员宝宝_handlerthread 停止

尊重原创作者,转载请注明出处:http://blog.csdn.net/gemmem/article/details/7932655如果我们在 activity中start了一个HandlerThread,那么这个线程会启动一个looper消息循环,当activity退出了,这个HandlerThread线程并没有终止,还是在那里做looper死循环,这当然不是我们愿意看到的。我们

(转载)openwrt nginx_dj443100的博客-程序员宝宝

ln -s ../../../feeds/packages/net/fcgiwrap/ fcgiwrap  本帖最后由 cjd6568358 于 2018-6-4 11:21 编辑刚又把路由器重置重新操作了一遍流程,确认无误后整理了教程(有人问为什么要把uhttpd换成nginx?1、首先uhttpd运行缓慢2、也有用lighttpd代替...

每日一得--java设计模式之策略模式_一根筋i的博客-程序员宝宝

本文探讨初学使用策略模式时遇到的一些疑惑,以及在工作中慢慢解决之前遇到的疑惑,借此与大家分享。比如说本文谈到策略模式中环境角色Context的用处,为什么一定要用,可不可以将此取消。这些都是在学习和工作的实践总结中慢慢体会到的。    首先,我们来看下策略模式的概念。一般的解释如下:     策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于

《高通mbhc耳机检测》_哈利路亚doit的博客-程序员宝宝_高通耳机检测

1.简介Mbhc是codec的一部分,用于检测耳机插入、移除到3.5mm的音频插孔中,以及检测耳机按钮的按下和释放,主要功能: 拔插检测 拔插类型检测:headset、headphone 按钮按下、释放检测 美标国标耳机检测 阻抗检测2.拔插类型美标耳机(US/CTIA headset 4线类型):MIC GND R L欧/国标耳机(Euro/OMTP 4线类型):GND MIC R LHeadphone(3线类型): GND R L如何区分国标(欧标)、美标耳机?

推荐文章

热门文章

相关标签