我们一起设计和完善.NET平台(C#,F#和Q#语言)咨询、培训、教育课程。
.NET(C#,F#)是自由、开放的开发者平台和编程语言,我们一起交流、学习、掌握.NET(C#和F#)。相信很多朋友都会有这样的体会:C#比Java设计实现的更好,对开发者很友好,生产力更高。因为现在就业市场大多都是Java,而C#的需求有些少,所以是该有所改变的时候了。
通过.NET Foundation进行社区治理,而非一家公司。
重建中国.NET生态系统 .NET阵营的情况是紧缺资深架构师,这个问题不解决,再牛的语言也是白搭。Java自从被Oracle收购后总存在一些治理问题,C#和.NET生态机会很大。
一个自由、跨平台、开源的开发者平台,帮助你构建所有的应用:web、mobile、desktop、gaming、IoT
.NET Core 是一个通用目的、模块化、跨平台的 .NET 开源实现。
.NET Core 是.NET Framework的新一代版本,具有跨平台 (Windows、OS X、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台。
由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 采用包 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 大包式安装的作法截然不同,同时各包也有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。
ASP.NET是由微软在.NET Framework框架中所提供,开发Web应用程序的类库,封装在System.Web.dll文件中,使用System.Web命名空间。
ASP.NET Core 可运行于 Windows 平台以及非 Windows 平台,如 macOS 以及 Linux 操作系统,是 Microsoft 第一个具有跨平台能力的 Web 开发框架。
采用 Apache v2 许可协议,由 .NET 基金会 (.NET Foundation) 管理。
Windows PowerShell 是微软为Windows环境所开发的壳程序(shell)及脚本语言技术,采用的是命令行界面。这项全新的技术提供了丰富的控制与自动化的系统管理能力。
PowerShell 使用 C# 编写,采用MIT许可协议,可安装在 Windows, OS X 和 Linux 操作系统上。
Mono 是原始的跨平台和 开放源 .NET 实现,于 2004 年首次发布。 可以把它看作是 .NET Framework 的社区克隆。 Mono 项目团队依赖于 Microsoft 发布的开放 .NET Standard(尤其是 ECMA 335),以便实现兼容性。
.NET Core 和 Mono 的主要差异在于:
- 应用模型 -- Mono 通过 Xamarin 产品支持 .NET Framework 应用模型(例如,Windows Forms)和其他应用模型(例如,Xamarin.iOS)的子集。 而 .NET Core 不支持这些内容。
- API -- Mono 使用相同程序集名称和组成要素支持 .NET Framework API 的 大型子集。
- 平台 -- Mono 支持很多平台和 CPU。
- 开放源码 -- Mono 和 .NET Core 两者都使用 MIT 许可证,且都属于 .NET Foundation 项目。
- 焦点 --最近几年,Mono 的主要焦点是移动平台,而 .NET Core 的焦点是云工作负荷。
.NET 标准库是一组由 .NET 运行时实现的 API,正式项目:CoreFX。
ECMA 335 持续为 .NET 运行时行为建立统一性,但适用于 .NET 库实现的 .NET 基类库 (BCL) 没有类似的规范。
Microsoft 积极开发和维护的主要 .NET 运行时有 3 个:.NET Core、.NET Framework 和 Mono for Xamarin。
CLR(Common Language Runtime)的主要功能如下:
- 基类库支持 Base Class Library Support
- 内存管理 Memory Management
- 线程管理 Thread Management
- 垃圾回收 Garbage Collection
- 安全性 Security
- 类型检查 Type Checker
- 异常管理 Exception Manager
- 除错管理 Debug Engine
- 中间码(MSIL)到机器码(Native)编译
- 类装载 Class Loader
- .NET Core Libraries (CoreFX) 主要由C#编写
- .NET Core Runtime (CoreCLR) 主要由C++编写
- .NET Compiler Platform (Roslyn) 主要由C#编写
- LLILC is an LLVM based MSIL Compiler 主要由C++编写
- .NET Command Line Interface(CLI tools) 主要由C#编写
.NET平台的核心:C# 和 F#
C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言。C#由C语言和C++派生而来,继承了其强大的性能,同时又以.NET 框架类库作为基础,拥有类似Visual Basic的快速开发能力。
F#(F sharp)是由微软发展的为.NET语言提供运行环境的程序设计语言,是一门函数式编程语言(FP,Functional programming),函数式编程语言最重要的基础是Lambda Calculus。
F#和OCaml 是ML函数式编程语言的两种主要方言,有时F#和OCaml的程序是可以交互编译的。
F# 采用 MIT 许可协议。
Q#是微软推出的量子编程语言,它依赖于C#和F#。
从如何评价微软刚刚发布的量子编程语言 Q# ?先多了解一些Q#语言的背景。
- On how Jet chose F#, Jet @ GitHub
- 瑞信 Quantitative Finance in F# Why FP matters to Credit Suisse
- 沪牌拍牌系统后台是.NET写的,并发至少几千每秒,这个大家懂的;Stackoverflow核心是.NET写的,网站并发 3000每秒,数据库并发 8000每秒;摩根斯坦利交易客户端以及协议是.NET写的;NASDAQ的交易系统是.NET写的,后台跑的SQL Server;腾讯有大量后台系统用.NET写,腾讯甚至已经使用跨平台.NET(Mono)很多年,部署于它的TLinux系统集群中;携程有大量系统用.NET写成,日均动态PV是3千万。 来源:NET技术在中国为什么老被人嫌弃
课程和课件采用CC
代码采用MIT
欢迎大家同时关注灰狐公众号:灰狐,微信号:HuihooChina