编程语言优劣,如何选择编程语言 | C/C++,Java,Python,Golang,Javascript,PHP,Lua,Rust

作者: 内鬼Ayu分类: 计算机技术 发布时间: 2020-06-06 13:37:42 浏览:369676 次

编程语言优劣,如何选择编程语言 | C/C++,Java,Python,Golang,Javascript,PHP,Lua,Rust

芋头味芋头:
我刚入职,然后正好有一个辞职的,那个办公室的人一个不接,领导让隔壁的我去接替他的工作,那个项目从底层到应用全都是纯C++编写且完全没有备注,大概八九万行代码,最快编译一次10分钟,没有IDE来debug、仿真,也无法查看反汇编,更严重的是那个辞职的把半年来所有软件资料全删且没有上传服务器,而且电脑搞到死机无法开机,任何缺失版本的软件问题无法追踪只能重写,在重写最初的几个版本后,我发现不对劲也跑路了,C++让我印象深刻,确实令人头大[吃瓜]

【回复】都8,9万的代码量了,一点不写备注不现实,估计是原作者感觉收到了不公平对待了。
【回复】回复 @GanlvTech :卧槽你说的太准了,我问了老员工,领导貌似不是很关注,离职前依然是个普通员工,反正整个部门都知道他后来成为国企开发部经理了,我的上司也说这里的舞台对他来讲确实小了
【回复】或许他辞职的原因有问题。假如我多年维护一个重要项目,并且得不到认可,那么假如我被辞或主动(被)申请辞职的时候,我也想把所有资料都删除,公司都要我走,我还谈什么感情呢。
破忆断回:
来个例子 这是标准库里面std::span的一个构造函数 没错就一个函数 [抠鼻] template<ranges::contiguous_range _Range> requires (_Extent == dynamic_extent) && (!__detail::__is_std_span<remove_cvref_t<_Range>>::value) && (!__detail::__is_std_array<remove_cvref_t<_Range>>::value) && (!is_array_v<remove_reference_t<_Range>>) && (__is_compatible_range<_Range>::value) constexpr span(_Range&& __range) noexcept(noexcept(ranges::data(__range)) && noexcept(ranges::size(__range))) : span(ranges::data(__range), ranges::size(__range)) { }

【回复】看吐了的兄弟们 打看吐了 打到评论区[OK]
【回复】突然有点打消了我去学c++的念头……
【回复】推荐:https://www.bilibili.com/read/cv17034171#reply117562673328
今天你寄了吗:
我想发点关于C++的笑话了。 笑话:C++是一门不吉祥的语言,据说波音公司之前用ADA为飞机硬件编程,一直用的好好的,后来招聘了一伙大学生,学生们说我靠还在用这么落后的语言,然后换成C++重构后飞机就坠毁了。 笑话:什么是C++程序员呢?就是本来10行写得完的程序,他非要用30行来完成,并自称“封装”,但每每到第二个项目的时候却将80%打破重写,并美其名曰 “重构”。 笑话:同时学习两年 Java的程序员在一起讨论的是面向对象和设计模式,而同时学习两年 C++的程序员,在一起讨论的是 template和各种语言规范到底怎么回事情。 笑话:教别人学 C++的人都挣大钱了,而很多真正用 C++的人,都死的很惨。 笑话:C++有太多地方可以让一个人表现自己“很聪明”,所以使用C++越久的人,约觉得自己“很聪明”结果步入陷阱都不知道,掉坑里了还觉得估计是自己没学好 C++。 笑话:好多写了十多年 C++程序的人,至今说不清楚 C++到底有多少规范,至今仍然时不时的落入某些坑中。 摘自知乎

