Commoninfo:programminglanguage

Decimal Wiki से
Test (वार्ता | योगदान) द्वारा परिवर्तित ०७:१३, १३ मई २०२२ का अवतरण
(अंतर) ← पुराना अवतरण | वर्तमान अवतरण (अंतर) | नया अवतरण → (अंतर)
नेविगेशन पर जाएँ खोज पर जाएँ


Язык программирования

Язык программирования — это набор формальных правил, по которым пишут программы.


У языка программирования есть два аспекта:
  • синтаксис (правила написания кода, правописание, порядок слов);

  • семантика (идея, смысловая нагрузка или назначение).

Обычный язык нужен для общения с людьми, а язык программирования — для общения с компьютером. Как и в любом естественном языке, у компьютерных есть лексика и семантика, но, поскольку они намного проще, чем человеческие, грамматика у них не на первом месте, но синтаксис и словообразование важны. А для для понятия «смысл» программисты используют слово «семантика».


Отличие языков программирования от алгоритмов

Программы нужны для того, чтобы машина сделала что-то полезное. Это невозможно, если нет чёткого алгоритма — порядка действий и правил выполнения чего-то полезного.

Алгоритм работает как маршрут в навигаторе: «Из пункта А едем в пункт Б, поворот через 150 метров» . Англичанин понимает его по-английски, китаец — по-китайски, а мы с вами — по-русски. Языки разные, а порядок действий один: все должны добраться до нужного места.

Любая программа начинается с алгоритма, но на разных языках это может выглядеть по-разному.


Как компьютер понимает разные языки программирования

Язык программирования — это не язык компьютера. Машина понимает последовательности нулей и единичек: есть напряжение в цепи — единица, нет — ноль. Поэтому любую программу сначала надо перевести в набор таких машинных команд.

Для этого есть два инструмента — компилятор и интерпретатор. Первый работает как бюро переводов: вы отдаёте ему весь текст программы, а он превращает его в исполняемый код, набор команд для процессора. Интерпретатор же больше похож на переводчика-синхрониста: сказали фразу — синхронист быстро её перевёл, а компьютер выполнил.

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


Зачем нужны новые языки программирования?

Существует уже несколько тысяч языков программирования, но всё равно продолжают создаваться новые. Обычно это делается для решения каких-то конкретных задач или в случае неудобства использования имеющегося языка.

Языки живут, пока люди пользуются написанными на них программами.


Языки программирования в DecimalChain

Для корректной совместимости с Cosmos SDK и Tendermint в качестве языка программирования для реализации функционала Decimal, а именно программного обеспечения мастернод (валидаторов), использован язык рограмирования Golang.

Для написания бэкенд-модулей мы выбрали TypeScript , который строго типизирован и удобен в процессе разработки, а также компилируется в JavaScript, исполняется в современных браузерах и совместим с NodeJS. В частности, на TypeScript написаны воркеры (Workers) и индексер (Indexer).

Для реализации десктоп-приложений кошельков команда Decimal использовала ElectronJS, который позволяет на основе JavaScript, HTML и CSS создавать кроссплатформенные десктоп-приложения.