OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 15 Декабрь, 2019 07:31

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




Начать новую тему Ответить на тему  [ Сообщений: 131 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 07:59 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Не фиг не фиг... :-)
Внести одно и убрать все остальное - это не вариант. Язык без системы типов и архитектурных конструкций сегодня уже никуда не годится.


Что ты подразумеваешь под системой типов? Динамические языки, по-твоему, ее не имеют?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 10:30 

Зарегистрирован: Понедельник, 12 Декабрь, 2005 22:44
Сообщения: 85
Откуда: С.-Петербург
Vlad писал(а):
Я такое слышу со времен появления линукса. А воз и ныне там - десктопы за виндой.
***
:) Ты пал жертвой рекламных брошюр.
***
Так что нет решений "раз и навсегда", ну разве что для сферических коней (что вполне нормально для академической среды).


Положения MS на рынке Win XX сейчас всё ещё крепкое. Но факты упрямая вещь! Создание и продвижение операционных систем продолжается.
  • FreeBSD
  • Linux (в самых разнообразных инкарнациях)
  • Zeta (развитие оси BeOS, коммерческий вариант)
  • Haku (развитие BeOS, с открытым кодом)
  • и др.

Качество, локализация, количество приложений для разнообразных осей ( не Win XX) продолжает увеличиваться. Появляются десятки версий Live CD, которые позволяют без установки использовать не Win XX.

Китай активно развивает свою линейку Linux и это серьезно и надолго. Рядом ещё одна страна Индия с миллиардным населением.

MS прекрасно просчитывает свои перспективы на будущее. Монопольное положение им будет всё труднее и труднее удерживать. А то что Win XX медленная и неповоротливая - известное для пользователей.

Лично мне очень нравится BeOS. жаль, очень жаль, что Билл Гейс посодействовал ликвидации этой операционной системы в конце 90-х годов. С работой с окнами, мультимедиа приложениями BeOS уже в 2000 году Win XX даже близко не стояла. А какая многозадачность!

Здесь мои слова нужно понимать не как рекламу, а как образец реализации идеи. Напомню, что даже руководство Apple дрогнуло и запретило тестирование BeOS на MAC-ах. Помню свои впечатления, был даже немного озадачен, когда использую комбинацию клавиш переключал в BeOS реализацию интерфейса между MAC, Windows 98 и BeOS.

Сообщество пользователей ПК обязательно обновит ядро XWindows и будет нам и скорость и качество.

А жертвой рекламы мы с вами и являемся. Вирт в лекции озвучил это словами: "На рынке побеждает не лучший программный продукт, а тот который лучше раскручен". Законы рынка...

нет решений "раз и навсегда", Совершенно согласен. Микрокомпьютеры сейчас выпускаются миллиардами (модильные телефоны и др.) Какая операционная система используется в них? Уж точно не WinXX. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 10:53 

Зарегистрирован: Понедельник, 12 Декабрь, 2005 22:44
Сообщения: 85
Откуда: С.-Петербург
Vlad писал(а):
vladfind писал(а):
а) Выделить нужным цветом комментарий;

***
Если весь сыр-бор из-за комметариев, то вопросов больше нет.
***
Если же все-таки ты хочешь копать глубже, то начни с анализа моего примера на С++. Чтобы лучше понять размерность проблемы.


Комментарии - это первая элементарная конструкция языка. Я могу вам выслать часть кода из открытого проекта компилятора "Странниик" с предложением измерить Вашу производительность при замене комментариев вида '//' на '(*...*)'.

Очевидно, для многих компьютерных специалистов, что представление исходного кода программ в виде обыкновенно текста есть подход устаревший, более того, по-моему мнению, тормозящий автоматизацию программирования. До 60% ресурсов компилятор тратит на то, чтобы из текстового вида попытаться востановить семантику программы.

Будут и другие конструкции:"Объявления_типа", "Переменная", "Функция", "Цикл" и т.д.

Обязательно доберусь и до Вашего примера. Робот-программист обязан выявить и те конструкции, для которых будут правила и методы манипуляции, и неизвестные, новые, когда необходимо запустить процедуру дял пополнения базы знаний, совместо с экспертом-программистом, новых правил и методов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 16:29 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Цитата:
Что ты подразумеваешь под системой типов? Динамические языки, по-твоему, ее не имеют?

