当前位置: 首页 > news >正文

C++、Ruby和JavaScript

C++

C++最初被称为带类的C, 兼容C的语法,此既是C++得以流行的前提,也是C++某些语法被捆绑的根源。C++的++来源于C语言的递增运算符,代表增加,意义为扩展。

C++的历史

  • C++类的设计思想来源于Simula. Simula为模拟的意思,被称为最早的面向对象语言。对包括C++在内的所有面向对象设计都有非常重要的指导意义,如Java、C#等。

C++的负面讯息

  • 多重继承
    • C++引入了多重继承,在某些时候极其强大,也在某些时候产生负面影响。Java/C#纷纷抛弃,利用接口实现”多重”继承,事实上算单继承,接口是形式意义。

C++的发展

  • C++11让所有人对C++刮目相待,从来没有想到一门编译型编程语言可以变得如此时髦,另外一种声音是"怪兽"或者"缝合怪"。更时髦总有人认为那是臭美,笔者既不崇拜C++,也不贬低C++,学习C++的精华感受到编程语言的魅力就足够了。

C++的强大

  • 学过C++都能感受到它的强大,一则兼容大部分C语法,可以内嵌汇编,二则支持OOP, 可实现当今流行的Java/Python等面向对象语法和类库(C++是简洁的类库设计,不是为了应有尽有),只要想实现没有实现不了的,而且C++是设计为编译型语言,执行效率比Java/Python高。

  • 2023年了,有太多脚本语言得益于强大的硬件性能变得更流行,C++这种语言似乎越来越不流行。越是这样,越感觉到,C++注定称为几十年后一代瑰宝,程序员会永远记得曾经有一种可以直接编译成机器语言且支持OOP、泛型的编程语言,可以在解释型语言无法解决问题的时候提供一种可能。

  • 魔兽世界Wow作为一款曾经流行于2004年到2013年的大型多人在线角色扮演游戏,宏美的故事情节和绚丽的画面让不知多少人为之折腰。单机版Wow服务端可以采用C++编写的TrinityCore、MaNGOS等,可以自己修改源代码改成想要的服务器(仅仅为学习)。顺便提一下,Lua是Wow官方脚本,可以自定义UI界面和战斗脚本。

Ruby

1995年一个日本人发布了Ruby,它是一种简单快捷的面向对象脚本语言,类似于Perl和Python. Ruby on Rails名声大噪,后来又沉寂了。

极致的面向对象设计

  • Ruby将面向对象设计到了极限,任何数值都是对象。如下计算-10的绝对值。
    • c = -10.abs

不同平台的Ruby

  • JRuby和IronRuby是Ruby在Java和.NET平台的产物。JRuby用Java语言实现的Ruby解释器。

JavaScript

1995年,JavaScript诞生了。不得不提到它的标准ECMAScript, 它是一个语言标准,而非具体的语言。JavaScript除了名字有”Java”, 其它和Java没任何关系。Netscape为推广自家的LiveScript,命名中包含当时最流行的编程语言Java来蹭蹭热度。

不同的JS

  • 微软的“JavaScript”称为JScript.

  • ActionScript(1996年)是Adobe公司ECMAScript的实现语言,用来编写Adobe电影和应用程序。

  • React和Vue框架是JavaScript类库,用于前端。

  • TypeScript是JavaScript的超集,是C#的发明者又一力作,发布于2012年。它添加了静态语言类型,提高了可靠性。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可以在任何浏览器和任何操作系统上运行。TypeScript支持一些JavaScript无法处理的高级概念,如联合类型、交叉类型、泛型等。

Node.js

  • JavaScript最早作为客户端浏览器脚本。Node.js不是编程语言,是JavaScript解释器环境,为了让服务器端也可解释JavaScript,Node.js诞生之后,前后端都可以用JavaScript, 引爆前后端,包和类库越来越多,npm包管理器应运而生。

  • Node.js是C++编写。

JavaScript引擎

  • WebKit JavaScriptCore: C++编写.

  • Google V8引擎: C++编写.

  • SpiderMonkey: C/C++编写.

  • ChakraCore: C++编写.

JavaScript内嵌于HTML

  • 执行时机
    • 网页HTML中内嵌JS代码,形如<script type="text/javascript"> ... </script>. 解释引擎何时才会执行JS代码呢?根据JS代码所处的位置不同,调用时机不同。在HTML body体的JS代码是网页读取到该语句就执行,在head里面的JS代码被调用时才会执行。


若文章对您有帮助,欢迎关注。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。


http://www.mrgr.cn/news/43028.html

相关文章:

  • Java Lambda 表达式详解
  • 快速构建 yolo 训练集 测试集
  • 基于STM32的智能风扇控制系统设计
  • 正则表达式匹配英文字符
  • [uni-app]小兔鲜-07订单+支付
  • 电气自动化入门09:时间继电器、星三角启动
  • JAVA学习-练习试用Java实现“矩形区域不超过 K 的最大数值和 Ⅲ”
  • 浏览器指纹
  • IIOT工业物联网的标准与互操作性—SunIOT
  • 【吊打面试官系列-MySQL面试题】什么是锁?
  • ubuntu增加swap
  • 15 Shell Script sed命令
  • 如何在银河麒麟服务器中获取关键日志信息
  • LabVIEW提高开发效率技巧----使用动态事件
  • 28 基于51单片机的两路电压检测(ADC0808)
  • JS | JavaScript中document.write()有哪些用法?
  • 如何少走弯路,成为一名炒股高手?
  • MySQL的ON DUPLICATE KEY UPDATE和REPLACE INTO
  • PHP永久性Cookie的含义
  • 基于STM32的智能窗帘控制系统设计