Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Kemet

Страницы: 1 ... 5 6 [7] 8 9 ... 40
91
Общий раздел / Re: [Oberon-07/11] Export non-scalar variable.
« : Сентябрь 12, 2013, 02:15:10 pm »
Стоп. А зачем тогда вообще разрешать какой-либо экспорта переменных? И чем, в конце концов, хуже экспорт одной переменной структурного типа чем экспорт 100500 переменных скалярного типа?
Внешний интерфейс (экспортированные поля) не обязан отражать внутреннюю структуру типа, например, у нас есть железяка, в которой принципиально невозможно сделать упакованную запись, т.к. она будет распределена по разным блокам и/или отображена на различные узлы. А если учитывать, что и модуль может реализовывать конкретный функционал под конкретное функциональное устройство, то только процедуры этого конкретного модуля смогут работать напрямую с таким структурным типом.
И таки что такое "переменная скалярного типа"? Насколько это понятие является языковым и не зависящим от деталей реализации?
Понятие "скалярные типы данных" вводятся в обращение ещё в школьном курсе информатики, и трактуются как не имеющие составных частей с точки зрения языка программирования.

92
Общий раздел / Re: [Oberon-07/11] Export non-scalar variable.
« : Сентябрь 12, 2013, 01:04:31 pm »
Ну, в общем, в этом есть некоторый смысл, особенно в свете opaque types и сокрытия реализации - со структурными типами не следует работать напрямую, следует использовать соответствующие экспортированные процедуры.
А значение термина "скалярные типы данных" вполне очевидно, чтобы не тащить это в сообщение о языке.

93
Общий раздел / Re: Пробуем писать на O7
« : Сентябрь 08, 2013, 11:32:15 am »
Как уже предлагал в конференции, сделать по типу Модулы-3:
FROM ModuleName IMPORT X, Y, Z, P := Proc, P1 := Proc1;
неплохо , но требует расширения синтаксиса, как и в случае с алиасом.
Это не важно, главное, что ни один из предложенных вариантов не будет компилироваться ни одним компилятором любого из Оберонов.
И если уж мы решили расширить язык, то в данном случае лучше расширить синтаксически, чем семантически. Потому что перегруженная семантика совершенно не очевидна.

94
Общий раздел / Re: Пробуем писать на O7
« : Сентябрь 08, 2013, 04:10:15 am »
Но вообще, лично я предпочитаю видеть квалификатор модуля в имени переменной/процедуры, потому что сразу понятно, что это и зачем.

95
Общий раздел / Re: Пробуем писать на O7
« : Сентябрь 08, 2013, 04:05:17 am »
Как уже предлагал в конференции, сделать по типу Модулы-3:
FROM ModuleName IMPORT X, Y, Z, P := Proc, P1 := Proc1;

96
Общий раздел / Re: [Oberon-07/11] RECORD&POINTER export.
« : Сентябрь 04, 2013, 04:03:41 pm »
Гм. А как на счет вот такого примера:
MODULE M;
TYPE
 R  = RECORD foo* : INTEGER END;
 P* = POINTER TO R;
END M.
Думаю, так:
MODULE N;
IMPORT M;
VAR
  p : M.P;
BEGIN
  NEW( p );
 p.foo := 1;
END N;

97
Общий раздел / Re: [Oberon-07/11] RECORD&POINTER export.
« : Сентябрь 04, 2013, 12:58:15 pm »
Блекбоксёры постоянно ставят в достоинство КП то, что в нём записи можно создавать не только в куче, но и на стеке, в отличие от Явы, где все объекты создаются только на куче.
Этим они объясняют высокую производительность свой шины сообщений.
Во всех Оберонах так - записи создаются в стеке, динамические(через указатель) экземпляры в куче.
Экспорт же записи только через указательный тип не позволит использовать такие записи на куче и сводит на нет это преимущество оберонов перед явой.
Для этого и предназначены opaque типы. Там, где нужны статические объекты в стеке - нужно использовать записи, естественно, экспортируя тип записи.

98
Общий раздел / Re: [Oberon-07/11] RECORD&POINTER export.
« : Сентябрь 04, 2013, 12:34:24 pm »
Это будет аналогией экземпляра класса сишарпа -- в куче создать можно, а на стеке -- нет...
Мы и говорим про указатель

99
Общий раздел / Re: [Oberon-07/11] RECORD&POINTER export.
« : Сентябрь 04, 2013, 12:27:36 pm »
Поля записи, отмеченные знаком экспорта, должны быть доступны через экспортированный тип указателя на эту запись, независимо от того, экспортирован тип записи или нет, именован или нет.
Исходя из этого, объявить переменную типа экспортированный указатель на не экспортированную или безымянную запись и создать экземпляр он может, иначе полная бессмыслица получится.

100
Общий раздел / Re: [Oberon-07/11] RECORD&POINTER export.
« : Сентябрь 04, 2013, 11:53:10 am »
Поля записи, отмеченные знаком экспорта, должны быть доступны через экспортированный тип указателя на эту запись, независимо от того, экспортирован тип записи или нет, именован или нет.

101
Общий раздел / Re: Пробуем писать на O7
« : Август 31, 2013, 12:34:51 pm »
Слишком низкоуровневым язык получился. ИМХО.
Смотря где его применять. Для ПЛИС, например, вполне нормально.

102
Общий раздел / Re: Online компилятор Oberon-07/11.
« : Август 30, 2013, 05:05:22 pm »
В общем, спокойно. Мы не идем войной на мир js-разработчиков, мы просто обкусываем этот мир по краям :-)
Так то да - на покусанный жабаскрипт, как и на пошарпаный с желающие всегда найдутся. Главное, чтобы была межпространственная связь.

103
Общий раздел / Re: Пробуем писать на O7
« : Август 28, 2013, 04:40:35 am »
А зачем? Никто ведь не мешает обойти массив в том порядке, который нужен.
Потому что иначе, по причине отсутствия динамических массивов, простой реализации не получится, придётся городить что-то подобное:
TYPE
  Chunk = POINTER TO ChunkDesc;
  ChunkDesc = RECORD next : Chunk; END;
  Chunk1024 = POINTER TO Chunk1024Desc;
  Chunk1024Desc = RECORD( ChunkDesc ) value: ARRAY 1024 OF INTEGER; END;
  Chunk512 = POINTER TO Chunk512Desc;
  Chunk512Desc = RECORD( ChunkDesc ) value: ARRAY 512 OF INTEGER; END;
  ...
  ChunkXXX = POINTER TO ChunkXXXDesc;
  ChunkXXXDesc = RECORD( ChunkDesk ) value : ARRAY XXX OF INTEGER; END;

  LIST = Chunk;
Или вообще, каждый элемент оборачивать. Но в любом случае, чтобы получить динамику, придётся городить списковые структуры или даже деревья.

104
Общий раздел / Re: Модель STA и User Interface
« : Август 27, 2013, 07:04:59 am »
Если говорить о многопоточности, то очевидными кандидатами будут
Компонентный каркас Bluebottle для Активного Оберона и VBT для Модулы-3

105
Видимо, только в русскоязычном сообществе Компонентный Паскаль называют прямым потомком и современной реализацией языка Паскаль.

Страницы: 1 ... 5 6 [7] 8 9 ... 40