LINUX.ORG.RU

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

 , , ,


1

5

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

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

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

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

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

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

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

Ничего это не субъективно и ничего не надо делать, так как FreePascal не нужен.

Языки программирования заимствуют идеи из других языков, например синтаксис. У Pascal синтаксис основан на Algol-60, в свою очередь повлиял на другие языки - Object Pascal, Modula-2, Ada и др., но все они вышли из употребления или никогда не были популярны. Синтаксис Pascal-а не заимствован нынешними языками, так как их авторам обычно или синтаксис Cи кажется более наглядным, или приходится придумывать оригинальный синтаксис, соответствующий назначению языка. Поэтому никаких проблем с этим синтаксисом нет, раз он не используется.

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

Синтаксис Pascal-а не заимствован нынешними языками, так как их авторам обычно или синтаксис Cи кажется более наглядным

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

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

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

если объективно подумать то синтаксис паскаля неудобен тем что к примеру int[] выглядит нагляднее чем «array of int». это как всё равно что писать математические формулы словами вместо использования символов интегралов, суммы и т.д. синтаксис C не нравится наверное тем у кого не хватает IQ осмыслить declarations со сложными типами данных, эти люди клепают программы для выключения компьютера на паскале и гордятся собой а создать новый язык им не под силу. вот и получается что создаются языки с сишным синтаксисом сишными программистами.

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

если объективно подумать то синтаксис паскаля неудобен тем что к примеру int[] выглядит нагляднее чем «array of int».

Ну разве что для китайца...

синтаксис C не нравится наверное тем у кого не хватает IQ

Совсем даже наоборот... у кого хватает мозгов, те признают что синтаксис СИ говно… это просто легаси, а не какой-то хитрый план.

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

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

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

Modula-2 так и не стал популярным и давно забыт. Сейчас на нём писать нельзя из-за отсутствия средств программирования.

есть средства. например, ADW Modula-2 — free под оффтопик, с примерами из книжки Чарльза Петцольда (бывший StoneBrook Modula-2 был кроссплатформным)

ещё например ACK github что это? — компилятор от Эндрю Танненбаума (Си, Паскаль, Модула-2). ещё как пишет этот вот товарищ есть Mocka

ещё тот же XDS Modula-2.

пример про винду ADW Modula-2 с книжкой про программирование под выньдовз (в StoneBrook было кроссплатформенное).

показывает, что можно таки писать себе какие-то утилитки под выньдовз на модуле2 безплатно без смс. сразу из коробки.

А также нет ни малейшего смысла, если бы они и были.

про XDS например, интересно. читай диссер Недори, автора компилятора XDS двуязычного Modula-2 / Oberon-2 и проект Mythril. это фактически что-то вроде «проекта Оберон» --- самодостаточная модульная система (Mythril) или более обычный компилятор + IDE (XDS). там в принципе есть SSA представление, теоретически (если бы это было кому-нибудь нужно) возможно прикрутить тот же LLVM. на Modula-2 написан компилятор Oberon-2, на котором был Mythril — среда идеологически похожая на BlackBox Component Pascal.

вообще XDS был, ЕМНИП, частью проекта КРОНОС. студенты в Новосибе сделали компьютер, компилятор, операционную систему. юникс-совместимую, но модульную и компонентную. в компьютере уже начиная с микрокода и биоса всё было написано на Modula-2. сейчас повторили это на FPGA.

вот смыслы, по пунктам:

1. модульная среда разработки безплатно без смс.

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

см. например стандарты на библиотеки: PIM, что-то вроде STL. в последних версиях модулы-2 (есть спека на гитхабе/битбакет, там они стараются делать компилятор модулы-2 на LLVM) есть и объекты, и шаблоны и прочая тряхомудия в стиле С++ (правда, до Ады ещё не дотягивает :))

собственно, практические примеры вроде Петцольда под винду. в общем-то есть и на обероне, но на модуле как-то проще FFI и выделение памяти. при желании можно делать всё руками, в духе сишки.

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

