Java/Python/.Net Core的通俗比较_python对比.net core的优势-程序员宅基地

技术标签: python  笔记  java  编程语言  .net  

其实想写这篇文章已经很久了。正好今天写作情绪高涨,所以呢也就来写一段,仅此以说说自己的看法,也让各位初学者,杠精有所话题可说。

针对于Java/Python/.net这三者的比较,不少文章是用什么性能、生态等等,各种数据、各种测试来对比的,十分严谨可供参考,所以我就不用再用这些数据来说话了。

先说说我国热门的Java吧。为什么要强调“我国”呢?不管杠精们闹与不闹,事实就是如此。在阿里这个大家的推动下,Java在我国的发展可谓是如日中天,大有Java是我国程序界高等人一说的态势。先声明,我们这里不做人身攻击哈。Java从项目上来说,确实是好语言,稳定、全面而且跨平台。但是用Java开发的人确实是参差不齐的。就我个人而言,经历过不少的项目失败的经验。Java开发者给我带来的损失占了70%,不是Java不行,而是之前把Java炒得太火了,导致很大部分人都去学Java,这个就跟高校扩招一个道理。人多了,水平就差了,质量就越来越不好了。所以目前得出的结论:Java语言好,但是开发者中,保守估计得有60%及以上的人不能把Java项目很好的开展并实施下去。

所以针对Java我还是说重点吧:在国内要就业的话,Java值得学,而且是值得长期并主线的学。但是学的前提是需要有类C语言的基础、切切实实到肉的面向对象的思维,如果没有,要么先补补,要么直接放弃。

再来说说Python。这个语言近年来火得很。到处都在鼓吹Python简单、优美、高效……,甚至有了“人生苦短,我用Python”的金句。那就得说说实际了,在实际使用中。特别是有了面向对象语言(C++,C#,Java等)基础的人群,再来看Python,就说学学网上那些同质化严重的文章吧,学下来也不知道那些教程从哪里抄的。学完之后,你会主观觉得Python好像用在面向过程更适合一些。但是随着深入,最后才才知道,其实不是Python简单,而是Python提供的包很丰富,直接到肉的方便。但是同样的生态在Java的Maven,.net的Nuget等地方,基本上都可以找到同类的东西。但为什么那么多人还是喜欢Python呢?用通俗的话来说,喜欢Python的人无非都是喜新厌旧的。虽然Python是个老语言,但是它的出现确实带出来很大的活力。就像现在各短视频平台上的那些大妈一样,加个美颜“小萝莉”又出来了,加上又多金,简单直接,确实容易让人产生“不想努力”的想法。说得是粗俗了点,但是道理就是那么回事。同理,这个大妈呢,其实并不是想象中的那么简单,真的用于生产,谈不上省多少时间,跟其它两者差不了多少。

另外要说的Python的执行性能,一个字:慢。但是慢有慢的道理。常规的项目,基本上都可以胜任,不用担心。

所以Python的重点:在国内就业的话,Python人员需求多存在于一些外包、投机等公司,当然正规也有很多用,但客观的说来,人家不缺人。同样由于目前炒得很火,所以未来人员水平其实也跟Java现在的人员水平差不了多少。可以做为第一语言来学,但是跟上面一样,即然第一,那就需要持续的学习。

最后来说说.net core。先不谈未来的.NET5吧,毕竟老美现在是人人谈论都避之的话题。就技术而言,.net core被微软折腾得不错。超全面的文档(有中文),强如微软这样的大企业支持,不行也得行啊。就其主推的C#语言来说,经过改进,用起来非常的舒服,即有Python,JS的简洁,又有C++/Java语言的行业开发标准。可谓是十分灵活。加上几乎变态的Kestrel服务器,那个并发与响应速度真心说可以达到破局的水准了。加上不管在Windows下的Visual Studio,还是Linux下的Visual Studio Code, 还是MacOS下的Visual Studio for Mac,这些IDE都是神级别的IDE。特别是Windows下的Visual Studio,宇宙第二,没人敢说第一。关键是Visual Studio的社区版,功能也强大得令人不可想象。不花钱就可以得到第一神器,多好的事情!

好的说了一大堆,.net core也有不好的地方。人家毕竟是微软的东西,文档全面是全面,但是跟其它第三方的热门产品沾边的,微软全部都说得隐隐晦晦的,不尽兴,全得自己发现,折腾。关于项目架构呢,虽然没有要求像Java那强迫症似的约定来做,但是微软官方是绝对不会给你介绍优良的项目架构,全部得自己去发现,或者学老一辈的,再或者去取Java的经。

那么.net core的重点:目前国内就业的话,有需求,但是量不大。很多还是为了维护以前.net framework时代的项目在做人员需求。当前阶段中,.net core迭代过快了,长期支持不久,所以,学可以学,用于快速开发、生产都是挺不错的,跟Python的Django相当,执行效率就拉Django很多条街了。适合于创业、外包等公司用。大型项目也可以,就是需要有大量经验的人来主操,不然,跟现在Java差不了多少。

打个我的最终总结吧。Java / Python / .net core,如果是从事Web行业,且是创业,小型公司,中小外包公司的话,建议Python与.net core;从事大型企业级开发的话,以上三者都适合,但按国情来说做个排序Java / .net core / Python;如果从事Web开发Python与.net core,Java虽然有Spring的springboot也不错,但是来得确实没有前两者快。不说多的,就生产效率而言,Python的Django就可以把springboot摩擦了;如果从事爬虫,三者都可以,但是从入门难度由简到难排序的话,Python / Java & .net core;如果从事数据事业的话,Python算是我个人认为比较唯一好辅助;如果从事办公自动化的话,Python与.net core甚至.net framework都会优于Java;如果从事Windows桌面开发的,那就用微软家的东西吧;如果从事桌面软件开发的话Java,Python + Qt是好选择;如果从事的是前端开发,这里别以为我说错了,真的是前端,那就.net core吧,自己去asp.net网站看Blazor的部分;如果是从事移动App开发的,我觉得Javascipt的比重高于以上三种语言,但是.net core有Xamarin,相当强大的跨平台移动端开发工具;Java嘛,虽然Kotlin是基于JVM的,但Java也只能开发Android,IOS的Swift都可以跨平台了,Java在IOS中,好像还不是那么愉快。

最后补一句,PHP是最好的语言那个言论,在Web开发中,确实有效!!!客观的不接受反驳,虽然我不用PHP。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zerocoin/article/details/109168696

智能推荐

稀疏编码的数学基础与理论分析-程序员宅基地

文章浏览阅读290次,点赞8次,收藏10次。1.背景介绍稀疏编码是一种用于处理稀疏数据的编码技术,其主要应用于信息传输、存储和处理等领域。稀疏数据是指数据中大部分元素为零或近似于零的数据,例如文本、图像、音频、视频等。稀疏编码的核心思想是将稀疏数据表示为非零元素和它们对应的位置信息,从而减少存储空间和计算复杂度。稀疏编码的研究起源于1990年代,随着大数据时代的到来,稀疏编码技术的应用范围和影响力不断扩大。目前,稀疏编码已经成为计算...

EasyGBS国标流媒体服务器GB28181国标方案安装使用文档-程序员宅基地

文章浏览阅读217次。EasyGBS - GB28181 国标方案安装使用文档下载安装包下载,正式使用需商业授权, 功能一致在线演示在线API架构图EasySIPCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 EasySIPCMS 自启动, 不需要手动运行EasySIPSMSSIP 流媒体服务, 根..._easygbs-windows-2.6.0-23042316使用文档

【Web】记录巅峰极客2023 BabyURL题目复现——Jackson原生链_原生jackson 反序列化链子-程序员宅基地

文章浏览阅读1.2k次,点赞27次,收藏7次。2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下。_原生jackson 反序列化链子

一文搞懂SpringCloud,详解干货,做好笔记_spring cloud-程序员宅基地

文章浏览阅读734次,点赞9次,收藏7次。微服务架构简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?(网关)这么多小服务,一旦出现问题了,应该如何自处理?(容错)这么多小服务,一旦出现问题了,应该如何排错?(链路追踪)对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。_spring cloud

Js实现图片点击切换与轮播-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏20次。Js实现图片点击切换与轮播图片点击切换<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/ja..._点击图片进行轮播图切换

tensorflow-gpu版本安装教程(过程详细)_tensorflow gpu版本安装-程序员宅基地

文章浏览阅读10w+次,点赞245次,收藏1.5k次。在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。cuda、cudnn。..._tensorflow gpu版本安装

随便推点

物联网时代 权限滥用漏洞的攻击及防御-程序员宅基地

文章浏览阅读243次。0x00 简介权限滥用漏洞一般归类于逻辑问题,是指服务端功能开放过多或权限限制不严格,导致攻击者可以通过直接或间接调用的方式达到攻击效果。随着物联网时代的到来,这种漏洞已经屡见不鲜,各种漏洞组合利用也是千奇百怪、五花八门,这里总结漏洞是为了更好地应对和预防,如有不妥之处还请业内人士多多指教。0x01 背景2014年4月,在比特币飞涨的时代某网站曾经..._使用物联网漏洞的使用者

Visual Odometry and Depth Calculation--Epipolar Geometry--Direct Method--PnP_normalized plane coordinates-程序员宅基地

文章浏览阅读786次。A. Epipolar geometry and triangulationThe epipolar geometry mainly adopts the feature point method, such as SIFT, SURF and ORB, etc. to obtain the feature points corresponding to two frames of images. As shown in Figure 1, let the first image be ​ and th_normalized plane coordinates

开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先抽取关系)_语义角色增强的关系抽取-程序员宅基地

