MATLAB有哪些劣势?
MATLAB的特点和体系同时也决定了MATLAB的劣势。MATLAB在以下几个方面不太擅长。
(1)独立的应用程序:MATLAB是一个解释性语言(像很久以前的BASIC程序一样),也就是说,MATLAB程序须在MATLAB环境下才可运行。说得更通俗一点,如果想在一台机器上运行MATLAB程序,那么这台机器上需安装MATLAB系统。这一点与编译性语言不同。例如,用C语言编写了一个程序,可以将其编译成可执行文件,然后可将其在任何一台机器上运行(只要操作系统不冲突),不管这台机器是否安装了C语言的编译器。这种可以脱离开编程语言环境的应用程序称为“Stand-aloneapplication”。MATLAB是不擅长做“Stand-aloneapplication”的。所以,如果想制作一个软件产品用于销售,MATLAB绝对不是一个好的选择。因为,客户买了程序后,还需要安装MATLAB才能运行购买的程序。因此,客户不但要买软件,还要买MATLAB才行。
(2)与硬件接口:用MATLAB实现用硬件接口,不是一个好的选择。编程语言按照与机器代码关系远近分为低级语言和高级语言。如汇编语言是低级语言,Basic、Fortran等属于高级语言。C语言也是一门高级语言,但稍微偏低级一些。相比而言,MATLAB可以称为“超高级”语言。越是高级的语言,人们使用起来越容易,但离机器底层越远,也就是离硬件越远,就越难控制。汇编语言在很多人看来是“天书”,但却离硬件很近,因此,高级的控制程序就直接用汇编语言写。
目前,MATLAB也专门提供了与硬件的接口,而且有专用的工具箱,如Data.Acquisition.Toolbox、Image.Acquisition.Toolbox等,还提供了设备驱动程序设计的模块,也有调用dll库函数的接口。但与C语言等相比,MATLAB在与硬件打交道方面并不擅长。
(3)大型应用:MATLAB不擅长开发大型应用程序。MATLAB的“方便”正好为其语言的不严格埋下了“祸根”,因此,用MATLAB开发大型应用程序会遇到很多问题。总而言之,MATLAB根本就不是为开发大型应用程序而设计的。
2024-06-06 广告