есть множество примеров транспиляторов из исходных модульных языков (модула-2, оберон-2) в сишку, с трансляцией си компилятором. под все системы сразу.

4. проекты OS на модуле-2 есть, с десяток. КРОНОС, SPIN и прочее. модульная компонентная юникс-подобная система и подсистемы.

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

Но попытки применения были кратковременными

под Atari ST было много компиляторов на MC 68k. потому что ACK и компилятор Вирта был изначально под 68k и бесплатно доступен.

но тоже давно нет сведений о практическом применении.

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

Ada - хороший пример плохого языка.

и почему он плохой? не сложнее С++, но мощнее и с «определённым поведением» из коробки (в отличие от того же С++).

хотя — типичный Design by Commitee у семи нянек без глазу. ну что ты хотел, есть хоть один язык успешный — спроектированный комитетом? даже АЛГОЛ с W-грамматиками двухэтажными получился зело мощным (например, продолжения, замыкания и корутины) — но сложным. и Никлаус Вирт, глядя на это безобразие, стал писать свой Algol-W, затем Паскаль, Модула-2 и Оберон-2.

Nodula-2, Ada, Oberon-ы представляют чисто исторический интерес.

интересен чисто подход к проектированию модульной компонентной среды как «вещи в себе», в духе XDS, Mythril и тот же Project Oberon и BlackBox Component Pascal.

которую можно развивать инкрементально и итеративно. уже на сопрограммах можно сделать какую-то многопоточность, кроссплатформное и кроссистемное базовое ядро-модуль, в духе PIM или STL написать библиотеку шаблонов и алгоритмов, нечто в духе того же BlackBox Component Framework. затем экспериментируют например с акторами, «активными объектами» в духе BlueBottle A2 или протоколами активных объектов (проект Zonnon).

Zonnon, как компонентное и сборочное программирование, на мой взгляд имеет прямой смысл — взять, например DSL и генерировать протокол компонент-сборок в духе Zonnon из такого DSL. например, unikernel MirageOS на Ocaml — там драйвера сетевой карты, протокол TCP/IP генерируются из текстового DSL в духе RFC. драйвера в Ocaml это композабельные функторы времени компиляции в многостадийном метапрограммировании.

в принципе, нечто в духе такого можно сделать и на Zonnon/Oberon/Modula-2/Ada.

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

под ардуину и STM например есть компилятор Оберона-2, и даже IDE c чтением по I2C. и в этом бесконечно больше смысла чем в няшной сишечке или скретчах.

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

А на Pascal-based Ada американские военные делают тоже самое.

«когда нам нужен программист — нам не нужен программист. мы просто садим толкового сержанта, и он понятным английским языком пишет программы» (с) история узбека не помню откуда

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

реализации писались на C под UNIX'ы а не на ваших мифических супер продвинутых супер надёжных супер секретных паскальных языках.

реализации Unix-like OS kernel писались на чём попало ^W угодно — на AT&T «С с классами», Alef/K&R ^W K&Pike Plan9 kencc/Limbo Inferno (сейчас например Jeanne Plan9 опять на gcc пишут), ну и вот на паскаль-языках тоже было их порядочно.

не показатель. слепили из того что было.

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

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

это да. вот сабжевая книжка про проект оберон на FPGA как-то практичнее зашла. сразу становится понятно как раскрутить эту «вещь в себе» из ч0рного ящика.

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

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

бедные дети! а теормех, сопромат, УМФ и МСС с ТФКП и функанам для них вообще наверно страшные ругательства. даже тензоры умножать не умеют, ну и как им жить дальше безграмотными, без интегралов по траекториям? ужос то какой!!@#$%$

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

вот что с людями ЕГЭ делает. так скоро и читать-то разучатся, только тесты тыкать.

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

Как 10 лет не замечать Смолтолк. Пособие юных велосипедистов. -