文章浏览阅读708次,点赞2次,收藏3次。开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先关系再实体)一.第二代开放信息抽取系统背景​ 第一代开放信息抽取系统(Open Information Extraction, OIE, learning-based, 自学习, 先抽取实体)通常抽取大量冗余信息,为了消除这些冗余信息,诞生了第二代开放信息抽取系统。二.第二代开放信息抽取系统历史第二代开放信息抽取系统着眼于解决第一代系统的三大问题: 大量非信息性提取(即省略关键信息的提取)、_语义角色增强的关系抽取

10个顶尖响应式HTML5网页_html欢迎页面-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏51次。快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力为了寻找一个优质的网页模板,网页设计师和开发者往往可能会花上大半天的时间。不过幸运的是,现在的网页设计师和开发人员已经开始共享HTML5,Bootstrap和CSS3中的免费网页模板资源。鉴于网站模板的灵活性和强大的功能,现在广大设计师和开发者对html5网站的实际需求日益增长。为了造福大众,Mockplus的小伙伴整理了2018年最..._html欢迎页面

计算机二级 考试科目,2018全国计算机等级考试调整,一、二级都增加了考试科目...-程序员宅基地

文章浏览阅读282次。原标题:2018全国计算机等级考试调整,一、二级都增加了考试科目全国计算机等级考试将于9月15-17日举行。在备考的最后冲刺阶段,小编为大家整理了今年新公布的全国计算机等级考试调整方案,希望对备考的小伙伴有所帮助,快随小编往下看吧!从2018年3月开始,全国计算机等级考试实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代..._计算机二级增报科目什么意思

conan简单使用_apt install conan-程序员宅基地

文章浏览阅读240次。conan简单使用。_apt install conan