
文本/ Su Ye(知识)
许多学习计算机的朋友也有类似的困惑: 我仍然拥有计算机,为什么我不能创建网站,软件或应用程序?许错误地认为教科书不一致,因此崇拜外国教科书实际上并非如此. 我将尽可能多地回答,并且还将谈论计算机科学的作用.
如果有一个接受过汉语基础培训并且是写作初学者的同学,他梦想成为像金勇这样的小说家. 他现在想知道如何提高自己的创造力,并练习写第一本小说. 这时,一位来自中文系的大学生路过,面对这位天真幼稚的同学,他给了我一个很高的评价:
我认为学生写小说没有意义. 学生必须沉迷于其中. 您知道,我了解文学理论. 当我想写小说时,即使我不能写单词,我也可以写字典. 因此,不要在这些上浪费时间. 首先,您必须彻底理解文学的精髓并达到我的境界,这样您才能“成为最好的”. 因此,现在您应该学习“对现代诗歌的当代理解”,“文本结构和含义的产生”和“语音学导论”,然后稳定学习2年以上,这是语言的内在力量.
该学生当场被这些华丽的头衔击倒,跑去认识并恭敬地问问题:
我想写一部小说. 主人给我推荐了三本经典. 我应该按什么顺序学习?学习了这些之后,我该怎么写?

不要荒谬. 初学者被高高的书撞倒是很正常的. 该主题给出的三本书确实是入门经典. 但是我们必须首先了解他们进入了哪种门.
CSAPP“对计算机系统的深入理解”:
这是CMU的“计算机科学入门”教科书. 操作系统入门. (本课程要求学生具有基本的编程技能)
SICP“计算机程序的构建和解释”:
这是MIT 6.001课程材料. 是编程语言的简介. (该课程几年前已更改为Python)
CLRS“算法简介”:

这是MIT 6.006课程材料. 这是算法分析的简介.
那么什么是操作系统,编程语言和算法分析?让我们系统地看一下计算机科学的意义. CS大致可分为几个主要领域: 硬件计算机是学什么的,系统,软件,网络,计算理论和计算方法.
●硬件-数字电路,集成电路,存储器,各种硬件设计和验证方法等.
●系统计算机架构(指令集,串行/并行,网格,云等),嵌入式,实时系统等.
●软件操作系统,虚拟机,编程语言,软件设计/开发/验证工具和方法等.
●网络-计算机网络的体系结构,协议,组件,路径算法和性能分析.

●计算理论-可计算性,形式语言和自动机,密码学,逻辑,算法分析等.
●计算方法-数值计算,符号计算计算机是学什么的,并行计算,计算机图形学,人工智能,机器学习等.
您可以按照此概述了解CS的功能. 但是现在您可以先看看这些词,然后可能会感觉到它们. 让我们再次谈论这三本书: 操作系统和编程语言是软件领域的中小型领域,而算法分析是计算理论中的一个小型领域. 这就是这三本书在计算机科学中的位置. 作为所谓的“经典”,他们进入了这些门. 既然您已经知道这些书的用途,那么您的问题就在这里: 该网站和该应用属于什么地方?
答案是它们都不属于. 您会看到整个计算机科学,研究都是非常低级的或基础的事情,并且与“现实中的产品开发”无关. 即使某些名称与开发相关,但它们也不是同一回事. 例如,这里提到的“编程语言”就像语言学一样,它研究各种语言结构,而不是教您用语言编写. 您必须意识到这一点,这不是教科书质量的问题,而是劳动分工. 正如天文学不会教您制造望远镜一样,机械动力学也不会教您打开挖掘机.
然后问题再次出现,您现在想学习成为一个网站和一个应用程序,这是什么?如何学习?哪一个强?
事实上,国内很少有大学拥有独立的CS,全都加上“ AND技术”,全名是“计算机科学与技术”. 顾名思义,这包括计算机科学和计算机技术. 您想学习的东西属于“和技术”. 您想学习的是技术方向,但其他人则建议在科学方向上学经典. 这是造成您困惑的根本原因.

说到这,我想您应该了解: 计算机科学做什么,那三本书做什么以及为什么您在完成学业后不创建网站和应用程序. 接下来,我想你会问这两个问题:
1. 如果我想从事技术,有必要学习科学部分吗?
我认为这不是必需的问题. 两者的区别在于追求不同的目标: 科学追求尽可能深入,探索原则;技术尽可能地追求封装以提高效率. 各种先进技术致力于隐藏细节以提高效率. 您选择学习内容的标准取决于它是否可以显着提高您的生产力. 某些技术高度依赖基本细节或原理,从而导致效率瓶颈,您应该学习它们. 但是当涉及到Web和App开发时,那些前端和后端框架和脚本可以最大程度地提高您的生产率. 学习完后,您将能够制造产品,而不是“计算机程序的构造和解释”之类的东西.
当然,上面的一些朋友告诉您,如果您想学习挖掘机,则必须首先学习机械动力学,否则您将没有内部工作,而且您永远不会成为挖掘机的高手. 机械动力学是真正的知识,只有现在社会太浮躁,没人愿意花时间学习. 但是,我并没有否认机械动力学的价值,它使您可以认真分析挖掘机,甚至可以设计和制造挖掘机. 但是,如果您的目标是打开挖掘机,那么您就不要这样开始,因为这是两件事. 说了这么多,希望您能理解.
2. 我现在应该如何提高技术水平?
学习技术的关键思想有两点: 一是模仿,二是边实践边学习. 例如,要学习挖掘机,首先,您需要了解基本操作,然后看看其他人如何打开它,最后自己动手. 如果遇到诸如偏差之类的问题,请对其进行研究,并且无法进行挖掘. 您可以再次学习,然后继续驾驶. 特定于您作为示例提到的网站,首先您可以查看“ Head First HTML5”和“ Head First PHP&MySQL”以学习一些基本操作. 然后找到一些作品,例如WordPress,以及一些经典模板,看看其他人是如何做到的. 然后,您可以自己设计一个小型网站,然后尝试创建它. 开始之前,请不要等待学习所有内容. 在执行过程中,您遇到什么障碍,然后有针对性地学习和解决它. 这种练习时学习的方式是正确的学习技术的方式,与进行理论研究的方式不同.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-222414-1.html
美国即使来
美国提供的只有战争
加油