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