Поиск значения / толкования слов

Раздел очень прост в использовании. В предложенное поле достаточно ввести нужное слово, и мы вам выдадим список его значений. Хочется отметить, что наш сайт предоставляет данные из разных источников – энциклопедического, толкового, словообразовательного словарей. Также здесь можно познакомиться с примерами употребления введенного вами слова.

Википедия

Nim

Nim (ранее известный, как Nimrod) — язык программирования со статической типизацией , поддерживающий процедурный , объектно-ориентированный , функциональный и обобщённый стили программирования.

По утверждению разработчиков Nim сочетает мощь Lisp , простоту и понятность Python и высокую производительность C . Важной особенностью, которую Nim унаследовал от Lisp, стало то, что абстрактное синтаксическое дерево (AST) является частью спецификации языка, что позволяет поддерживать мощную систему макросов, следовательно, обеспечивает создание предметно-ориентированных языков (DSL) .

Язык Nimrod был создан в 2004 году Андреасом Румпфом (Andreas Rumpf). При его создании основополагающими были три принципа, обозначенные самими авторами, как «3E» :

  1. эффективность (efficiency);
  2. выразительность (expressiveness);
  3. элегантность (elegancy).

Разработка началась в 2004 году на языках Object Pascal (компилятор Free Pascal ) и Python . Однако, первая версия, которая могла компилировать сама себя была представлена 22 августа 2008 года (версия 0.6.0). Компилятор  Nim преобразует код, написанный на языке Nim, в оптимизированный код на языке  C , затем вызывает компилятор языка C. Поддерживается достаточно большое количество компиляторов C. Язык C выбран потому, что компиляторы C выполняют оптимизации (см. оптимизирующий компилятор ) и переносимы, за счёт чего компилятор Nim и программы, написанные на языке Nim, работают в ОС Windows , Linux , BSD и MacOS X .

В языке Nim, как и в Python, в качестве разделителей блоков используются отступы, хотя фильтры препроцессора могут разделять блоки и по фигурным скобкам или ключевым словам endX. Эти фильтры можно использовать в шаблонах. Язык Nim регистро-независимый и даже стиле-независимый язык. Его довольно необычной особенностью является то, что подчеркивания и цифры в идентификаторах игнорируются.

Язык можно использовать как императивный , процедурный язык, но он также поддерживает объектно-ориентированный , функциональный и обобщённый стили программирования .

Объекты с наследованием , перегрузкой , полиморфизмом и множественной диспетчеризацией позволяют использовать объектно-ориентированное программирование . Синтаксический «сахар» подталкивает к ООП стилю и цепочкам вызовов: a.funct(b) заменяется на funct(a, b).

Поддерживается метапрограммирование с использованием шаблонов, макросов, условной компиляции с выполнением функций во время компиляции (CTFE). Nim позволяет создавать пользовательские операторы.

В составе языка имеется множество высокоуровневых типов , от обычных строк и массивов до последовательностей, множеств, кортежей , перечислений и т. д. Низкоуровневые системные данные могут быть неуправляемыми, но большинство объектов, созданных в куче обслуживаются сборщиком мусора , освобождая программиста от большинства проблем управления памятью. Используется не отслеживающий сборщик мусора для управления выделенной памятью, который основывается на оригинальном алгоритме, но можно также использовать сборщик мусора Boehm или вообще отказаться от сборки мусора.

Nim также поддерживает механизм модулей для изоляции независимых библиотек или пакетов. Стандартная библиотека Nim имеет функции для выполнения ввода/вывода, для взаимодействия с ОС , для работы со строками (имеется поддержка юникода , регулярных выражений и РВ-грамматик с различными парсерами), для работы с опциями командной строки, для работы с форматами XML, CSV, SQL… и др.