Про динамические языки в целом речь не шла. Шла речь о LISP.
Под системой типов я понимаю 1) начилие возможности определять, контроллировать (лучше все, что можно, - статически) и манипулировать абстрактными типами данных. Хотя бы уж на уровне хорошей структурки (как в MODULA и ADA-83 (не путать с 95, в которой ООП есть) - язык с самой богатой и стройной из всех мне известных системой типов), хотя давно уже стандартом стало ООП. 2) кроме цельности и стройности для системы типов не меньше важна разумная гетерогенность - разные вещи должны выглядеть и использоваться по разному.

Ты привел пример LISP. LISP и ему подобные системы типов не имеют. В LISP пропагандируется подход "все есть список, и программа тоже". Набор элементарных типов - сегодня уже не система типов. Тот же Форт, о котором шла речь, системы типов не имеет, хотя элементарная типизация в нем есть. Тот же Smalltalk - сложный зверь. Во-первых, вся типизация динамическая. "+": гибкость "-": все проверки уходят на этап выполнения (хотя по статистике программы на нем довольно надежны) "---": спад быстродействия. Однако система типов опять же сделана гомогенной. По сути, статический тип только один - указатель на объект. Все трактуется как объекты и сообщения. И второму моему критерию он точно не удовлетворяет. Хотя объект - это очень мощная абстракция, но то, что все искусственно сведено к ней, позволяет мне считать систему типов Smalltalk бедной. А вот Python - язык тоже динамический, но система типов в нем присутствует.
Таков мой взгляд на понятие "система типов".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 16:39 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Цитата:
Очевидно, для многих компьютерных специалистов, что представление исходного кода программ в виде обыкновенно текста есть подход устаревший, более того, по-моему мнению, тормозящий автоматизацию программирования. До 60% ресурсов компилятор тратит на то, чтобы из текстового вида попытаться востановить семантику программы.


Позволю себе не согласиться: от текстового представления информации никуда не уйти. Оно самое информативное и однозначное. Та же графика в большинстве случаев имеет очень низкую информационную насыщенность (если это не обзорная схема, которая действительно позволяет дать быстрый взгляд "с высоты птичьего полета") - то, что можно выразить абзацем текста, займет несколько страниц. Вопрос в том, удачную ли формальную нотацию мы выбрали. Если нотация позволяет оперировать самыми высокоуровневыми абстракциями, никакая автоматизация кодирование будет не нужна.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 22:38 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
vladfind писал(а):
Создание и продвижение операционных систем продолжается.


Единственная ОС для массового пользователя, которая может конкурировать с виндой хоть как-то, это MacOS X. Однако Apple сознательно уходит от прямой конкуренции, ограничивая использование своей ОС только своими компами.

vladfind писал(а):
А то что Win XX медленная и неповоротливая - известное для пользователей.


Мне неизвестно.

vladfind писал(а):
С работой с окнами, мультимедиа приложениями BeOS уже в 2000 году Win XX даже близко не стояла. А какая многозадачность!


Какая?

vladfind писал(а):
Здесь мои слова нужно понимать не как рекламу, а как образец реализации идеи. Напомню, что даже руководство Apple дрогнуло и запретило тестирование BeOS на MAC-ах.


А нафиг оно им надо? Они денежку не только за железо берут, но и за ОС.

vladfind писал(а):
Вирт в лекции озвучил это словами: "На рынке побеждает не лучший программный продукт, а тот который лучше раскручен". Законы рынка...


Вирт сильно забдуждается. Есть масса примеров (в том числе и среди ЯП).

vladfind писал(а):
нет решений "раз и навсегда", Совершенно согласен. Микрокомпьютеры сейчас выпускаются миллиардами (модильные телефоны и др.) Какая операционная система используется в них? Уж точно не WinXX. :)


Еще нет? Ну значит уже скоро. На палмах уже вовсю... А .NET и в телефонах уже есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 23:30 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
vladfind писал(а):
Комментарии - это первая элементарная конструкция языка. Я могу вам выслать часть кода из открытого проекта компилятора "Странниик" с предложением измерить Вашу производительность при замене комментариев вида '//' на '(*...*)'.


