「PROGRAMMING-LANGUAGE」- 有关于 ASP、.NET、ASP.NET、C#、C#.NET 间的区别

ASP(Active Server Pages)

Active Server Pages(ASP),Classic ASPASP Classic,微软的第一个用于生成动态网页的服务端脚本引擎

注意:ASP 是一个引擎,用于生成动态网页的引擎。

该引擎可以解析多种脚本语言:VBScript(VBS,是 classic Visual Basic 语言的子集)、JavaScript(微软实现的 JScript)

VBScript 教程
http://www.w3school.com.cn/vbscript/index.asp
https://www.w3schools.com/asp/asp_introduction.asp

相关文档及手册
IIS ASP Scripting Reference: https://msdn.microsoft.com/en-us/library/ms524664(v=vs.90).aspx
ASP Built-in Objects: https://msdn.microsoft.com/en-us/library/ms524716(v=vs.90).aspx

ASP.NET

ASP.NET 是使用.NET 构建现代 Web 应用程序和服务的开源 Web 框架

ASP.NET 是 ASP 的接班人,替代品,但这两者并没有什么关系,就好象 JAVA 与 JavaScript 的关系一样。

注意:这里的 ASP 应该解释为“动态服务器网页”,而不是一个引擎。

主语言是 C#,C#编译之后,生成 CIL,然后 CLR 将语言转机器码进行运行。
当然还有 JavaScript,JavaScript 编译之后,生成 CIL,然后 CLR 将 CIL 转机器码进行运行。这里的 JavaScript 指的是微软的 JScript。

ASP.NET Core

ASP.NET 的接班人,也是一个开源的 Web 框架

原本被认为是 ASP.NET vNext,该框架刚准备好时,被称为 ASP.NET 5。然而,为了避免认为它是对现有 ASP.NET 框架的更新,Microsoft 后来在 1.0 版本的将其名称更改为 ASP.NET Core。

C# | C Sharp

一种多范式编程语言。C#(读作 “C Sharp”)是一种面向对象、类型安全的编程语言,由微软为 .NET 平台设计。它结合了 C++ 的高性能和 Java 的易用性,语法简洁且功能强大。

C# 是为 CLI(Common Language Infrastructure)设计的编程语言之一。C# 编译之后,生成 CIL,然后 CLR 将 CIL 转机器码进行运行。

性质

  • 面向对象:支持类、接口、继承、多态。
  • 类型安全:强类型系统,减少运行时错误。
  • 现代语法:异步编程(async/await)、LINQ(语言集成查询)、模式匹配、记录类型(Record)、可空引用类型
  • 跨平台:通过 .NET 运行在多种操作系统上。

VB.NET :: Visual Basic .NET

多范式,面向对象编程语言。在.NET Framework 上实现的。

Microsoft 在 2002 年推出了 VB.NET,作为其原始 Visual Basic 语言的继承者。名字中的.NET 在 2005 年以后就被丢弃了。但是它并不是 classic Visual Basic。

Microsoft 的 Visual Basic .NET 语言开发的 IDE 是 Visual Studio。大多数 Visual Studio 版本都是商业用途的;唯一的例外是 Visual Studio Express 和 Visual Studio Community,这是免费的。此外,.NET Framework SDK 还包含一个名为 vbc.exe 的免费命令行编译器。Mono 还包括一个命令行 VB.NET 编译器。

VB.NET 编译之后,生成 CIL,然后 CLR 将 CIL 转机器码进行运行。

classic Visual Basic

Visual Basic 是第三代事件驱动的编程语言

.NET | .NET Framework

认识

  • .NET 是.NET Framework 的简写。是一个软件框架,这个框架里包含了 FCL(框架类库)和 CLR(公共语言运行时)两部分。
  • .NET 是一个跨平台、开源的开发框架,用于构建多种类型的应用程序(如 Web、桌面、移动、云服务等)。它提供了一套统一的运行时、库和工具链,支持多种编程语言(如 C#、F#、VB.NET)。

组成

  • .NET Runtime (CLR) | 公共语言运行时(Common Language Runtime),负责代码执行、内存管理(垃圾回收)、异常处理等。
  • 基础类库 (BCL) | 提供预定义的类和方法(如文件操作、网络通信、集合等)。
  • 语言互操作性 | 支持多种语言(C#、F#、VB.NET)编译为中间语言(IL),在运行时由 CLR 执行。

构建

  • .NET Framework | 最早的 Windows 专属版本,已逐渐被 .NET Core 取代。
  • .NET Core | 跨平台、高性能的开源版本(支持 Windows/Linux/macOS),现已成为主流的 .NET。
  • .NET 5/6/7/8+ | .NET Core 的后续版本,统一了 .NET Framework 和 .NET Core,简称为“.NET”。

应用

  • Web 开发:ASP.NET Core(REST API、MVC、Blazor)。
  • 桌面应用:WPF、Windows Forms、MAUI(跨平台 UI)。
  • 云服务:Azure 集成、微服务。
  • 移动开发:Xamarin(现为 .NET MAUI)。
  • 游戏开发:Unity 引擎支持 C# 脚本。

工具链
包括编译器(Roslyn)、SDK、CLI 命令行工具等。

C# and .NET

  • C# 是 .NET 的首选语言:.NET 支持多种语言,但 C# 是最常用的。
  • .NET 提供运行时环境:C# 代码编译为 IL,由 .NET Runtime 执行。
  • 生态共享:C# 开发者可以直接使用 .NET 的类库和工具。

BaGet

主页:https://loic-sharma.github.io/BaGet/
文档:https://loic-sharma.github.io/BaGet/
仓库:https://github.com/loic-sharma/BaGet

参考文献

Wikipedia / ASP: https://en.wikipedia.org/wiki/Active_Server_Pages
w3school: http://www.w3school.com.cn/asp/asp_syntax.asp
Wikipedia / ASP.NET: https://en.wikipedia.org/wiki/ASP.NET
Wikipedia / ASP.NET Core: https://en.wikipedia.org/wiki/ASP.NET_Core
Wikipedia / C Sharp (programming language): https://en.wikipedia.org/wiki/C_Sharp_(programming_language)
Wikipedia / Visual Basic .NET: https://en.wikipedia.org/wiki/Visual_Basic_.NET
Wikipedia / classic Visual Basic: https://en.wikipedia.org/wiki/Visual_Basic