在没有真正原语的情况下,极端强调向量和矩阵。
这取决于您所说的真正的原语。在R中,向量是真实的图元;也就是说,所有变量都是向量。同样,在MATLAB中,所有变量都是矩阵。
基本字符串操作的难度。
在MATLAB中,字符串操作功能强大,但我同意代码通常很丑陋且不直观(至少目前如此)。对于R,有一个stringr软件包,它与任何其他语言的工具一样好用。
对基本数据结构(例如哈希表和“实数”,即类型参数和可嵌套数组)的支持缺乏或尴尬。
在R中,向量的名称类似于哈希。还有hash和filehash包。不确定MATLAB的实现,但是您可以根据需要轻松调用JAVA或.NET版本。
即使按照解释语言标准,它们也确实非常慢,除非您向后弯腰以对代码进行矢量化处理。
一旦掌握了向量化的技巧(如果您确实是骨灰级的话,我敢肯定,您肯定会这么做的),您将诅咒在返回其他语言时必须使用循环。执行速度是编程速度的折衷。
他们似乎并非旨在与外界互动。例如,这两个程序都是相当庞大的程序,需要一些时间才能启动,并且似乎没有设计成使简单的文本过滤器程序易于编写。此外,缺乏良好的字符串处理能力使得文件I / O几乎不可能以任何非常标准的形式出现。
它们都可以几乎任何格式读取和写入数据。都可以从大多数其他编程语言中调用它们。或从命令提示符下。您可以使用它们创建GUI。那怎么不与外界互动呢?如果您在使用文本过滤器程序时遇到困难,请询问stackoverflow。
面向对象似乎具有很强的固定感觉。是的,您可以做到,但是在C语言中,它比OO更加习惯。
同意 它们主要是程序语言。
没有明显,简单的方法来获取引用类型。没有指针或类引用。例如,我不知道您如何使用这两种语言滚动自己的链接列表。
在R中达成协议。在MATLAB中,引用称为句柄。
您不能将多个顶级函数放在一个文件中,而鼓励使用很长的函数并进行剪切和粘贴编码。
废话。只需创建多个文件。
整数显然不存在为一流的类型。
他们是这样。见int8,int16,int32和int64。
基本的内置数据结构似乎太高级了,文档编写得很差,并且鉴于我在类似但较低级别的数据结构上的经验,似乎从未达到我期望的效果。
它们适合进行数据分析。请举例说明意外行为。
该文档散布在各处,几乎无法浏览或搜索。就我所知,即使D通常因不良的文档而被淘汰,但仍然相当残破。
有很多文档。开始?some_function,RSiteSearch('some concept'),rseek.org和sos包装。更不用说安装随附的手册了。还是一本好书。
至少据我所知,没有好的IDE。同样,即使是D,这是一个社区规模较小的相当Alpha的语言,其效果也更好。
尝试使用Architect或RStudio或Revolution Analytics IDE。有关链接和更多选项,请参见“ 堆栈溢出”信息页面的 “ R的IDE和编辑器”部分。