В смысле, мою производительность? И зачем?

vladfind писал(а):
Очевидно, для многих компьютерных специалистов, что представление исходного кода программ в виде обыкновенно текста есть подход устаревший, более того, по-моему мнению, тормозящий автоматизацию программирования.


%))))))))))))))))))))))))))))))))))))
Plain text - это сила, позволяющаю автоматизировать что угодно, где угодно и как угодно. Написано в любой умной книге по этой теме.

vladfind писал(а):
До 60% ресурсов компилятор тратит на то, чтобы из текстового вида попытаться востановить семантику программы.


Это проблемы компилятора и они успешно решаются даже в С++, где объемы текста просто огромные.

vladfind писал(а):
Будут и другие конструкции:"Объявления_типа", "Переменная", "Функция", "Цикл" и т.д.


Ты очень узко мыслишь. Приведенный мой пример это не "Объявления_типа", не "Переменная", не "Функция" и не "Цикл".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 28 Декабрь, 2005 23:45 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Цитата:
Цитата:
Вирт в лекции озвучил это словами: "На рынке побеждает не лучший программный продукт, а тот который лучше раскручен". Законы рынка...


Вирт сильно забдуждается. Есть масса примеров (в том числе и среди ЯП).


Примеры-то примеры, но дело не в этом. Понятно, что побеждает на рынке не худший продукт, но часто и не лучший. Это уж как повезет.
Но есть в экономике такой закон - если это "побеждание" стало слишком крупным частым, просходит монополизация рынка, и тогда уже действительно лучшему на рынок не пробиться. Для этого и существует антимонопольная политика. Какие бы ни были хорошие операционки от Microsof - сейчас уже надо не радоваться их распространению, а по мере возможности искать альтернативы, т.к. грань монополизации давно перейдена. Это значит, что монополист уже не будет стремиться давать самое высокое качество и развивать лучшие технологии, он почиет на лаврах, препятсятвуя пробиваться другим.
А безраздельное внедрение в образование Микрософтовых продуктов - это вообще недопустимая вещь. Это придает отрасли еще большую инертность, лишает людей возможности видеть и искать альтернативные общепринятым пути. Кроме того, сейчас ПО в России становится все больше лицензионным. Я обеими руками за легальное ПО. Но мне откровенно обидно видеть, как миллионы долларов уходят в чужую экономику. Поэтому вопрос о необходимости для российской индустрии собственных ОС и платформ разработки для меня даже не стоит. Тут и обсуждать нечего. Хотя это ой как непросто осуществить...

Да что говорить? За последние годы мы разбаловались хорошим - NT5.0 (2K и XP). А вспомним, на чем Микрософт раскрутилась? В буквальном смысле на г..не: Win95-98. Вот он типичный пример, когда побеждает не самое лучшее, а то, что было эффектно раскручено (еще бы, лозунг в массы: компьютер - каждой домохозяйке!). А OS/2, которая была одной из лучших операционок того времени по надежности и быстродействию, так и зачахла. Потому что Микрософт в нужный момент просто подставила IBM, воспользовавшись отсутствием строгих договров и выйдя из проекта и унеся хорошие идеи. Но реализовать их многие годы толком не могла.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 29 Декабрь, 2005 00:00 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Цитата:
До 60% ресурсов компилятор тратит на то, чтобы из текстового вида попытаться востановить семантику программы.

Вопрос действительно актуальный, но не в таком ключе.
Промежуточное представление, сохраняющее семантику программы актуально для Just-In-Time компиляции. Известно, например, что любой JIT для Java дает быстродействие кода в 4 раза худшее, чем хороший обычный компилятор. Причина проста: JIT компилирует из низкоуровневого байт-кода для стековой машины, который в принципе невозможно оптимизировать для обычного процессора. Для оптимизации нужен доступ к среднеуровневой семантике программы.
Оригинальное решение было найдено Михаэлем Францем - компактное переносимое представление, которое на лету компилируется в быстрый машинный код:
http://www.uni-vologda.ac.ru/oberon/inf ... herfly.htm
(Собственно, когда говорят, что Java содрана с Оберона, кроме всего прочего имеют в виду эту диссертацию, которая была защищена за год или около того до появления Java и которую Sun официально запрашивала у Франца, вместе с лицензией на Oberon-OS Вирта. Правда, саму идею JIT реализовать не решилась - сделали древний байт-код).

