ЧП ПРОМКОД - Официальный сайт Телефоны ЧП ПРОМКОД: В Киеве: +38(044)38-38-773, В Херсоне: +38(0552)39-10-24

 Официальный сайт Частного предприятия «ПРОМКОД».

Поиск   
Главная :: О компании :: Контакты :: Обратная связь
  Навигатор:
Информация для клиентов
Доработки к Бухгалтерии для Украины ред. 1.2
Советы бухгалтеру
Язык программирования Перфолента.Net
  Все статьи

   >   >   >   > 



История и причины появления языка Перфолента.Net

Язык Перфолента это язык общего назначения, позволяющий писать программы работающие на платформе NetFramework. Язык ориентирован на русскоязычных программистов и будет полезен как начинающим так профессионалам 1С.


Логотип языка Перфолента.Net

Моё знакомство с программированием состоялось где-то вначале 80-х на теоретическом уровне.  Компьютера у меня не было, но статьи о программировании, которые часто печатались в советских научно-популярных и научно-технических журналах меня увлекали и перечитывались по многу раз. Поэтому, когда я поступил в техникум и впервые сел за клавиатуру компьютера СМ-ХХХХ (не помню уже точный номер модели) размером с хороший холодильник, то испытывая все же некоторый трепет от прикосновения к высоким технологиям, как сказали бы сегодня, я легко окунулся в поток команд, операторов, переменных и других прелестей, которые окружают жизнь программиста. Потом были машины ДВК, ЕС-1037, ЕС-1840 и др.

Но особую радость принес купленный в 1988-м году за  115 советских рублей программируемый калькулятор МК-52. Вот он, красавец, и сейчас лежит передо мной, такой же элегантный и работоспособный, как и в 1988-м. Все-таки надежная штука эта советская техника! Получив в свои руки настоящую ЭВМ, пусть и не очень мощную, грешно было не заняться написанием программ, благо все ведущие технические журналы публиковали разнообразные статьи, подогревая интерес. Калькулятор мне здорово помог и в учебе, множество однообразных расчетов превращались в увлекательное дело и выполнялись значительно быстрее.

  Калькулятор калькулятором, а хотелось чего-то большего. И не мне одному! В советских технических журналах как из рога изобилия посыпались схемы персональных компьютеров, предназначенные для самостоятельного изготовления – РадиоРК-86, ЮТ-88, Специалист, Орион-128, вот последний я и выбрал. Не буду описывать как я искал необходимые микросхемы, как заказал в каком-то кооперативе печатную плату, как все это чудо паялось и отлаживалось, но в конце концов мой первый персональный компьютер выдал на экран приглашение А:>_.

И вот тут можно перейти к разговору о языках. Мне уже было что сравнивать. Я уже овладел ассемблером процессора КР580ВМ80А, на котором я с энтузиазмом писал утилиты для своего Ориона, продолжал пользоваться языком ПМК, делая расчеты на занятиях в институте, программировал на Фортране, выполняя лабораторные и контрольные, и, наконец, писал игры на Бейсике. Вот Бейсик меня и зацепил. При всей своей ограниченности он позволял быстро получить работоспособную программу, которую было легко читать и дорабатывать впоследствии.

Не знаю, что было бы, если я познакомился бы с языком Си раньше, чем с Бейсиком, но, когда я с ним познакомился, он не вызвал во мне никакого энтузиазма. Он оказался для меня чем-то промежуточным между Ассемблером и Бейсиком. Он совсем не был сложным для меня, не в этом дело. Вообще, я считаю не корректным сравнивать языки, предназначенные для разных целей, но когда стоит проблема выбора языка для решения конкретной задачи, то вольно или невольно приходится делать сравнения и выбор. Так уж получилось в моей жизни, что в подавляющем большинстве случаев я выбирал язык более высокого уровня и ни разу не прогадал. Т.е. Бейсик (имеется ввиду всё семейство языка, включая последние реализации VB.Net, а также включенный в Microsoft Office и многие другие программные продукты язык VBA) давал мне работу и хлеб. Заказы на языках более низкого уровня мне тоже приходилось выполнять, но их было на порядок меньше. Де-факто я сложился как прикладной программист решающий практические задачи обычных людей, от инженеров до бухгалтеров.

Но однажды произошла революция и у Бейсика появился конкурент! В 1996 году я впервые познакомился с программой 1С:Предприятие 7.5. Главное, что там было, это язык с русскими операторами. Правда был он еще более ограниченным, чем Бейсик, но в комплексе с прикладной библиотекой и хорошей оболочкой для управления базой данных это была гремучая смесь! Не удивительно, что фирма 1С стала почти монополистом в области программ для бухгалтерии и управления бизнесом.

За двадцать прошедших лет выросло огромное количество программистов, ежедневно программирующих на языке 1С. Многие из них не знают ни одного другого языка. Язык 1С и у меня стал одним из главных рабочих языков, т.к. где есть заказы там и пасутся программисты.

