白豆编程记录 003 | JavaScript 是「一夜情」的产物?

编程周报·技术 · 2022-09-05


临时加班到 10 点,写完就周一了,大家好。

本周是我开始 coding 的第三周,来更新了🌃


Image


  1. freeCodeCamp 课程平台 JavaScript Algorithm and Data Structures 课程的 Basic JavaScript 部分(60/113)

  2. 《Head First JavaScript 程序设计》500/628 。

  3. 下载 VScode 并安装六个辅助性插件。

Image


Chinese:中文环境

Live preiew:实时预览 HTML

Markdown PDF:在VScode码字

Prettier:代码自动美化

vscode icon:美化图标

Wisen Translate:鼠标悬浮翻译 


4. 逛技术博客,发现一个没有任何编基础的姑娘,发起并完成了《180天建180个网站》项目。


Image


5. 复习 HTML CSS anki 卡片,并制作了 10 张 JavaScript 新卡。



Image


-网络应用程序为了更容易建立,分离了功能与内容。内容就是网页上额 HTML 代码,它提供网页实际上如何拼在一起的结构,同时也是网页上所有数据的家;外观就是网页上的 CSS 代码,决定网页内容的外表:字体、色彩、排版等;功能就是驱动网页,带来交互性的 JavaScript 代码。


-为了给自家浏览器Navigator加上一种脚本语言和蹭 Java 流量,网景公司在 1995 年 5月决定设计一种「看上去与 Java 足够相似,但比 Java 简单,让非专业的网页制作者也能很快上手」。网景员工布莱登艾奇对 Java 不感兴趣,为了应付工作,他只用 10 天就把「简化版 Java 语言」,即 JavaScript 设计出来了。


-布莱登的设计思路是这样的:

(1)借鉴C语言的基本语法;

(2)借鉴Java语言的数据类型和内存管理;

(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;

(4)借鉴Self语言,使用基于原型(prototype)的继承机制。

所以,Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。


他对 JavaScript 的评价是:

"与其说我爱Javascript,不如说我恨它。它是C语言和Self语言一夜情的产物。十八世纪英国文学家约翰逊博士说得好:'它的优秀之处并非原创,它的原创之处并不优秀。'(the part that is good is not original, and the part that is original is not good.)"


-了解语言诞生的历史,对初学第一门编程语言的小白来说,能大体了解语言特性、增加兴趣。知道了 JavaScript 是个「一夜情产物」,是函数式编程和面向对象编程的混合产物,好像也没啥用,因为 这两种编程我都不熟悉,但在未来的某一时间,肯定就能理解了。


-分配任务要具体到每一天。 因为 freeCodeCamp 的这部分和响应式网页设计有所不同,不是按照单个项目来进行课程设计,这周开始学  JavaScript 没有进行具体安排,只是跟着课程走,但发现效率低下,对每天的学习量没概念,不知道自己是落后进度,还是超额完成,也就没了成就感。进行具体每天的任务规划后,效率有所提高。


Image

JavaScript 具体进程任务分配


-注意字母的大小写。前两周的记录中,我没太注意英文单词的大小写,因为 HTML  代码中大小写和空格都对结果没有影响。这周学习到 「驼峰命名法」才意识到自己的坏习惯。


CamelCase 是编程的一套命名规则,其优点是在任何计算机系统里字母都是连续的(中间没有空格),这样可以用一列描述性的词来取有含义的名字且还不会违反命名限制。它又分为两种。第一个词的首字母小写,后面每个词的首字母大写,叫做「小骆驼拼写法」(lowerCamelCase);第一个词的首字母,以及后面每个词的首字母都大写,叫做「大骆驼拼写法」(UpperCamelCase)。


Image


  • 先读书,再coding,再读书。由于《Head First JavaScript 程序设计》是按照项目来进行编排的,而 freeCodeCamp 的这部分内容不是,虽然我基本过完了书,但和课程实操练习不配套,导致这周学得有点混乱。计划完成可能之后再阅读一本体系比较完整的 JavaScript 书籍。备选:《你不知道的 JavaScript》《JavaScript 权威指南》。


  • 保持开放,增多交流。开始写编程记录才知道有朋友也在学,交流之后还被推荐了很棒的资源,真是太棒了。给自己打造环境,加入康文昌老师的元岛社区,认识更多志同道合的朋友。


  • Flomo 创建#编程随记 标签。每天随时记录想法和知识点,周末再写推文就不需要再从头开始思考这周都学了啥。同时经过二次筛选,也能提高每周编程随记的质量。



资料参考: 

  1. 《180天建立180个网站》:jenniferdewalt.com

  2. 阮一峰:《JavaScript诞生记》:www.ruanyifeng.com/blog/2011/06/birth_of_javascript.html

  3. 康文昌:vscode保姆级教程和常用插件,Re01必修部分编程环境配置:

    www.bilibili.com/video/BV1k34y1Y7xk



如果你喜欢我的推文,请关注公众号醋泡白豆~

JavaScript CSS 编程 Freecodecamp
Theme Jasmin