From 691e88071a1b9ff7dfe8372e63fcc47b23b85ad1 Mon Sep 17 00:00:00 2001 From: SoftwareTeacher <xinzou@yahoo.com> Date: Mon, 29 Aug 2022 22:26:13 +0800 Subject: [PATCH] modified: chapters/1.md modified: plan/1.md --- chapters/1.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++ plan/1.md | 4 +-- 2 files changed, 76 insertions(+), 2 deletions(-) diff --git a/chapters/1.md b/chapters/1.md index e413f9e..4efd985 100644 --- a/chapters/1.md +++ b/chapters/1.md @@ -15,6 +15,80 @@ | 2020 | 2020: 95% çš„ä¼ä¸šè¯´ å¼€æºè½¯ä»¶æ˜¯ä»–们ä¼ä¸š IT 基础建设的é‡è¦éƒ¨åˆ†ã€‚ | . | . | . | ### å¼€æºå‘展历å²çš„脉络 +注:关于开æºçš„历å²ï¼Œåœ¨ç½‘络有很多介ç»ï¼Œæˆ‘(邹欣)在这里ä¸æƒ³åšå…¶ä»–文档的å¤è¯»æœºï¼Œè€Œæ˜¯ä¸»è¦è®²æˆ‘çš„ç†è§£ã€‚ 由于我的水平ã€ç»åŽ†å’Œçœ‹é—®é¢˜çš„角度,我的看法å¯èƒ½æœ‰ä¸å‡†ç¡®ï¼Œä¸ç¬¦åˆäº‹å®žï¼Œæˆ–者有å颇之处,希望大家指出这些问题,我们å¯ä»¥å±•å¼€è¿›ä¸€æ¥çš„讨论和澄清。 + +1. 1940 - 1950 年代: 开拓阶段 + +计算机科å¦çš„å‘展,是建立在其他å¦ç§‘的基础上的,自然地,计算机软件的å‘展也ä¸ä¾‹å¤–。 + +在计算机å‘展的早期(1940 年代),它的硬件有éžå¸¸æœ‰é™çš„速度和容é‡ã€‚ +Mark I:CPU å†…éƒ¨è®¡ç®—ä¸€ä¸ªåŠ æ³•ï¼š300 毫秒; 相当于 3 Hz 的主频。 大家手里的笔记本电脑是 1G Hz 主频。 +Mark I 的内å˜ï¼š +72 storag registers, each holds 2 23-digit decimal numbers and its algegraic sign. + +程åºå‘˜çš„工作:把一个计算公å¼ï¼ˆä¾‹å¦‚ 一个å¤æ‚的方程)转化为 --> æ•°å—和数å—çš„æ“作 --> 输入到电脑ä¸ã€‚ 直接使用机器è¯è¨€ (汇编è¯è¨€ï¼‰ + +早期的程åºå°±æ˜¯æŠŠæ•°å¦å…¬å¼å˜ä¸ºä¸€ä¸ªè®¡ç®—机能执行的对数æ®æ“作的åºåˆ—。 + +早期的程åºå‘˜éƒ½æ˜¯æžæ•°å¦çš„,æ¯ä¸€æ®µæ±‡ç¼–代ç 是和机器的细节,包括内å˜çš„地å€ç»‘定的,程åºæ— 法é‡ç”¨åˆ°å¦ä¸€æ¬¡çš„执行ä¸ï¼ˆå› 为内å˜åœ°å€ä¸ä¸€æ ·äº†ï¼‰ï¼Œè€Œä¸ç”¨è¯´ï¼Œç¨‹åºèƒ½å¤Ÿåˆ†äº«åˆ°åˆ«çš„机器上了。 在1945 年, Mark I 的程åºå‘˜å¼€å‘了很多常用的数å¦å…¬å¼çš„实现方法,但是在拷è´ä»£ç 的时候,è¦æŠŠåœ°å€é‡æ–°å®‰æŽ’,很ä¸æ–¹ä¾¿ã€‚ 这些方法如何能够方便地让大家互相使用呢? 一个想法,从原æ¥çš„直接使用机器的ç»å¯¹åœ°å€å˜ä¸º “relative coding",建立了一个抽象 --- ä¸å®žç”¨ç»å¯¹çš„地å€ï¼Œè€Œæ˜¯ä½¿ç”¨ç›¸å¯¹çš„地å€ã€‚ + + +1946 å¹´ 5 月: John von Neumann å‘表了 “First Draft of a Report on the EDVAC", æ述了现代计算机的结构: +- binary logic gates +- stored instructions and data +- serial execution of instructions + +怎么实现 “stored instructions / programs", 而ä¸è¢«å…·ä½“的机器细节所绑定? 如何用å‚æ•°æ¥æ”¯æŒå¯¹è¿™ä¸ªprogram 对ä¸åŒè¾“入? 这就是 sub-routine (å程åºï¼‰çš„产生。 + +1950: Mark III ç”µè„‘è¯žç”Ÿï¼Œæ”¯æŒ subroutine 的功能,让 “å程åºâ€ å¯ä»¥æ–¹ä¾¿åœ°åœ¨ä¸åŒçš„地方被调用。 + +Grace Hopper éœç€åœ¨å·¥ä½œä¸ï¼Œå¯¹äºŽæ—©æœŸè®¡ç®—机指令的规范也åšå‡ºäº†å¾ˆå¤šè´¡çŒ®ã€‚ + +在计算机出现的早期,指令都是用二进制或者八进制æ¥è¡¨ç¤ºçš„。机器åªè®¤è¯†è¿™äº›æ•°å—,对于机器æ¥è¯´ï¼ŒæŒºæ–¹ä¾¿çš„。但计算机代ç ,究竟是给计算机读的,还是给人读的呢? + +éœç€å’Œå…¶ä»–程åºå‘˜åœ¨å®žè·µä¸å‘现,这些代ç 需è¦èŠ±å¾ˆå¤šæ—¶é—´æ¥è®°å¿†ï¼Œä¿®æ”¹ï¼Œå’Œè®¨è®ºï¼Œæ‰§è¡Œèµ·æ¥å¾ˆä¸æ–¹ä¾¿ï¼ŒäºŽæ˜¯ä»–们åšäº†ä¸€ç³»åˆ—的改进: +首先,用英è¯å—æ¯æ¥è¡¨ç¤ºè®¡ç®—æœºæŒ‡ä»¤ï¼Œè¿™æ ·ç¨‹åºå‘˜å°±èƒ½æ–¹ä¾¿åœ°é˜…读和ç†è§£ã€‚ +其次,éœç€æˆäº†ç¬¬ä¸€ä¸ªåœ¨æºç¨‹åºä¸Šå†™æ³¨é‡Šçš„程åºå‘˜ï¼Œè¿™ä¸ªä¹ æƒ¯ä¼ åˆ°äº†å¾ˆå¤šå…¶ä»–äººã€‚ + +第三,她们å‘明了æµç¨‹å›¾ (Flow Chart),使用矩形æ¥ä»£è¡¨æ“作,使用è±å½¢æ¥ä»£è¡¨é€‰æ‹©ã€‚ä¿—è¯è¯´â€œä¸€å›¾èƒœåƒè¨€â€ï¼Œæµç¨‹å›¾æžå¤§åœ°æå‡äº†å·¥ä½œæ•ˆçŽ‡ã€‚所以一直到 70多年åŽçš„今天,还会被许多åˆå¦è€…沿用,帮助设计和ç†è§£ç¨‹åºã€‚  + +在1950 å¹´ä»£æœ«ï¼Œæ²¿ç€ "让计算机程åºå®¹æ˜“写,容易ç†è§£â€çš„æ€è·¯ï¼Œéœç€è¿˜é¢†å¯¼è®¾è®¡äº†çŽ°ä»£ç¼–程è¯è¨€ COBOL,这个è¯è¨€åŽé¢è¢«å¹¿æ³›åœ°ç”¨äºŽå•†ä¸šé¢†åŸŸã€‚ +åŒæ—¶ï¼Œæ²¿ç€ "更高效地åšç§‘å¦è®¡ç®—“ çš„æ€è·¯ï¼Œ 为了 Formula Tranlating 而设计,诞生了 FORTRAN,当时的 IBM 电脑åªæœ‰å¤§å†™è‹±è¯å—æ¯ï¼Œå› æ¤è¿™ä¸ªè¯è¨€çš„å—æ¯ä¹Ÿå…¨éƒ¨å¤§å†™ï¼ŒåŽæ¥æ‰æ”¹ä¸º Fortran。 (早期å‘明者:John Backus 1953 - 1957) + +éšç€è®¡ç®—机在二战åŽä»Žç§‘å¦è®¡ç®—转移到了商业应用,软件工程师开始考虑 “商业利益â€ï¼Œ “知识产æƒâ€ 的问题。 + +1950 年代, Hopper 主æŒäº† Compiler çš„ç ”ç©¶ï¼ŒæŠŠé«˜çº§è¯è¨€ç¼–译为针对å„个ä¸åŒç”µè„‘的汇编代ç ,在这个过程ä¸ï¼Œå¥¹åšæŒäº† “æºä»£ç 共享â€ï¼š + +The fact that Hopper wholeheartedly welcomed non- UNIVAC personnel to learn about the A-2 compiler sheds some light on her beliefs concerning intellectual property. Hopper did not view software as a commodity to be patented and sold. Rather, she took her cue from the mathematics community. Like most other academics, mathematicians shared information universally, in order to advance knowledge. Though individual efforts were acknowledged by colleagues, advancement in the field was contingent on a communal view of information, community validation, and evolutionary advancement based on previous work. In the same way, software, according to Hopper, was a public good to be shared freely among all users. Complicating software development with secrecy would only inhibit innovation. + +Beyer, Kurt W.. Grace Hopper and the Invention of the Information Age (Lemelson Center Studies in Invention and Innovation series Book 4) . + + + + +总结:在早期的计算机上,“软件†åªæ˜¯å®žçŽ°æŠŠæ•°å¦å…¬å¼è½¬åŒ–到机器代ç ä¸ï¼Œå程åºçš„出现,让大多数的常用计算公å¼èƒ½å¤Ÿä¸€æ¬¡å†™å¥½ï¼Œå¤šæ¬¡è¢«è°ƒç”¨ã€‚éšç€è®¡ç®—机软件科å¦å’ŒæŠ€æœ¯çš„å‘展,如何分享 â€œç§‘ç ”æˆæžœâ€ vs “ä¿æŠ¤å•†ä¸šåˆ©ç›Šâ€ æˆä¸ºç¨‹åºå‘˜éœ€è¦é¢å¯¹çš„问题。 + +2. 1960 - 1970 年代: +在环境/文化方é¢ï¼š 黑客文化兴起 +在计算机/OS æ–¹é¢ï¼š Unix 在大å¦è®¡ç®—机教育界的兴起和版æƒçº 纷 +在应用软件方é¢ï¼šVI,Emacs: +商业创新方é¢ï¼š 个人电脑:Xerox Parc çš„ Alto 电脑, Apple I,BASIC 解释器 +软件许å¯è¯çš„诞生: EULA: End User License Agreement. + +3. 1980 - 1990 年代: å¼€æºçš„商业èŒèŠ½ +商业版æƒï¼š 导致 Unix 的碎片化, 导致商业å‘展的åœæ»žå’Œç‰ˆæƒçº 纷。 Macintosh, DOS, Windows, Windows NT, OS/2 ... +自å‘çš„å¼€æºé¡¹ç›®ä»ŽèŒèŠ½é˜¶æ®µå‘展: MINIX, Linux ç‰å¼€æº OS ç‰äº§ç”Ÿã€‚ MySQL, Apache,PHP。 + +4. 2000 - now 高速å‘展阶段 +å‡ ä¹Žæ‰€æœ‰çš„è½¯ä»¶éƒ½æœ‰å¼€æºçš„替代产å“。 +互è”ç½‘æŠ€æœ¯å’Œäº§ä¸šçš„å‡ æ¬¡æ½®èµ·æ½®è½è®©å¼€æºæˆä¸ºä¸€ä¸ªå®žç”¨è€Œå¯ä»¥æ“作的选择。 +高端:Sun 的工作站,Cisco 的网络设备,EMC çš„å˜å‚¨ï¼ŒOracle çš„æ•°æ®åº“。 +低端:LAMP: Linux, Apache 网站æœåŠ¡å™¨ï¼ŒMySQL æ•°æ®ï¼ŒPHP 脚本è¯è¨€ã€‚ +ä¼ä¸š IT æœåŠ¡ï¼š scale-up. 买越æ¥è¶Šé«˜çº§çš„专用æœåŠ¡å™¨å’Œå•†ç”¨è½¯ä»¶ è½¬å‘ scale-out: 用便宜的硬件和软件å–代. +ä¼ä¸š IT 战略: build or buy? è´ä¹°ä¸“用æœåŠ¡ï¼ˆè¢«é”定) vs 自己构建 (技术和人力æˆæœ¬ï¼‰ã€‚ 原æ¥åªèƒ½äºŒé€‰ä¸€ï¼ŒçŽ°åœ¨ å¼€æºå¯ä»¥æœ‰ä¸€ä¸ªæ··åˆæ¨¡åž‹ï¼Œæ»¡è¶³ä¼ä¸šéœ€è¦ã€‚ + +2020: 95% çš„ä¼ä¸šè¯´ å¼€æºè½¯ä»¶æ˜¯ä»–们ä¼ä¸š IT 基础建设的é‡è¦éƒ¨åˆ†ã€‚ + ### 国内开æºçš„å‘展现状 diff --git a/plan/1.md b/plan/1.md index cb6f55a..d4d4c12 100644 --- a/plan/1.md +++ b/plan/1.md @@ -36,7 +36,7 @@ http://t.csdn.cn/ihAJj ä½ æ—¢ç„¶æ¥å¦ä¹ â€å¼€æºè½¯ä»¶å¼€å‘“ è¿™ä¸ªè¯¾ç¨‹ï¼Œé‚£ä¹ˆä½ ä¸€å®šå¯¹è¿™ä¸ªé¢†åŸŸæœ‰ä¸å°‘疑问。 上这门课的所有å¦ç”Ÿçš„疑问一定是ä¸ä¸€æ ·çš„ï¼Œé‚£ä¹ˆï¼Œä½ æŠŠä½ çš„ç–‘é—®è®²å¾—è¶Šæ¸…æ¥šï¼Œå°±è¶Šèƒ½å¸®åŠ©è€å¸ˆã€åŠ©æ•™ã€ä¸šç•Œä¸“家ã€ç”šè‡³å…¶ä»–åŒå¦äº†è§£ä½ çš„ç–‘é—®ï¼Œå’Œä½ è®¨è®ºå¹¶è§†å›¾è§£ç”。 写一篇åšå®¢ï¼Œåœ¨è‡ªå·±çš„ CSDN åšå®¢è´¦å·ä¸‹å‘表,æ述自己目å‰è¿˜ä¸çŸ¥é“ç”案的五个具体问题。 -注æ„:是 “还ä¸çŸ¥é“ç”案†的问题。 请ä¸è¦å†™å¾ˆå®å¤§çš„问题,如, “开æºçš„æ„义“, â€æ€Žä¹ˆè®©å¼€æºé¡¹ç›®æˆåŠŸâ€ 。 而是一个具体的问题。 +注æ„:是 “还ä¸çŸ¥é“ç”案†的问题。 请ä¸è¦å†™å¾ˆå®å¤§çš„问题,如 “开æºçš„æ„义“, â€æ€Žä¹ˆè®©å¼€æºé¡¹ç›®æˆåŠŸâ€ 。 而是一个具体的问题。 #### 一个模æ¿å¯ä»¥æ˜¯è¿™æ ·ï¼š æˆ‘çœ‹äº†è¿™ä¸€æ®µæ–‡å— ã€å¼•ç”¨æ–‡å—】,有这个问题 ã€æ出问题,æ述问题】。 @@ -51,7 +51,7 @@ http://t.csdn.cn/ihAJj 大å¦ç”Ÿåº”该能写出自己的æ€è€ƒï¼Œ 而ä¸æ˜¯æ‘˜æŠ„书本内容。 -关于如何æ问,也有很多人给了建议,这是其ä¸çš„一个,他的作者大家å¯èƒ½çŸ¥é“åå—: +关于如何æ问,也有很多人给了建议,这是其ä¸çš„一个,他的原作者大家å¯èƒ½æœ‰æ‰€è€³é—»ï¼š http://tieba.github.io/common/howtoask.html ### 怎么交作业 -- GitLab