Ну и в противовес Java Франц развивал свой Juice. Да вот тоже попал впросак с аристократическим подходом :-) Нет бы что-нибудь побыстрей да попроще - лишь бы работало. Плевать, что "Java"-байт код был изобретен и активно применялся для портирования компиляторов еще с 70-х годов (впервые - для Паскаля Виртом, кстати) - скажем, что мы первые, скажем, что до Java никто не умел делать переносимые языки, что java решит все проблемы - "купи одну таблетку - и пройдут все болезни"... :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 29 Декабрь, 2005 00:08 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Вот, кстати, что это все я да я тут выступаю. Слово Вирту:
Интервью "О культуре разработки ПО"
http://www.osp.ru/os/1998/01/41.htm
Вот цитата "для затравки", как раз об "аристократизме":
"Достаточно хорошее ПО" редко бывает действительно достаточно хорошим - это грустное проявление духа нынешнего времени, в котором исчезает личная гордость за свою работу. Сама мысль о том, что человек может испытывать удовлетворение от хорошо выполненной работы - просто потому, что эта работа творческая и профессиональная, признана абсурдной. Не ценится ничего, кроме экономического успеха и его денежного выражения. Отсюда можно сделать вывод: наша профессия сделалась просто тривиальной работой. Но по моему убеждению, нельзя ожидать качественно выполненной работы, если не отдавать ей себя полностью, если нет личного удовлетворения, более того - удовольствия от нее. В нашей профессии точность и совершенство - это не роскошь, а простая необходимость."


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 29 Декабрь, 2005 06:28 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1026
Я вот чего не понял. Почему сразу решили что исходный код должен быть текстовым? Вполне возможно представление Франца в виде отличном от текста. Мышлению этот не помешает, надеюсь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 29 Декабрь, 2005 08:04 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Понятно, что побеждает на рынке не худший продукт, но часто и не лучший. Это уж как повезет.


Никакое положение оберонов нельзя объяснить только лишь "невезением". Разве что мировым заговором ;) Мое отношение к такой трактовке я уже высказывал - крутить в консерватории надо (или просто не ставить целью выйти на рынок, а оставаться где есть - в университетах).

Илья Ермаков писал(а):
Какие бы ни были хорошие операционки от Microsof - сейчас уже надо не радоваться их распространению, а по мере возможности искать альтернативы, т.к. грань монополизации давно перейдена.


А смысл? Пока меня все устраивает.

Илья Ермаков писал(а):
Но мне откровенно обидно видеть, как миллионы долларов уходят в чужую экономику.


Ну мне тоже обидно. Только я не склонен винить в этом M$.

Илья Ермаков писал(а):
Да что говорить? За последние годы мы разбаловались хорошим - NT5.0 (2K и XP). А вспомним, на чем Микрософт раскрутилась? В буквальном смысле на г..не: Win95-98. Вот он типичный пример, когда побеждает не самое лучшее, а то, что было эффектно раскручено (еще бы, лозунг в массы: компьютер - каждой домохозяйке!).


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

Илья Ермаков писал(а):
К сожалению, аристократический подход - сделать свой продукт лучшим образом, чтобы самому чувствовать удовлетворение, обычно оказывается в проигрыше против напористой полухалтуры.


Определи, что значит "лучший". Если ты не сможешь найти пользователя, c которым у вас будут сходное понимание "лучшести" (или, хотя бы, не взаимоисключающие), то тем хуже для тебя - придется зарабатывать на хлеб с маслом чем-то другим, а аристократизм оставить для хобби.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 2 Vlad
СообщениеДобавлено: Четверг, 29 Декабрь, 2005 14:16 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2934
Откуда: г. Ярославль
Цитата:
Определи, что значит "лучший". Если ты не сможешь найти пользователя, c которым у вас будут сходное понимание "лучшести" (или, хотя бы, не взаимоисключающие), то тем хуже для тебя - придется зарабатывать на хлеб с маслом чем-то другим, а аристократизм оставить для хобби.


