首先我们学习一门语言呢不一要学习它的所有历史,但是一定要知道它的使用基本规则。不要在最基础的部分出错。不过胡萝贝还是带你了解JavaScript的历史吧。

1994年网景公司(Netscape)发布了Navigator浏览器0.9版(只能用于浏览消息,无法与访问者进行交互)。为了能有网络脚本语,网景公司选择开发一种完全适用的语言而不是已有的部分语言Perl、Python、Tcl、Scheme等等。

1995年Sun公司将Oak语言改为Java语言,且“一次编写,到处运行(write once,run anywhere)”的口号让其声名大噪。网景公司看重了它的前途,与sun公司结盟。且运行Java以applet的形式在浏览器中直接运行。网景公司高层疯狂信仰Java,sun公司完全介入导论网页脚本语言的决策中。

1995年4月,34岁的Brenden Eich被网景公司录用了。被指派做一个“看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。”的“简化版Java语言”的设计师。但是他对Java其实毫无兴趣。甚至只用了十天时间就将JavaScript设计出来了。(虽然过程不太严谨,但是大神就是大神啊!)这种不严谨导致在接下来很长一段时间JavaScript的程序都很混乱。但是大神的思路我等凡人还是可以借鉴一下:

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

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

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

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

JavaScript可以说是一个名副其实的混血儿了,而且老爹还不喜欢它最大的血液来源Java..."多年以后 Brenden Eich还继续dissJava:"Java(对Javascript)的影响,主要是把数据分成基本类型(primitive)和对象类型(object)两种,比如字符串和字符串对象,以及引入了Y2K问题。这真是不幸啊"  还说过:“与其说我爱Javascript,不如说我恨它。它是C语言和Self语言one night stand的产物。十八世纪英国文学家约翰逊博士说得好:'它的优秀之 处并非原创,它的原创之处并不优秀。”(the part that is good is not original, and the part that is original is not good.)。 多年以后还继续diss过Java:"Java(对Javascript)的影响,主要是把数据分成基本类型(primitive)和对象类型(object)两种,比如字符串和字符串对象,以及引入了Y2K问题。这真是不幸啊"  哎,我们JavaScript曾经也是一个爹不疼娘不爱的小可怜了。

有一个公众号:兔子爱吃胡萝贝。

希望大家能关注,文章中有任何问题都可以与我一同讨论,共同进步呀~

最新文章

  1. Android深度探索--HAL与驱动开发----第二章读书笔记
  2. 操作系统开发系列—12.e.Makefile
  3. vps mysql自动关闭
  4. php中命名空间的使用
  5. [UOJ#131][BZOJ4199][NOI2015]品酒大会 后缀数组 + 并查集
  6. 【数学,方差运用,暴力求解】hdu-5037 Galaxy (2014鞍山现场)
  7. Java线程监听,意外退出线程后自动重启
  8. (转)Linux监控工具
  9. JOSM学习下载地址
  10. Openlayers 自定义控件
  11. nginx args
  12. android jsonarray
  13. 如何迅速成为Java高手[转]
  14. java做帐户登录失败锁定
  15. Lytro 光场相机重对焦C++实现以及CUDA实现
  16. vuejs、eggjs全栈式开发设备管理系统
  17. api_response.go
  18. [Alpha阶段]第十次Scrum Meeting
  19. Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还 是 equals()?它们有何区别?
  20. CSS day49

热门文章

  1. 机器学习之使用Python完成逻辑回归
  2. 玲珑OJ 1082:XJT Loves Boggle(爆搜)
  3. c++ 广度优先搜索(宽搜)
  4. 浅入深出Vue:注册
  5. 神奇的Invsqrt函数
  6. NOSQL—MongoDB之外的新选择
  7. IT人士如何扛起工作生活两座大山
  8. 雅阁微信群、雅阁车友群、十代雅阁交流微信QQ群
  9. Python选修第00次作业:缘分
  10. 【译】.NET Core 3.0 发布自包含单体可执行程序