【回复】回复 @顶个热水袋 :我去看了知乎看了下,韦老师明显是被C++恶心到了而且都查出替代方案了才这么喷C++的,铁打的效率型暴躁老哥。。。 而且他的那篇文章里面提到了他的另外一个熟人——云风,云风的那篇文章相比韦老师的就没那么暴躁,但字里行间依然透露着对C++设计思想上跟C语言背道而驰的愤怒,用词上很克制。[tv_思考]
【回复】有一说一,不是笑话,这话太真实了,C++是把瑞士军刀Plus,可是它太PLUS了[笑哭]
【回复】太真实了,一堆冗余语法搞得最后不知道咋用了
奶活家教Shaw_K:
[囧]看到编程,眼睛瞎了,大学上java c# 数据库这些全部睡着了,太难了[捂脸][捂脸][捂脸] 但是程序猿好赚钱啊!

【回复】不用感觉后悔…因为这种不系统的学的语言也只是打开了大门而已,你觉得不喜欢不适合你就没必要因为看起来薪资高就后悔啦[响指] 而且薪资高都是拿肝拼出来的…
【回复】一个在职C#程序猿告诉你,并不好赚钱,现在内卷严重,国内小厂不重视创新,大多快速开发,用命赚钱,还赚不多。大厂不是人人都能进,985,211都要本专业,并且顶尖那批。搞AI,人工智能,重点硕士以上是门槛。而且C#虽然不错,但由于Net前期的作死,跨平台慢人一步,一步慢步步慢,就算现在出了Net Core跨平台,也已经赶不上Java,更别提社区活跃度。Java学好起码能混口饭吃,但C#的话,要求别人给口饭吃。
桜庭咲く:
[doge]up可能不怎么了解过kotlin,就让我来讲讲这到底是个啥。 Kotlin能在jvm跑,能在llvm走底层跑,也能编译成js,甚至能跟java,c/c++,swift,Objective-C等语言交互[doge]他是个神奇的语言,编译器帮你完成一切转换过程,并且Kotlin-JVM拥有Java一切的生态资源,因为他跟Java有99.99%的兼容率度,并且解决了Java的槽点,而且语法简洁,官方提供大量的语法糖跟预设方法[doge] 谷歌跟JetBrains合作打造的语言(JetBrains是Intellij Idea的开发商)。 [doge]推荐新手我都是推荐kotlin的,几乎全能特性,多平台,无论是jvm,llvm,亦或是ART,他都能行,甚至写前端,也能写kotlin然后编译成js[doge]并且入门也快,语法简单,而且多种发展方向,前后端都能上[doge]所以我一般都是推荐kotlin,而不是python

【回复】kotlin首推觉得不行,很多语法而已,但是能用gradle写脚本还行,更具体没了解,这些都叫Java系语言所有要推还是推Java,但是要自己首推还是c,毕竟爸爸依然还是爸爸[笑哭][笑哭]
【回复】我特别看好kotlin,不过JB公司饼太大,现在主要在移动端发力,jvm后端还可以,其他方面生态不太好,我觉得再等几年就好了。
【回复】回复 @簡愛莘 :[doge]你可能不知道Kt被称为下一个版本的jdk
-浅梦丶:
大学在读,学习了c,感觉c就是一定要去琢磨你写的这个代码计算机是怎么理解的,遇上了一个魔鬼老师,期末考试之前留了一个作业,写一个管理系统,我当时人都傻了,我连个指针都搞不明白,就要写个这种东西出来?还要人性化什么的乱七八糟要求一大堆,半个多月没吃好饭睡好觉,每天就是查资料问学长,肝了半个月,一个一个字母敲代码写了将近四千行,最后被老师打回调试了三四次才勉强过了,不过看着自己的程序完美运行的时候,确实有一种莫名其妙的快感。

【回复】我们大二来了直接开c课设(疫情延到大二),我们组选了做游戏。。然后就搞到了最难的那个,一周时间真的吐了,大部分csdn各种代码融合写的,现在大二上完了课设用java写管理系统。。。 我们明天就开课设啊,也是就一周。。。阿不,周四就得交,是四天。。。
【回复】你们是什么魔鬼老师。。。我们c++课设如果做管理系统,也就要个链表归并排序,插入删除,文件输入输出就行了。。。最多四五百行就完成任务了。。。
【回复】我大一c语言期末有个大作业,图书管理系统,好像在一两百行吧
shingouki123:
开头说了c++一堆缺点 但是最后那张图各种方向应用都离不开c++[喜极而泣]

