为什么很多程序员会鄙视MATLAB?
用MATLAB的人,绝大多数都是做科学计算、工程理论计算、数值分析、金融分析用的,用户群主要是科学家、工程总师、数学建模、金融投资决策班子等等,其中不乏院士博士,普通程序员就仰望吧,哪里能鄙视?因为Matlab掩盖了大量的程序实现细节。Matlab是由美国mathworks公司开发的一款大型商业软件(不便宜哦),它的开发语言是M语言(一门解释性语言,必须依赖MATLAB解释器)。在程序员的圈子里面,的确存在着鄙视链,其中Matlab也的确遭到一大批程序员的鄙视,原因是普通程序员(比如使用C、C++编程语言的)要实现一个功能,就必须理解它的每一个细节,再来组织编码。而MATLAB却不同,它本身懈怠了大量的库,很多功能你根本不需要了解他是如何实现的,在没搞清楚原理的情况下一行代码就可以搞定,对于那些辛辛苦苦写很多代码的程序员来说,是不是很气人。其实Matlab是一种很有用的科研工具,下面我就来介绍一下MATLAB的一些更要应用。关于MATLAB,就先介绍这么多,欢迎大吉关注太科罗技,并在下方积极留言讨论。恕本民科直言,程序员与做科研,完全就是两码事!程序员是靠编程序混口饭吃,需要优化,精雕细琢!而做科研关心的是用数学模型来尽快验证某个猜想是否正确,根本就不想,也不需要在程序的优化上花时间,有现成的拿来就用更好,而MATLAB中的各种应用信手拈来,方便无比,节约大把时间,何乐不为?这就是本民科用MATLAB做科学研究的原因!程序员鄙视MATLAB?程序员不会做科研,所以不在一个层次!因为程序员很少会用Matlab的,根本不知道这里面包含了多少技术含量我跟你讲,程序员就这表情,真是人在敲代码,锅从天上来。莫名其妙的背上鄙视MATLAB的罪名,也是一脸懵逼呀,而且这“很多”程序员是怎么统计出来的?的确,在程序员中的确存在各种语言互相瞧不起的现象。就像某个经典的笑话:某程序猿追求女神,女神说你能让这论坛里所有人吵起来我就跟你走。某猿说Python是世界上最好的语言,果然整个论坛都炸了。女神说我们走吧,某猿不走,非得说服其他人。对于普通程序员来说,每天需要实现多少功能,完成多少个页面,涉及算法的部分很少。而 MATLAB是个数学软件,都是数学公式,自然用不上。这应该就是为什么有些程序员“鄙视”MATLAB的原因了。MATLAB在算法开发、数据可视化、数据分析以及数值计算方面是其他语言所无法匹敌的。准确来说,MATLAB是一个研究工具,与C,C++,java等语言不同,其他语言更像一个构造工具。打个比方,MATLAB就好比示波器,而其他语言则是计算机,本身不具备太多比较的意义。虽然MATLAB在数学处理方面很优秀,但它也局限在这了。程序员是一个很广泛的工作,包括写爬虫,做软件,开发 游戏 ,部署网络等等。MATLAB就算勉强能实现,编程体验也比其他语言差。 MATLAB的“偏科”也导致了一部分人对它喜爱不起来,但也构不成鄙视的罪名。1、使用matlab的根本就不是程序猿2、程序猿也不鄙视matlab3、matlab的焦点是实验实现,而不是生产环境4、程序猿鄙视的顶多是使用matlab的人的编程水平,因为matlab的语言复杂度和需要的特性比一般编程语言简单太多了。但是没哪个程序猿会鄙视使用matlab的人在其领域的专业水准。举个例子,就好像我会鄙视刘国梁的肚子,但是我不会认为因为我有六块腹肌我就可以球桌上干赢拿信用卡的胖子。5、如果真有人鄙视matlab,那就好像是会打字的人鄙视牛顿手上的纸笔说它落后,仅此而已这样类比吧,放高中,matlab就是那种最高级别,按钮最多,一个巨大无比的屏幕,但是只能显示马赛克的卡西欧科学计算器。任何一个使用ipad的人都会鄙视这玩意但是,这货方便啊!真方便啊,你把考题输进去(当然很麻烦),不光给你结果,还给你过程,甚至所有参数每一秒的值都给你记录起来,随时回头查看,参数是在那一秒跑飞的都能找出来没有程序员鄙视matlab,问题本身就不成立。先问是不是再问为什么。我是程序员,用的是JS主力,含Node.js。大学参加过数学建模,也拿过国家奖,用的就是matlab。我不知道你哪里得出程序员鄙视matlab这一出,高级黑?另外,楼下瞎吹matlab是什么工程院院士用的啥啥啥的,抱歉,我一个二本院校小菜鸡也用,程序员也用。而且,我是不是可以怼C语言,谁人不用?归根到底,就是个引战,两个东西不在一条线上,有什么可对比的?还鄙视?我们程序员也没那功夫好吧,福报领不完,闲得慌。作为一个写了多年代码的程序员,对于所谓的程序员鄙视链已经显得比较麻木了,对于程序员这份职业对于大部分的人来讲可能就是一份工作,工作的目的就是多拿点工资能够更好的改善家人的生活,当然也会存在一些人发自内心的对编程这份工作感兴趣,如果是发自内心的喜欢一件事情,就会非常容易出成绩也会工作起来非常的轻松。对于存在所谓的程序员的鄙视链一般是对于刚入行的或者门外汉会这么提,软件行业分类十分众多而且每个种类里面都存在很大的差异性,都有其自身的难度所在不能简单的认为哪种编程语言就是最优的,如果有这种想法证明对于软件的认知还只是存在于初级的阶段。对于MATLAB软件使用主要的群体在于科研工作者,无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理等领域使用的比较多,属于集成性非常强的工具软件,软件从本质上讲就是工具般的存在,服务于各个行业如同数学在科学领域的作用,无论多厉害的软件高手最终还是要以开发的产品为主要的代表作,对于软件使用层级相对弱化很多,所以作为一个程序员鄙视MATLAB使用者,其实是没有道理存在的。一个使用者一个开发者本质上没有鄙视链条的存在,而且用好一个软件也不是一件很简单的事情,MATLAB属于集成性非常强的很多成熟的库文件都集成在里面了,对于科研工作者来讲是一种极好的工具存在。程序员做的本质工作就是做出优秀的产品给用户使用,但是很多开发者由于长期盯着功能模块往往忽视了很多外在的东西存在,特别是初级的程序员始终觉得底层的编程语言在难度上要高于java类的高级语言,其实每种编程语言都有其存在的价值所在,而且每种编程语言都有其内涵所在,真正意义上掌握一种编程语言也不是一件很轻松的事情,从程序员的角度出发只要是掌握了一种编程语言再去学习新的编程语言都会简单许多,编程语言虽然在语法上有区别但在编程模式上大同小异,如同线程的概念如果是在学习C语言编程的时候已经掌握了,那么切换到别的语言也会变得顺理成章,只是在语法细节上的差异而已。在程序员领域所谓的鄙视链其实更多是外行在摆弄的事情罢了,对于真正意义上的程序员宁愿多去看看代码也懒得去做这种无聊的事情,术业有专攻,但是编程领域行业的差距就十分的巨大,各个领域有机的组合在一起才能够真正铸造出好的产品来,从目前编程大的趋势上看应用类的编程在各个领域展示会更加的明显,因为软件行业经过几十年的快速发展已经积累了大量优秀的资源库,很多偏向于应用级的软件就是借鉴和积累了前人的经验。每种软件都有其存在的价值和属性。而且只要生态存在那么就会有意义存在,MATLAB的存在让很多科研工作者提供了极大的便利,从国内软件所欠缺的就是对于软件基石的投入,国内大型的互联网公司把主要的精力放在应用级层面的开发,都是想着如何开发出亿万级的用户的应用,对于基础层面的软件投入想对稀少,基础软件层面的投入需要长期周期长见效慢,而且这种生态的建立需要相当漫长的时间,像常见的工具软件图形处理以及文字处理软件,看起来不起眼都是背后的企业经过多年的时间锻造出来的,一旦涉及到版权层面就会容易被卡脖子,华为公司公司被美国公司打压就是典型的例子,基础才是决定是否能够成功的关键因素。
为什么会有程序员间的鄙视链
所谓程序员间的鄙视链,有很多穿凿附会的地方,仅仅只是写出来供大家娱乐一下的段子。它的来源应该是程序员之间的分工和所使用的语言不同,学习难度和工作难度不同所发展来的。一般来说使用C++语言的难度要比使用JAVA语言的难度高,而使用C语言的难度要比使用C++语言的难度更高,所以才有这个所谓的鄙视链,仅仅只是娱乐而已。