Есть такое понятие - "впарить" :)
Сумеешь "впарить" софт - и хлеб с маслом будет. Не сумеешь - гуляй!
Главное - это убедить юзера, что он берёт "лучшее". Неважно, что во многих местах ты развесил "фонари" и через пару месяцев обязательно возникнут проблемы. На то и нужны сервис-паки, чтоб дыры затыкать :)

А искать "сходное понимание" - это как раз аристократизм. Рынок циничен, господа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 29 Декабрь, 2005 21:21 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Vlad писал(а):
Илья Ермаков писал(а):
Понятно, что побеждает на рынке не худший продукт, но часто и не лучший. Это уж как повезет.

Никакое положение оберонов нельзя объяснить только лишь "невезением". Разве что мировым заговором. Мое отношение к такой трактовке я уже высказывал - крутить в консерватории надо (или просто не ставить целью выйти на рынок, а оставаться где есть - в университетах).


Я не только и не столько про Оберон выше говорил. Оберон для меня - частность, инструмент. Важно отношение людей к своей работе и к тем, с кем и для кого они работают. Про это и были предыдущие посты...

А насчет университетов - скажи-ка мне, а где бы сейчас была наша с тобой индустрия, если бы все разработки университетов оставались в них, вместо того, чтобы внедряться, пусть и в адаптированном виде, в практику? А уж Оберон изменялся - извини меня... И продолжает меняться. ПОтому и КомПаскаль появился, уже 10 лет как. Оставим сравнение с разлюбезным твоим С++. Дельфи - среда очень популярная и активно применяющаяся в течение долгого времени в России. Если сравнивать языки, то КП ни в одном отношении не уступает ObjectPascal, а превосходит его. Если сравнивать среды, то Дельфи превосходит лишь количеством наработанных компонент. И не потому, что Дельфи плоха, а потому что ББ более современный по своим концепциям. Гораздо более. На пять лет или около того. Если убедишь всех в том, что КП и ББ хуже Дельфы - тогда будешь говорить, что ему место в университетах.
Аналогичное предлагаю проделать для Java. Кроме отсутствия { } вряд ли найдешь, к чему придраться :-)

Цитата:
Ну мне тоже обидно. Только я не склонен винить в этом M$.

А я склонен? Напомни, где я предъявлял подобный иск бедной компании с очень маленьким именем?

Цитата:
Определи, что значит "лучший". Если ты не сможешь найти пользователя, c которым у вас будут сходное понимание "лучшести"

В части ПО для секретарш я вряд ли найду с ними общий язык :-)
А в остальном - пока что находил как-то :-)
Умный пользователь, которому нужно ПО для работы, а не штучка сам понимает, что такое хорошо, а что такое плохо. Его не заманишь ни тулбарами с кнопками, ни чем другим. Вот пример: в массовом ПО обязателен пиктограмный интерфейс. Модная штучка. У нас все заказчики отбрыкиывались, как могли: уберите картинки, дайте обычную текстовую кнопку. Потому как понимали: к концу рабочего дня так в глазах рябить начнет, что из десяти кнопок с похожими картинками нужную найти будет никак невозможно :-)

Есть еще такой фактор (он приводится в многих книгах по интерфейсу): самая удачная программа не сразу покажется самой удобной (я говорю здесь о профессиональном ПО). Она расчитана не на то, чторбы потакать субъективным привычкам пользователя, а на то, что предоставить объективно выверенный самый быстрый и легкий способ. После недели адаптации пользователь (оператор банка, например) сможет с ней работать не глядя. А с другой, которая имеет "интуитивный" интерфейс, он никогда не сможет работать быстро, она просто для этого не приспособлена.
Еще одно золотое правило: никогда не надо предоставлять в инструменте несколько равноценных способов сделать одно и то же. Большую часть времени человек будет думать, каким путем пойти. Например: варианты переключения языка в Windows. Сделали бы один вариант, любой - не было бы путаницы, когда садишься за чужую машину...
Все, что я сказал об интерфейсе, касается и многих других аспектов ПО, и ЯП в особенности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 30 Декабрь, 2005 02:50 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Известно, например, что любой JIT для Java дает быстродействие кода в 4 раза худшее, чем хороший обычный компилятор.


Ну конечно. Расскажи это жабистам ;) Все нормально там с быстродействием, лично тестил в свое время.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 30 Декабрь, 2005 03:32 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Я не только и не столько про Оберон выше говорил.