【回复】那不是离不开,是可以做,但是都是最后的选择
【回复】回复 @奶粉我只喝三鹿 :有啊,我去蹭隔壁自动化的微机课时那个老师就说有个本地做电子产品的企业就用汇编来写驱动,因为老板相信用汇编运行速度快。但其实没必要,可以将其他语言的代码转成汇编再对个别地方优化。还有马斯克的火箭的操作系统也有用汇编实现的。
【回复】回复 @安静绽放 :汇编主要是进行极限性能的优化,比如用不同cpu的高级指令集,指令对齐优化,在音视频领域比较常见,迅雷7的图形库有大量汇编级优化,因为不能用gpu加速,只能压榨cpu了
綺麗的雨宫优子:
因为up主没怎么提到c# 所以还是想忍不住想来安利一下 特别是现在的.net core, 支持跨平台 有良好的性能 配合上世上最强的IDE visual studio, 微软的Bing 这两年把搜索引擎的代码从.net framework 迁移到.net core 性能提升了15%

【回复】因为我用的太少,说实话我很喜欢c#的语法和各种特性,可惜微软开窍太晚,早点开源夸平台,现在java的市场可能要被c#占掉不少
llIIIIIIIIIIIIll:
学python python是最热门最流行的语言(只有培训机构这么说) 毕竟C++不是每个培训机构都能教[妙啊]

【回复】大数据你c++绝对没有Python简单[doge]
【回复】那么java的定位是什么?就针对进来B站打广告的那个机构
【回复】回复 @詹姆士x :java占有率高,就业岗位多
未被召唤的硕士生:
这里有4个小朋友,给他们编个号吧 A:0, 1, 2, 3 B:1, 2, 3, 4 A:那你应该不会编程吧 B:我用的是Matlab[酸了]

【回复】Julia也是从1开始数的。但是我还是喜欢从0开始数的语言
【回复】打call,Matlab用在数学计算真的太好用了
了去码头整点薯条:
学长党想说机试写算法题的时候,各个大学支持语言大部分都是c, c ++, java 。c 撸数据结构费事,java 有小部分学校不支持,c++都支持又有stl 可以用,这个场景真的被迫选用c ++[笑哭]