гы, а вот один велосипедист открыл для себя заново :doesNotUnderstand селектор и реализовал его на блекбоксе, и многозадачность акторную сопрограммами. а до того — в Mythril.

гибкость в том, что на такой вот модульной среде, палками и верёвками в общем-то можно изобразить ту же самую динамическую диспетчеризацию в духе смоллтока (или ObjC с протоколами и категориями).

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

В чём секрет долгожительства Лиспа и Пролога? Мы тоже не знаем

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

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

атари какие то. почему нельзя сделать софт под широкоиспользуемые процессоры/системы на паскальных языках если они так хороши? не знаю на чём там писали UNIX ядра но те которые реально использовались хороши известно были переписаны на C с языка ассемблера.

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

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

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

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

совет девяти неизвестных одобряэ уличное колдунство говнолинуксов, systemd и с++ . особенно с++.

а когда-то настоящие мужыки были мужыками и сами писали себе свой компилятор, компонентную среду и текстовый редактор, и Lola код на FPGA.

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

и на блекбоксах пишут

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

кулстори — читается как захватывающее приключение (успел в своё время скачать PDF с картинками АРМа по ссылке, ещё до утра магов и выпиливания из гуглодоксов)

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

почему нельзя сделать софт под широкоиспользуемые процессоры/системы на паскальных языках если они так хороши?

ну вот например, под ZX-Spectrum, DOS (J2ME уже есть, и потенциально, Андроид):

Dark Woods

код один и тот же. на обероне. это — кроссплатформность и кроссистемность.

в соседнем топике — думу DooMают. а axolotl уже есть (воксели)

тысячи их

anonymous ()
Ответ на: и на блекбоксах пишут от anonymous

Слово кулстори не существует, но и по сути это не кулстори, а чушьстори.

Реально программирование для микроконтроллеров ARM чаще всего ведётся на C/C++. Из других языков высокого уровня применяется Python (чаще всего MicroPython), но не Delphi.

Убедиться можно например поискав проекты с STM32 или книги о нём (STM32 - наиболее распространённая марка процессоров ARM в микроконтроллерах). Найдётся много чего, только не про Delphi. Вообще можно применить и другие языки. Из новых нашёл примеры применения Go и Rust.Но это пока скорее эксперимент.

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

Реально программирование для микроконтроллеров ARM чаще всего ведётся на C/C++.

кулстори, бро.

это нереально, ога.

секретные техномагические технологии. союз девяти неизвестных ашоки не одобряэ.

купить девборду нереально же.

а книжки — иж же читать надобно. в понемэ и пониксах.

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

//гуглокапча показывает велосипеды. к чему бы это?

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

Тот же Пушкин писал практически современным русским языком, а это когда было.

а вот Ломоносов и старик Державин куда более тяжеловесенъ. вообще тексты 15-16 веков читаются зело ёмко.

включить настройки и перезагрузить ДЕ - интерфейс почти весь сразу улучшится. С именами классов так сделать нельзя.

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

опять же, Zonnon. Зуев делал компилятор С++ с не AST, а семантическим деревом, где подобные такому вот парсеру-линзе надстройки просто было бы сотворить. опять же, они же вроде бы С++ с русскими ключевыми словами сделали.

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

под ZX-Spectrum

The ZX Spectrum (UK: /zɛd ɛks ˈspɛktrəm/) is an 8-bit personal home computer released in the United Kingdom in 1982 by Sinclair Research.

можешь не продолжать. я понял, ты напился пива сидишь и стебёшься.

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

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

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

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

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

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

вот, на крамоле про полуустав. опять же

что-то в этом есть. по крайней мере, полуустав стопудово не похожъ на скоропись, скорее — на попытку рисовать иероглифами (вязью) рисованую же историю.

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

однако же, не согласен с тем автором по вопросу что свиток удобнее книги. вот сейчас веб-страница — по сути свиток. одномерная такая простыня. вместо индексированной многомерной книги, типа CYOA например книги-игры Дмитрия Браславского