Тогда я не понял к чему зашла речь про рынок и "несправедливость".

Илья Ермаков писал(а):
А насчет университетов


Я как-то умалял роль университетов а развитии IT?


Илья Ермаков писал(а):
Если убедишь всех в том, что КП и ББ хуже Дельфы - тогда будешь говорить, что ему место в университетах.


Ну и как из ББ зафигачить текст в ворд и распечатать его? А из чистого и непорочного оберона?

Илья Ермаков писал(а):
А я склонен? Напомни, где я предъявлял подобный иск бедной компании с очень маленьким именем?


Ну мне так показалось. Ибо упоминается она тобой по делу и без дела в сугубо негативном свете.

Илья Ермаков писал(а):
В части ПО для секретарш я вряд ли найду с ними общий язык :-)
А в остальном - пока что находил как-то :-)


Поздравляю. А ПО для секретарш кто будет писать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 30 Декабрь, 2005 04:06 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Цитата:
Ну и как из ББ зафигачить текст в ворд и распечатать его? А из чистого и непорочного оберона?


Элементарно, Ватсон! Для этого существуют, в порядке возрастания крутизны: а) буфер обмена б) OLE-автоматизация. Интерфейсы к Офису все есть в подсистеме Ctl. Не понял, какое это отношение имеет к сравнению с Дельфой. Там, насколько я знаю, более радикальных способов тоже нет.

А на чистом и непорочном Обероне, признаюсь, не работал. Сразу на ББ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 30 Декабрь, 2005 04:14 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Интерфейсы к Офису все есть в подсистеме Ctl.


Какие именно интерфейсы? Vtable или Disp?

Илья Ермаков писал(а):
Не понял, какое это отношение имеет к сравнению с Дельфой.


Там есть compiler-magic при работе с IDispatch.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 30 Декабрь, 2005 13:52 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
Цитата:
Какие именно интерфейсы? Vtable или Disp?

Сам еще не пользовался.
Работают через Disp. Для пользователя - обычные объекты ББ, типа:
Browser = POINTER TO RECORD (CtlT.Object)
(this: Browser) Application (): _Application, NEW;
(this: Browser) Creator (): INTEGER, NEW;
(this: Browser) Next, NEW;
(this: Browser) PUTTarget (p1: WdBrowseTarget), NEW;
(this: Browser) Parent (): CtlT.Object, NEW;
(this: Browser) Previous, NEW;
(this: Browser) Target (): WdBrowseTarget, NEW
END

Ну и прописано перенаправление на IDisp :
PROCEDURE (this: _ParagraphFormat) Space1* (), NEW;
BEGIN
CtlC.CallMethod(this, 313, NIL);
END Space1;

В отношении IDispatch, как я понял, никакой Compiler Magic нет.
Но все шлюзы к MS Office поставляются со средой:
CtlAccess8
CtlAccess9
CtlADODB
CtlDAO35
CtlDAO36
CtlExcel5
CtlExcel8
CtlExcel9
CtlGraph8
CtlGraph9
CtlMSForms
CtlOffice
CtlOfficeBinder
CtlOutlook8
CtlOutlook9
CtlPowerPoint8
CtlPowerPoint9
CtlVBIDE
CtlWord8
CtlWord9.
(Вот, кстати, классический пример уродливого решения - двойная объектная модель. Преимущества COM в один миг свелись на нет короткой фразой от Microsoft: "We strongly recommend to implement for your applications double versions of COM Interfaces: custom version and Automation (IDispatch), or a t least only Automation". После этого любой уважающий общепризнанные стандарты программист должен был писать к своим приложениям уродливые IDispatch, и COM-программирование превратилось в пытку... Причину Microsoft назвала единственную: без IDispatch с COM не будет работать Visual Basic :-) И в течении десяти лет заставляла программистов заниматься извратом, вместо того чтобы довести до ума собственный язык. Хотя в конце концов все равно пришлось делать VB .NET)

