c++ / python / java / PHP / SQL / Ruby / Objective-C / JavaScript 发展史
c++发展史
C++是由丹尼斯·里奇和肯·汤普森在1970年代早期开发的C语言的扩展。C++最初被称为“C with Classes”,是在1980年代初期由比雅尼·斯特劳斯特鲁普开发的。
1983年,斯特劳斯特鲁普将C with Classes重新命名为C++。在1985年,C++编译器的第一个版本被发布。 随着时间的推移,C++得到了广泛应用,在计算机科学和工程领域中成为了一种重要的编程语言。
在1990年代,C++得到了更广泛的应用,包括游戏开发和操作系统开发。C++的特性和效率使其成为高性能和实时应用程序的理想选择。随着计算机处理能力的提高,C++仍然保持着其在程序设计中的重要地位。
在21世纪,C++继续发展。现在,C++已经成为了一种跨平台的编程语言,支持各种各样的应用程序,包括嵌入式系统、桌面应用程序、移动应用程序等。C++标准不断更新,新特性和改进的内存管理技术使得C++依然是一个流行的编程语言。
python发展史
Python是一种高级编程语言,最初由Guido van Rossum于1989年在荷兰国家数学和计算机科学研究所开始开发。Python的设计目的是创建一种易于阅读、易于理解、易于学习和易于使用的语言。
Python的发展经历了以下几个阶段:
1. Python的第一个版本(0.9.0)于1991年发布。这个版本只有一些基本的语言特性,例如整数、浮点数、字符串和列表等。
2. Python 1.0于1994年发布,这个版本增加了模块系统、异常处理和函数式编程工具等特性。
3. Python 2.0于2000年发布,这个版本包含了自动垃圾回收机制和列表推导式等新特性。
4. Python 3.0于2008年发布,这个版本引入了一些不兼容的新特性并移除了一些旧特性,例如print语句被替换为print函数。
5. 目前最新的版本是Python 3.10。Python 3.x版本的发展主要集中在提高性能和改进语言特性。
Python的成功得益于它的易用性、可移植性和广泛的应用领域,例如Web开发、数据科学、人工智能和机器学习等。
java发展史
Java发展史可以追溯到20世纪90年代初期。以下是Java发展的重要里程碑:
1991年:Sun Microsystems的工程师James Gosling和他的团队开始开发Java语言。
1995年:Java 1.0正式发布,成为第一款跨平台的面向对象语言。
1996年:Java 1.1发布,增加了内部类、反射、JAR文件等功能。
1998年:Java 2发布,将Java分为标准版、企业版和移动版,提供了更多的API和库,如Swing、JDBC、JavaBeans等。同时也发布了Java虚拟机(JVM)的规范。
2004年:Java 5发布,增加了自动装箱拆箱、枚举、注解、泛型等特性。同时,发布了Java平台的SE、EE和ME三个版本。
2006年:Sun Microsystems发布了开源Java的实现——OpenJDK。
2009年:Oracle公司收购了Sun Microsystems,成为Java的所有者。
2011年:Java 7发布,增加了小数点数值、字符串开头条件判断、try-with-resources等特性。
2014年:Java 8发布,引入了Lambda表达式、Stream API、函数式接口等特性。
2017年:Java 9发布,引入了模块化系统和增强的JShell交互式编程工具。
2020年:Java 14发布,增加了Switch表达式、Records等特性。
Java一直在发展中,不断更新和完善。开发者和用户可以期待Java在未来的发展中,继续为应用程序开发提供更多的功能和便利。
PHP简介(双语版)
PHP代表超文本预处理器,是web开发中常用的编程语言。它是一种服务器端脚本语言,意味着它在web服务器上运行,并处理发送到用户浏览器的数据。PHP通常与HTML、CSS和JavaScript结合使用,以创建动态网页和web应用程序。它是开源的,拥有庞大的开发人员社区,这使它成为网络开发的热门选择。
PHP, which stands for Hypertext Preprocessor, is a commonly used programming language for web development. It is a server-side scripting language, meaning that it runs on the web server and processes data to be sent to the user's browser. PHP is often used in conjunction with HTML, CSS, and JavaScript to create dynamic web pages and web applications. It is open-source and has a large community of developers, making it a popular choice for web development.
SQL发展史
SQL发展史可以分为以下几个阶段:
1. 早期阶段:20世纪70年代,IBM的工程师Donald Chamberlin和Raymond Boyce发明了结构化查询语言(SQL)。
2. 标准化阶段:1986年美国国家标准学会(ANSI)定义了SQL标准,并命名为“SQL-86”,它成为了第一个SQL标准。
3. 扩展阶段:在SQL-86的基础上,ANSI在1989年发布了SQL-89,其中增加了一些功能,如外关联和嵌套查询。
4. 增强阶段:1992年,ANSI发布了SQL-92,这个标准包括了更多的功能,如存储过程、触发器、游标和完整性约束等。
5. 发展阶段:自此以后,SQL继续不断的发展,出现了一些商业数据库厂商开发各自的扩展功能,如Oracle的PL/SQL和Microsoft的T-SQL等。
6. 云计算阶段:随着互联网和云计算的发展,新的SQL版本和衍生版本不断涌现,如MySQL、PostgreSQL、SQLite、MariaDB等,这些数据库既可以在本地安装,也可以在云中运行。
总的来说,SQL在不断的演变和发展中,成为了关系型数据库的标准查询语言,广泛应用于各种领域,包括金融、医疗、教育、企业等。
Ruby发展史
Ruby 是一种动态的面向对象编程语言。Ruby 的创始人是日本人松本行弘(Yukihiro "Matz" Matsumoto),他在 1993 年开始设计 Ruby 语言,并于 1995 年首次公开发布了该语言。以下是 Ruby 发展历程的一些重要事件:
- 1995 年 - Ruby 0.95 发布,这是首个公开的 Ruby 版本。
- 1996 年 - Ruby 1.0 发布,官方稳定版本。
- 2000 年 - RubyConf 2000 在美国召开,为 Ruby 社区的发展打下了基础。
- 2003 年 - Ruby on Rails 框架发布,极大地提升了 Ruby 的流行度和应用范围。
- 2005 年 - Ruby 1.8.3 发布,新增了很多功能和改进,成为 Ruby 1.8 系列的最后一个版本。
- 2007 年 - Ruby 1.9.0 发布,新增了一些重要的特性,比如编码支持、块结构改进、正则表达式、并行能力等。
- 2013 年 - Ruby 2.0.0 发布,引入了新的 GC 算法和语言特性,比如引入了命名参数和可变参数等。
- 2015 年 - Ruby 2.3.0 发布,引入了冻结字符串和 Safe Navigation Operator 等新特性。
- 2019 年 - Ruby 2.7.0 发布,增强了模式匹配和了解枚举等特性。
目前,Ruby 已经成为一种流行的编程语言,被广泛应用于 Web 开发、桌面应用、游戏开发、数据处理等领域。
Objective-C发展史
Objective-C是一种基于C语言的面向对象编程语言,由Brad Cox和Tom Love在20世纪80年代开发。它最初被用于下一代操作系统NeXTSTEP的开发,后来被Apple公司收购并成为Mac OS X和iOS开发的主要语言之一。
以下是Objective-C的发展史:
- 1983年,Brad Cox开发出第一个版本的Objective-C,并在ACM OOPSLA会议上发布了一篇论文,推广了这种语言。
- 1984年,Brad Cox和Tom Love共同开发了第二个版本的Objective-C。这个版本已经具备了现代Objective-C的许多特性,如消息传递机制和动态绑定。
- 1986年,NeXT公司成立并开始开发NeXTSTEP操作系统。Objective-C成为了NeXTSTEP的主要编程语言。
- 1992年,Objective-C的第一个标准化版本发布,称为“Objective-C 1.0”。
- 1997年,苹果公司收购了NeXT公司,并从NeXTSTEP操作系统中取得了Objective-C。苹果公司开始在Mac OS X和iOS上使用Objective-C。
- 2007年,苹果公司发布了第一代iPhone,并在iOS上使用Objective-C进行应用程序的开发。Objective-C也成了iOS应用程序开发的主要语言之一。
- 2011年,苹果公司发布了Swift编程语言,作为Objective-C的替代品。Swift被设计为更现代、更安全、更易学的语言。
- 目前,Objective-C仍然被广泛使用,特别是在老的iOS应用程序中。然而,随着Swift的流行,Objective-C逐渐被Swift所取代。
JavaScript发展史
JavaScript是一种脚本语言,最初是由网景公司开发和推广的。下面是JavaScript发展的主要阶段:
1. 1995年,Brendan Eich在10天内开发了JavaScript,并在网景公司Navigator 2浏览器中发布。这是JavaScript第一个版本。
2. 1996年,微软推出了JScript,这是他们自己的JavaScript实现。
3. 1997年,欧洲计算机制造商协会(ECMA)发布了ECMAScript标准,这是JavaScript的基础。
4. 自1997年以来,JavaScript经历了多个版本和更新,包括ECMAScript 2、3、4、5、6、7、8和9。其中,ECMAScript 6(也称为ES6或ECMAScript2015)是一个重要的版本,增加了许多新的特性和语言构造。
5. 在2010年代,JavaScript的重要性越来越高。由于移动设备和Web应用的普及,JavaScript成为了广泛使用的编程语言之一。
6. 在2016年,TypeScript被推出。它是JavaScript的超集,提供了更好的类型系统和语言构造支持。
总之,JavaScript是Web开发中最重要的语言之一,随着时间的推移,它变得更加强大和广泛使用。
相关文章:

c++ / python / java / PHP / SQL / Ruby / Objective-C / JavaScript 发展史
c发展史 C是由丹尼斯里奇和肯汤普森在1970年代早期开发的C语言的扩展。C最初被称为“C with Classes”,是在1980年代初期由比雅尼斯特劳斯特鲁普开发的。 1983年,斯特劳斯特鲁普将C with Classes重新命名为C。在1985年,C编译器的第一个版本被…...

Linux第一个小程序-进度条(缓冲区概念)
1.\r和\n C语言中有很多字符 a.可显字符 b.控制字符 对于回车其实有两个动作,首先换行,在将光标指向最左侧 \r :回车 \n:换行 下面举个例子: 把\n去掉会怎样 什么都没输出。为什么? 2.缓冲区概念 观察下两个…...

CentOS7环境安装tomcat
环境准备 由于是在练习,为了方便,我们可以 1.关闭防火墙 systemctl disable firewalld.service systemctl stop firewalld.service 2.关闭selinux 在/etc/selinux/config中,设置: SELINUXdisabled 3.准备jdk---》jdk-8u333-li…...

C# 中使用ValueTask优化异步方法
概要 我们在开发过程中,经常使用async的异步方法,但是有些时候,异步的方法中,可能包含一些同步的处理。本文主要介绍通过ValueTask这个struct,优化异步处理的方法性能。 代码及实现 有些时候我们会缓存一些数据在内…...

