C#从零开始(1)c#的前世今生
在1995之前,C/C++是商业软件开发中应用最广泛的开发语言,但其强大的功能和灵活的使用也伴随着开发的复杂性。许多基于C/C++的R&D人员后来称之为用C/C++开发的噩梦。
1995年,SUN公司正式推出面向对象的开发语言Java,提出了跨平台、跨语言的概念(编写一次代码就可以在任何设备上运行),Java逐渐成为企业级应用系统开发的首选工具,越来越多基于C/C++的应用开发人员转向从事基于Java的应用开发。Java的先进思想使其在软件开发领域有着巨大的潜力。
这是当时微软很头疼的事情,为了让更多的开发者继续在windows系统上开发程序。
微软在1998发布了著名的Visual Studio 6.0,今天应该还在用。Visual Studio 6.0集成了Visual J++ 6.0,也就是java的windows版本,不仅大大加快了虚拟机(JVM,java的运行环境)的运行速度,还增加了很多新特性,支持调用Windows API。这些特性使得Visual J++成为Windows应用开发的强大平台,也是业界公认的优秀Java编译器。微软其实是个鸡贼,知道现在用Java语言的人很多,所以我会在Java语言的基础上进行改进,但是用J++编写的程序不支持跨平台,所以只能在我的windows平台上运行,被开发者绑架用户。也正是这个版本的微软的成功,让孙感到了危险。结果两家公司争执起来,对簿公堂。
2001,法院的态度也比较明确:微软未能完全遵守Java规范,违反了规则;Sun是Java的商标所有者,并支持。这种案子其实都是背后的利益问题,不容易分清是非界限。于是孙和微软达成庭外和解,微软叫停J++项目。孙的目的达到了,也就不追究了。
Java是一个开放的、标准的、通用的网络计算平台。由于其强大的兼容性和跨平台性,已经成为互联网技术领域广泛应用的成熟技术平台。但是由于纯Java编程应用系统运行速度慢,而且根据Forrest的调查报告,基于Java的应用系统目前还没有实现100%的跨平台,这使得Java仍然无法完全取代C/C++。同时也给了微软一个机会。
微软在2000年下半年发布了C#语言的第一个版本。它是一种全新的、简单的、安全的、完全面向对象的编程语言,是专门为。NET框架。也就是说,当初C#语言的定位是必须运行在Windows系统上的语言,因为。NET Framework只能安装在Windows系统上。它吸收了C++、Delphi、Java等语言的优点,提供了一种语法优雅、功能完善、易于使用的外部表达式。
官方称,因为C#学习成本低,容易上手,C#的开发者从2001飙升到2008年。
然而,2008年,鲍尔默接替比尔·盖茨成为微软总裁。由于鲍尔默是一个不懂技术、看不到技术未来趋势、固守Windows平台的推销员,C#语言只能围绕Windows平台开发应用,这让C#错过了随后几年移动平台的红利期。
直到微软第三任satyanarayana nadella上任后,改变了微软的策略,拥抱开源,才让C#重新焕发光彩。
由于C#语言优美易学,成为民间高手中的一盏明灯。鲍尔默时期,一个专家团队开发了Mono平台,使得C#开发的程序可以在Linux和Unix系统上运行。而且还可以编写手机应用在Android和IOS上运行。
国际上流行的游戏开发平台Unity支持C#语言的编写。
纳德拉上任后,支持C#的跨平台开发,收购了民间专家团队,并整合了。NET平台。在几个主要版本的迭代之后。NET平台可以在Windows系统和MacOS系统上运行,也可以在Android和IOS上运行。而且国内自研的芯片系统也已经支持C#在其平台上运行。
我们的系列教程主要面向Windows平台的开发,所以我们选择的平台还是基于。NET框架。俗话说,我们在学习C#基础知识的时候,可以有选择的开发自己的东西。
好了,我们要开始学习之旅了。