C++、Ruby和JavaScript

embedded/2024/10/10 23:43:26/
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

C++

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

C++的历史

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

C++的负面讯息

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

C++的发展

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

C++的强大

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

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

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

Ruby

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

极致的面向对象设计

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

不同平台的Ruby

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

JavaScript

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

不同的JS

  • 微软的“JavaScript”称为JScript.

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

  • React和Vue框架是JavaScript类库࿰c;用于前端。

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

Node.js

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

  • Node.js是C++编写。

JavaScript引擎

  • WebKit JavaScriptCore: C++编写.

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

  • SpiderMonkey: C/C++编写.

  • ChakraCore: C++编写.

JavaScript内嵌于HTML

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


c26">若文章对您有帮助࿰c;欢迎关注。助您在编程路上越走越好!

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

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

class="blog-extension-box">

http://www.ppmy.cn/embedded/125604.html

相关文章

【软考】设计模式之中介者模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 适用性6. 优点 1. 说明 1.用一个中介对象来封装一系列的对象交互。2.中介者使各对象不需要显式地相互引用&#xff0c;从而使其耦合松散&#xff0c;而且可以独立地改变它们之间的交互。3.中介者模式&#xff08;Mediator Pattern&…

前端使用rsa对密码加密,springboot使用rsa对密码进行解密

前端 <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>JSEncrypt Example</title><script src"https://cdn.rawgit.com/spark/crypto-js/master…

听说这是MATLAB基础?

MATLAB&#xff08;矩阵实验室&#xff09;是一个强大的高性能计算环境和编程语言&#xff0c;广泛应用于数学计算、算法开发、数据分析、可视化以及模拟等多个领域。以下是MATLAB的一些基础知识&#xff0c;涵盖其功能、语法、基本操作等方面。 1. MATLAB环境 工作区&#xf…

QT学习笔记4.1(常用控件、功能、窗口)

QT学习笔记4.1&#xff08;常用控件) 目录 控件功能、属性 窗口常用功能、属性 扩展功能&#xff1a; 资料 控件功能、属性 1.打开网址 点击菜单名字打开网址&#xff1a; 检测&QMenu::aboutToShow菜单展开信号-》槽函数--》title“”&#xff0c;--》执行打开网址…

使用 Spring Boot 在电商平台中动态调整促销信息

业务背景 在电商平台上&#xff0c;促销活动是吸引用户的重要手段之一。然而&#xff0c;促销活动的状态&#xff08;如开始、结束&#xff09;可能会频繁变化&#xff0c;而这些变化需要实时反映在商品详情页上。如果每次促销状态改变都需要重新部署应用或者手动更改代码&…

牛客:[NOIP2002]字串变换(双向bfs)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 已知有两个字串 A, B及一组字串变换的规则&#xff08;至多6个规则&#xff09;: A1 -> B1 A2 -> B2 规则的含义为&#xff1a;在A中的子串 A1可以变换为 B1、A2可以变换为 B2…

网络接入的镜像模式和串接模式

网络接入的镜像模式和串接模式主要有以下特点&#xff1a; 一、镜像模式 1. 工作原理 - 镜像模式也称为端口镜像&#xff0c;是将网络中指定端口的数据流量复制一份到另一个监测端口&#xff0c;以便进行网络分析、故障排查和安全监控等。例如&#xff0c;将连接重要服务器…

CDAM数据资产管理的策略制定与落地

在当今数字化时代&#xff0c;数据已成为企业最宝贵的资产之一&#xff0c;其质量和价值直接关系到企业的决策效率和市场竞争力。因此&#xff0c;数据资产管理成为企业不可忽视的重要议题。本文将探讨数据资产管理的策略制定与落地过程&#xff0c;以期为企业提供实践指导。 一…