KVM创建新的虚拟机(图形化)
1.启动kvm管理器 [rootlocalhost ~]# virt-manager2.点击创建虚拟机 3.选择所需os安装镜像 4.选择合适的内存大小和CPU 5.创建所需磁盘 6.命名创建的虚拟机...

正则表达式在格式校验中的应用以及包装类的重要性
文章目录 正则表达式:做格式校验包装类:在基本数据类型与引用数据类型间的桥梁总结 在现代IT技术岗位的面试中,掌握正则表达式的应用以及理解包装类的重要性是非常有益的。这篇博客将围绕这两个主题展开,帮助读者更好地面对面试挑…...

Docker使用之java项目工程的部署
同样本文的基础建立在已在目标服务器(以linux为示例)上安装了docker,安装教程请移步度娘 若容器存在请先停止,在删除,然后删除镜像重新编译 //停止容器 sudo docker stop datatransfer//删除容器 sudo docker rm dat…...

3ds Max如何进行合成的反射光泽通道渲染
推荐: NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 准备场景 步骤 1 打开 3ds Max。smart_phone.max打开已 随教程提供。 打开 3ds Max 步骤 2 按 M 打开材质编辑器。选择空材料 槽。单击漫射通道。它将打开材质/贴图浏览器窗口。选择位图࿰…...

114、Spring AOP是如何实现的?它和AspectJ有什么区别?
Spring AOP是如何实现的?它和AspectJ有什么区别? 一、AOP的理解1、spring aop:动态代理实现2、spring aop 和 AspectJ的区别3、小图一、AOP的理解 其实,AOP只是一种编程思想,表示面向切面编程,如果想实现这种思想,可以使用动态代理啊,第三方的框架 AspectJ啊等等。 1…...

正则表达式速通
简介 正则表达式,我们可以看作通配符的增强版,可以帮我们匹配指定规则的字符串,在计算机中应用广泛,比如说爬虫、网站的登录表单等。 原视频:https://www.bilibili.com/video/BV1da4y1p7iZ 学习正则表达式的常用工具…...

数据可视化(5)热力图及箱型图
1.热力图 #基本热力图 #imshow(x) #x,数据 x[[1,2],[3,4],[5,6],[7,8],[9,10]] plt.imshow(x) plt.show() #使用热力图分析学生的成绩 dfpd.read_excel(学生成绩表.xlsx) #:表示行号 截取数学到英语的列数 xdf.loc[:,"数学":英语].…...

React 组件通信-全面解析
父子组件通信 // 导入 import { useState } from "react";import "./App.scss"; import { defaultTodos } from "./components/module/contentData";// 子组件 const Module ({ id, done, text, onToggle, onDelData }) > {return (<div…...

“深入理解Spring Boot:快速构建微服务架构的利器“
标题:深入理解Spring Boot:快速构建微服务架构的利器 摘要:Spring Boot是一种基于Spring框架的开源项目,它通过自动化配置和约定优于配置的原则,使得开发者能够快速构建微服务架构。本文将深入介绍Spring Boot的特点和…...

SpringBoot超级详解
1.父工程的父工程 在父工程的父工程中的核心依赖,专门用来版本管理的 版本管理。 2.父工程 资源过滤问题,都帮解决了,什么配置文件,都已经配置好了,资源过滤问题是帮助,过滤解决让静态资源文件能够过滤到…...

手机的python怎么运行文件,python在手机上怎么运行
大家好,小编来为大家解答以下问题,手机上的python怎么运行程序,手机的python怎么运行文件,今天让我们一起来看看吧! 1、python程序怎么在手机上运行 python语言应用很广泛,自己也很喜欢使用它,其…...

RBAC三级树状菜单实现(从前端到后端)未完待续
1、表格设计 RBAC 2、前端路由 根据不同的用户id显示不同的菜单。 根据路由 3、多级菜单 展示所有权限,并且根据当前用户id展示它所属的角色的所有菜单。 前端树状展示 思路: 后端:传给前端map,map里1个是所有菜单&am…...

牛客网Verilog刷题——VL41
牛客网Verilog刷题——VL41 题目答案 题目 请设计一个可以实现任意小数分频的时钟分频器,比如说8.7分频的时钟信号,注意rst为低电平复位。提示:其实本质上是一个简单的数学问题,即如何使用最小公倍数得到时钟周期的分别频比。设小…...

大整数截取解决方法(java代码)
大整数截取解决方法(java代码) 描述输入描述输出描述输入示例输出示例前置知识:代码 解题思路来自这个博客:简单^不简单 https://blog.csdn.net/younger_china/article/details/126376374 描述 花花有一个很珍贵的数字串…...

