OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 06:59

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 11:31 
Аватара пользователя

Зарегистрирован: Вторник, 25 Ноябрь, 2014 08:05
Сообщения: 21
Приветствую ваше сообщество. Начал разбираться с КП и ББ, вроде бы и суть понятна и теория, и читая Вирта так же понимаю о чем речь, но я никак не могу найти внятный синтаксис к языку, по этой причине не понимаю как вообще начать писать что либо на нем. Нигде не могу найти даже описания что значит ":=". И уж тем более нигде нету ничего о MOD. Я сам системный администратор, раньше баловался HTML и CSS, даже частично в яву влез, сайты мелкие писал, просто нравилось очень, но денег не приносило, поэтому стал админом, из этого извлек прибыль. Но настолько все это наскучило, хочется заниматься тем, что приносит удовольствие, создавать и творить. В админстве этого маловато. Подскажите, где мне найти понятный синтаксис и описание его, потому что то что находил не дают вообще никакого его понимания. Может подскажите статью, которую следует изучить, или может надо иным путем язык узнавать? Я не нашел возможностей записаться на какие либо курсы по КП, так же не нашел ничего из полезного по синтаксису поиском тут по форуму, пожалуйста, помогите разобраться :?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 11:56 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Про присваивание хорошо изложено тут: http://citforum.ru/programming/digest/wirth/

Начать осваиваться можно отсюда: http://obertone.ru/doku.php/bb/lessons


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 12:08 
Аватара пользователя

Зарегистрирован: Вторник, 25 Ноябрь, 2014 08:05
Сообщения: 21
Благодарю за помощь, буду разбираться


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 14:25 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Можно по простому, КП это pascal со сборщиком мусора. ББ среда выполнения кода, написанного на КП. Всё.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 14:36 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
snuk писал(а):
Но настолько все это наскучило, хочется заниматься тем, что приносит удовольствие, создавать и творить. В админстве этого маловато.


Творить, можно не только на ББ :wink:

Важная информация. Которую на данном сайте могут скрывать.

1. ББ офиц не поддерживается. И естественно не развивается.
2. Малое количество биндингов к библиотекам, разным и нужным.
3. Непонятны перспективы, вообще.
4. Переносимость не гарантируется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 14:45 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Во-первых, здесь никто ничего не скрывает.
Во-вторых, к подобным заявлениям следует приписывать, что это Ваше личное мнение, тов. Йордан.
Расценивайте это как устное предупреждение (потенциально пп. 1.6, 2.3, 2.4).
Остальных прошу не поддаваться на провокации и не вступать в полемику не по теме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 14:49 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Jordan писал(а):
Важная информация. Которую на данном сайте могут скрывать.

1. ББ офиц не поддерживается.
Да, хозяин официально отказался от своего продукта и отдал ББ народу.
Jordan писал(а):
И естественно не развивается.
Естественно, это ложь. Народ взял ББ и развивает его туда, куда считает нужным.
Jordan писал(а):
2. Малое количество биндингов к библиотекам, разным и нужным.
Это так. Но это не проблема, кому надо биндинг - легко делает его сам.
Jordan писал(а):
3. Непонятны перспективы, вообще.
Не надо обобщать. Кому ББ нужен, тот перспективы, естественно, видит.
Jordan писал(а):
4. Переносимость не гарантируется.
Важная информация, которую Jordan всегда скрывает или банально не знает. ББ можно условно поделить на две части - хост-часть и прикладную часть. Хост-часть, естественно, не переносится, так как она платформо-зависимая. Прикладная часть переносима (на данный момент, гарантированно) в рамках архитектуры i86.

