从提升键盘使用效率发散思考程序员如何使用工具?

这是个不是好回答的问题,但这确实是一个值得思考的问题,其关键在于到底是什么造成了计算机发展的迅猛,而工具在其中起到了什么关键作用?作为一个程序员,如何理解并应对这种发展?

而这些问题带给技术人员一个直接的焦虑便是技术的更新太过迅猛,对工具的追求更甚于理论,而不清楚什么才是核心的竞争力。

从使用键盘说起,键盘对于程序员来讲,是基本且几乎唯一的代码输入手段,任何源代码的来源应该都来自每一个程序员的敲打。所以打字的速度的确实是生产力的体现。

不过当我们实际编程的时候,对于大多数新手或者像我这样的学生而言,code的速度是完全依赖于思考的速度,或者说无论打字多快,对于code而言都是过剩的,很少会出现打字的速度跟不上思考的速度。

当然这也是根据情况而言,在编写java时,大部分初学者可能都会出现寻找快捷键的经历(java的编程特性在初次接触会照成大量的冗余,但功能却较少)。而编写C时经常出现想一想,写一写(防止内存泄漏)。而这两种不同语言的编写经历在某种程度上说明,键盘的效率关键是用来处理具有某种模式以及重复代码或者重复操作上具有明显提高。

但软件工程的一个关键原则是高内聚,低耦合。其中便包括减少重复,或者让重复的事情计算机来做。

而这也是大多数成功的设计所采用的原则,代码要精不要多。

而在迅猛的发展过程中留下的大部分是良好的,稳定的系统。而越是重复,冗余的代码都是在不断淘汰。

这也是计算机发展迅猛但依然生态良好的一个原因:劣品没有生存的空间

所以编写良好的program是我们程序员的目标。而工具,虽然重要,但他不是code,

code and poem ,they are the same

PS:原本想从一些编程经验讲起,不过因为大部分是好的设计和code,所以经验不具有参考性。而键盘的问题其实以个人观点在于如果有更好的输入方式代替,还是选择更好的输入方式。当年的五笔输入法

其实也侧面反映计算机领域很多技术的淘汰是转眼间的。

不过只关于键盘的问题,我个人建议是用Linux系统,用windows系统其实是不会养成熟练使用键盘的能力的

我个人其实是十分喜欢鼠标和图形化界面的,但关键的问题是

键盘的输入本质是一种字符流,而字符流是可以形式化的,这种形式化理论上意味着可以自动化,

大部分的服务器运维和构建都是基于字符的本质的一点是自动化,并且符号不存在鼠标和图形化的模糊性,所以键盘的关键不是键盘本身,而是其背后的字符流,而字符流是一种基本的概念和工具,是不会淘汰的,但键盘可能因为未来自然语言处理,或者专家系统等人工智能的出现而革新,但字符流是不会被淘汰的

其实从人机交互的角度看,键盘无疑是及其成功的设计,不仅考虑了一般用户,而某些热键其实是对残疾者设计的,而盲键也进一步给盲人的使用带来便利。

所以计算机文化中键盘无疑是不可替代的符号。

原文地址:https://www.cnblogs.com/KagariAtsuko/p/11529901.html

时间: 2024-10-23 22:55:27

从提升键盘使用效率发散思考程序员如何使用工具?的相关文章

程序员拥有这些工具,还怕干不出好活?

老话说,工欲善其事,必先利其器. 那么,作为编程人员,你都用过哪些“兵器”呢?你的”兵器“够”锋利”吗? 近期,有很多新朋友问,都有什么画流程图的工具,给推荐推荐? 索性,就静下来,好好梳理一下,从事编程十余载中,用到了哪些工具?尝试汇总分享给大家,希望对大家有所帮助. Tips: 1. 考虑方便收藏,文末已经把文中提到的工具整理成图. 2. 曾经用过的,以及目前在用的工具梳理,势必会有适合你的款. 01. 设计原型 代码写久了,也会客串一下产品的角色,画点原型.按照接触时间,主要分享两款. 一

黑马程序员——Java集合工具类和泛型

