{eval=Array;=+count(Array);}
我是只说代码的大饼,很高兴回答你的问题。
我个人认为C#排名和Python相差越来越大,有以下几个原因:
如果最开始不和自家操作系统捆绑于一体,C#应该还是比现在发展得好很多,或者国内使用得人或者公司将会更多。
以前大学计算机系都还开设C#课程,现在几乎看不到大学里还会要求学C#的,
大部分都是Java的。
社区里成熟的解决方案,微服务流行一段时间后,C#也没能有成熟的解决方案。
最近一两年才是.Net Core跨平台、微服务、容器化。估计只能分点汤喝了。
之前使用C#为核心技术开发的大公司都分分倒向Java阵营,现在使用ucloud好像有使用
.Net Core开发企业内部的系统。
C#语言本身还是很好用的,封装工具也多,语法糖也越来越好用,语言特性一直在升级。
一.大数据分析把它推向了高潮。
二.社区成熟的框架多。
目前来看,在国内C#排名高低主要决定于第一点和第四点,本人用C#多,可能不太适应用Python,不太喜欢它的缩进方式。还是感觉用“{}”舒服。
以上只是个人感受,不喜欢的也勿喷。
我是只说代码的大饼,谢谢浏览。#只说代码的大饼##我要上头条#
你好,感谢您给我这次回答的机会。
首先,这种排名本身就毫无意义,而且就算真的要排,也不是这么个排法。静态语言跟动态语言混着排,低级语言与高级语言混着排,连sql都能进来掺一脚。以前老版本的排行榜里,甚至还有css。干脆不如把汉语,英语,法语也加进来算了。
但既然毫无意义,为什么还每年发布?因为有人看,点击量上涨,收入增加。
Python诞生于1989年,C#诞生于2000年。论年纪,两者差了11年。但为什么一个80后,直到今天才排到了00后的前面?早干什么去了?一门近30年都没火的语言,为什么最近几年突然就给火了?如果非要回答的话,我会说是“因为没有新的增长点”。
动态语言绝大部分都是老古董,其中最“年轻”的是javascript,ruby和lua,它们是仅有的三个90后。绝大多数动态语言,都诞生于计算机发展的早期阶段。
那个时期的电脑,还没有图形界面。最主流的操作系统,是微软帮IBM个人电脑开发的MS-DOS,整个操作系统才700kb,在当时已经算巨无霸了。程序一般只有几kb,甚至几byte。通常几百行代码的程序,就能算一个“软件”,几千行代码就算是“巨型项目”了。
而从windows诞生之后,图形界面化的时代真正到来了,那些几千行代码写成的“巨型项目”,直接变成了“小工具”。其实至此,现代IT行业才算真正诞生,计算机行业才从电工行业中完全独立出来,“会编程的电工”才变成了程序员。静态语言诞生,解决了两个根本问题,一是让程序可以写的更大,使“软件”的门槛,从几百行代码,猛增到十万行级别,“大项目”飙升至百万行级别。二是可以让程序跑的更快。3d游戏等依赖高性能的应用迅速发展壮大。
此后动态语言因为无法克服难以编写大型程序,以及运行速度慢这两个问题,被视为过时的技术,逐渐从主流变得边缘化。
几乎所有的程序员都在学习桌面程序开发,C++一度如日中天,而学习网站技术的程序员,被视为“不务正业”。而当时普遍认为,动态语言会在2000年彻底灭绝。
再后来,网络时代到来了,各种应用被搬到了浏览器上,桌面开发开始转冷,那群“不务正业”的人成了抢手货,“务正业”的人却突然没了方向。
这时候一度被windows吊打的Linux,又重生了。。之前快被扔进垃圾堆的“破烂儿”,摇身一变,却成了装逼神器。
随着网络普及度越来越高,人们发现每次更新网站上的内容,都要关闭服务器,严重影响网站的流量增长。而静态语言因为需要编译,每次更新必须关闭网站。于是javascript虽然是动态语言,却也照样火了。“学编程==做网站”成了既成事实,PHP,Python,Ruby等本该灭绝的动态语言,又跑出来蹭互联网的热度,集体复活了。尽管依然不适合大程序,但兑付着做些乡镇企业的官网,博客,个人主页,总是绰绰有余的。
再后来智能手机普及,又把java和OC捧火了。什么软件都要有个手机版,才显得有逼格。可是由于智能手机增长过快,短短几年之后又没了增长点,IOS开发短短几年就由热转冷,今天在就业市场已经基本绝迹。安卓开发还有一些岗位,但也已经淡出主流了。
各大厂商绞尽脑汁,赶紧搞出了VR,AR进来救场。结果消费者却不买账。。。观望的人不少,但创造的经济效益却非常有限,于是这个概念很快就冷掉了。一大堆VR引擎蓄势待发,几年之后就只剩Unity3d这么个独苗了。。。眼见形势不对,混合现实,区块链,大数据组队前来。结果混合现实的设备太贵,消费者不买单,大数据又无法平民化,也就没了炒点。
区块链总算稍微炒出点热度,忽悠出一支“够浪”地鼠军团歌功颂德,但不久之后却发现整个it圈,除了一群传教士每天在编故事,“够浪”们每天在听故事,高喊口号拯救世界之外,居然没人能说清区块链到底有啥用?后来也不知是谁手贱发帖问了一句“区块链是不是庞氏骗局?”竟然出现了皇帝新衣一般的童话式剧情。“够浪”大军除了发动人海战术,用几个假大空的术语反复洗版之外,居然连一条有力的反驳都讲不出来,眼看就要编不下去了。
这可急坏了it巨头们。就在这时,已经被游戏开发行业玩了几十年的“人工智能”,突然摇身一变,返老还童,火了!
“人工智能”这几十年来,从深度优先遍历,广度优先遍历,发展到A*算法,再到FSM有限状态机,又进化到行为树。。每隔两年就出一套新算法。一直也不火。
做过的益智游戏数不胜数,搞过的NPC逻辑成千上万。象棋、围棋、五子棋、斗地主、三国杀、对对碰、连连看,各种算法轮番上阵,带火的游戏一波又一波,可人工智能本身就是火不起来。
90年代初期,IBM搞了套算法炒作一波,用深蓝计算机下国际象棋,把各路国际象棋大师杀的人仰马翻。概念确实炒起来了。不久之后,深蓝就在电影里成功统治了世界,可惜被一个内裤穿在外面的人打败了。
所以,一定要用客观的眼光去看待这些排名的变化。以上仅仅代表个人观点。
语言排名如同股票,起伏震荡,你追我赶是正常的。
C#是编译语言,调试时需要编译、链接、加载后运行运行,语法要求严格,大量修饰词,括号,数据类型切换等,入门门槛稍高,跨平台支持差些,但代码效率高。C#在windows应用开发有优势,因为是微软推出的,内置标准库、注册表、WMI、网络更方便。
Python是脚本语言,解释器执行,小巧简洁,入门更简单上手快,阅读和交互性更好;方便扩展和移植;跨平台的库很多,调用方便,人工智能和数据科学应用较多,但开发大型软件平台相对较少,效率一般。
微软当初战略错误,把.NET的运行库绑定在Windows平台,虽然现在重写了新的运行库.NET 5以后可以跨平台运行了,但是已经给业界留下根深蒂固的印象C#是Windows专用的。
Python近些年大火,主要跟AI,科学计算等的兴起相关,Python是动态语言,具有容易上手,类库多,使用方便等特点,即使现在的儿童编程教学也选择Python,排名不想提升都难呐。反观C#,它其实是一门很优秀的语言,以前跨平台是其劣势,.net core的推出解决了跨平台这一短板,但是很多市场都已经被java等占据了,使用的人数自然没有那么多,其排名也就一致徘徊在5,6,7,8的样子
C#一直以来都被诟病,但近些年由于U3D的出现大放光彩。Python其实就是一门脚本语言,严格意义上来讲算不上编程语言,因为得益于当下热门的AI,爬虫,大数据等,很多程序员为了吃上这个红利转学Python,当有了一定生态环境,自然而然的派生出更多运用场景,所以热度自然上去了。
c#体系过于复杂,2017版的安装得需要30G硬盘空间。python体系结构简单,各种功能函数丰富,易学好上手。因此,使用puthon的人越来越多
0
回答10
回答10
回答7
回答0
回答0
回答0
回答0
回答6
回答0
回答