为什么有些程序员会鄙视MATLAB？
我曾在某大学实验室做了两年研究助理，对此深有感触。 我当然理解，matlab是给那些非软件专业的研究人员，提供各种工具，减少其工作量的。不应以软件专业人员的要求来审核其代码。 但这是有条件的。如果项目是有产品，并且是多人合作，那么用matlab产生一堆别人不懂也用不了的代码，就是不合理的。 ———————— 我当年的项目需要做一个实时图片分析。负责算法的博士就写了一个大约500行的函数给我。里面充满了各种a，b，c，d，aa1，a2，zzz之类的变量名。注释等同于没有。看得我一头雾水。 要说这算法能正常工作也行，但实际上不是。用matlab运行的时候，大约每3张图片就会有1张给出错误的结果，大约100张图片之后就有很高的概率内存出错（泄漏）。 他也不给我讲解。我花了一个多星期，才把这500多行代码弄得有结构并且可读。发现那个出错的结果是某一步的输入没有验证，也排除了内存泄露。 然后把修改好的代码发回给他，让他之后在我修改的基础上改。 几个月后，在教授的催促下，他发了这段代码的改进版给我，说是提高了准确率。我一看立刻就生气了。他压根就没在我的代码上改，而是在他原来的代码上改的，也可能是从某处抄来后修改的，总之是同样的混乱，并且和他之前的代码用的变量都不尽相同。 问他为什么不在我那段代码上改，他竟然说看不懂我写的代码。我那段代码至少提出了常用的几个函数，变量名也修改成了有意义的英文，还加了段落注释，再怎么说也比那些aaazzz要强。 我不得不又花了一个星期去整理新的代码，最终发现他修改了一个参数（当然是硬编码的），又多调用了一个内置函数进行预处理。还引入了一个新的下标越界错误。 ———————— 