В отношении IDispactch Compiler Magic, как я понял, нет. Но вообще-то для работы с COM в целом этот Magic есть. Это так называемый Direct-To-COM компилятор, задействуется подключением псевдомодуля COM. Вообще говоря, как я понял, среда BlackBox позиционировалась хитро: для оберонщиков - как промышленная Windows-версия Оберонов, в которой в числе прочего есть хорошая поддержка COM. А в других случаях рекламировался именно DTCOM - как мощное средство COM-разработки, с поддержкой, например, сборки мусора и структурного дампа для COM-объектов, и как дополение шла среда BlackBox, позволяющая быстро создавать GUI-приложения. Под таким соусом BB получил в конце 90-х на выствке CeBIT первое место за технологическое совершенство.

The Direct-To-COM (DTC) compiler is a Component Pascal compiler that supports Microsoft's Component Object Model (COM) binary interface standard. In DTC Component Pascal, COM objects are declared and implemented in a superset of the Component Pascal language. They can be used from any other language, and COM objects implemented in any language can be used from Component Pascal.

In Component Pascal, COM interfaces are mapped to special Component Pascal records. Interface pointers are pointers to such records. The virtual function table is the method table of the Component Pascal type descriptor. It is hidden from the programmer. A COM interface can be defined in the following way:

ILookup* = POINTER TO ABSTRACT RECORD
["{C4910D71-BA7D-11CD-94E8-08001701A8A3}"] (COM.IUnknown) END;

PROCEDURE (this: ILookup) LookupByName*(
name: WinApi.PtrWSTR; OUT number: WinApi.PtrWSTR): COM.RESULT, NEW, ABSTRACT;

PROCEDURE (this: ILookup) LookupByNumber*(
number: WinApi.PtrWSTR; OUT name: WinApi.PtrWSTR): COM.RESULT, NEW, ABSTRACT;

Interface definitions can be derived from one another using Component Pascal subtyping. The above interface is a subtype of the interface COM.IUnknown. The interface identifier (IID) is specified in the declaration of the interface. The interface is declared to be abstract and cannot be instantiated. Concrete implementations of interface objects are extensions of interface records. In contrast to the interface records which are referenced through (reference-counted) interface pointers, the implementation records are referenced through regular Component Pascal pointers.

The COM standard uses reference counting as its memory management strategy. Reference counting errors, however, are the most difficult and dangerous errors when programming to the OLE interfaces. The "Safer OLE" technology of the DTC compiler adds automatic memory management to COM objects. In contrast to C and C++, programmers using the DTC Component Pascal compiler do not need to worry about reference counting. The compiler automatically generates calls of an object's AddRef and Release methods where necessary, and the compiler also automatically implements the AddRef and Release methods for interfaces implemented in Component Pascal. When a COM object is no longer used, it is automatically removed from memory. Components written in DTC Component Pascal become more reliable and maintainable.
In Component Pascal, the above example looks as follows:

VAR
factory: IFactory;
animal1, animal2: IAnimal;
hr: COM.RESULT;

BEGIN
hr := GetFactory(COM.ID(IFactory), factory);
IF hr >= 0 THEN
hr := factory.CreateInstance(NIL, COM.ID(animal1), animal1);
IF hr >= 0 THEN
animal2 := animal1;
animal2.Sleep();
hr := factory.CreateInstance(NIL, COM.ID(animal1), animal1);
IF hr >= 0 THEN
animal1.Eat()
END
END
END
END

Calls to the reference counting methods are generated for assignments to interface pointer variables. The garbage collector recognizes COM interface implementations and does not remove such objects with a reference count greater than zero. If the garbage collector finds a COM interface object with reference count zero, then all interface pointers stored in this object are released before the object is collected. The same holds for local variables if the scope is left and for global variables that are stored in a component to be unloaded. This automatic garbage collection mechanism just generates code that would have to be written manually in any case. Thus it does not require any extra run time and is fully compatible with other components, created with other tools.


The DTC compiler is integrated in the development environment BlackBox. The debugger allows to inspect components and objects on a symbolic level. In order to browse through dynamic memory, you use hyper­text links to follow pointers.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 30 Декабрь, 2005 13:58 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9165
Откуда: Россия, Орёл
GUEST писал(а):
Я вот чего не понял. Почему сразу решили что исходный код должен быть текстовым? Вполне возможно представление Франца в виде отличном от текста. Мышлению этот не помешает, надеюсь.


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


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

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


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

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


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

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