LINUX.ORG.RU

История изменений

Исправление FilosofeM, (текущая версия) :

Использую этот язык в хвост и в гриву. На самом деле это убогий язык. Посматриваю в сторону Julia и надеюсь, что Julia со временем вытеснит R.

Основные фейлы данного языка:

  1. Убогая однопоточная архитектура. Использует только одно ядро процессора. Если нужно использовать многоядерность, то нужно юзать костыли в виде пакетов, у которых имена анологичных однопоточных функций - другие. Да и то, многопоточных функций там - мизер. Сделать поддержку многоядерности на уровне ядра языка видать не получается из-за убогой архитектуры.
  2. Отсутствие неймспейсов. Когда у вас куча переменных и констант, то начинается белиберда с именованием. Как вариант - использовать пакеты, но это уже костыль. Также можно юзать функцию local(), но это кастрированное решение.
  3. Когда у вас куча *.R файлов, то их приходится загружать в глобальную среду, в противном случае необходимо загружать содержимое R файла каждый раз, когда он нужен. Опять таки, можно все разбросать по пакетам, но пакеты для этого не предназначены.
  4. Интерпретируемый язык и поэтому тормозной.
  5. Отсутствие констант.
  6. Правила именования встроенных функций различаются. Одни с маленькой буквы, другие с большой. Третьи имеют точку, четвертые - нижнее подчеркивание.
  7. Сам этот язык был создан как аналог проприетарного S, который был создан аж в 70-х годах. Поэтому и имеет все эти косяки, которых нет у более современных языков.

Исходная версия FilosofeM, :

Использую этот язык в хвост и в гриву. На самом деле это убогий язык. Посматриваю в сторону Julia и надеюсь, что Julia со временем вытеснит R.

Основные фейлы данного языка:

  1. Убогая однопоточная архитектура. Использует только одно ядро процессора. Если нужно использовать многоядерность, то нужно юзать костыли в виде пакетов, у которых имена анологичных однопоточных функций - другие. Да и то, многопоточных функций там - мизер. Сделать поддержку многоядерности на уровне ядра языка видать не получается из-за убогой архитектуры.
  2. Отсутствие неймспейсов. Когда у вас куча переменных и констант, то начинается белиберда с именованием. Как вариант - использовать пакеты, но это уже костыль.
  3. Интерпретируемый язык и поэтому тормозной.
  4. Отсутствие констант.
  5. Правила именования встроенных функций различаются. Одни с маленькой буквы, другие с большой. Третьи имеют точку, четвертые - нижнее подчеркивание.
  6. Сам этот язык был создан как аналог проприетарного S, который был создан аж в 70-х годах. Поэтому и имеет все эти косяки, которых нет у более современных языков.