随笔分类 -  编程感悟

摘要:今年我司的晋升面试,目睹了有些候选人因为一些细小的失误,导致没有通过,感觉十分可惜。所以写一篇文章记录一下我看到的几个特别常见的问题,希望对身在互联网大厂内卷的算法同学能有帮助。 阅读全文
posted @ 2022-08-18 21:49 FerventDesert 阅读(620) 评论(0) 推荐(1) 编辑
摘要:不同语言的表现力是不一样的,以变量名为例,虽然大部分语言都对变量命名的长度没有严格的限制(只要别太长),但语言的风格强烈影响了代码的信息密度。 1. 低密度语言(10 20字符/语义) 我不得不谈到Java,Java是我见到的信息密度最低的语言。大量的Factory,Builder风格的超长命名,加 阅读全文
posted @ 2016-08-18 21:29 FerventDesert 阅读(5084) 评论(0) 推荐(0) 编辑
摘要:1.计算:序列的变换 写了这么久的程序,不少人肯定会疑问, 计算的本质 是什么?对一台图灵机来说,那就是无限长的纸带和能够自如移动的读写头,这太抽象了。我们今天尝试换一种方式去理解计算: 计算的本质是 通过有限的步骤,读入数据,将一串序列,转换为另外一串序列,再将其输出 这样的概念甚为朴素,你想想看 阅读全文
posted @ 2016-04-22 13:07 FerventDesert 阅读(2616) 评论(3) 推荐(8) 编辑
摘要:一年前,我因一些原因,工作变动,当时痛下决心,引用了《程序员的呐喊》封面的那句话: Just stop sucking and become awesome! 一年很快就过去了,最近看了不少大神的博客和Github,也刷了不少Leetcode的题。有感而发。 如何评估一位程序员的技能和水平呢?有太多 阅读全文
posted @ 2016-04-21 14:46 FerventDesert 阅读(947) 评论(2) 推荐(3) 编辑
摘要:每本软件的著作里,都会提到“开源软件”,多数都会往哲学的层面上去解释,相当的形而上。我想,开源这回事,不就是大家把代码传到网上,给人下载学习,之后有了Linux,Apache一系列牛逼作品么?这么简单接地气的事情,为什么要搞得那么形而上呢? 开源也给我带来了不少的困惑,很多商业软件的授权费相当昂贵, 阅读全文
posted @ 2016-03-19 22:46 FerventDesert 阅读(533) 评论(4) 推荐(1) 编辑
摘要:《编程语言实现模式?可以理解为编程语言的《设计模式》,这本书的中文翻译通俗易懂,非常适合没有基础的人阅读。 本节主要介绍第一部分,词法分析和句法分析。 1.为什么需要学习这些模式 因为需要自定义DSL(领域自定义语言). 人的智能非常强大,能够灵活地处理各种问题。计算机虽然迅速,但远远不及人类灵活。 阅读全文
posted @ 2015-12-02 16:49 FerventDesert 阅读(3298) 评论(0) 推荐(0) 编辑
摘要:大概不少programmer都看过《黑客与画家》,作者用了整整一章的篇幅讨论Lisp的强大。我自然就会手痒痒。 几个月前,几天内攻城略地搞定了Python,用的方法便是用Py重写之前开发的类库,这样就能很快熟悉语法,培养语感。喜上眉梢的我,也尝试将同样的策略用在Lisp上,我开始查看它的语法和函数, 阅读全文
posted @ 2015-12-02 11:45 FerventDesert 阅读(2193) 评论(1) 推荐(1) 编辑
摘要:人都是会改变的,也许前一段时间还酷爱萌妹,过一段时间就喜欢御姐了。而且,会对自己之前的选择感到不可理喻,“我以前怎么会是那个样子!” 编程语言 对于编程方面的事情,很能符合上面的感受。从纯C的单片机流,到Windows+C#,中间穿插着JAVA,到现在的Linux,Python和Lisp。我的思维发 阅读全文
posted @ 2015-11-10 16:22 FerventDesert 阅读(1499) 评论(4) 推荐(5) 编辑
摘要:我越来越感慨语言之美,语言之强大。 这里的语言,是一个比较广的概念,既可以是中文,英文这类自然语言,也可以是C,C#,Python,Lisp这类通用语言,也可能是自己定义的领域特定语言(DSL)。更广泛的可以是音乐和DNA序列。 语言就是字符串,一组由不同字符串组成的顺序链条。然而,大巧不工,越朴素 阅读全文
posted @ 2015-09-22 15:20 FerventDesert 阅读(2769) 评论(6) 推荐(6) 编辑
摘要:这本书写到了“类鸡汤书”中我能想象的最好水平。没有半句废话,思路严谨缜密,非常接地气。这还是我在自家kindle上读完的第一本书。kindle阅读体验真好。 人的技术水平分为几个层次,新手,高级新手,熟练者,精通者,专家。新手借助规则,大部分人仅仅在高级新手的位置就没有继续进步了。他们缺乏内省和认识 阅读全文
posted @ 2015-07-05 15:04 FerventDesert 阅读(2023) 评论(3) 推荐(1) 编辑
摘要:在JD的购书通道里,看到了这样的一个书名,果断入手,看了以后果然非同凡响。 通常程序员在工作开始的几年内,很多习惯就已经定型,甚至影响一辈子了。这个规律不仅适用于程序员,也适应于其他各行各业。所以,前几年好习惯的培养,或者是学校的培养,那是相当重要的。 人总是喜欢呆在自己的舒适区,做觉得没有难度的事 阅读全文
posted @ 2015-05-22 08:25 FerventDesert 阅读(2285) 评论(6) 推荐(0) 编辑
摘要:不得不说,这是一本非常赞的书,远远强于很多夸夸其谈的口水书。 程序员最重要的是学习能力和聪明,所以特别要求某项技能的公司一般是很low的。一个勤奋聪明的程序员,三个月工作的知识和经验,已经足够胜任这一领域普通的任务,能比得上很多在这里呆了很多年的碌碌无为的人。但是一些领域还是需要投入几千小时的专家人 阅读全文
posted @ 2015-05-13 22:35 FerventDesert 阅读(4092) 评论(14) 推荐(13) 编辑
摘要:有一天,我问一个同学说,“如果让你通过程序开发一个虚拟地球出来,模拟不同的人的行为,模拟天气,地理,人文,股票涨跌,模拟情感,思考,数学,你怎么做?”那哥们眼睛一亮,马上就说,以人为例。教师,官员,学生,工人都不一样,都从人这个基类继承!天气可以定义一个天气接口,通过工厂模式提供一组天气的集合… 我 阅读全文
posted @ 2013-12-15 21:48 FerventDesert 阅读(3217) 评论(21) 推荐(15) 编辑
摘要:好俗的博客题目,和小学作文差不多。 窃以为自己C#的水平已经达到了“熟练”的程度,毕竟怎么也有10W以上的开发经验了。可是因为各大公司从来都不面试C#,所以这半年我一直在复习C++,很久没有看C#的知识了。 那天中午因为着急,我午饭也没有吃,就直接打车去了某著名互联网公司。前台签到,等待一面。 一面 阅读全文
posted @ 2013-10-24 11:57 FerventDesert 阅读(11100) 评论(57) 推荐(15) 编辑
摘要:作为八零后尾巴的我们,面对正值找工作的校招九月,感想不可谓不多。我们这帮人,对应试教育总有一种复杂的情感,一方面吐槽应试的粗暴和不近人情,可一旦不考试了,大家又怎么和千千万万的同龄人竞争?靠打架?靠谁发型酷炫碉堡?靠谁能说能扯淡?靠拼爹? 想了半天,算了,还是考试吧。 今年刚三四月份的光景,对未来还 阅读全文
posted @ 2013-10-14 17:34 FerventDesert 阅读(2368) 评论(27) 推荐(4) 编辑