P.S. От себя добавлю - никто ничего не скрывает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 15:19 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
1) Вирт Н. Алгоритмы и структуры данных (http://oberoncore.ru/library/algorithms ... structures)
2) Потопахин В.В. Современное программирование с нуля! (http://oberoncore.ru/library/sovremenno ... ie_s_nulya)
и др. учебники в http://oberoncore.ru/library/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 15:29 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Блэкбокс (ББ) очень подходит для экспериментов из-за того что не требуется линковка модулей, всё быстро проектируется и компиляция очень быстра.
Нужно понимать, что ББ является не только средой разработки, но и платформой для запуска программ. Можно провести некоторую параллель с Java Virtual Machine, когда программный код на Java (или других языках) компилируется в байткод JVM и который способен исполняться только при наличии JVM. ББ имеет свой особый объектный код Intel x86 и он является фреймворком и для разработки используется функциональность составных модулей каркаса.
ББ спроектирован для создания зависимых от его каркаса компонентов и всё тесно взаимосвязано при запуске программ, поэтому нет смысла создавать ПО для запуска вне среды ББ. Можно, но лучше не стоит.

Иван Кузьмицкий писал(а):
Про присваивание хорошо изложено тут: http://citforum.ru/programming/digest/wirth/

Начать осваиваться можно отсюда: http://obertone.ru/doku.php/bb/lessons

Не знал о существовании этих уроков. Хорошо изложено.

Поправил. У КП не байткод, а объектный код для архитектуры x86.


Последний раз редактировалось Роман М. Вторник, 25 Ноябрь, 2014 16:29, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 15:32 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Признаю, формулировка "скрывают", была мною применена, опрометчиво.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 15:33 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Роман М. писал(а):
Не знал о существовании этих уроков. Хорошо изложено.
Недавно совсем начал, спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 15:45 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
snuk писал(а):
но я никак не могу найти внятный синтаксис к языку, по этой причине не понимаю как вообще начать писать что либо на нем. Нигде не могу найти даже описания что значит ":=". И уж тем более нигде нету ничего о MOD.

Есть англоязычные и русскоязычные сборки одного и того же Блэкбокса. В русскоязычной вся документация на русском языке и поэтому наверно лучше начать именно с неё. По-моему, тебе нужна Базовая сборка проекта Информатика-21. http://oberoncore.ru/blackbox/environment. Самая важная часть для продвижения в изучении языка и среды Блэкбокс - это изучение документации, поэтому рекомендую начать с неё.

:= это знак присваивания результата выражения.
Код:
x := 100 + 200;

В переменную x заносится сумма чисел 100 и 200.

MOD - целочисленное деление, при которой дробная часть отбрасывается
n := 10 MOD 3
результатом будет 1.

В описании языка Компонентный Паскаль на русском языке можно найти ответы на твои вопросы.


Последний раз редактировалось Роман М. Вторник, 25 Ноябрь, 2014 16:06, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 16:04 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
В системном администрировании обычно решаются задачи автоматизации процессов и настройки ПО.

Следует заметить, что каркас Блэкбокса последней официальной версии работает в ОС Windows или через Wine в других ОС (Linux/BSD). Графический режим работы - неотъемлемая часть фреймворка.

В качестве задела для будущего,
из Блэкбокса можно сделать некоторое подобие командного центра:
  1. для мониторинга спектра систем
  2. задач удалённого управления другим ПО
  3. предустановок ПО
  4. удалённого выполнения настроек ПО
В Блэкбоксе есть компоненты для работы с сетью и БД.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 16:12 
Аватара пользователя

Зарегистрирован: Вторник, 25 Ноябрь, 2014 08:05
Сообщения: 21
Спасибо всем за ценную информацию :) Я уже много прочитал про ББ, вполне понятно что на нем сейчас далеко не уехать, но платформа идеальна для осваивания самого алгоритма программирования, как и усваивания "правильного" к этому подхода, так же насколько я знаю код ББ свободно переносится в язык Java или даже на С и Делфи. В любом случае тут есть вся необходимая документация/информация, остальные языки уже дело изучения синтаксиса и огрехов самого языка, после осваивания программирования как такового. Весьма признателен за ответы, сам я ресурсы, которые здесь линковали не нагугливал, очень помогло


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 16:40 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
snuk писал(а):
так же насколько я знаю код ББ свободно переносится в язык Java или даже на С и Делфи.

Код Компонентного Паскаля в рамках среды ББ компилируется в объектный код (поправил своё сообщение выше).
В Блэкбоксе код на КП может компилироваться лишь в объектный код Oberon/F code file (OCF) - некоторое подобие библиотеки DLL - и исполняться также только в самом ББ.

В другом компиляторе, GPCP, код на языке КП может компилироваться в байткод виртуальных машин JVM или CIL (.NET).
Но при использовании каждой конечной платформы инструментарий непереносим, поскольку у них непересекающйися набор компонентов. Компоненты, используемые в Blackbox, нельзя перенести для запуска на JVM или в .NET.

Но синтаксис самого языка КП относильно легко переносим (транслируем) на другие языки, если использовать трансляторы. Вручную можно, но долго.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 17:14 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Роман, все же вы ошибаетесь.
Компоненты перенести можно. Вот ядро нельзя. А компоненты сколько угодно. Язык все же один и тот же, за некоторыми исключениями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Вторник, 25 Ноябрь, 2014 17:23 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Пётр Кушнир писал(а):
Роман, все же вы ошибаетесь.
Компоненты перенести можно. Вот ядро нельзя. А компоненты сколько угодно. Язык все же один и тот же, за некоторыми исключениями.

Мы наверно смотрим на переносимость компонентов под разным углом. Давай лучше обсудим тему переносимости отдельно от данной.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Среда, 26 Ноябрь, 2014 09:10 
Аватара пользователя

Зарегистрирован: Вторник, 25 Ноябрь, 2014 08:05
Сообщения: 21
Роман М. писал(а):
Но синтаксис самого языка КП относильно легко переносим (транслируем) на другие языки, если использовать трансляторы. Вручную можно, но долго.

Собственно об этом и говорил. Человек писал на хабре что он делал программу или нужный ему код и переносил его в среду JVM или Делфи, что существенно упрощало ему процесс, поскольку на КП писать проще и транслируется весьма неплохо структурированный код. Правда все как и везде перешло в холивар, но думаю что такое исполнение имеет место быть.
А по материалу, я собственно почему спрашивал про ":=", в описании КП я нашел такую строку, которая и сбила с толку:
Код:
5. Операции и ограничители [operators and delimiters] суть специальные литеры, пары литер или ключевые слова, перечисленные ниже. Ключевые слова содержат только большие буквы и не могут использоваться как идентификаторы.
+    :=    ABSTRACT    EXTENSIBLE    POINTER
-    ^    ARRAY    FOR    PROCEDURE
*    =    BEGIN    IF    RECORD
/    #    BY    IMPORT    REPEAT
~    <    CASE    IN    RETURN
&    >    CLOSE    IS    THEN
.    <=    CONST    LIMITED    TO
,    >=    DIV    LOOP    TYPE
;    ..    DO    MOD    UNTIL
|    :    ELSE    MODULE    VAR
$       ELSIF    NIL    WHILE
(    )    EMPTY    OF    WITH
[    ]    END    OR    
{    }    EXIT    OUT


И отдельно про MOD хотелось уточнить, почему n:=10 MOD 3 равно 1? А не 3?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Среда, 26 Ноябрь, 2014 09:24 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Дык MOD - это вроде остаток от DIV ?..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Синтаксис КП
СообщениеДобавлено: Среда, 26 Ноябрь, 2014 10:13 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
snuk писал(а):
И отдельно про MOD хотелось уточнить, почему n:=10 MOD 3 равно 1? А не 3?
Так это ж деление по модулю, поэтому и 1.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB