Будущее FPC

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

Сообщение pda » 12.11.2005 01:08:43

Mirage писал(а): Это кажется так из-за не очень хорошей адаптированности к реалиям - все таки академический проект.

У академических проектов есть один недостаток. :) Они должны демонстрировать принцип, а не эффективность.
Аватара пользователя
pda
постоялец
 
Сообщения: 303
Зарегистрирован: 27.05.2005 19:59:53

Сообщение Иван Шихалев » 12.11.2005 01:20:43

Именно концепция и слаба:
  • Вместо простой абстракции составного оператора, куча блочных операторов и среди них ELSEIF. Поскольку мне доводилось много писать в 1С, где эта конструкцию приходится использовать, могу сказать, что концептуально это такая же прелесть как и GOTO</li>
  • Отсутствие ООП. Да, расширяемые записи могут эмулировать объекты. Но класс — это понятие математическое, а расширяемая запись — oberon-only.</li>
  • Нет разницы между указателями и динамическими типами. Формирует плохой стиль программирования, а в случае Component Pascal — несовместимость реализаций на различных платформах по языку.</li>
Можно еще проблемы найти, это только то, что навскидку вспомнилось.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение STAKANOV » 12.11.2005 14:03:05

Mirage писал(а):... А что компиляторов нет - так потому и говорю что неплохо было бы сделать. Собственно сам компилятор дело нехитрое - я писал. Пишется быстро и просто. Самое трудное - IDE, библиотеки и т.п. ...

с библиотеками нет проблем если можно линковаться со стороними библиотеками (so,dll) был бы язык удобный ;)

я думаю, что конструкция
Код: Выделить всё
IF условие THEN
 ...
ELSE
 ...
END IF


лучше чем
Код: Выделить всё
IF условие THEN
 BEGIN
   ...
 END
ELSE
 BEGIN
   ...
 END


тоже о циклах и процедурах оберона и компонентного паскаля, а все остальное мне в нем даже не интересно, хотя тут скорее ближе старая добрая Ada. Но в последнем чуждая лично мне идеология :(
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV » 12.11.2005 14:05:49

noch писал(а):
Atrus писал(а): Тем более, что Вирт там что-то новенькое изобретает... ;-)

Ссылку в студию, пожалуйста

Я так понял речь об этом - <a href='http://zonnon.ethz.ch/' target='_blank'>http://zonnon.ethz.ch/</a>
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение STAKANOV » 12.11.2005 14:14:15

GrayEddy писал(а):
Ни одного нормального oberon компилятора нету для *nix, самый лучший - oo2c - и то переводчик в си, а компилятор от университета Ulm неплох, но на моем лаптопе он не пашет.


Чего убиваться-то? В процентном соотношении Windows вообще колосс, на такую сошку, как *nix, можно не обращать внимания :D .

Для компилятора ОС не важна, а важен лишь тип процессора. А взаимодействие с ОС это проблема чего типа RTL.

Как пример
Код: Выделить всё
...
if a=b then
  writeln('yes')
else
  writeln('no');
...

для любой ОС(но с одним и темже проссором!!!) компилятор сгенерит одинаковый ассемблерный код

а вот реализация самой процедуры writeln в разных ОС будет разная.
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение Гость_guest » 12.11.2005 22:40:12

Atrus писал(а):
Сергей Смирнов писал(а): Хотя... а у gcc есть ответвления?

Сейчас, вроде, нет. Есть разные ветки. Стабильная и development. Раньше был форк, в нём новые технологии оптимизации обкатывали, а потом - слили в основную. Но в некоторых старых доках по сборке ядра или mplayer ещё можно найти рекомендацию использовать "другой" gcc. ;)

Под "другой" имеется ввиду другая версия(релиз).
Гость_guest
 

Сообщение pda » 13.11.2005 00:27:59

Гость_guest писал(а):Под "другой" имеется ввиду другая версия(релиз).

Нет, я имел ввиду настоящий форк - <a href='http://en.wikipedia.org/wiki/EGCS' target='_blank'>EGCS</a>.
Аватара пользователя
pda
постоялец
 
Сообщения: 303
Зарегистрирован: 27.05.2005 19:59:53

Сообщение Иван Шихалев » 13.11.2005 02:22:18

если можно линковаться со стороними библиотеками

Насколько я понял, чистый Оберон этого не предусматривает в принципе.
я думаю, что конструкция

Хуже. Труднее проследить логику.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение STAKANOV » 13.11.2005 13:17:51

Иван Шихалев писал(а):
я думаю, что конструкция

Хуже. Труднее проследить логику.

Странно. Почему тогда более чем за 30 лет Вирт пришел именно к такому варианту?

Лично мне иногда приходится соображать - отчего от этот end ? :blink:
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение Janus » 13.11.2005 17:57:02

STAKANOV писал(а): Лично мне иногда приходится соображать - отчего от этот end ? :blink:

Иначе ты соображал бы, отчего этот endif =) Просто нужно код правильно выравнивать, и не будет проблем.
Janus
постоялец
 
Сообщения: 134
Зарегистрирован: 07.11.2005 17:06:49

Сообщение STAKANOV » 13.11.2005 18:55:18

Janus писал(а):
STAKANOV писал(а): Лично мне иногда приходится соображать - отчего от этот end ? :blink:

Иначе ты соображал бы, отчего этот endif =) Просто нужно код правильно выравнивать, и не будет проблем.

у меня такое возникает из-за большого количества if,wihile,for и case ...
причем все это в перемешку и глубоко вложено :blink:

И выравнивание тут уже не спасает :( И, кстати, правильно это как ? ;)
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение Иван Шихалев » 14.11.2005 01:17:54

Почему тогда более чем за 30 лет Вирт пришел именно к такому варианту?

И мне странно.
Просто нужно код правильно выравнивать, и не будет проблем.

Присоединяюсь.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение Иван Шихалев » 14.11.2005 01:20:19

И выравнивание тут уже не спасает sad.gif И, кстати, правильно это как ? wink.gif

Правильно - это когда спасает B)

Идеального рецепта не существует, но лично я всегда делаю end на том же уровне, что begin, else на том же уровне, что then и т.д. Менее экономно, чем Boland-style, дык на экране 1024х768 чай не 80 символов в строке...
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Сообщение STAKANOV » 14.11.2005 01:43:21

Иван Шихалев писал(а): Идеального рецепта не существует, но лично я всегда делаю end на том же уровне, что begin, else на том же уровне, что then и т.д.

я всегда думал, что есть еще какой-то неизвестный и самый эффективный способ :D но похоже я ошибался :D :D :D
Аватара пользователя
STAKANOV
энтузиаст
 
Сообщения: 1069
Зарегистрирован: 14.05.2006 21:26:24
Откуда: Зеленоград

Сообщение Иван Шихалев » 14.11.2005 02:53:03

Самый эффективный способ — продумывать логику так, чтобы не слишком наворачивать вложенность операторов :)
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Пред.След.

Вернуться в Потрепаться

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

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

Рейтинг@Mail.ru