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

Java、PHP、ASP、JSP、Kotlin、.NET、Go

Java

1995年,Java诞生了,微软的Java是J#,早期是J++. 它在C++的基础上增强了安全性,不允许多重继承,堆栈不允许类对象,数组和枚举都是类对象。

Java的诞生

  • 早期的Sun公司想要在消费级嵌入式设备编写可移植的代码,发现C++代码太复杂,搞出了Java.

  • Java 得名于印度尼西亚爪哇岛,此地盛产咖啡。Java .class文件开头是”CA FE BA BE”, 就代表Cafe Babe(咖啡屋宝贝).

Java扩展

  • Scala是Java的扩展,Clojure是一种类似LISP语言并运行在JVM的动态函数式编程语言。

  • Groovy (2007年)是一门改进的Java语言,抛弃了Java繁琐的语法,一样运行于JVM。它借鉴了Python/Ruby等语言。

PHP

1995年PHP发布了。minicoda后台就是PHP.

重要发展

  • PHP 5.4开始支持Traits, 它是对接口和多继承妥协的产物。它允许直接复用已有其他类的功能。

引擎

  • PHP默认底层解释器用Zend, C语言编写。

  • Facebook开源PHP引擎是HHVM.

ASP

1996年,微软借鉴PHP思想,IIS 3.0引入了ASP. 2000年跟随.NET推出APS.NET.

JSP

1997年,Servlet技术诞生。1998年,JSP技术产生。

Servlet和JSP

  • Servlet为了实现服务器动态生成HTML,但它需要在Java代码中插入HTML, 逐渐大家无法忍受,JSP出现。 JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例,JSP页面由系统翻译成Servlet,Servlet再负责响应用户的请求。

Kotlin

Kotlin可以被称为改进的Java,发布于2011年。

Kotlin被广泛用于Android的开发,为Android界的Swift。

.NET

.NET是微软为了对抗Java的中间件设计。C#为类Java语言,毕竟Java先出山,早期C#的语法和设计”简直就是抄”Java, 经过多个版本的发展,C#语法已经甩开Java一大截,但很难撼动Java服务端老大哥地位,只能说生虽逢时,不开源只用于Windows的最初设计害了.NET. 等微软搞明白跨平台才能活得好,程序员已经不想给它机会了。

.NET Core

  • 微软越来越拥抱开源,.NET Framework最新已变成.NET Core.

其他.NET相关

  • Mono是.NET移植到非Windows系统的实现。

  • Xamarin, 是Mono分支,跨平台框架,旨于让移动平台如iOS/Android/Windows Phone以及watchOS/tvOS和Mac App可以直接用C#搞定。

  • Boo语言是Unity3D早期使用脚本语言,既可被编译成MISL,也可直接当script使用,由booi或booish解析。

  • IronPython是.NET平台实现的Python解释器。

Go

Go语言出自Ken Thompson和 Rob Pike、Robert Griesemer 之手。Ken Thompson大家应该会熟悉,C语言创作者之一。2012年,Go语言正式发布。

Go语言历史

  • 随着服务器软件越来越大,程序代码也越来越多,带来的编译时间越来越多,为了解决这个问题,在一次C++大会讨论新增的许多特性时,大家在思考如何不创建新特性,代替C++,这是Go语言产生的萌芽。

Go语言自举

  • Go语言早期源码使用C语言和汇编语言写成。从 2015年Go 1.5 版本后,完全使用 Go 语言自身进行编写。

Go应用

  • Docker是Go语言有名的框架。


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

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

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

http://www.lryc.cn/news/454153.html

相关文章:

  • 华为-单臂路由
  • AI应用的东风,奥特曼不想错过
  • LeetCode[中等] 238. 除自身以外数组的乘积
  • Linux plt表调用汇编代码分析
  • ubunut声卡配置 播放视频没有声音的解决方法 蓝牙问题
  • 《软件工程概论》作业一:新冠疫情下软件产品设计
  • 大厂出来的人为什么不比你高效?
  • 71.【C语言】动态内存管理(重点)(4)
  • JavaScript 用HTML5约束验证API做表单验证
  • Unity 编辑器多开
  • 【Spring Boot React】Spring Boot和React教程 完整版
  • Linux中的多线程
  • 《计算机原理与系统结构》学习系列
  • 征程6 工具链常用工具和 API 整理(含新手示例)
  • 我有一张图,我怎么让midjourney按照这张图继续生成呢?
  • MSF捆绑文件
  • 01_SQLite
  • 【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【下篇】
  • 畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)
  • 【机器学习(十一)】糖尿病数据集分类预测案例分析—XGBoost分类算法—Sentosa_DSML社区版
  • 二分查找一>寻找峰值
  • 《Linux从小白到高手》理论篇:深入理解Linux的网络管理
  • redis数据类型介绍
  • 一张照片变换古风写真,Flux如何做到?
  • 医药行业的智能合同审查:大模型与AI赋能合规管理
  • 幂等性接口实现
  • C++ 语言特性29 - 协程介绍
  • [Day 84] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • 八大排序--01冒泡排序
  • 【Kubernetes】常见面试题汇总(五十)