书评 《软件随想录》大CC | 大CC



书评 《软件随想录》大CC | 大CC

Joel的随想录,也就是他Blog上的文章的摘选;整本书看下来轻松,其中有不少文字在为他公司打广告、为自己摇旗呐喊;比如在选择程序员方面,他所认为的一些重要的因素,比如提供独立的办公室、更自由的空间、更多及更大的屏幕,都是他公司所能提供的;

但是大家不要忘了,他的公司员工的人数是个位数(从书中的得出),书中所提出的各种因素,在扩大到一定规模后,不具有普遍的适用性和可行性;

在过滤掉这些元素后,我整理了以下观点;

 

1 Unix与Windows文化之争

从程序开发的起点,Unix和Windows就有完全不同的目标;Unix是以命令行程序做为基本,也就是首要目标;程序的所有功能通过命令行方式都是可以完成的;这样带来的好处就是,可以结合Unix的内置工具来任意组合,比如批处理,比如后续的自动化处理,从而让开发出来的程序适应更多、更丰富的应用场景;

至于图形化终端,等我有空了再来开发吧,或者,互联网的朋友,谁有空,你们都可以来做这个;业务逻辑,在后台调用命令行工具即可;

Windows的目标就是一个漂亮的GUI程序。业务逻辑和GUI是融合在一块的;会有不错的用户交互体验;当然,想批处理,想自动化处理,抱歉,不支持。一步步按照我们的游戏规则来吧;

当然,我们需要认识,两者面向的终端用户并不完全相同;Windows占据着桌面领域,GUI交互体验为重中之重;而Unix系列则面向服务器领域,命令行支持为其根本;


Read full article from 书评 《软件随想录》大CC | 大CC


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts