LINUX.ORG.RU

Лекция Юрга Гуткнехта «Проект Оберон: 30 лет» в Москве

 , , ,


2

5

24 октября в Университете Дмитрия Пожарского пройдёт лекция швейцарского профессора Юрга Гуткнехта, соавтора языков Pascal и Oberon, коллеги легендарного Никлауса Вирта.

В программе — совместная лекция и дискуссия «Проект Оберон: 30 лет» Лекторы: Президент Швейцарского общества информатики, профессор ETH Zurich, д-р Юрг Гуткнехт и Ведущий научный сотрудник отдела теоретической физики ИЯИ РАН, координатор проекта «Информатика-21», д.ф.-м.н. Фёдор Васильевич Ткачёв.

17:30, ЦЭМИ РАН (Нахимовский проспект, 47), аудитория 520. Регистрация и пропуск не требуется.

>>> Подробности

Ответ на: комментарий от iluha16

Сынок, на Modula-2 у нас с 80-х годов пишут софт для аэрокосмической отрасли, например. А на Pascal-based Ada американские военные делают тоже самое.

LongLiveUbuntu ★★★★★ ()
Ответ на: комментарий от iluha16

В умелых руках и х** балалайка, а плохому танцору известно что мешает.

anonymous ()
Ответ на: комментарий от LongLiveUbuntu

откуда ты знаешь что делают военные, у них же всё засекречено

iluha16 ()
Ответ на: комментарий от LongLiveUbuntu

Сказки.

Modula-2 так и не стал популярным и давно забыт. Сейчас на нём писать нельзя из-за отсутствия средств программирования. А также нет ни малейшего смысла, если бы они и были. Когда Modula-2 ещё поменялся (в прошлом веке) у него была проблема - стандартная библиотека очень скудная, и авторам компилятора надо было дополнять её большим количеством своих функций, чтобы он был практически применим. Но попытки применения были кратковременными

Ada был навязан программистам так называемым «министерством обороны» США (в действительности это министерство агрессии) в качестве отраслевого стандарта, но тоже давно нет сведений о практическом применении. Ada - хороший пример плохого языка. Техническое задание на него дал комитет чиновников, которые напихали в него всё, что показалось им хорошим. Кстати, разработчики языка схитрили - синтаксис Ada был больше похож на Modula-2, но в техническом задании было сказано, что он должен быть на основе Pascal. Авторам однако удалось убедить идиотов чиновников, что задание выполнено.

Но тогда идеи объектно-ориентированного программирования были ещё мало известны, и чиновники не вспомнили о них, давая техническое задание. Программистам, разработавшим Ada, они были известны, но при выдаче технического задания их не спросили. Уже потом появился объекто-ориентированный вариант Ada, но он тпк и не стал распространённым . Впрочем, пользуются ли ещё Ada в США для военных целей - мне неизвестно, но для невоенных не пользуются.

Nodula-2, Ada, Oberon-ы представляют чисто исторический интерес. Pascal в форме Object Pascal в Delphi и Lazarus имеет ограниченное применение и не обладает никакими преимуществами перед современными популярными языками.

Partisan ★★ ()
Ответ на: комментарий от Partisan

Когда Modula-2 ещё поменялся (в прошлом веке) у него была проблема - стандартная библиотека очень скудная, и авторам компилятора надо было дополнять её большим количеством своих функций, чтобы он был практически применим.

Разумеется это чушь. На нем писалось ПО для управления оборудованием, какие еще стандартные библиотеки?

Кстати, разработчики языка схитрили - синтаксис Ada был больше похож на Modula-2, но в техническом задании было сказано, что он должен быть на основе Pascal.

Дабл фэйспалм!

anonymous ()
Ответ на: комментарий от Partisan

как то примерно так я и думал. все эти сказочники которые начинали с паскаля и не смогли / не захотели осилить C++ найдут что сказать типа всё ваше ПО говно а вот наши то паскальные языки используются военными космонавтами где всё должно быть надёжно и вообще вы все дураки и ничего не понимаете. я конечно понимаю что первый язык который осилил более менее хотя бы чуть выше уровня учебных программок самый удобный. но зачем врать то про сверхсекретные супер технологии о которых эти сказочники ничего знать не могут. к слову NCP и TCP/IP были военной разработкой секретной по началу. смотрел видео где разработчик из BSD рассказывал как pentagon задавал вопросы им типа как будет вести себя сеть если на чикаго кто то сбросит атомную бомбу и они резали провода что бы смоделировать ситуацию. реализации писались на C под UNIX'ы а не на ваших мифических супер продвинутых супер надёжных супер секретных паскальных языках.

iluha16 ()
Ответ на: комментарий от iluha16

ненависть к паскалю зарождается намного раньше уже от одного вида тупой преподши его «преподающей» по методичке.

достаточно выдать училкам методички по си и плюсам и илюши начнут боготворить паскали

anonymous ()
Ответ на: комментарий от anonymous

по C самая лучшая методичка K&R. посредник между данной методичкой в виде препода вообще не требуется. кто не способен осилить адресную арифметику в C за 2 недели тому не место в индустрии, таким образом отсеиваем в первые 2 недели (c) какой то профессор из MIT

iluha16 ()
Ответ на: комментарий от iluha16

Будем честны, выражение «профессор из MIT» подразумевает бекграудн программирования года 2-4 минимум. Вроде как паскаль мне давали в школе (правда, в 10), а примеры на нем я делал классе в 8. До профессоров было далеко.

Но кстати, тот маразм, что в универе нам давали на базе этого многострадального паскаля, (а так же Си, к занятиям по которому нам рекомендовали Подбельского), отвращает от программирования независимо от языка. Кто знал до универе языки - у них все пошло хорошо. А кто не знал - так и не узнали.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

за джва дня осилил методичку K&R безо всякого бекграунда. вопрос: нужны ли в индустрии те «кто не знал - так и не узнали». вот полкурса блистают тупизной в программировании и в математике полные нули, матан списывают, алгео сдают в сентябре, по дискретной внимание взывали к религиозным чуствам препода и христианской доброте!, дифуры наверное вообще никогда не сдадут. вот куда их готовят, на 1C в бухгалтерии штаны протирать или растёт пополнение в ряды JS быдлокодеров, хотя нет веб не осилят наверное - там стандарты обновляются чуть ли не каждый день а каждый раз препода им нанимать никто не будет сами то они прочитать без препода не смогут.

iluha16 ()
Ответ на: комментарий от iluha16

Ты в ПТУ что-ли обучение проходишь?

anonymous ()

opennet, «В Москве состоится лекция Юрга Гуткнехта „Проект Оберон: 30 лет“

Аноним (13):

„Проект Оберон: 30 лет

... со дня смерти. Причины, последствия, выводы.“ В программе мероприятия, лекции: - Почему Паскаль оказался популярнее своих продолжателей? - Как 10 лет не замечать Смолтолк. Пособие юных велосипедистов. - В чём секрет долгожительства Лиспа и Пролога? Мы тоже не знаем. - Утомлённые Юниксом. Зачем писать ещё одну мёртвую ОС?

iluha16 ()
Ответ на: комментарий от anonymous

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

iluha16 ()
Ответ на: комментарий от iluha16

Зачем сюда тащить безграмотную чушь?

anonymous ()
Ответ на: комментарий от anonymous

а что безграмотного? я думаю у windows xp больше пользователей чем у сабжа.

iluha16 ()
Ответ на: комментарий от iluha16

это какой то высер в сторону Qt?

В линуксах кути сами кого хошь обосрут, только не обновись вовремя.

я даже не знаю честно говоря как на паскалях пишут гуй. просвети.

Есть древний псевдографический гуй, писать на нём сложно из-за большого количества копипасты - для поддержания древних проектов норм. Есть ещё несколько тулкитов для мобилок, их перетащили и на другие платформы. Фич у них меньше чем у гтк, потому что мобилкописателям столько и не нужно. Для них есть специализированные среды разработки, которые делают бинарник меньший чем лазарус. И наконец, можно писать на лазарусе: пишешь код один раз, а собирается он под каждую платформу с её родным тулкитом. Не нужно тащить линуксовые тулкиты в винду и наоборот.

гуй писать который собирает ввод в формах и выводит результат вычислений дело плёвое на чём угодно.

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

Napilnik ★★★★★ ()
Ответ на: комментарий от iluha16

Не искал, потому что не имел потребности. Среднестатистический сервер, это такая какашка, которая должна уметь запустить виртуалку с нормальным ПО или какой-нибудь перл или жабу. Если понадобится нестандартный, то можно написать поверх сишных либ.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

ты не умеешь собирать ПО под linux, не хочешь ничего знать за пределами своего лазаруса. недавно собрал qt3 и ПО которое написано под него успешно.

iluha16 ()
Ответ на: комментарий от Napilnik

о чём я и говорил. стоит выйти за пределы рисования гуя и простеньких вычислений твой паскаль ничего не может без сишных либ которые тянут на себе всю систему, зависимости и версии и которые обновляют постоянно потому что они реально используются и грамотное использование которых паскалисты не способны осилить а как следствие просто поливают их гамном сидя в своём уютном лазурусе. виртуалка с нормальным ПО это с каким? ты говорил нормальное ПО на C так и не удалось написать, поэтому будь добр перечислить нормальное паскальное ПО которое будет в этой виртуалке использоваться. перл и жаба явно не подходят под твоё же определение - написаны на C.

iluha16 ()
Ответ на: комментарий от iluha16

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

Смешались в кучу кони, люди^W^W языки, их реализации, бинарные библиотеки, их исходники...

И что самое страшное, похоже всё это тут пишется абсолютно серьезно, бррр.

bormant ★★★★★ ()
Ответ на: комментарий от bormant

не я первый начал. человек писал выше что C говно потому что ему не нравится как ломаются зависимости при обновлении версий. такое ощущение что разговор пошёл по второму кругу. ежу понятно что C тут не при чём а паскаль конечно не обновляется и зависимости не ломаются в нём, сиди клепай гуй в лазарусе. а как что так сразу сишные библиотеки обсираемые приходится юзать и виртуалки с сишным софтом. щас он за это ещё и носки предложит понюхать.

iluha16 ()
Ответ на: комментарий от iluha16

Я возможно пропустил, но может он писал про одни версии, а вы прочитали про другие?

unit SomeShit;

interface
// ...

implementation
// ...

initialization
// ...

finalization
// ...

end.
До тех пор, пока содержимое раздела interface не меняется, модуль продолжает оставаться совместимым с использующим его кодом (собственно для того оно и задумывалось и контролируется).

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

bormant ★★★★★ ()
Ответ на: комментарий от bormant

как это может контролироваться компилятором если этим занимается линкер?

получается headerов в паскале нет? тогда как компилятор может узнать declarations функций в библиотеке если имеется только бинарный файл? если же имеется и исходный код тогда для чего бинарная совместимость? и получается что компилятор должен будет пройтись по всему этому модулю вместо того что бы просто взять declarations из headerа? чем тогда линкер вообще занимается?

iluha16 ()
Ответ на: комментарий от iluha16

ты не умеешь собирать ПО под linux

Да почти все ментейнеры и разрабы ПО на С/С++ не умеют его собирать, иначе не нужно было столько контейнеров и флатпаки.

, не хочешь ничего знать за пределами своего лазаруса

А есть ещё какая-то няшная клепалка гуёв?

недавно собрал qt3 и ПО которое написано под него успешно.

Ну так собери на нём новый гуёвый mkvmerge!

Napilnik ★★★★★ ()
Последнее исправление: Napilnik (всего исправлений: 1)
Ответ на: комментарий от iluha16

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

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

зависимости и версии и которые обновляют постоянно потому что они реально используются

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

и грамотное использование которых паскалисты не способны осилить

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

виртуалка с нормальным ПО это с каким?

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

поэтому будь добр перечислить нормальное паскальное ПО которое будет в этой виртуалке использоваться.

Внезапно, на паскалях пишут морды для баз данных, различные обработчики данных. Иногда пишут автоматизацию. Было видео на котором самописная дельфийская прога управляла железяками на кирпичном заводике.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

А есть ещё какая-то няшная клепалка гуёв?

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

iluha16 ()
Ответ на: комментарий от Napilnik

круто конечно, управляла железяками на кирпичном заводе, куда сишникам до управления железяками.

у тебя какая то мания, теория мирового заговора сишных говноделов. много они на тебе наварили то или бесплатно собрал их ПО из репозитория? откуда ты взял это бред про тестовый полигон?

и самый главный вопрос: почему ты до сих пор сидишь в линуксе вместо того что бы переехать на операционную систему никлауса вирта с мощным паскальным ПО не являющимся тестовым полигоном говноделов?

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

камень в огород писателей веб стандартов и полупроприетарных смартфонов но никак не в огород сишников. если бы ты реально пользовался паскальными браузерами тебе бы их тоже приходилось выбрасывать и переписывать каждый год. да только вот незадача паскальных браузеров не существует ну или может существует какая поделка поддерживающая HTML 1.0 или какая там первая версия.

про впихивание не нужных фич опять мимо огорода сишников, разве же C виноват в том что на нём пишут пулсодии, вэйленды, системд и прочие прослойки делающие работу разрабов попроще. да C конечных потребителей ещё немножко спасает благодаря низкоуровневости и как следствие эффективности исполнения. и это ещё терпимо когда всё это говно пишут на C, проблемы начинаются когда в дело вступают JS макаки и прочие говнокодеры, тут то без выкидывания железа и покупки нового уже не обойтись.

iluha16 ()
Ответ на: комментарий от iluha16

как это может контролироваться компилятором если этим занимается линкер?

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

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

c++ не виноват в кривонаписанных обновлялках твоих говноигр

iluha16 ()
Ответ на: комментарий от iluha16

ты являешься специалистом исключительно по клепанию гуёв?

Морда лица, это важная часть программы, которая должна помогать пользователю а не выбешивать.

ваще никогда эта работа не казалась интересной, серверное ПО сетевые протоколы вот что интересно, веет какой то романтикой...

Какая романтика? Как сказал кто-то в интернете, энтерпрайзный программист должен научиться есть говно. Вот и тренируйся, притупляй отрицательные эмоции при употреблении того что тебе не нравится.

Napilnik ★★★★★ ()
Ответ на: комментарий от Napilnik

энтерпрайзный программист просто должен убить в себе перфекциониста

iluha16 ()
Ответ на: комментарий от Napilnik

ну да про твои уникальные разработки в области гуев в программе для выключения компьютера я уже наслышан

iluha16 ()
Ответ на: комментарий от iluha16

много они на тебе наварили то или бесплатно собрал их ПО из репозитория? откуда ты взял это бред про тестовый полигон?

Бредишь здесь исключительно ты. Попользуйся сначала линуксами больше десяти лет, до состояния когда сменам версий дистров потеряешь счёт и это копошение жучков скатывающих шары из того-этого начнёт утомлять и не казаться _твоим_ важным занятием, а потом с такими глупостями наезжай. Когда пишешь в багтрекер, а потом часами выполняешь то, что тебе там говорят сделать, то чем ты занимаешься, как не пашешь бесплатно?

и самый главный вопрос: почему ты до сих пор сидишь в линуксе вместо того что бы переехать на операционную систему никлауса вирта с мощным паскальным ПО не являющимся тестовым полигоном говноделов?

ПО на паскале хорошо абстрагируется от внешней среды. Любой операционке нужны дрова, где дрова там и пользователи.

камень в огород писателей веб стандартов и полупроприетарных смартфонов но никак не в огород сишников.

Гуёвое ПО на сях с плюсами пишут, значит камень и для них тоже. Вэбстандарты пишутся под конкретные хотелки пИсателей браузеров и вебмакак. Они захотели размазать говно, которое раньше хранилось во флеше, по всей системе и понеслось...

если бы ты реально пользовался паскальными браузерами тебе бы их тоже приходилось выбрасывать и переписывать каждый год.

Стандарты впихивают всякие гуглы, червивые груши и мелкомягкие, стало быть их браузеры эталон всего. А написаны они на чём? Как им понадобилось, так браузеры и гниют.

да только вот незадача паскальных браузеров не существует ну или может существует какая поделка поддерживающая HTML 1.0 или какая там первая версия.

Для чистого хэтемээла вроде и сейчас есть компоненты в средах разработки. Чистого интернета только почти нет, всё засрано.

про впихивание не нужных фич опять мимо огорода сишников, разве же C виноват в том что на нём пишут пулсодии, вэйленды, системд и прочие прослойки делающие работу разрабов попроще.

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

проблемы начинаются когда в дело вступают JS макаки и прочие говнокодеры, тут то без выкидывания железа и покупки нового уже не обойтись.

Это всё логично. Принудили использовать неудобный для высокоуровневого погромирования инструмент и научили корявым вещам, так получайте эволюцию какашек.

Napilnik ★★★★★ ()
Ответ на: комментарий от iluha16

ну да про твои уникальные разработки в области гуев в программе для выключения компьютера я уже наслышан

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

Napilnik ★★★★★ ()
Ответ на: комментарий от iluha16

Неверно.

Переменная а - указатель на int, b - указатель на указатель на int.

LongLiveUbuntu ★★★★★ ()
Ответ на: комментарий от LongLiveUbuntu

int* a, *b;

Переменная а - указатель на int, b - указатель на указатель на int.

Ну хоть кто-то попался на прелести синтаксиса С/С++ ;-)

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Ваши вопросы лишний раз говорят о том, что паскаль вы прошли. Прошли мимо. Тем не менее суждение на этот счет имеете ;-)
Ответы на эти вопросы, буде появится такое желание, легко найти например, на https://www.freepascal.org/docs.var. Пусть это одна из реализаций, но идея модульности на уровне языка общая для TP/Delphi/FPC.

bormant ★★★★★ ()
Ответ на: комментарий от LongLiveUbuntu

А в паскалеподобных было бы так:

не совсем. В паскалях либо явно ^тип, либо через явно именованный тип. Ну и до кучи, раз был помянут, тип указателя на функцию; получение самой точки входа в зависимости от диалекта по @func или просто по имени func.

type
  PInteger = ^Integer;
  LessFunc = function (a, b: Integer): Boolean;

procedure sort_(a: array of Integer; IsLess: LessFunc);
// ...
  if IsLess(a[i],a[i+1]) then // ...

var
  a, b: ^Integer;
  c, d: PInteger;

За синтаксис указателей на функции вообще бить нужно

А этот синтаксис там не специальный какой-то, он из-за установленного приоритета операций сам таким получился.

void sort_(int* a, int n, bool (*IsLess)(int, int)) {
// ...
  if ( (*IsLess)(a[i],a[i+1]) )
Но (*) разрешают не писать, и тогда все вроде как и нормально.

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от LongLiveUbuntu

ты не прав. обе переменных - pointer to int. иди учись.

iluha16 ()
Ответ на: комментарий от bormant

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

iluha16 ()
Ответ на: комментарий от LongLiveUbuntu

Надо было другой пример приводить:

int * a, b;
а потом, получив ожидаемое «указатель на int, int» или «int*, int», «припечатать» за узость кругозора — «int*, int*, но в C#» :-D

bormant ★★★★★ ()
Ответ на: комментарий от iluha16

Не каждому дано стать программистом, кто-то должен говнокодить, так илюха?

anonymous ()
Ответ на: комментарий от anonymous

да говнокод это единственный способ написать что то реально полезное. куда ни плюнь везде нужны некрасивые хаки что бы отследить всякие мелочи. настоящий программист должен убить в себе перфекциониста в первую очередь. услышал где то давно ещё эту фразу и с каждым разом всё больше убеждаюсь в этом. твои мифические «настоящие программисты» 30 лет ковыряют какую то хренотень никому не нужную и обсуждают между собой как красиво они всё пакуют в модули. этим можно заниматься бесконечно долго.

iluha16 ()
Ответ на: комментарий от bormant

я не знаю ничего о микрософтной поделке C#, в C и C++ int *a, b означает a: pointer to int, b: int. как ты расставил пробелы вообще ничего не значит для компилятора. не понимаю отчего у некоторых лиц батхёрт от этого.

iluha16 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.