Spring Boot使用@Async实现异步调用:自定义线程池
一、定义线程池 第一步,先在Spring Boot主类中定义一个线程池,比如: SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}EnableAsyncConfigurat…...

GFS 分布式文件系统
目录 一、GlusterFS 概述 1.2.GlusterFS特点 1.3.GlusterFS 术语 1.4GlusterFS 的工作流程 二、GlusterFS的卷类型 2.1分布式卷(Distribute volume) 2.1.1特点 2.2条带卷(Stripe volume) 2.2.1条…...

PHP-mysql学习笔记
如题 记录发送emoji数据无法正常显示的问题PHPMysql 记录 发送emoji数据无法正常显示的问题 问题描述 前端发送关于emoji的表情数据给php,php写入mysql php接收到了数据,但无法写入写入过后返回前端无法正常显示 PHP 在对应的pdd函数中设置字符集为utf8mb4 Mysql emoji数…...

AI技术快讯:清华开源ChatGLM2双语对话语言模型
ChatGLM2-6B是一个开源项目,提供了ChatGLM2-6B模型的代码和资源。根据提供的搜索结果,以下是对该项目的介绍: 论文:https://arxiv.org/pdf/2103.10360.pdf ChatGLM2-6B是一个开源的双语对话语言模型,是ChatGLM-6B模…...

网络基础知识
1、什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2、OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表…...

【应用层】HTTPS协议详细介绍
文章目录 前言一、什么是"加密"二、常见的加密方式三、数据摘要(数据指纹)四、证书总结 前言 HTTPS也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层,由于HTTP协议内容都是按照文本的方式明文传输的ÿ…...

【Tensorboard+Pytorch】使用注意事项
安装 tensorboard/tensorboardx版本需要与tensorflow保持一致(本人使用2.2) 调用 环境变量 在终端或CMD中使用时,常见报错“tensorboard 不是内部或外部命令……”,需要添加环境变量路径path。具体为tensorboard.exe所在目录(A…...

设计模式行为型——命令模式
目录 什么是命令模式 命令模式的实现 命令模式角色 命令模式类图 命令模式举例 命令模式代码实现 命令模式的特点 优点 缺点 使用场景 注意事项 什么是命令模式 命令模式(Command Pattern)是一种数据驱动的设计模式,它属…...

13-2_Qt 5.9 C++开发指南_线程同步_QMutex+QMutexLocker(目前较为常用)
文章目录 1.线程同步的概念2. 基于互斥量的线程同步3.QMutex实现线程同步源代码3.1 qdicethread.h3.2 qdicethread.cpp3.3 dialog.h3.4 dialog.cpp 4.QMutexLocker 实现线程同步源代码4.1 qdicethread.h4.2 qdicethread.cpp4.3 dialog.h4.4 dialog.cpp 1.线程同步的概念 在多线…...

金融行业选择哪种SSL证书才安全可靠
由于金融领域等网站拥有大量客户的敏感信息,且每天都有大量交易需要进行,涉及到大量的资金问题,当这些机构提供的网络和Web应用程序没有足够的安全措施来阻止黑客窃取数据时,就会出现严重的安全问题。而且由于黑客每天都在开发越来…...

面试总结(三)
1.进程和线程的区别 根本区别:进程是操作系统分配资源的最小单位;线程是CPU调度的最小单位所属关系:一个进程包含了多个线程,至少拥有一个主线程;线程所属于进程开销不同:进程的创建,销毁&…...

青大数据结构【2016】
一、单选 二、简答 3.简述遍历二叉树的含义及常见的方法。 4.简要说明图的邻接表的构成。 按顺序将图G中的顶点数据存储在一维数组中, 每一个顶点vi分别建立一个单链表,单链表关联依附顶点vi的边(有向图为以vi为尾的弧)。 邻接…...