Collections工具类和泛型 Collections和Collection Collections和Collection是不同的,Collections是工具类,用来操作集合的,而Collection是集合接口.Collections中有一系列的静态方法用来操作集合,但是不能更改集合内容.比如不能set()不能remove()元素,可以替换全部元素或者添加同一个元素. static List<String> list =Arrays .asList("one Two three

程序员常用的工具

程序员常用的工具 2015-05-06 尚学堂 一.Xshell Xftp 免费软件 Xshell 和 Xftp 都是优秀网络管理.安全传输工具.Xshell 是一个免费的安全终端仿真器,可以作为 SSH.TELNET 或 RLOGIN 的终端模拟,能够从 Windows 平台安全连接 Linux 服务器,Xftp 则是安全传输客户端,支持 FTP 和 SFTP 协议,两者都支持标签化的会话窗口.如果你的项目部署到Liunx下面,这样的工具你少不了的. 二.Axure RP Pro 这个做产品的

思考程序员的出路

进入项目型公司,为了好不好看,但没有实质性功能的东西改来改去,心里很烦躁.之前呆在产品型的公司,就算是改来改去,都知道是站在用户的角度考虑问题,都会觉得至少是值得的.在产品性的公司里面,UI上的东西永远让步于功能性的东西,之后慢慢优化.而且迭代速度非常快,几周就能保持线上稳定的状态.而现在一个项目一做就是好几个月,为了更加好看,一直在改,但从来没有上线过,加班加点的改.我现在都有点怀疑这样做到底会不会有一个好的结果.没有需求文档,也不做设计,一句话描述的功能是越来越多.Is that very

程序员高效率工作工具推荐(必备工具)

一. Xshell Xftp 免 费软件 Xshell 和 Xftp 都是 NetSarang 出品的优秀网络管理.安全传输工具.Xshell 是一个免费的安全终端仿真器,可以作为 SSH.TELNET 或 RLOGIN 的终端模拟,能够从 Windows 平台安全连接 Linux 服务器,Xftp 则是安全传输客户端,支持 FTP 和 SFTP 协议,两者都支持标签化的会话窗口.如果你的项目部署到Liunx下面,这样的工具你少不了的. 二. Axure RP Pro 这个做产品的用的比较多,但

程序员开发辅助工具总结

1.Notepad++ Notepad++ 程序员必备的文本编辑器,软件小巧高效,支持27种编程语言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等,推荐各位下载使用.Notepad++ 可完美地取代微软的记事本. 2.XML Marker(xml查看编辑工具) XML Marker是国外的一款非常实用的xml查看编辑工具.软件功能强大,纯文本调试输出和日志文件,你可以有效增加修改你的程序才能产生XML格式他们的作用.你也可以使用XML标记的图形功能,以现场隐藏的趋

Java程序员的好工具:json-to-javabean

向大家介绍我开发的一款工具,json-to-java.它可以帮助java程序员,通过json生成对应的javabean.当你需要调用json返回格式的api时,该工具特别有用. 功能介绍 我们开发的java系统,经常需要调用其他系统的API.这些API的返回格式,往往都是json格式.这个小工具,可以帮助你把json格式的数据,转换成对应的javabean.以简化你手动拷贝粘贴json属性的工作. 哪些人会收益 如果你需要调用第三方API,但面临以下情况: 1.API未提供JAVA SDK,映射

Android Java 程序员必备开发工具

对于Java,有两种截然不同的观点:一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂. 下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给Java编码和开发提供卓越的支持. 1. JDK(Java开发工具包) 如果你打算用Java开发一些小程序和应用程序,那么首先得给自己准备一个类似于JDK的工具,其中包括必要的Java Complier.Java Runtime Environment(JRE)和Java API.这是开始Ja

程序员的笔记工具——Markdown

安利一款轻量级的标记语言——Markdown 如上,Markdown作为一门语言,十分钟即可入门,熟练以后麻麻再也不用担心我在文章排版上浪费时间了!! 入门资源可参考如下回答(建议拣一条完整的看完上手即可): https://www.zhihu.com/question/20409634 练习Markdown推荐使用一款笔记工具:Leanote 完美对接Markdown,可直接使用其编辑 当然,作为拥有一直使用印象笔记的我,不得不承认,印象笔记在这点上有欠缺,一款针对该需求的专业Markdown