PHP怎么这么垃圾,大家觉得Go语言真的比Java简单吗?
web开发还是用java吧,用springboot简单方便,go语言优势是执行效率快,但我感觉并不简单,go没有异常处理,每个方法里都要判断err,代码凌乱,还有go的继承,接口实现都是啥啊,直接实现方法就行没有override,写错了都不知道,还是java简单用java几行解决的事,go要写一堆
编程语言排名?
Python是其竞争对手中开发最快的语言,也是最顶尖的编程语言之一。
基于Python的开发和基于Python的框架(如Django和Pyramid)已经为Python提供的最主流框架工具。
Python最好的一点是,作为一种高级语言,它很容易学习。它是市场上需求量非常大的一门编程语言,因为它是一门简单易懂的开源语言,所以被认为是初学者的编程语言。
2. R
R语言可能是机器学习中最常用的计算语言。因此,它成为2021年最适合使用的顶级编程语言之一。
由于它是开源的,所以你可以将它与你的项目需求相适应,并有效地为其他特性添加包。
利用R库进行生产级统计分析,用直观诱人的设计表示,使数据可视化工作快速进行。
数据分析有时可能包含与数据库交互的代码,这对R来说不是问题,因为它有许多支持互操作性的包。
3. JavaScript
图片上传失败
重试
下一个要介绍的是Javascript,它是用于前端开发的最主流编程语言之一,并且逐渐适用于后端开发。它正在迅速扩展到游戏开发和物联网领域。
Javascript帮助开发人员构建一个非常交互式的网站Javascript语言通常应用于游戏开发、Web和移动开发以及桌面应用程序。
使用Javascript作为主要编程语言之一的公司有微软、PayPal、Groupon和谷歌。
4. Java
Java编程是在1996年出现的,从那时起,它在许多场合都是企业应用程序开发的一个值得信赖的选择。
这背后的一个重要原因就是Java非常,因为我把它列为2021年要注意的编程语言的前10名。
它的Write-Once-Run-Anywhere功能允许在一台机器上初始设置代码并在另一台机器上运行。它的突出之处可以从以下几个方面看出来:在推出Android时,Java是谷歌为Android创建应用程序的首选。
Java伴随着自动内存分配和垃圾收集,这些特性保证了足够的CPU内存供不同的应用程序使用。Java的安全管理器功能,以及对显式指针的排除,使它成为构建软件应用程序的安全语言。
5. PHP
PHP编程语言的诞生背后有一个有趣的故事。
它最初是为了维护个人主页而创建的,但据统计,目前它已经占据了全球23%以上的网站。
它具有不同的用途,包括制作用HTML编写的网页。
PHP语言主要用于开发动态和静态站点。像Facebook、Yahoo和Mail-Chimp都非常推崇使用PHP编程语言。
使用PHP的一些优点:
创建非常易于使用的网页
很多好用的框架
使用Xdebug进行出色的修复
有一个完善的生态系统
提供不同的自动化工具来部署和测试应用程序
全面的社区支持
6. C#
C#是由微软推出的一种编程语言,在网络和游戏开发部门享有盛名。
Unity软件中经常使用C#,这可能是用于构建2D和3D视频游戏的最著名的游戏引擎软件。
此外,C#在构建Windows应用程序方面发挥了巨大的作用,并已被用于网站的后端,例如Bing、Visual Studio等
C#一些显著优点:
自动更新和可扩展
面向对象程序设计语言
与.NET库完美结合
面向组件的程序设计语言
7. C++
作为最成熟、最有效、适应性最强的编程语言之一,C++是为了帮助面向对象的编程而开发的,它有丰富的内置库。
它一般用于制作桌面应用程序、网络和移动解决方案、游戏开发和嵌入式系统。
Adobe、微软、Google等很多公司都使用C++。以下是使用C++的一些主要好处。
程序执行更快
丰富的库和编译器
支持异常处理
易于理解
支持功能重载
有哪些程序员必读书籍值得推荐?
国内的放在文章下面,第一部分推荐国外的书,是Treehouse在Facebook和Twitter做了一项问卷调查。
最终,最受程序员推荐的前25本书。(没有什么特别的顺序。)
并把书分成五类:General Programming(通用程序设计)、HTML & CSS、JavaScript & jQuery、Python、其他。
General Programming(通用程序设计)
1、《代码整洁之道》(Clean Code: A Handbook of Agile Software Craftsmanship)
《代码整洁之道》应该很多看书的程序员都有听过,简直是写出干净代码的一剂良药,并且Robert C. Martin在写这本书中也有很多工作之中能用得到的操作实践旨在帮助开发者编写出干净的代码,从而有效提升代码质量。
2、《代码大全》
本书几乎涵盖了软件开发过程中的各方面,工作学习中的查阅宝典。
3、《Think Like a Programmer》
本书旨在教读者如何系统地解决问题,书中提供大量的技术和示例,但是这本书不会告诉任何人在特定的环境下该做什么,而是培养读者解决问题的能力,让他们用程序员思维去突破每一个难题。(听书名仿佛是有人要改行一样)
4、《编码》
这本书被描述为不懂计算机的人都能看得懂,看评分就知道这本书有多友好了,但这并不是说本书的知识十分浅显,相反地,作者通过一种巧妙的方式,完整介绍了计算机的原理和应用,让读者充分理解软件和硬件的区别。
5、《Starting Out with Programming Logic & Design 》
本书是一本介绍性编程手册,旨在让没有任何编程经验的人,学习编程的概念和逻辑,书中没有涉及太多的语言语法,更能增加新手学习编程的信心。(打底子,基础很重要。)
6、《Beginning Programming All-In-One Desk Reference For Dummies 》
本书也是一本非常好的编程入门书。在这个实用指南中,读者将了解到编译、算法、最佳实践、调试程序等概念。
7、《Cracking the Coding Interview》
本书是适合硅谷技术面试的一本面试指南,因为题目分类清晰,风格比较靠谱,所以广受推崇。(毕竟这是美国的调查,所以是硅谷的面试。)
8、《第一本书系列》(Java,Python,设计模式,JavaScript,C#,WordPress,Rails)
一共有很多本书,这里就写出两本,基本每个方面都会出一本。
HTML & CSS
9、《HTML & CSS设计与构建网站》
(图片上传一直失败)
本书采用有别于许多传统编程书籍的新颖编排方式,指导读者如何构建出用户友好、令人赏心悦目的Web内容
10、《Head First HTML and CSS》
(图片上传一直失败)
head first系列作为初学者入门最合适不过,这本书展示了学习创建符合工业标准的Web页面的完整历程,让学会HTML和CSS来创建你想要的Web页面。
11、《You Don't Know JS》
本书旨在为那些变成新手,提供了学习JavaScript必要的背景知识,一共分为上、中、下三卷,上图为中卷,本系列书籍介绍了学习编程的基本构建模块,以及JavaScript的核心机制。
12、《JavaScript编程精解(第2版)》
覆盖了JavaScript的绝大多数语言特性,涉及Web编程和Node.js服务器编程,以及JavaScript性能优化等。
13、《Head First JavaScript程序设计》
本书内容涵盖JavaScript的基本知识以及对象、函数和浏览器文档对象模型等高阶主题。书中配备了大量有趣的实例、图示和练习,让读者轻轻松松掌握JavaScript。
14、《JavaScript & jQuery》
这本彩色书籍采用了一种视觉方法来讲述JavaScript和jQuery,向读者展示了如何通过使用代码示例、信息图形和摄影作品使web页面更具交互性和让界面更直观。
15、《JavaScript高级程序设计(第3版)》
全书从JavaScript 语言实现的各个组成部分——语言核心、DOM、BOM、事件模型讲起,深入浅出地探讨了面向对象编程、Ajax 与Comet 服务器端通信,HTML5 表单、媒体等内容,还介绍了离线应用和与维护、性能、部署相关的最佳开发实践。
16、《JavaScript忍者秘籍(第2版)》
本书适合具备一定JavaScript基础知识的读者阅读,书中分4个部分,从不同层次讲述了逐步成为JavaScript高手所需的知识。
17、《Javascript: Javascript Programming The Ultimate Beginners Guide》
本教程是为javascript初学者准备的,帮助他们理解javascript构建动态web页面和web应用程序的基本功能,但我觉得不太行。也可能是因为我比较垃圾。
Python
18、《笨方法学Python 3》
本是一本入门的python学习书籍,书中的内容以52个exercise构成,按照由易到难、循序渐进的方式,一步一步引导读者深入python。
19、《流畅的Python》
从语言设计层面剖析编程细节,兼顾Python 3和Python 2,教你写出风格地道的Python代码。
20、《Python编程:从入门到实践》
本书是一本针对所有层次的Pytho入门书。第一部分侧重基本概念的讲解,第二部分通过开发三个项目,帮读者解决编程中的问题与困惑。(我最推荐这本用来入门。)
21、《Python编程快速上手》
本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目教应用这些知识和技能。
其他
22、《程序员修炼之道》
本书涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。
23、《iOS Programming: The Big Nerd Ranch Guide 》
ios的,在这只提一提吧。
24、《Java How to Program, Early Objects》
价格拒绝,极其不友好。
25、《指导生活的算法: 人类决策的计算机科学》
从寻找配偶到寻找停车位,从整理收件箱到展望未来,这些算法将计算机科学的智慧转化为人类的生存策略。很有趣的一本书。
中国版本前面先按照自己的爱好来推荐,然后按照网上推荐率。
这本书是从数据挖掘的应用点出发的;有电力、航空、医疗、互联网,生产制造还有公共服务的各种行业的真是案例为主写的、主要介绍了python数据挖掘建模的过程,好在实践性很强,并且行业领域很多。个人认为重点就在于,先是以某个行业的挖掘需求为前提,有很好的代入感。就是带着看到需求,教你如何解决需求。
上面这本书,是一本知识点很全的入门书籍。这个前期作为入门很好的点在于,里面有配套光盘,并且还有配套课程,就是这个知识点的所有课程有视频讲解。有的时候死看书,看不下去,并且在学习的时候遇到问题没办法解决。但是配套视频就很好的解决了。前期可以作为入门书籍,后期的话可以作为工具书。哪里忘了看哪里。
python文本分析这本书,也是入门数据。从自然语言开始到python的基础,从而深一步的学习分析理念和机器学习的概念。很全面的提供技术和概念。里面包含了丰富的实际案例,比如构建分类新闻文章的文本系统,使用主题建模和文本摘要分析app还有游戏评论。还有就是热门电影概要的聚类分析等等。里面也有基于python和流行nlp开源库和文本分析的工具等等。
还有这本书,介绍就说了大量的时间案例教会我们如何python的库高效的解决各样的数据分析。优点在书中所讲的是利用python进行数据控制,处理整理分析等方面的细节和药店。主要就是我们都知道python有很多很好用的库,但是我们不知道如何使用。而这本书就很好的解决了这个问。具体案例用具体的库。重点就在于如何高效的使用python语言和丰富的库。
这本书可以带我们深入理解其底层算法和可用的优化方法。而且为我们很好的提供了机器学习的设计过程和坚实的基础。能够让我们为特定问题建立制定机器学习模型。
上面这本书,建议在学懂python之后去看。首先书是谷歌高级软件工程师结合自己的多年使用python的经验,深入的讨论如何提高python代码的技巧,还有禁忌点还有丰富的时间经验。之所以是学会了看,因为里面有很多使用的代码示例来解释他所谓的提高技巧的方法。并且有很多能够改善代码功能以及运行效率的习惯用法。再提高阶段看这本书,会对码农有更高一层的理解。
1、《代码大全》 史蒂夫·迈克康奈尔推荐数:1684
“优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起来,就是我们本能所说的“编写整洁的代码”。这本书有50页在谈论代码布局。” —— Joel Spolsky对于新手来说,这本书中的观念有点高阶了。到你准备阅读此书时,你应该已经知道并实践过书中99%的观念。– esacSteve McConnell的原作《代码大全》(第1版)是公认的关于编程的最佳实践指南之一,在过去的十多年间,本书一直在帮助开发人员编写更好的软件。现在,作者将这本经典著作全新演绎,融入了最前沿的实践技术,加入了上百个崭新的代码示例,充分展示了软件构建的艺术性和科学性。McConnell汇集了来自研究机构、学术界以及业界日常实践的主要知识,把最高效的技术和最重要的原理交织融会为这本既清晰又实用的指南。无论您的经验水平如何,也不管您在怎样的开发环境中工作,也无论项目是大是小,本书都将激发您的思维并帮助您构建高品质的代码。《代码大全(第2版))》做了全面的更新,增加了很多与时俱进的内容,包括对新语言、新的开发过程与方法论的讨论等等。
2、《程序员修炼之道》推荐数:1504
对于那些已经学习过编程机制的程序员来说,这是一本卓越的书。或许他们还是在校生,但对要自己做什么,还感觉不是很安全。就像草图和架构之间的差别。虽然你在学校课堂上学到的是画图,你也可以画的很漂亮,但如果你觉得你不太知道从哪儿下手,如果某人要你独自画一个P2P的音乐交换网络图,那这本书就适合你了。—— Joel《程序员修炼之道:从小工到专家》内容简介:《程序员修炼之道》由一系列独立的部分组成,涵盖的主题从个人责任、职业发展,知道用于使代码保持灵活、并且易于改编和复用的各种架构技术,利用许多富有娱乐性的奇闻轶事、有思想性的例子及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,《程序员修炼之道:从小工到专家》都适合你阅读。
3、《计算机程序的构造和解释》推荐数:916
就个人而言,这本书目前为止对我影响醉倒的一本编程书。《代码大全》、《重构》和《设计模式》这些经典书会教给你高效的工作习惯和交易细节。其他像《人件集》、《计算机编程心理学》和《人月神话》这些书会深入软件开发的心理层面。其他书籍则处理算法。这些书都有自己所属的位置。然而《计算机程序的构造和解释》与这些不同。这是一本会启发你的书,它会燃起你编写出色程序的热情;它还将教会你认识并欣赏美;它会让你有种敬畏,让你难以抑制地渴望学习更多的东西。其他书或许会让你成为一位更出色的程序员,但此书将一定会让你成为一名程序员。同时,你将会学到其他东西,函数式编程(第三章)、惰性计算、元编程、虚拟机、解释器和编译器。一些人认为此书不适合新手。个人认为,虽然我并不完全认同要有一些编程经验才能读此书,但我还是一定推荐给初学者。毕竟这本书是写给著名的6.001,是麻省理工学院的入门编程课程。此书或许需要多做努力(尤其你在做练习的时候,你也应当如此),但这个价是对得起这本书的。
4、《C程序设计语言》推荐数:774
这本书简洁易读,会教给你三件事:C 编程语言;如何像程序员一样思考;底层计算模型。(这对理解“底层”非常重要)—— Nathan《C程序设计语言》(第2版新版)讲述深入浅出,配合典型例证,通俗易懂,实用性强,适合作为大专院校计算机专业或非计算机专业的C语言教材,也可以作为从事计算机相关软硬件开发的技术人员的参考书。《C程序设计语言》(第2版新版)原著即为C语言的设计者之一Dennis M.Ritchie和著名的计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。原著第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础。人们熟知的“hello,world”程序就是由本书首次引入的,现在,这一程序已经成为所有程序设计语言入门的第一课。
5、《算法导论》推荐数:671
《代码大全》教你如何正确编程;《人月神话》教你如何正确管理;《设计模式》教你如何正确设计……在我看来,代码只是一个工具,并非精髓。开发软件的主要部分是创建新算法或重新实现现有算法。其他部分则像重新组装乐高砖块或创建“管理”层。我依然梦想这样的工作,我的大部分时间(>50%)是在写算法,其他“管理”细节则留给其他人…… —— Ran Biron
经典的算法书,被亚马逊网,《程序员》等评选为2006年最受读者喜爱的十大IT图书之一。算法领域的标准教材,全球多所知名大学选用MIT名师联手铸就,被誉为“计算机算法的圣经”编写上采用了“五个一”,即一章介绍一个算法、一种设计技术、一个应用领域和一个相关话题。6、《重构:改善既有代码的设计》推荐数:617
《重构:改善既有代码的设计》清晰地揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。《重构:改善既有代码的设计》提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。《重构:改善既有代码的设计》适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。我想我不得不推荐《重构》:改进现有代码的设计。—— Martin我必须承认,我最喜欢的编程语录是出自这本书:任何一个傻瓜都能写出计算机能理解的程序,而优秀的程序员却能写出别人能读得懂的程序。—— Martin Fowler
7、《设计模式》推荐数:617
自1995年出版以来,本书一直名列Amazon和各大书店销售榜前列。近10年后,本书仍是Addison-Wesley公司2003年最畅销的图书之一。中文版销售逾4万册。就我而言,我认为四人帮编著的《设计模式》是一本极为有用的书。虽然此书并不像其他建议一样有关“元”编程,但它强调封装诸如模式一类的优秀编程技术,因而鼓励其他人提出新模式和反模式(antipatterns),并运用于编程对话中。—— Chris Jester-Young
8、《人月神话》推荐数:588
在软件领域,很少能有像《人月神话》一样具有深远影响力并且畅销不衰的著作。Brooks博士为人们管理复杂项目提供了最具洞察力的见解。既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公司System/360家族和OS/360中的项目管理经验。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄中等多种语言,全球销量数百万册。确立了其在行业内的经典地位。
9、《计算机程序设计艺术》推荐数:542
《计算机程序设计艺术》系列著作对计算机领域产生了深远的影响。这一系列堪称一项浩大的工程,自1962年开始编写,计划出版7卷,目前已经出版了4卷。《美国科学家》杂志曾将这套书与爱因斯坦的《相对论》等书并列称为20世纪最重要的12本物理学著作。目前Knuth正将毕生精力投入到这部史诗性著作的撰写中。这是高德纳倾注心血写的一本书。—— Peter Coulton
10、《编译原理》(龙书)推荐数:462
我很奇怪,居然没人提到龙书。(或许已有推荐,我没有看到)。我从没忘过此书的第一版封面。此书让我知道了编译器是多么地神奇绝妙。DB
欢迎点赞加关注,老子爱你们。
有哪些网站让你相见恨晚?
这7个网站帮你打开新世界大门!用了上瘾不说,还能帮你省下不少钱!
01 Alternativeto一个能帮你省钱的黑科技网站,深受科技爱好者喜爱,你可以通过这个网站,找到市面上几乎所有付费软件的替代软件!
而且不止给你提供一个替代软件,是很多个,并且免费!
比如你想要下载一个Adobe全家桶中的PS,正常情况下,你需要付费300多元,才能使用,在这个网站上,可以帮你找到PS的替代软件!整整有205个PS软件的替代软件!
你可以随意选择一个进行体验!比如第一个的这个软件,就非常的好用!几乎可以实现PS软件中的所有功能!
总之,有了这个网站,你还愁没有好软件使用吗?
文章中的所有网站,我都给你准备好了,不用一个个寻找,另外我还多放了几十个其他常用的优秀网站!获取方式在下图:
02 中国国家图书馆中国国家图书馆的网站,可以让每个人享受免费阅读!拥有一整个图书馆的书籍!
界面虽然丑了点,但内容很实在,可以让你找到很多在其他图书馆找不到的书籍!并且还免费!
网站分成了8大类:图书,期刊,报纸,论文,古籍,音乐,影视,缩微注册登录网站后,你就可以免费享受阅读了!偷偷说个小福利,如果你是大学生,你可以通过这个网站免费访问知网哦!
03 在线识别器这是一个免费OCR识别网站,识别正确率高达99.8%,让你告别照着图片码字的时代。
也就是我们听过的白描的网页版本!这是最新更新的网页版,超级好用,让你不用下载任何软件,就能轻松实现文字识别。就像这样:
超级方便,而且速度快,重要是识别度超高。
领导下次再丢给你图片,让你照着码字,就不用担心了,1秒自动识别搞定。目前分3个识别,图片文字提取,电子表格识别,扫描PDF转文字!04 learn_korean——免费韩语学习必备一个完全免费的韩语入门学习网站,也是一个韩语入门学习必备网站。
网站上的学习分类很清晰,分为三部分,第一部分式基本的韩语概述(学习一些基本的东西,我理解就是韩语里的拼音学习);
接下来开始深入,网站设想的是一些你刚到韩国需要学习的,分为20个场景:
在接下来,就是深入,假设你要在韩国生活,需要学习的东西:
每个环节都配套有小动画片,这个真的很良心,动画片里面说得很慢,方便学习!
超有趣,没事学习点韩语,还是很不错的,万一以后毕业了去韩国旅游呢~
本回答中的所有网站的我都给你准备好了,一键直接导入浏览器,领取方式如下图:05 humanbenchmark一个免费有趣并且创意的大脑能力测试网站,它通过多个测试项目全方位立体式评估测试你的大脑能力。
利用这个网站,在小游戏中,你会重新认识你自己。
目前网站设置有7个小游戏测试,全方便的测试和认识你自己。比如,想要测试下自己的记忆力,你可以选择号码记忆游戏。
会随机生成数字,你去记忆,刚开始的时候,很简单,后面慢慢的不同。你在这个游戏过程中,发现自己,并且网站还会为你计分。
还有一个分析:
年龄大了,记忆力果然不行了。
还有很多的测试,你都可以试试哦~这个是纯粹个人觉得很有趣,分享给大家!06 医学微视中国医药卫生发展基金会出品的,以视频的方式分享各种医学知识的良心网站!
上面全部是权威医学专家的讲解!而且非常容易听懂!
当你遇到不懂的医学知识或者健康问题时,直接利用这个网站,找对对应的症状,看看专家怎么给你支招,真的很实用!有次我打嗝打个不停,就在上面找到了解决方法!07 templates.office这是微软总部的一个网站,上面有超多的资源,只是知道的人太少了!
PPT模板更是丰富,而且秒杀很多收费模板网站,简单给大家看几个我下载的模板:
都很优秀,而且还有最流行的3D风格PPT:
重要的是,一点都不掺假,所有页面都是可编辑:
网站还支持分类查找,除了PPT模板,还提供了很多优秀的其他模板,比如日历模板,EXCEL模板,WORD模板等,而且不断更新,真的很不错。
文章中的所有网站,我都给你准备好了,不用你一个个保存了,直接一键保存,另外我还多放了40个其他常用的优秀网站!
好了,希望我今天分享的这7个网站,能对你有帮助哦!我还收藏了很多这样的网站,如果大家有需要可以告诉我,我继续更新!
辛苦码字,别忘了点赞哦~
如果你对我的内容感兴趣,欢迎关注我的号@旁门左道PPT ,浏览我的主页,获取更多优质PPT内容!
这么优秀的语言为什么不流行?
C#为什么不流行?
说到底这个锅该鲍尔默来背,他差点都把比尔盖茨一手打下的微软江山给败光了,更别说一个C#了。C#能做的JAVA基本都能做,JAVA不能做的有其他语言比C#做得更好,然后你的开源和跨平台还姗姗来迟,C#拿什么跟JAVA斗?
行业有个笑话,.NET最厉害的地方是跨平台,但是.NET最大的笑话也是跨平台。除了C++之外,能在.NET上运行的编程语言,是唯一一个能做到在所有平台上都能运行的编程语言,能把桌面MacOS、Linux、Windows,移动Android、iOS、WP(假设这玩意儿还在)全部跨完。不过遗憾的是,理想与现实总是残酷的,理论上是可以跨平台的,不过遗憾的是这么多年了微软一直都没跨出去。
这些年C#过得其实还挺憋屈的,前面的C/C++、JAVA交替做老大,两个老前辈C、C++时而来个青春走一回、容光焕发的,PHP、Python也是时常爆发,Go语言这个年轻人也是越来越强大,都实现自举了,可是C#呢打不过老年人,也打不过年轻人,其实还蛮惨的。
C#也不是一无是处Windows应用程序,现在很多都是C#开发的,MSDN、SQL Server Management Studio、Bing的很多服务,也都是用C#开发的,现在office 365、Windows、Visual Studio也用了一些C#开发,C#现在还是Unity开发游戏的主要脚本语言。
微软自己的产品用C#自然是无可厚非,还有很多非微软网站也是用C#开发的。程序员问答网站StackOverflow、国内著名的技术博客网站博客园、国内程序员社区CSDN、开源中国,都是用C#开发的。以前当当、京东的核心技术栈也都是C#,不过后来才转向了JAVA技术栈。
C#其实能做的事情还蛮多的,Windows桌面应用开发,Web应用,也可以用来做移动开发,不过做得都比较差强人意。做桌面开发弄不过C++、现在甚至连Electron都弄不过了,除了一些B端应用,大家基本都不会选C#,Web应用方面弄不过JAVA和PHP,移动方面弄不过JAVA和swift,然后大企业也都有自己的技术栈,可是这些技术栈都跟C#无关。
C#、.NET,以及ASP.NET的关系,C#错过第一波红利.NET是一个平台,本身实现的方式当然也是各种各样的库,理论上各种各样的编程语言都可以编译成其IL,然后在这个平台上运行,当然这个平台上面的编程语言很多,C#毫无疑问是这里面最重要的一个。ASP.NET是.NET主要用来做web开发的技术方案,当然这里面主要也是C#作为核心。
JAVA在96年面世,C#则是在2000年面世,JAVA的先发优势并没有那么明显,可是JAVA开源、免费的特点,让JAVA迅速攻城拔寨。C#有个好父亲、还是含着金钥匙长大的,C#的创造者安德斯·海尔斯伯格是Turbo Pascal编译器、Delphi的作者,在设计C#之前,已经是计算机工业界最伟大的科学家之一,后来又设计了TypeScript,打早了整个.NET体系。
C#语言设计本身在很多方面都是要超过JAVA的,可是吧微软早期的策略一直比较保守,不愿意跨平台,也不愿意开源,尽管安德斯·海尔斯伯格一直在努力推动这件事情,保守的鲍尔默领导下的微软错过了C#最好的几年,可是在这期间JAVA等编程语言不断攻城拔寨,C#终于还是输掉了未来。
C#输掉了移动互联网,大数据、云计算、AI也全都错过了编程语言总得要抓住几个机会才能发展得更好,C#除了抓住了Windows,其余全都没有抓住,也许这就是命,当然跟微软自己作也有很大的关系。
你看Android爆发的时候选择了开源的JAVA,尽管现在Google因为这事儿天天被Oracle恶心;iOS自然不用说,人家先是objective-C、接着是swift,这个微软没办法;到了大数据时代,JAVA和Python又大发威风;云计算来了吧,你看Go语言又逐渐爆发了,越来越多的移动互联网企业比如字节跳动、B站也都转向了Go语言,就连Google、百度、腾讯也都在用Go语言;人工智能时代,C/C++做底层,Python用来做上层应用和算法。
你看几乎每一个重要的技术变革都跟C#无关。在大企业里面微软自己的核心技术栈都是C++,Google也是C/C++,Facebook是C和PHP,百度是C/PHP/Go,字节跳动是Python/Go,阿里巴巴是JAVA,B站是Go语言。你同样可以发现,这里面没有一家企业将C#作为核心技术栈。
C#本来可以有个很好的发展的,可惜微软自己作死,浪费了C#发展最好的几年,等到纳德拉上台之后,试图通过开源来发展C#的时候,已经来不及了。未来看微软的决心有多大,比如微软是否愿意将全功能的Visual Studio移植到MacOS平台,假设微软带着Visual Studio威力还是有点大的,不过这也可能反过来威胁到Windows的地位。