【回复】算法题级别的c++不算c++,面向对象都没用,顶多用用几个STL的容器写着c风格的代码(`・ω・´)
【回复】那种C++顶多算个“C with STL”[doge]
【回复】OI书原文:相比选择C,我们不如选择 C with STL[doge]
班主任的狗腿子:
我一个学建筑的居然听的津津有味,就像一个莽汉听和尚(绝对没有攻击发际线的意思,如果不接受,换成道士也行[个性灵笼_窃喜])讲佛法。 话说,突然想自学一门语音降低我们日常做工程资料的难度(当然市面上已经有这种软件了),学哪种语言比较合适[小电视_发愁]

【回复】如果是其他行业想做做小程序降低工作量就用Python
【回复】python吧,感觉python真的啥都能搞[喜极而泣]
稀疏矩阵:
我觉得各层次的语言都可以接触一点。自底向上,机器一层,我学了gcc汇编(att格式),学校教了微软masm,不过不常用;sys一层,我主要学rust,CPP用来刷题;application一层,我主要学golang。。。在往上就是一些脚本,我觉得node.js不错,最近新出的deno.ts也很好,Python会语法但是不常用,一般拿来当shell用。

【回复】回复 @science0101 :汇编其实简单 就是一些人给吹的太难 相信我 绝对比c++简单
【回复】回复 @卋無塵 :确实,汇编入门没多难
【回复】回复 @卋無塵 :好吧。。我过几天去学学看
酱子mumu:
跪求大佬给切入点 我现在想学但感觉自己又没准备好的感觉 但是想从c开始学习 身边的人又叫我去学Python 然后看了点相关书籍结果连在哪里练手和用什么进行编译都不知道[捂脸] 有没有有时间的大佬收我为徒 我绝对尽可能的无微不至的学习,当打工仔 都可以

【回复】Auy说了 语言就只是一个工具,编程要的是思想 就好比我们都认识中文字 但不是每个人都写得出一手好文章。 新手python挺不错的,我也是新手 不过是从java入手的 你若是真想进坑的话 推荐你也从java入手 B站上尚硅谷 宋红康老师关于java讲的真心不错 特适合新手入门 建议你先看这套视频。
【回复】建议C语言,学了C最容易理解编程以及一些计算机内部的基础知识 python确实相当简单,新手用几天马上上手,但这样基本就是 知道怎么用,不理解怎么回事 的情况,编程基础会不扎实
【回复】回复 @西灬瓜丶 :简单来讲,大多数培训机构出来的程序员确实有着不错的编程能力,但如果只会表面的编程规则,那后面的工作其实与搬砖工无异,没有别的需求的话无所谓,但如果想去跟科研项目,亦或者目标是专业性更高的职位,那更深层次的理解很有必要。
冰橘柠檬水:
この「裏切り者のあゆ」といううp主はとてもパワフルで、誰でもすぐにクリックしてフォローでき、将来は古いファンになるでしょう。[doge] 「サンダー」5では、このクライアントはどんどん遅くなり、まだ多くの広告があり、民間セクター向けに最適化されたバージョンがたくさんあります。 なかでも最高の口コミは「あゆ」バージョンで、利用者も多く、口コミもとてもいい、広告がないのがポイント。 その後、「サンダー」の創設者は直接開発者の「あゆ」を見つけ、「サンダー」に参加するよう招待し、一緒にソフトウェアを改善しました。この人は後に「サンダー」ダウンロードのテクニカルディレクターに昇進しました。

【回复】这个“叛徒的Ayu” p霸王是如此强大,任何人都可以立即点击并关注它,并且将来会成为老粉丝。 【狗狗】 在“ Thunder” 5中,此客户端越来越慢,仍然有很多广告和许多针对私营部门优化的版本。 其中,最好的评论是“ Ayu”版本,该版本有很多用户,评论非常好,并且没有广告。 之后,“ Thunder”的创始人直接找到了开发人员“ Ayu”,并邀请他加入“ Thunder”,并共同致力于软件的改进。 此人后来被提升为“ Thunder”下载的技术总监。
【回复】回复 @你瓦特了what :老机翻了[doge]
Gitvim:
我喜欢c和c++,用过Python以后反而很不喜欢,写出来的东西让人很没底

【回复】回复 @weapon_jang :我大概是更喜欢严谨性吧,python太随意了,而且选择了python就注定是开源,下一个学的大概是java,c\c++轮子确实太少了。python胶水语言的特点也导致就业不行,自己玩玩就行了,别当真。
【回复】我也是,学Python感觉就像开自动驾驶汽车,感觉完全不像开车,像坐在网吧里。
【回复】用别人的库的时候心里超没底,又不想费劲造轮子
景影3:
算法竞赛用c++完全OK,用来写算法题根本遇不到ayu大佬说的所有问题

【回复】竞赛跟实际开发两种不同场景[tv_doge],刷oj时候那种放飞自我的变量名搁业务开发的代码里交上去了就等着总监提刀过来鲨你吧
【回复】回复 @景影3 :这东西突然在栈上分配一块大内存,搞不好会栈溢出,因为项目中可能有别人调用这段代码,这段代码运行在别人的栈上,没法得知他已经用了多少了。 不过一般来说不会出现这种情况,别太担心。大块数据放堆里比较合适。 如果用 golang 好像栈长度会自动增长(忘了是不是有这么回事了),好像是会触发整个栈的内存拷贝。
【回复】毕竟是竞赛啊,和项目完全是两回事

程序员 学习 编程语言 编程 Python

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

更多相关阅读