типа «сад расходящихся тропок» , «хазарский словарь», «игра в бисер».

которые можно в любом порядке собрать.

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

за джва дня осилил методичку K&R безо всякого бекграунда

Лучше бы какой нибудь «modern c» или «cи 21го века».
Кстати, с точки зрения современного проектирования ЯП — сишка ужас еще тот. Чего только стоят костыли^W «макросы».

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

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

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

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

Вижу, кто-то слаще морковки ничего не едал.
Сonditional compilation совсем необязательно == макросы, да еще и сишные (т.е «макросы» в кавычка, как дань традиции).
Внезапно, ага.

Например:

#[cfg(target_os = "linux")] 
или
var
  MyFilesize:
  {$ifdef Win32} 
    Cardinal 
  {$else}
    int64
  {$endif}
или
when sizeof(int) == 2:
  echo "running on a 16 bit system!"
elif sizeof(int) == 4:
  echo "running on a 32 bit system!"
elif sizeof(int) == 8:
  echo "running on a 64 bit system!"
else:
  echo "cannot happen!"

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

Я ж говорю — слаще морковки не едали, но ценное мнение аж зашкаливает.

безмозглые макаки типа программисты кайфовали от красоты кода и абстракций.

Направление ЯП-разработки занимается не только сферическими красотами ЯП (хотя это тоже нужное дело, потому что только макаки и могут считать, что смогут далеко уехать без теории) но и техниками оптимизации.
В том числе и современных - той же сишки. Загляни под капот gcc или шланга и удивись — трансляция в промежуточный язык, техники абстрактного интерпретирования и прочее и прочее.
Иначе развернуть не сильно тривиальный цикл в компайлтайме или выдать на современном уровне предупреждения о возможных факапах получится не очень. Сомневающиеся могут попробовать запустить какой-нить борланд или даже gcc первых версий и посмотреть на выхлоп.

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

Код проверки защиты от роботов не совпадает (incorrect-captcha-sol)

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

и чем же интересно {$ifdef Win32} лучше чем #ifdef Win32

И правда, чем может быть встроенная в ЯП конструкция лучше прик0стыленной сверху отдельной сущности, которая не умеет ни в область видимости, ни в неперекрывание переменных, ни в типизацию, но зато умеет в целую кучу граблей?

ЗЫ: А вообще, слишком скучные и однообразные вбросы, чтобы я терпел результат крив0рукого

Код проверки защиты от роботов не совпадает (incorrect-captcha-sol)

непотребства и тренировал гуглосеть.

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

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

неюниквэйно в компилятор пихать функции препроцессора.

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

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

однако же, не согласен с тем автором по вопросу что свиток удобнее книги.

Просто автор рассматривает только низкотехнологические способы производства книг. Типа в каком-то сарайчике взять и сделать при помощи примитивного инструментария. Но ведь и другой инструментарий на нашей территории был. Питерские альтернативщики копают версию, что прямо в Питере жили гиганты, а потом взяли и свалили, после чего «комитет по зачистке» выломал и зашпаклевал слишком высокотехнологичные детали из ништяков. Тогда получается, что алфавит со множеством лишних букв и многословность, есть «подсунутое» благо: лишние сущности не ограничивают развитие, дают возможность выбора пути, а когда развитие состоится, тогда и нужно удалить лишнее в текущей парадигме. Паскаль развивался по этому пути, а С/С++, это попытка переизобрести китайскую иероглифическую письменность в программировании: смотрите, у нас почти для каждой хрени есть отдельный значёк, и только малый их набор на клаве не даёт нам использовать их 3-4 тысячи и вообще обойтись без букв. Если бы Си изобрели в Китае или Корее, без оглядки на другие народы, это было бы нечто. К счастью или к сожалению, они копируют поведение всяких муравейников и термитников, а те без тормошения и без таких изобретательств счастливы.

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