Issuer and Programming language: Difference between pages

From Decimal Wiki
(Difference between pages)
Jump to navigation Jump to search
No edit summary
 
No edit summary
 
Line 1: Line 1:
{{#seo:
{{#seo:
                     |title= Эмитент
                     |title= Язык программирования
                     |titlemode= append  
                     |titlemode= append  
                     |keywords= Эмитент
                     |keywords= Язык программирования
                     |description= Эмитент
                     |description= Язык программирования
                     }}
                     }}
<div class="mikio-article-content">
<div class="mikio-article-content">
Line 12: Line 12:


</div>
</div>
<span id="ehmitent"></span>
<span id="jazyk_programmirovanija"></span>
= Эмитент =
= Язык программирования =


<div class="level1">
<div class="level1">


''«Эмитент — это юридическое лицо, исполнительный орган государственной власти, орган местного самоуправления, которые несут от своего имени или от имени публично-правового образования обязательства перед владельцами ценных бумаг по осуществлению прав, закреплённых этими ценными бумагами»'' '''выдержка из статьи 2 Федерального закона Российской Федерации № 39-ФЗ''' «О рынке ценных бумаг».
'''Язык программирования''' — это набор формальных правил, по которым пишут программы.
 
'''Эмитентом''' является организация, которая выпускает ценные бумаги, денежные знаки и другие активы. Эмитентом могут выступать различные структуры, а сам процесс выпуска ценных бумаг называется '''эмиссией''' .
 
Например, полномочиями по выпуску денежных знаков наделено только государство: другие структуры не имеют права печатать деньги.




</div>
</div>
<span id="prava_i_objazannosti_ehmitenta"></span>
<span id="u_jazyka_programmirovanija_est_dva_aspekta"></span>
= Права и обязанности эмитента =
===== У языка программирования есть два аспекта: =====


<div class="level1">
<div class="level5">


<ol>
<ul>
<li><div class="li">
<li><div class="li">


'''Права.''' Компания-эмитент наделена полномочиями осуществлять деятельность на рынке, получать прибыль за свою работу, выполнять назначение, предусмотренное действующим законодательством.
синтаксис (правила написания кода, правописание, порядок слов);


</div></li>
</div></li>
<li><div class="li">
<li><div class="li">


'''Обязанности.''' После эмиссии ЦБ юридическое лицо обязано осуществлять контроль продаж, законность проводимых операций, выполнять все условия договора.
семантика (идея, смысловая нагрузка или назначение).
 
</div></li></ul>
 
Обычный язык нужен для общения с людьми, а язык программирования — для общения с компьютером. Как и в любом естественном языке, у компьютерных есть лексика и семантика, но, поскольку они намного проще, чем человеческие, грамматика у них не на первом месте, но синтаксис и словообразование важны. А для для понятия «смысл» программисты используют слово «семантика».
 
 
</div>
<span id="otlichie_jazykov_programmirovanija_ot_algoritmov"></span>
= Отличие языков программирования от алгоритмов =
 
<div class="level1">
 
Программы нужны для того, чтобы машина сделала что-то полезное. Это невозможно, если нет чёткого алгоритма — порядка действий и правил выполнения чего-то полезного.
 
Алгоритм работает как маршрут в навигаторе: ''«Из пункта А едем в пункт Б, поворот через 150 метров»'' . Англичанин понимает его по-английски, китаец — по-китайски, а мы с вами — по-русски. Языки разные, а порядок действий один: '''все должны добраться до нужного места.'''


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




</div>
</div>
<span id="funkcii_kompanii-ehmitenta"></span>
<span id="kak_kompjuter_ponimaet_raznye_jazyki_programmirovanija"></span>
= Функции компании-эмитента =
= Как компьютер понимает разные языки программирования =


<div class="level1">
<div class="level1">


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




</div>
</div>
<span id="vidy_ehmitentov_cennyx_bumag"></span>
<span id="zachem_nuzhny_novye_jazyki_programmirovanija"></span>
=== Виды эмитентов ценных бумаг ===
= Зачем нужны новые языки программирования? =


<div class="level3">
<div class="level1">


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


<ol>
Языки живут, пока люди пользуются написанными на них программами.
<li><div class="li">


'''Государство''' выступает в роли самого крупного эмитента и имеет внешние и внутренние долговые обязательства. Ему принадлежит право эмиссии денежных знаков. Осуществляет государство свою эмиссионную деятельность через казначейство, Центробанк, коммерческие банки и другие кредитно-финансовые организации. Большая часть внешних долговых обязательств представлена в форме кредитов, а внутренних — облигаций и займов. Интерес инвесторов к ценным бумагам, эмитируемым государством, довольно слаб. Причина этого — прошлые финансовые кризисы, которые негативно отразились на продажах облигаций (например, кризис 1998 года).


</div></li>
</div>
<li><div class="li">
<span id="jazyki_programmirovanija_v_decimalchain"></span>
= Языки программирования в DecimalChain =


'''Органы муниципальной власти.''' Активный рост спроса на выпускаемые муниципальными структурами ценные бумаги был отмечен с 1993 года. Однако после нагрянувшего кризиса в 1998 году интерес инвесторов резко упал, и в настоящее время спрос на ценные бумаги этой группы эмитентов крайне низок.
<div class="level1">


</div></li>
Для корректной совместимости с Cosmos SDK и Tendermint в качестве языка программирования для реализации функционала Decimal, а именно программного обеспечения мастернод (валидаторов), использован язык рограмирования '''Golang.'''
<li><div class="li">


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


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





Revision as of 07:13, 13 May 2022


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

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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


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

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

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

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