‘壹’ 程序员用来做笔记的软件有哪些推荐
推荐三个好用的笔记软件给大家。
1、有道云笔记有道云笔记+Markdown语法。优点是手机、电脑可同步使用,而且关键免费。
2、visual studio code一款功能强大的记录软件,可装插件。
3、DocRun 算力笔记可以展示代码,支持交互运行代码 c++/python/js/matlab/R。
作为一个超级爱分享,爱记录,爱总结,外加爱记录的程序员,真的是会经常用到一些非常好用的笔记软件或者工具,所以,我可以给大家推荐一下,我自己是如何做笔记的,都用到了哪些软件?
首先,我先说一下,我是一个 MBP 的忠实粉丝,所以我的电脑就是 Macbook Pro ,所以分享和推荐给大家的做笔记的软件都是基于苹果电脑的。(PS :苹果电脑真的非常好用)
首先,记笔记最重要的是什么?其实,记笔记最重要的是可以随时随地非常方便的把自己想记录的内容,马上记录下来。那么,Unclutter 这款软件真的是非常的好用。非常方便的调出来做笔记,只要你点击复制,自己生成 历史 记录。简直不能太方便了。我简单介绍一下它。
Unclutter 本身是一个多功能的隐藏菜单,里面包含 Clipboard(剪切板),File Storage(存储区域),Notes(随手记)三个功能区,当你用鼠标或是 Trackpad 从屏幕顶部向下滑动时,Unclutter 菜单就会落下来,接下来的操作就会非常容易了。
看到了吗?最左边是剪切板,中间是文件存储区,最右边是 notes 随手记。你只要使用复制或者剪切功能,复制文字的话,它都会自动复制到剪切板上。如果你复制的是图片,就会自动存储在文件存储区。
另外,你想做的笔记和内容,可以直接在最右边的随手记上记录,可以生成记录的 历史 列表,非常的方便。
显示这个面板的方式非常简单,把鼠标放在屏幕顶部,双指向下滑就能下拉启动该工具;反之,双指向上滑动则是收回工具。
Typora 这款软件就不用我过多的介绍了吧?被称为世界上排版最美的 MarkDown 工具。
我们随手把自己记录的笔记记录下来以后,下一步该怎么办呢?肯定是要学习总结,整理成文章啦。整理文章,我个人最喜欢用的当然是 MarkDown 这样轻量级的标记语言做的排版。那么我就会用 Typora (注:这款工具也有 windows 版本)。
Typora 是一款好用极简免费的跨平台 Markdown 编辑器,软件使用这款软件能够帮助用户轻松将文本转换到 HTML,软件从底层向上设计,软件支持 markdown 的标准语法,同时这款软件还支持动态预览功能,一键预览,让一切都变得如此干净、纯粹,是一款不可多得的优质 markdown 编辑器。
我个人非常喜欢这款软件,尤其是再配搭图床工具,可以直接把图片上传搞定,简直不要太方便了。
其实,我个人不太喜欢有道云笔记,为知笔记,以及印象笔记这样的软件的,因为我感觉大部分使用它收藏了之后,大家可能就忘了,很少打开这样的笔记工具去学习和看了。
我使用使用随手记,直接在桌面上呼之欲出能够让我看到今天总结的东西的软件,配合上写作软件,让我效率很高。因为,我需要把笔记,及时整理成文章,然后发布在博客上,只有,把笔记整理成文章,才能转化成自己的语言和知识,这是一个提高和学习的过程。
而不仅仅是使用各种收藏类的笔记软件,把他们收藏了之后,就不再管了,可能过几天你都能把记录的笔记都忘了。而我推荐的这两款工具,是随时都可以调出来马上看到和使用的,尤其是 Unclutter 这款工具,在电脑上,往下呼之欲出,马上就能看到,再学习和整理。我认为,这才是记笔记正确的方式。
这也是我学习的方式。
都2020年,全面云时代了,还软件,还编辑器[泪奔]。就连微软的宇宙第一IDE都要推出web版本了,各位技术人员能不能专业点,跟进一下时代潮流!十万阿里人都在使用的技术文档工具“语雀”了解一下,在线记录,不用安装,支持技术人员常用的各种格式,免费使用,markdown文档,代码,脑图,表格,uml,图片,视频,office等等。支持十人团队协同编辑,实时分享,用完这个,我相信你会把你电脑上的这云笔记那笔记软件,各种编辑器全部卸载[灵光一闪]。什么?在线编辑器,没网干不了活?!5G都来了,你告诉我你没网,你转行吧[大笑]
程序员做笔记的软件?听起来好像程序员很特殊似的。不过稍微想想,在记笔记的方面,程序员还真有一个特殊之处——他们的笔记,很多是嵌在代码里,当做注释写的。
注释之外,还有项目规划、大脑清理、头脑风暴、参考资料、进度追踪之类的笔记。这些内容我用OneNote来做。因为OneNote的层级结构做得特别好,很符合理工男的逻辑思维习惯。
所以回到题目, 我的推荐是:程序相关的直接记到代码里,思维相关的记到OneNote里。
稍微展开说几句:
1、程序相关的笔记直接记到代码里。
程序员要不要写代码注释,这是一个争论已久的话题。争论的本质,其实是“相不相信自己的长期记忆力”,以及“相不相信代码本身就是注释”。我个人不相信长期记忆力,所以要写注释。但我又偏向于好的代码,本身就是自解释的,不需要写注释。
如果带项目,考虑到团队协作,这个争论往往是以“写注释”告终的。写程序时候的思路、坑、用到的算法、需要注意的事情、后续改进的地方,都可以直接用注释的形式写到代码里。这样其他接手项目的程序员,可以更容易理解你的代码。
那么,程序员用什么软件写代码,也就是用什么软件做编程笔记了。我试用过很多,最后还是更喜欢Sublime Text.
2、思维相关的记到OneNote里。
其实跟项目相关的思考,大部分内容还是不方便记到代码中的,我会记到微软的OneNote里。
跟项目没有关系的,只要是思考和学习内容,都可以记到OneNote里。我现在已经把OneNote作为我的文档中心,只有在不得已的情况下,才输出成单独的文档。你现在看到的这篇问答也是在OneNote里写出来的。
在一个统一的内容管理软件中处理文档,简直太方便了。定位、查找、复制、整理,统统很容易。
OneNote最大的好处,是它的多重分类层级。大致分为笔记本、分区组、分区、页面、子页面几个层级。它的分类导航排列在工作区四周,本身有很强的提示功能,很容易能够把分类做得井井有条。我个人感觉,OneNote的分类效果,远比在资源管理器里直接用文件夹做分类好得多。
OneNote另一个杀手锏,是多平台同步。我现在做笔记已经全天候无死角了。PC、Pad、笔记本、手机,统统自动同步。能够随时记笔记,可以说是笔记软件最重要的功能了,这方面OneNote做的不错。
对了,OneNote还是免费的,不但软件免费,还提供25G的云存储空间,还有微软出品的品质保证。有人说OneNote的云同步太慢,我实测很久,感觉完全够用。真的不够用了,还有商业化的解决方案可供选择。
3、零散的想法用讯飞的语音输入,记到各种“快速笔记”中。
OneNote自带一个“快速笔记”——没有分类的笔记。你有了一个突然冒出来的想法,可以先记录下来,以后再整理。这个快速笔记也是多平台同步的,很方便后续的加工处理。
不管何时,只要你有了想法,就可以用手机呼出快速笔记,说出你的想法,用讯飞输入法识别成文字,记录下来。如果希望直接记录语音也没问题,OneNote本身就支持。
总结一下吧:
程序猿的笔记,程序相关的,大部分记到代码中,小部分记到OneNote中。其他笔记,都记到OneNote中,构建自己的个人知识体系。有了零散的想法,也可以通过“快速笔记”第一时间记录下来,免得遗忘。
一句话:OneNote真是个好用的东西,即便你不是程序员,也应该考虑考虑它。
我推荐一款:Evernote(印象笔记),非常好用且功能强大的一款笔记软件。
我推荐它有以下几个理由:
多个设备之间同步印象笔记有PC端和移动端,电脑编辑以后,手机上可以立马看到。平时外出需要记录问题的时候,拿出手机就可以记录。回到家以后打开PC端的印象笔记,立马就可以看到通过手机记录的内容。并且支持多个手机和多个PC之间相互同步。
这也是它最大的优点。平常我们需要写各种技术文档。有时候领导要求我们做成PPT给其它同事演示分享,而程序员是非常讨厌做PPT。印象笔记解决了程序员这一痛点。用印象笔记写完文档以后,可以直接以PPT的形式演示,无需在制作额外的PPT。
印象笔记可以直接画思维导图,用思维导图进行头脑风暴或信息梳理,激发灵感,高效梳理思路。还能在导图中与笔记巧妙联动,让信息串链起来,或是一键为笔记本生成思维导图目录,高效连结相关信息资料。
支持MarkDown语法Markdown 是一种轻量级的标记语言,用简洁的语法代替排版,我们程序员非常喜欢使用这种语法。 其常用的标记符号不超过十个,相对于更为复杂的 HTML 标记语言来说,Markdown 十分的轻量,学习成本也不需要太多,且一旦熟悉这种语法规则,会有沉浸式编辑的效果。印象笔记Markdown支持CommonMark和GFM标准。
此外,印象笔记还支持 音频笔记、拍照笔记、多人协作、收藏网页和文章等功能,是团队协作和个人工作的最佳选择。不过,印象笔记的高级功能需要付费使用。
用过notion、印象笔记、有道云笔记、石墨文档、语雀。其实就两个严格来说不是笔记软件,是协同办公。但是语雀很好用,就是语雀客户端丑一些,但是挺好用的。目前在用语雀
为了找到合适程序员的笔记软件,我试用过很多,如OneNote,Notion,有道云笔记,Quiver,MWeb,语雀,GoodNotes还有Notability。
最后我的选择 电脑端用语雀 , iPad端用Notability+备忘录 。
OneNote 的功能非常强大,各种平台也都支持,可以说是综合实力最强的一个了。但是对于我来说最大的问题是打开速度太慢,再加上服务器在国外,网速也很感人,对于我来说,这点很致命,导致我还是放弃了它。
Notion 这个软件网上评价都很好,但是一个 全选功能只能选中当前块 让我放弃了。
有道云笔记 体验基本都还不错,但是在Markdown中插入图片要购买会员就没有再试了。
Quiver 和 MWeb 有些相似,本地笔记的功能够用,也都支持Markdown格式,但是不同电脑之间同步会比较麻烦,只能用云盘或者是自建git仓库。
语雀 是我经过挑选之后最后选择的,编辑器对于各种功能的支持都有,还支持团队编辑,可以查看 历史 版本比较差异,程序员用来建立知识库或者是团队文档库都很不错。
由于语雀对于移动端不支持,所以在iPad上我比较了GoodNotes和Notability,最后选择了Notability,至于选择的原因可以看我的另一篇回答,里面有说到。
当然,这只是我接触体验过的笔记软件中的比较,仅供参考,也许还有我没有接触过的更好用的笔记软件。
云端的有免费的有道笔记,OneNote, 付费的印象笔记,为知笔记,总体来说,如果你笔记整体内容比较少的话,这四个用起来都差不多,但是如果笔记整体比较大,内容很多,超过几千条,那免费的就最好用OneNote,付费的就用为知笔记。如果你只是在本地电脑上使用,那就推荐使用myBase,功能很强大,几乎是不二的选择
作为一个持续学习的程序员,笔记必不可,而我使用的笔记软件,主要有2个,分别是印象笔记、有道云笔记,下分别简单介绍下,也大同小异,看个人喜好选择了:
一、印象笔记1.支持多端云同步
可以在ios、Android、window、Mac、ipad、web页面等形式,编写你的笔记
但这既是印象笔记的优点,也是印象笔记的缺点,就是超过2个端,需要支付会员,才能同步其他端。
2.操作简单。
3.window下使用,当笔记内容过多时,软件经常卡崩溃,之前因此弃坑。
二、有道云笔记1.支持多端云同步
可以在ios、Android、window、Mac、ipad、web页面等形式,编写你的笔记
2.界面优雅
3支持多级存储(印象笔记只支持2级)
即你可以创建一个文件夹,文件夹下面再创建文件夹,类似的window的操作,分多级来存储分类你的笔记。
4.大厂支持
这是互联网大厂网易旗下的产品,有保障。
在互联网还不发达的时代,无论是哪一行的从业人员,对于会议的介绍,知识点的整理都是习惯性的记录在笔记本上,随身携带上面记满了密密麻麻的备忘录,用完的记事本是一本接一本,到了近几年随着互联网的发展,网上的云端笔记也越来越多,所以选择一款适合自己的云笔记显得尤为重要。
我是在14年踏入程序员这个行业,对于常用的语法还有函数是真心的记不住,但是在那个时候也没有经验,就在电脑上新建个记事本,把遇到的问题以及解决问题的方法记下来,我记得当时还随身携带着U盘,到其他电脑上再把文件拷出来,后来就传到360云盘,等到换了电脑也能直接从360云盘上下载来下。
也许很多人觉得我的这个过程很繁琐,但这也是那几年我最常用的一种做笔记方式,我相信也会有和我有相同经历的小伙伴吧,不管是笔记还有常用的软件就是保存在360云盘上,但是过了几年360云盘突然宣布不再免费提供个人版,这让我们这些个人用户一下慌了神,在免费下载日之前着急忙慌的开始备份资料,已经不记得当时丢失了多少资料,最后随着时间的流逝,当时做的笔记也都无从查找了,对于自己来说也是一笔损失。
那时间来到最近两三年,我发现我身边的同事都把服务器的信息或者常用的账号密码保存的很清晰,我就问他用的是什么软件, 从这时开始,有道云笔记走进了我的世界,一经使用我就对这款软件爱不释手。
有道云笔记是网易旗下的一款在线保存文档笔记的一款产品,无论是在界面的设计,还是功能的使用中,对于我来说都能够满足大部分的需求,我常用在电脑编辑, 每天到公司第一件事就是先登录有道云,因为每天有太多的资料账号去登录,先打开有道云的网页,在用到其他资料的时候就可以很清晰的找到所需信息 ,并且支持手机端APP同步,如果在外出差不方便打开电脑,在手机上做完笔记就可以一键保存了。
除了有道云笔记之外,我这边了解到的常用笔记还有 印象笔记、腾讯文档、WPS文档等等 ,其实都可以满足各种做笔记的需求,最后希望大家能找到一款适合自己的笔记,有效的提高自己的工作效率。
‘贰’ 程序员是干什么的
程序员是干软件的。程序员的本质工作当然是写代码,用代码实现功能。(就是用基础语言(c/c++,java,objectc)等来编写文档一样,不过这些文档编译后就变成可运行的程序)。
范面上看程序员就是干这些事情的:code、code、code。编码只是程序员的一小部分工作,要是只是编码这么简单,就不会有程序员加班,通宵干活了。程序员不止干了这些。我们就以三个阶段来说说程序员究竟干了些什么。
一、初级程序员
初级程序员的工作还是比较简单的,一是知识经验有限,主要是编写简单代码和学习为主,只要完成一些基本的编码任务,单一功能的实现。
二、研发工程师
有了一定的经验后你就转变为工程师了,这个时候你就不光是简单的完成任务了。code这个还是你主要的任务,但除了这,你还要将设计,调试等等肩负起来。这时候一般都是多个功能模块的设计实现(整体架构由架构师完成)。模块内的详细设计(功能的实现逻辑)文档编写,模块调试。直到功能完善交付。
三、架构师
架构师就已经脱离了code了,因为他们已经不必关心代码如何编写了,更重要的事情是完成一个软件、系统的设计架构。万丈高楼得有一个好的框架。要不然你就只能盖个2层小楼了。架构师负责从分析软件需求,再到软件系统的详细设计,人员的配置,工作的量化,到完完全全的产品整个过程。
‘叁’ 程序员具有什么普遍爱好
emmmmm 说到程序员(俗称程序猿),大伙儿最先想到的是什么?
咱家程序猿比较多,随便问了几个,回答有“宅”、“开黑打游戏”、“科幻”、“健身”、“天文”、“女装”(美其名“二流码农写功能 一流码农写算法 顶级码农穿女装”,不知道是不是认真的,有可能自己在家真有cosplay。。。。)
据观察,这帮大神拥有无与伦比的耐力(坐如钟。。。),工作勤劳(加班最晚。。。)
‘肆’ 程序员怎么能牢记学习过的东西
1、要明白你能做什么,而不是记住怎么做
其实,代码可以构建的功能有无数种可能性!你可以设想通过代码构建任何内容,只有你想不到的,没有构建不了的。学习一种新语言是一件非常令人激动的事情。
查看问题以及代码示例,并通过这些示例学习如何利用这种语言以及/新概念完成工作,这都非常重要,但我们无法记住所有的信息,不要做无谓的尝试!你可以在今后需要实现的时候,再反过来查看,刚开始的时候,你只需要记住这种概念可以实现什么样的功能。
在我深入研究React.js时,这种方式给予了我的学业很大帮助。实现的可能性太多了,你有无数种方式传递props、创建新state、组合组件——实在太多了!就像一个大谜团!我了解到React可以实现非常多的功能,虽然我无法确切告诉你该如何做,但我知道存在这种可能性,这很重要。
2、在需要时寻找所需的代码
就像学说一门新语言,你知道自己想说什么,但你不知道该怎么说。编程语言也是如此!
在我刚开始学习编程时,人们称Google为“终极工具”。那时我就在想:我使用Google已经很多年了……我错过了什么吗?
后来才发现:重要的不是搜索内容,而是搜索的方式。无论你想寻找什么答案,网上都有,就看你怎样才能找到了!
在用外语与其他人交谈,或用一门新语言编程时,你可以通过Google找到如何表达。你不必记住括号放在何处,或者这里是逗号还是分号。应该使用圆括号还是大括号这种问题很容易出错,而且也很容易解决!只需快速搜索,两秒钟就能找到答案。
但是,我有几次因为未能写出完美的语法而感到内疚。有语法问题那就有呗!重要的是你知道自己要做什么,然后只需要记住该如何做即可!
3、从何处下手?
学习一门新的编程语言必然会令人不知所措,还会引起混乱。当有人说:“放手去做就好了!”时,我会觉得很迷茫,我该从何处下手呢?最终我发现:你永远也无法为需要构建的功能做好准备,你唯一能做的就是走一步看一步,先动起来。
如果说每次没有遇到任何问题、不需要搜索任何技术、不需要寻求别人的帮助、也不必返工就能成功构建一个项目,我就可以拿到一美元的话,那么我告诉你……到目前为止我一美元也没拿到!犯错是学习过程中的一部分。
犯错是学习、发展和提高程序员技术力的一部分。而学习故障排除和调试代码则更重要,而不仅仅听别人说:“我也遇到过这个问题,你所需要做的就是……”。
我强烈鼓励你尝试自己解决问题。努力奋斗。不要害怕搞乱或破坏你的代码。必要的时候,可以重新构建整个项目。在学习新知识(例如编程)时,一遍遍重复才能学到真技术。一遍又一遍,直到你全部掌握为止。
4、如何实现呢?
找到你想要构建的东西,然后开始动手!不要犹豫不决。反复尝试和失败。当你不确定想要完成的功能时,请花点时间研究问题。分解成块。弄清楚如何解决每个块。
然后,再想法把所有块聚拢到一起。如果你忘记了如何编写for循环,或者忘记了高阶函数会返回什么,那也无需担心。你可以参阅文档或指南,然后再继续。
有时这是一个缓慢的过程,但非常值得。最终,你会越来越有自信,而且有很多想要实现的新想法。
你会记住如何实现吗?不会。
但是,你可以参考过往的项目, 在Google上寻找答案,或者阅读论坛。答案都是现成的,你需要做的只不过是找到答案而已。
‘伍’ 程序员是干什么的啊
程序员是写程序的属于电脑IT行业。
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员。
软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
一年可报考软考程序员考试两次,但一次考试只能报考一种资格,因此报考了程序员考试则无法再报考软考其他级别或科目的考试。
同时软考程序员考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试方式。
‘陆’ 一个好的程序员至少应该具备哪些条件
楼上的几位显然误会我的意思了,我并不是说不应当写文档加注释注重团队精神,看看下面的一篇文章,那位三天就写出UNIX的他需要写文档注释和团队精神吗,他用不着。哪个高手没有一点傲气和自信,他之所以敢对用户说:拿到你想要的,然后滚蛋,你已经很幸运了!是因为他有这个资本。天才本就不循规蹈矩,那样他就不叫天才了。
MIT BBS上说微软电话面试的一道题就是“Who do you think is the best coder,
and why?”。我觉得挺有意思的,也来凑个热闹。排名不分先后。
Bill Joy, 前任Sun的首席科学家,当年在Berkeley时主持开发了最早版本的BSD。他还
是vi和csh的作者。当然,Csh Programming Considered Harmful 是另一个话题乐。据
说他想看看自己能不能写个操作系统,就在三天里写了个自己的Unix, 也就是BSD的前
身。当然是传说了,但足见他的功力。另一个传说是,1980年初的时候,DARPA让BBN在
Berkley Unix里加上BBN开发的TCP/IP代码。但当时还是研究生的B伯伯怒了,拒绝把BBN
TCP/IP加入BSD,因为他觉得BBN的TCP/IP写得不好。于是B伯伯出手了,端的是一箭封
喉,很快就写出了高性能的伯克利版TCP/IP。当时 BBN和DARPA签了巨额合同开发TCP/IP
Stack,谁知他们的代码还不如一个研究生的好。于是他们开会。只见当时B伯伯穿
个T-shirt出现在会议室(当时穿T-shirt不象现在,还是相当散漫的哈)。只见BBN问:你
怎么写出来的?而B伯伯答:简单,你读协议,然后编程就行了。最令偶晕倒的是,B伯
伯硕士毕业后决定到工业界发展,于是就到了当时只有一间办公室的Sun, 然后他就把
Sparc设计出来乐。。。象这种软硬通吃的牛人,想不佩服都不行的说。据Bill Joy的同
事说,一般开会的时候B伯伯总是拿一堆杂志漫不经心地读。但往往在关键之处,B伯伯
发言,直切要害,提出漂亮的构想,让同事们彻底崩溃。对了,他还是Java Spec和JINI
的主要作者之一。
John Carmack,ID Software的founder和Lead Programmer。上个月和一个搞图形的师兄
聊天,他竟然不知道John Carmack, 也让偶大大地晕了一把。不过也许搞研究的和搞实
战的多少有些隔吧。想必喜欢第一人称射击游戏的都知道J哥哥。90年代初只要能在PC
上搞个小动画都能让人惊叹一番的时候,J哥哥就推出了石破天惊的Castle Wolfstein,
然后再接再励,doom, doomII, Quake...每次都把3-D技术推到极限。J哥哥的简历上说
自己的专长是"Exhaust 3-D technology",真是牛人之言不我欺的说。做J哥哥这样的人
是很幸福的,因为各大图形卡厂家一有了新产品就要向他“进贡"
,不然如果他的游戏不支持哪种卡,哪种卡基本就会夭折乐。当初MS的Direct3D也得听
取他的意见,修改了不少API。当然,J哥哥在结婚前十数年如一日地每天编程14小时以
上,也是偶们凡人望尘莫及的。对了,J哥哥高中肆业(?),可以说是自学成才。不过
呢,谁要用这个例子来为自己学习不好辩护,就大错特错了。那 Leonardo Da Vinci还
是自学成才呢(人是私生子,不能上学)。普通人和天才还是有区别的。对了,其实偶们
叫“达分奇”是相当不对的,因为Vinci是地名,而Da Vinci就是从Vinci来的人的意
思。换句话说,Leonardo Da Vinci就是“从Vinci来的Leonardo”的意思。叫别
人“Da Vinci”就不知所谓乐。嗯,扯远了,打住。
David Cutler,VMS和Windows NT的首席设计师,去微软前号称硅谷最牛的kernel开发
员。当初他和他的手下在微软一周内把一个具备基本功能的bootable kernel写出来,然
后说:“who can't write an OS in a week?",也是牛气冲天的说。顺便说一句,D爷
爷到NT3.5时,管理1500名开发员,自己还兼做设计和编程,不改coder本色啊。
D爷爷天生脾气火爆,和人争论时喜欢双手猛击桌子以壮声势。 日常交谈fuck不离口。
他面试秘书时必问:"what do you think of the word 'fuck'?" ,让无数美女刹羽而
归。终于有一天,一个同样火爆的女面对这个问题脱口而出:"That's my favorite
word"。于是她被录取乐,为D爷爷工作到NT3.5发布。
Don Knuth。高爷爷其实用不着偶多说。学编程的不知道他就好像学物理的不知道牛顿,
学数学的不知道欧拉,学音乐的不知道莫扎特,学Delphi的不知到 Anders Hejlsberg,
或者学Linux不知道Linus Torvalds一样,不可原谅啊。为了让文章完整,就再罗唆几句
吧。高爷爷本科时就开始给行行色色的公司写各种稀奇古怪的编译器挣外快了。他卖给别
人时收一两千美元,那些公司拿了code,加工一下卖出去就是上万上十万。不过也没见高
爷爷不爽过,学者本色的说。想想那可是60年代初啊,高爷爷写编译器写多了,顺带就搞
出了个 Attribute Grammar和LR(k),大大地造福后人啊。至于高爷爷在CalTech的编程比
赛(有Alan Kay得众多高高手参加)总是第一,写的Tex到86年就code freeze,还附带2^n
美分奖励等等都是耳熟能详的,偶就不饶舌乐。
顺便说一下,高老大爷是无可争议的写作高手。他给Concrete Mathematics 写的前言可
谓字字铿锵,堪为前言的典范。他的技术文章也是一绝,文风细致,解释精当,而且没
有学究气,不失轻快跳脱。记得几年前读Concrete Mathemathics,时不时开怀大笑,让
老妈极其郁闷,觉得我nerdy到家,不可救药。其实呢,子非鱼,安知鱼之乐,更不知那
完全是高爷爷的功劳。说到写作高手,不能不提Stephen A. Cook。他的文章当年就被我
们的写作老师极力推荐,号称典雅文风的样本。库爷爷一头银发,身材颀长,总是面带
谦和的微笑,颇有仙风道骨,正好和他的仙文相配的说。
高爷爷其实还是开源运动的先驱。虽然他没有象Richard Stallman那样八方奔走,但他
捐献了好多作品,都可以在网上看到,比如着名的Mathematical Writing,MMIXWare,
The Tex Book等,更不用说足以让他流芳百世的Tex乐。
Ken Thompson,C语言前身B语言的作者,Unix的发明人之一(另一个是Dennis M. Riche
老大,被尊为DMR),Belle(一个厉害的国际象棋程序)的作者之一, 操作系统Plan 9的主
要作者(另一个是大牛人Rob Pike,
前不久被google挖走了)。Ken爷爷也算是计算机历史上开天辟地的人物了。1969年还是
计算机史前时代,普通人都认为只有大型机才能运行通用的操作系统,小型机只有高山
仰止的份儿。至于用高级语言来写操作系统,更是笑谈。Ken爷爷自然不是池中物,于是
他和DMR怒了,在1969年到1970间用汇编在PDP-7上写出了UNIX的第一个版本。他们并不
知道,一场轰轰烈烈的UNIX传奇由此拉开了序幕。Ken爷爷在1971年又把Unix用C重写,
于是C在随后20年成就了不知多少豪杰的梦想和光荣。
Ken爷爷还有段佳话: 装了UNIX的PDP-11最早被安装在Bell Lab里供大家日常使用。很
快大家就发现Ken爷爷总能进入他们的帐户,获得最高权限。Bell
Lab里的科学家都心比天高,当然被搞得郁闷无比。于是有高手怒了,跳出来分析了UNIX
代码,找到后门,修改代码,然后重新编译了整个UNIX。就在大家都以为“这个世界清
净了”的时候,他们发现Ken爷爷还是轻而易举地拿到他们的帐户权限,百思不解后,只
好继续郁闷。谁知道这一郁闷,就郁闷了14年,直到Ken爷爷道出个中缘由。原来,代码
里的确有后门,但后门不在Unix代码里,而在编译Unix代码的C编译器里。每次C编译器
编译UNIX的代码,就自动生成后门代码。而整个Bell Lab的人,都是用Ken爷爷的C编译
器。
(6)Rob Pike, AT&T Bell Lab前Member of Technical Staff ,现在google研究操作系
统 。罗伯伯是Unix的先驱,是贝尔实验室最早和Ken Thompson以及Dennis M. Ritche开
发 Unix的猛人,UTF-8的设计人。他还在美国名嘴David
Letterman的晚间节目上露了一小脸,一脸憨厚地帮一胖子吹牛搞怪。让偶佩服不已的
是,罗伯伯还是1980年奥运会射箭的银牌得主。他还是个颇为厉害的业余天文学家,设
计的珈玛射线望远镜差点被NASA用在航天飞机上。他还是两本经典,The Unix
Programming Environment 和 The Practice of Programming 的作者之一。如果初学者
想在编程方面精益求精,实在该好好读读这两本书。它们都有中文版的说。罗伯伯还写
出了Unix下第一个基于位图的窗口系统,并且是着名的blit终端的作者。当然了,罗伯
伯还是号称锐意革新的操作系统,Plan9,的主要作者。可惜的是,Plan9并没有引起多
少人的注意。罗伯伯一怒之下,写出了振聋发聩的雄文 Systems Software Research is
Irrelevant,痛斥当下系统开发的不思进取,固步自封的弊病。虽然这篇文章是罗伯伯
含忿出手,颇有偏激之词,但确实道出了系统开发的无奈:开发周期越来越长,代价越
来越大,用户被统一到少数几个系统上,结果越来越多的活动是测量和修补,而真正的
革新越来越少。
就在罗伯伯郁闷之极的时候,google登门求贤来乐。如果说现在还有一家大众公司在不
遗余力地把系统开发推向极致的话,也就是google乐。随便看看google的成果就知道
了。具有超强容错和负载平衡能力的分布式文件系统GFS
(现在能够用100,000台廉价PC搭起一个巨型分布系统,并且高效便宜地进行管理的系统
也不多哈),大规模机器学习系统(拼写检查,广告匹配,拼音搜寻。。。哪个都很牛的
说),更不用说处理海量并行计算的各式google服务了。Rob在System Software
Research is Irrelevant里萧瑟地说现在没有人再关心系统研究的前沿成果了。想不到
他错了,应为google关心。google网络了大批功成总是试图吸取系统研究的最新成果。
想必Rob Pike在google很幸福。愿他做出更棒的系统。
Dennis M. Ritchie, 既然Ken Thompson是我的偶像,新闻组上人称DMR的Dennis M.
Ritchie自然也是,毕竟两人共同缔造了UNIX,而Dennis几乎独力把C搞大(当然,C的前
身是B,而B是Ken Thompson一手做出来的)。两人1983年分享图灵奖,是有史以来少数几
个因工程项目得奖的工程师(本来是唯一的一对儿,但Alan Kay才因为SmallTalk得奖,
所以就成了唯二的乐) 一个人一生能做出一个卓越的系统已经不易,DMR的C和UNIX长盛
不衰近30年,至今生机勃勃,DMR此生可以无憾的说。
D爷爷也算有家学渊源:他老爸在AT&T贝尔实验室工作了一辈子,并在电路设计方面卓有
成就,还出了本颇有影响的书The Design of Switching Circuits,据说在交换理论和
逻辑设计方面有独到的论述。当然,D爷爷和他老爸是不同时代的人:他老爸的研究成
形于晶体管发明之前,而D爷爷的工作离了晶体管就玩儿不转乐。:-D
不要看D爷爷搞出了C,其实他最爱的编程语言是Alef,在Plan9上运行,支持并行编程。
Alef的语法和C相似,但数据类型和执行方式都和C大大不同。说到语言,D爷爷对后来
人有非常中肯的建议:抱着学习的目的来开发你自己的语言,不要冀望于它被众人接
受。这个建议不光对语言开发有用,也适用于其它大型系统的开发。别的不说,DMR后来
领导自己的团队在1995年和1996分别推出了Plan9和Inferno操作系统,又用多少人知道
呢?其实,D爷爷当初也没想过C会风行世界。他开发C的初衷和Eric S. Raymond
在Cathedral and Bazaar里阐述的一样,就是要消除自己对现有工具的不爽之处。谁
知D爷爷无心插柳,C竟然受到众多程序员的狂热拥戴,连D爷爷自己都大惑不解。在一次
采访中D爷爷说大概那是因为C的抽象程度碰巧既满足了程序员的要求, 又容易实现。当
然C一度是Unix上的通用语言也是原因。但不管怎么说,D爷爷对编程语言出色的审美意
识奠定了C广为流传的基础。
最后八卦一下。D爷爷的业余爱好和NBA大牛Karl Malone一样:开卡车。不过D爷爷更喜
欢开NASCAR,而KM独爱巨无霸。J D爷爷自称心中不供偶像,如果一定要说一个,那就
是Ken Thompson了。现在Ken爷爷退休当飞机教练去了,而D爷爷当了贝尔实验室系统开
发部的头,整日忙于开支票。他俩合作20年,屡屡创造历史。这段令人神往的佳话,也
就长留你我心中乐。
P.S., 很多人都以为Brian W. Kernighan是C的作者。其实BWK只是写了那本经典K&R C。
据D爷爷说,他,Ken, 和Kernighan三人中,Kernighan最能写文章,他次之,而Ken写
得最少;但说到编程,Ken爷爷才是当之无愧的老大。
Edsger Wybe Dijkstra, 对,就是E.W. Dijkstra. 一提到EWD,很多人就会想起找最短
路径的Dijkstra Algorithm,就好像一提到Sir. Tony Hoare,就想起Quick Sort一样。
其实这些个算法不过是两个牛人在他们职业生涯中最琐碎的贡献。比如Dijkstra算法,
无非是戴爷爷在1956年为了展示新计算机
ARMAC的计算能力,初试身手的成果,属于他的算法处女作。据戴爷爷自述,他搞出最
短路径算法的时候连纸笔都没用。当时他和他老婆在阿姆斯特丹一家咖啡厅的阳台上晒
太阳喝咖啡,突然就把这个算法想出来乐。而且当时的算法研究还比较原始,牛人们忙
着用计算机搞数值计算,对离散算法不屑一顾。那时连一个象样的专注于离散算法的专
业期刊都没有。戴爷爷于是推迟发表这个算法。直到1959年,他才把这个算法发表
在Numerische Mathematik的创刊号上,权为捧场。:-)
EWD在多个领域牛气冲天,端的是理论和编程两手硬的高手。只不过他的很多工作比较
深刻,学校的老先生们觉得本科生接受不了,不给本科生讲而已。
戴爷爷大概因为最短路径算法一战成名,于是有人请他参加另一台计算机X1的设计工
作,并且把设计实时中断系统的任务派给了他。现在看来实时中断也许不算什么,但要
知到,X1前根本就没有实时中断的概念。实现它简直就是一场豪赌。戴爷爷起初还不情
愿,但经不住项目负责人Bram和Carel的轮番 “吹捧”:我们知道实时中断让您工作变
得非常困难,但象您这样的牛人肯定能做出来的说。结果戴爷爷被糖衣炮弹彻底击穿,
接下了这个烫手山芋。两三年后,他不仅搞出了实时中断,还围绕这个写出了自己的博
士论文,顺利戴上博士帽。
让戴爷爷真正成名立万的还是在X1上开发的Algo60,最早的高级语言之一。戴爷爷没日
没夜地工作了8个月,就搞出了Algo60,也因此获得了 1972年的图灵奖。因为Algo60,
戴爷爷发表了一篇石破天惊的文章:Recursive
Programming,于是人们才知道,原来高级语言也可以高效地实现递归,原来从此以后,
所有程序员都不可避免地和戴爷爷发明的一个词(应该说是概念)打交道:堆栈。
而且Algo60还让戴爷爷深入地思考多道程序设计的问题,最终发明了每个系统程序员
都绕不开的概念:semaphore。当然,戴爷爷总是把他发明的概念严格形式化,极具科
学家本色的说。和这些成就想比,他提出的吃饭的哲学家问题,也就没什么好说的了。
说来好笑,当时的大学(忘了哪所了)还是觉得戴爷爷没有受过正统的数学训练,也不是
专门搞数值分析的,所以最后不太情愿地给了他一个教职。这种小挫折并不能妨碍象戴
爷爷这样的牛人创造历史。他一边教数值分析(:-D) ,一边开始开发一个新的操作系
统,并培养计算机科学家。几年后,THE Multiprogramming
System横空出世。THE是第一个支持松散耦合,显式同步的进程并由此使得严格证明系统
没有死锁变得容易的操作系统。可惜戴爷爷任职的系不识货,还强行解散了他的研究小
组(1972年戴爷爷给他的系主任说他得了图灵奖,系主任的第一反应是你们搞计算机就
喜欢乱发奖)。这让戴爷爷相当郁闷,得了抑郁症。在极度郁闷之中,戴爷爷决定用写作
来治疗自己的抑郁症。于是经典就诞生乐:Notes on Structured Programming。戴爷爷
从此被尊为结构化编程的奠基人,而且他的抑郁症也被治好乐。
EWD太牛,结果他的故事也太多。先到这里吧。1973起,他的故事就在美国发生了。
Anders Hejlsberg,微软.NET的首席架构师,编程语言设计和实现的顶尖高手。他一手
做出了 Turbo Pascal, 也是Delphi, J++(尤其是WFC),C#, 和.NET的主要作者。这些作
品的名字足以为他立传。作为一个程序员,我在这样的大师面前实在无语。生子当
如Anders的说。李维的<>里已详细讲述了Anders的传奇故事,我就不用费舌了:
http: //java.mblogger.cn/iexploiter/posts/1505.aspx
Artima上有Anders谈C#的系列访谈。MSDN上有一段Anders导游的录像 。有兴趣可以去看
看牛人的丰采。
‘柒’ 程序员具有什么普遍爱好
程序员具有的普遍爱好有:
一,死宅。
程序员一般喜欢宅在家里,不太喜欢出去活动。在家里折腾电脑手机,写写程序,看看编程技术和科技方面的书,几乎每一个程序员手边都有一堆这样那样的书。
二,泡网。
程序员几乎都喜欢泡网,因为网上可以发现很多新奇的东西,学习很多新奇的编程技术,看到很多新奇的IT新闻。程序员往往喜欢比较前沿的东西,这些东西也都是最先在网上出现。
三,玩手机。
手机是现在很多人喜欢把玩的电子产品,只有到外面走一走就知道了,坐公共交通,等交通工具,等人,甚至上班、开会、走路都有人拿着手机在玩,当然程序员也不例外。
四,其它兴趣爱好。
程序员往往有自己的几项爱好,可能每个程序员都各不相同。但是程序员的个性往往决定了他们喜欢的不是广而是精,比如有的喜欢打某种球类,有的喜欢溜冰游泳、有的喜欢弹琴唱歌,但一般就两三项,其实这也是程序的时间和精力所限。
‘捌’ 如何找到一只善良有趣专一的程序员
想要找到一只善良有趣专一的程序,也你需要加入一个程序设计公司或者是软件开发公司。要想找到一个人,只有先进入一个圈子里面。
进入一个圈子以后,在这里面接触更多的人。接触的人越来越多,你会发现其实程序员也会有很多是比较有趣的,虽然他们工作的时候看起来比较专一,但是在他工作外的时间,他们其实是比较有趣的,而且很善良,很有爱心,情商特别的高。
想要找到一个专一,善良又有爱心的程序员,你需要先进入一个公司里面接触程序员,这样再经过细致的观察,进行挑选,最后,你会从中找到的。
‘玖’ 为什么说中国最早的程序员是沈从文什么意思
沈从文是我国着名的程序员,代表作有《编程》 ,其实是网友故意的,正确的《边城》。
《边城》小说以20世纪30年代川湘交界的边城小镇茶峒为背景,以兼具抒情诗和小品文的优美笔触,描绘了湘西地区特有的风土人情;借船家少女翠翠的纯爱故事,展现出了人性的善良美好。由于《边城》的美学艺术,《边城》这部小说在中国近代文学史上具有独特的地位。
该小说入选20世纪中文小说100强,排名第二位,仅次于鲁迅的《呐喊》。
(9)爱历史的程序员扩展阅读:
沈从文的创作风格趋向浪漫主义,他要求小说的诗意效果,融写实、纪梦、象征于一体,语言格调古朴,句式简峭、主干突出,单纯而又厚实,朴讷而又传神,具有浓郁的地方色彩,凸现出乡村人性特有的风韵与神采。
沈从文以乡村为题材的小说是典型的乡村文化小说,它不仅在整体上与都市“现代文明”相对照,而且始终注目于湘西世界朝现代转型过程中,不同的文化碰撞所规定的乡下人的生存方式、人生足迹及历史命运。
整个作品充满了对人生的隐忧和对生命的哲学思考,一如他那实在而又顽强的生命,给人教益和启示。
‘拾’ 喜欢历史的女人的性格
喜欢历史的女人的性格
喜欢历史的女人的性格,我们在初中的时候就已经接触过历史了,历史书上记载了许多皇帝的丰功伟绩和各项政策的实施,我为大家整理好了喜欢历史的女人的性格的相关资料,一起来看看吧。
一、理性沉稳
喜欢历史的一般都不缺乏理性,因为历史上有着数不胜数因为失去理性而酿成大错的案例。冲冠一怒、骄横跋扈、居功自傲等无不例外都是失去理性的代表,历史上西楚霸王项羽就是活生生的例子。
人们常说好古之人身上都有一种沉稳的气质,毕竟那是被无形的岁月打磨出来,这也就导致他们临危不惧、遇事不乱,看似心中有一根定海神针,其实这都是历史的熏陶。
这种“毛病”造成绝大多数熟读历史的人习惯以史为鉴,不会时常心血来潮,也不会轻狂浮躁,这在许多环境也能立于不败之地。
二、辩证眼光
有理性就会有辩证,不过这种“毛病”在当代却不常见。对于许多历史人们往往都是听而记之,甚至对于流传民间的故事也信以为真,最明显的就是《三国志》与《三国演义》的出处,历史上的刘关张其实并没有结义。
因为历史存在考证,所以热爱历史的人并不会一味地认可其中某个版本的历史,毕竟有一句话叫做“历史是由胜利者书写的,但事实真相的亲历者才知道”,不过在考证清楚前,目前的历史还是不能随意否定。
也就因为历史上许多不完整的事需要重新探索、思考、考证、假设,所以也就养成了那些爱看历史书的人习惯性运用辩证的思维看待某些事情,毕竟这个世界不是一个非黑即白的世界。
于是我们会发现那些爱看历史的人又有一个“毛病”,例如对于一个历史人物你如果问他们这个是好人还是坏人,他们绝对不会信口雌黄,这也就造成他们在生活中容易对一件事更好的权衡利弊,更好的明辨是非。
三、独立思维
独立主观是个“毛病”,人云亦云更是个毛病。只要是人,往往不经意间就掉入了人云亦云的陷阱中,而当今舆论的威力有目共睹,人云亦云更是大概率发生,当然古代也是如此。
《战国策·魏策二》中“三人成虎”的寓意更为明显不过。对于避免人云亦云并不是所有人都能够做到,哪怕喜爱历史的人也并非能做到完美,但是却能够做到将这种情况的发生降至最低。
至于为何能够做到有独立思维其实还是历史的关系,看历史相当于看书,书看多了就会潜移默化去思考,思考这件事情是怎么回事,不仅对事,还有对人。
拥有这份“毛病”虽然在有时候会让你成为一个群体的另类,不管是在科研领域还是文学领域,往往与大众的看法相差甚远,乃至引来嘲讽,但历史的进程不就是建立在他人的嘲讽之上吗?
四、胸有大志
看历史也就像玩一种模拟人生的游戏,而历史并不会随意记载碌碌无为的'人,于是在那些功成名就的历史人物中,你总会找到自己喜爱的偶像,例如“汉初三杰”中,“运筹帷幄,决胜千里”的张良,“赏罚分明,粮草不绝”的萧何,“连百万之军,战必胜,攻必取”的韩信,哪一位不是如今人们所喜爱的呢?
正因为如此,人们都会在历史中找到一个正面偶像,并向之看齐,俗话说“择其善者而从之”,于是渐渐的,心中那份志向也慢慢出现,因为一个爱历史的绝不希望自己是个碌碌无为的人。
这种“毛病”古往今来都在激励、引导着许多人积极向上。
五、妙笔生花
这个不是绝对,但也不是虚无,不过喜爱历史这个群体里有一部分确实是属于妙笔生花,因为当你有了一定的阅读量后,你的引用、文笔想不提升都难。
作文行云流水,赋诗豪情壮志,历朝历代的文学家都习惯引用历史典故,这也才有如今许多耳熟能详的诗句,例如“唐宋八大家之一”的苏轼在《江城子·密州出猎》中感叹道“持节云中,何日遣冯唐?”
在历史的滔滔江水中这样的人不在少数,若是不喜欢阅读历史文化类的书,又多少人有机会能够有“妙笔生花”的“毛病”呢?
六、学富五车
如今的时代,许多学习的都是历史的经验,许多知识也都是源于历史。喜爱历史的人虽然无法各个学富五车,但是却能够保证自己的知识储量,遇到问题并不会手足无措。
例如文学方面,当“山川异域,风月同天”出现时有人能够明白它的意思,清楚它的来源,但有人却是茫然不知,这,就是差别。虽然一件事并不能代表一切,但是有时候却能客观反映出一种事实。
所以多读一些历史文化书,这个“毛病”总会成为你自信的因素之一。
七、憧憬未来
这个“毛病”大家都有,因为历史,所以我们更加的对未来向往,因为终有一天,我们也是过往云烟,成为历史中的沧海一粟。
结语:这些“毛病”或多或少都浮现在喜爱历史的人身上,不过也就是因为这些“毛病”,让他们更加上进,更加出色。可见读书、读历史书是有多么的重要。
静下心来,每日读一段历史。静下心来,每日悟一次人生。
喜欢读历史的女人性格很内敛但是内心想法非常多。喜欢读历史的女人往往善于思考。通过读各种历史,他们会认真思考,为什么历史上会发生这些事,思考历史中人物的想法。他们会结合历史人物,通过和自己作对比,向优秀的历史人物学习,然后就变得越来越优秀。
她们的想法会很全面,思维能力也会变强。喜欢历史的人也往往善于学习。通过历史,他们会发现自身上的不足,然后去学习各种自己不会的东西,最后来完善自己。
(10)爱历史的程序员扩展阅读:
喜欢读书女生性格
爱好读书的人,感情会更加细腻,对待爱情会更加忠诚,很多历史书关于爱情无非就是痴男烈女,对待爱情专一,爱好读书的人不会背叛他的爱人,以为读书的人耳染目睹的都是那些感情专一的典故,喜欢读书的人,形成的爱情观会更加稳定,在恋爱过程中,会更加浪漫。
爱好读书人,性格更加沉稳,更容易干出大事,喜欢读书的人,通过历史典故,发生事物发展规律,会提高对人性的了解,增加对事物预测的准确程度,作为一个男人,倘若不读书,他的言辞会琐碎,会体现出一种市井小气的感情,而且这些不读书的人,喜欢炫耀,得理不饶人,以强凛弱,而读书的人,内心会更加善良,更加仁慈,会赢得身边人发自内心的钦佩。