И вот, с течением времени, я стал осознавать, что с большой неохотой берусь за программирование на языках с англоязычными операторами, что коверкать русские слова латинскими буквами занятие не приятное, а писать на англо-русской смеси неудобно и как то не эстетично, что ли. Более того, читать и дорабатывать чужие программы, написанные на русском языке, настолько легче, что это просто экономически выгодно! Вобщем, я совсем бы забросил англоязычные языки программирования, но не могу! Язык 1С это не самостоятельный язык, а всего лишь внутренний язык платформы 1С:Предприятие, на котором нельзя написать даже простейшую консольную утилиту.

Поиски какого-либо другого русского языка программирования не привели к ожидаемым результатам. В наличии оказались только устаревшие языки, компиляторы которых работают под DOS или даже СР/М, или не доделанные проекты, не годящиеся для практической работы, или вполне хорошие языки, но предназначенные больше для обучения, чем для практической деятельности. Отсутствие богатых функциями прикладных библиотек в этих языках так же не способствовало тому, что бы я смог использовать один из них. Сами языки я называть не буду, т.к. не хочу создавать антирекламу ни одному из них, а вдруг у авторов получится доработать и раскрутить их, я был бы этому очень рад.

Наши желания часто выступают в качестве двигателя прогресса. Вот хочется мне, что бы русский язык программирования был! Тем более, что один из детей, которых я обучал программированию, первым делом спросил: «А на русском нельзя?» Устами ребенка глаголет истина! Я хочу, что бы на русском было можно! Вот почему язык Перфолента.Net будет!

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

Обдумав все эти требования, я пришел к мысли, что, во-первых, язык должен в базовых конструкциях и прикладных библиотеках максимально наследовать язык 1С, что бы опыт тысяч программистов не пропадал даром и мог быть использован при программировании на новом языке. Это важно, т.к. часто от нового языка отказываются из-за необходимости больших затрат времени на его изучение. Во-вторых, и в-третьих, язык должен быть основан на технологии .Net, что обеспечит мощь и долговечность. Немаловажным оказался и тот фактор, что платформа .Net Framework имеет в своем составе почти все, что нужно, для создания компиляторов, а также очень мощную библиотеку классов, которая сразу станет доступной для использования в новом языке. Можно было пойти и в сторону виртуальной машины Java, похоже, что там всё могло бы получиться не хуже, но т.к. я её никогда не использовал и не знаю, то решил, что на знакомой мне платформе результат будет достигнут быстрее.

Приняв эти базовые решения, я решил взять все лучшее от языков 1С, VB.Net и C#. Собственно, чем и занялся…

Однако, не я один думал в этом направлении. Пока я писал свой компилятор, в сети появился отличный проект OneScript. Это почти точная копия языка 1С, но позиционирующаяся автором, как инструмент для автоматизации рутинных работ программиста и администратора. Язык OneScript, как и язык 1С относятся к «скриптовой» группе языков, т.е. основной вид существования программы, это её исходный текст. В этом есть как преимущества, так и недостатки, но я очень рад, что такой инструмент появился. Проект OneScript, что называется выстрелил, вокруг него образовалась своя экосистема энтузиастов, разработчиков и пользователей, создавших массу дополнительных библиотек, расширяющих возможности языка.

Можно упомянуть и других энтузиастов, которые так же хотят, чтобы русский язык программирования был. Например, недавно появился Русский Фокс, автор Андрей Ошнуров, в котором развивается трансляция под интерпретатор FoxPro 9. Очень интересен проект Гонец, автор Роман Цованян, в котором реализован язык похожий на язык 1С, но заточенный под высоконагруженные микросервисы.  

Язык Перфолента.Net, в отличие от выше указанных, относится к группе компилируемых языков, т.е.  основной вид существования программы, это код переведенный на промежуточный язык IL, который пользователем программы без специальной подготовки и инструментария изменен быть не может. Программа пишется, затем компилируется и в готовом к запуску виде распространяется среди пользователей. Тут конечно может пригодиться и язык OneScript, да-да, на нем ведь можно писать скрипты и для программ, написанных на языке Перфолента.Net! Такая возможность выглядит заманчиво.

Начиная писать компилятор, я не совсем понимал с какими трудностями мне придется столкнуться. Тут и мучительные размышления над новыми ключевыми словами и конструкциями языка, над необходимостью нарушить полную совместимость с языком 1С, да и документация по компиляции в IL оказалась тем еще ребусом. Но дорогу осилит идущий. И я по ней пошел…

Надеюсь, что на этом пути я встречу не мало энтузиастов, таких, как упомянутый выше Андрей Ошнуров, очень мотивирующий меня работать быстрее, за что ему огромное спасибо!

 



  Новости ПРОМКОД:
      27.10.2019 Обновился до версии 0.4 дистрибутив языка программирования Перфолента.Net
      23.07.2019 Опубликована первая пробная версия языка программирования Перфолента
      03.07.2018 На портале поддержки пользователей опубликованы внешние формы отчетов "Декларация по НДС, Уточняющий расчет по НДС"
      27.06.2018 На сайте поддержки пользователей опубликована информация о проблемных ситуациях в типовых конфигурациях для Украины
      21.06.2018 Выпущены новые релизы типовых конфигураций для Украины на платформе 1С:Підприємство 7.7
       Все новости ПРОМКОД

  Развлечения:
Загрузка...
 



Официальный сайт ЧП ПРОМКОД
Copyright (c) ЧП ПРОМКОД, 2014-2020