"Commoninfo:programminglanguage": अवतरणों में अंतर

Decimal Wiki से
नेविगेशन पर जाएँ खोज पर जाएँ
[अनिरीक्षित अवतरण][पुनरीक्षित अवतरण]
(Created page with "<div class="mikio-article-content"> <div class="mikio-tags"> </div> <span id="jazyk_programmirovanija"></span> = Язык программирования = <div class="level1"> '''Язык программирования''' — это набор формальных правил, по которым пишут программы. </div> <span id="u_jazyka_programmirovanija_est_dva_aspekta"></span> ===== У языка программирования есть д...")
 
No edit summary
 
पंक्ति १: पंक्ति १:
{{#seo:
                    |title= Язык программирования
                    |titlemode= append
                    |keywords= Язык программирования
                    |description= Язык программирования
                    }}
<div class="mikio-article-content">
<div class="mikio-article-content">


पंक्ति ९४: पंक्ति १००:


</div>
</div>
  [[Category::Commoninfo]]
  [[Category:Commoninfo]]

०७:१३, १३ मई २०२२ के समय का अवतरण


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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

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

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

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