LINUX.ORG.RU

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

 , , gutknecht,


2

5

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

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

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

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



Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 1)

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

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

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

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

имена классов понимать — 1000 слов выучить. Для взрослого человека никакая не задача

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

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

Раз тащат — значит нужно.

Куда тащат?
В какие современные языки притащили goto?
Я таких не знаю, может просветишь?

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

окружающий мир устроен не так как вам кажется правильно,

Очередной «сам выдумал чужие мысли и сам борюсь с ними»

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

За 2 года у меня fluent English, достаточно было посмотреть с сотню мультиков (дня 3 на 1, в неделю редко больше 1-2) и пару-тройку новеллок прочитать. Если бы ещё иероглифы так же просто было учить... Что ни говорите, а английский популярен из-за своей примитивности (особенно американский), и вряд ли он куда денется. Ещё бы китайский надо подтянуть (самый популярный язык всё-таки, и мне нравятся их форумы).

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

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

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

А ты сам смотрел исходники?

          if ((*cmp) ((void *) hi, (void *) mid, arg) < 0)
            SWAP (mid, hi, size);
          else
            goto jump_over;
          if ((*cmp) ((void *) mid, (void *) lo, arg) < 0)
            SWAP (mid, lo, size);
jump_over:;

Вот объясни, ты же умный, нахрена тут goto? Оно так нужно или это фобия вложенных if-ов?
Причём это единственное место где goto есть в qsort.
И ничем кроме желания избавиться от вложенного if-а не обусловлено.

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

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

А про ненужность я ещё вроде не говорил, хотя и действительно отношусь к данным средствам скорее негативно. Но в ассемблере и низкоуровщине(longjmp) без них не обойтись. Иногда надо для быстрой копипасты/трансляции не тривиального, но хорошо работающего легаси. Или необходимость быстрохака в говнокоде. Но это всё крайние меры.

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

Вот только не всем интересен данный раздел хентая

Так этот довод ко всему применим. Например, к goto.

Гото есть полезный программисткий аналог важнейшего элемента человеческой логики - посылания на. А поскольку паскаль задумывался как максимльно похожий на человеческую логику язык, то данный оператор там нужен. Попытки заменить часть человеческой логики оопэшной встроенной программой, которая умеет всё, а погроммисту нужно лишь приказать замесить и нарубить (см. ман «Вовка в тридевятом царстве») в случае оберона пока не привели к популярности. Учёные пытались, но народ их потуги не оценил.

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

Плыви куда хочешь — без денег

А все так и делают. Сложность задачи, как правило, позволяет.

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

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

Нифига. Goto необязательна, и если нужна, то либо когда каша в голове, либо когда в языке break и continue ущербны.

Бреак и есть заменитель гото, только ущербный. Если ты не пишешь ничего сложного без плана, то это не значит что и другим это не нужно.

Правильно задавать вопрос не «почему оберон не взлетел», а «почему взлетел паскаль». Это логичнее, если из группы языков, включающих обероны и модулы популярностью пользуется только один, надо смотреть чем он отличается. И тут мы приходим к выводу, что виноваты преподы и ленивые студенты.

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

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

Говноязык это ваш си. Уточнили, бомбите дальше.

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

Раз тащат — значит нужно.

Куда тащат? В какие современные языки притащили goto? Я таких не знаю, может просветишь?

Знаешь. C/C++

В тех же плюсах это тащат только из-за совместимости с кучей легаси говна.

Ты откуда знаешь? Страуструп где-то прямо это озвучил, а я пропустил? Или это ты сам придумал?

В сишечке же «так повелось» и она как была раздутым макроассемблером, так по сути им и осталась. C11 от ANSI C отличается не сильно.

И как эта информация опровергает мое заявление, что если в си притащили goto значит оно там нужно? Авторы так решили.

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

неее ты не понел...
ЖЫДЫ встроили ИВrИТ прямо в процессоры интел и амд!!121111
ВСЁ ИДЕТ НА ИВrИТЕ!!11111

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

Раз тащат — значит нужно.

Куда тащат? В какие современные языки притащили goto? Я таких не знаю, может просветишь?

Знаешь. C/C++

В тех же плюсах это тащат только из-за совместимости с кучей легаси говна.

Ты откуда знаешь? Страуструп где-то прямо это озвучил, а я пропустил? Или это ты сам придумал?

В сишечке же «так повелось» и она как была раздутым макроассемблером, так по сути им и осталась. C11 от ANSI C отличается не сильно.

И как эта информация опровергает мое заявление, что если в си притащили goto значит оно там нужно? Авторы так решили.

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

Очередной «сам выдумал чужие мысли и сам борюсь с ними»

А вот и нет.

Ты: Это наследие ассемблера вообще не нужно

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

Ты: Очередной «сам выдумал чужие мысли и сам борюсь с ними»

Просто ты не уловил, видимо

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

Вот объясни, ты же умный, нахрена тут goto?

Я могу: это как раз классический случай кошерного применения goto. Подсказака: если нужно проверять не два условия, а десять? Десять вложенных условий будет? Или переменная флаг?

Оно так нужно или это фобия вложенных if-ов?

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

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

Ты приравнял меня к инвалиду,

неправда. Ты сказал что лично ты выживаешь без goto, break, continue => они не нужны. Это логическая ошибка, чтоб это проиллюстрировать я написал что тот факт что кто-то обходится без ног не означает что ноги не нужны. И инвалидов я не сравнивал.

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

это голословно и вообще смешно. Авторы ядра линукс — «обезьянкам неспособным формализовать свой алгоритм»?

Раз уж зашел, задам вопрос. Ладно ты без goto обходишься, это я еще могу понять, а как без break/continue?

#define STR_LEN 10000
char long_str[STR_LEN] = "bla-bla-bla ..."; // и так 10000 байт

int32_t find_first_percent_char(void) {
  uint32_t i;
  for (i=0; i<STR_LEN; i++) {
    if (long_str[i] == '%') {
      break;
    }
  }
  return i;
}

как ты тут без break?

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

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

Да он везде нужен, кто ж спорит.

Я просто парировал довод «не всем интересен данный раздел хентая» тем что так про что угодно сказать можно

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

аххаха уж не знаю с чего так у тебя бомбануло аж на 5 постов. но по факту я паскал видел - в учебном заведении преподавался он мне в прошлом году. на основании этого краткого курса могу официально заявить следущее: никаких интересных идей (типа как в haskell) я в нём не увидел, ощущение такое что это C с урезанным функционалом (к примеру for () в паскале имеет полпроцента от функционала for () в C) + неудачный громоздкий синтаксис (begin/end и т.д.) + куча ненужных ограничений. к тому же сам автор - некий профессор вирт - вроде где то писал что язык создал для обучения своих студентов. поэтому я и предположил что скорее всего некая там OS о которой шла речь где то сверху из того же разряда. о том что язык блювотный и для изучения лучше использовать C спорить не вижу смысла тем более уже писал где то. вобщем моё мнение - полная ненужность этот паскал. личное мнение подтверждается тем фактом что он почти нигде не используется (да, щас фанатики могут назвать полторы программы написанные на паскале такими же фанатиками).

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

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

А ты сам смотрел исходники?

Я еще с 90-х помню, что библиотечные реализации qsort на С используют goto, и это связано с эффективностью. Честно говоря, в современный код не заглядывал и попал пальцем в небо.

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

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

/me на всякий случай решил перепроверить имена классов на своём гитхабчике, а то мало ли что...

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

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

В фортунки!

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

То же и с браузерами и вообще с любой задачей для которой не достаточно десятка энтузиастов

Значит, на повестке дня стоит задача самоорганизации коллективов с количеством энтузиастов > 10. Задача сложная, но кто сказал, что неразрешимая?

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

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

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

моё мнение - полная ненужность этот паскал

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

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

никаких интересных идей (типа как в haskell) я в нём не увидел, ощущение такое что это C с урезанным функционалом

Да неужели? Где в неурезанном C локальные функции, например?

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

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

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

А меня не дворник «бомбанул», а твое самомнение. Ты открыто позиционируешь себя как уберменша. Вот, я решил с тобой побеседовать. Дать тебе раскрыться.

подрабатываешь что ли

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

если человек не смог осилить английский ему не место в программировании - это факт.

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

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

ну тут полет мысли просто поражает. У меня вот отец — радиоинженер. Умеет паять радиолампы, ставить занки препинания, и много всякого еще. А я вот помню как он в коровнике (это где коровы стоят, говно производят) лампочки вкручивал. Получается, либо мне причудилось, либо в твоей теореме «если хоть что-то умеет не будет говно убирать за копейки» есть неточности.

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

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

Ты не наблюдал — следовательно этого нет? Это логическая ошибка. Думаю, что ты и атом не наблюдал и спутники Урана. А они есть. Подумай и над этим.

Значит, ты видел и старушек-дворников? Они тоже люди второго сторта по сравнению с тобой? (подсказка, английского они не знают)

// подсказка номер два — английского и ты не знаешь (ибо, у тебя и с русским могло бы быть и получше)

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

Значит, на повестке дня стоит задача самоорганизации коллективов с количеством энтузиастов > 10. Задача сложная, но кто сказал, что неразрешимая?

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

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

ну и в догонку:

на основании этого краткого курса могу официально заявить следущее: никаких интересных идей (типа как в haskell) я в нём не увидел

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

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

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

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

эта модульность абсолютно не нужна. это полумера какая то. делай тогда уж класс. а если просто не хочешь захламлять global namespace в C можешь сделать ф-цию локальной для translation unit (static в файле). разница между ф-цией видимой внутри единственной ф-ции и ф-цией видимой внутри ф-ций одного файла невелика если ты конечно не скидываешь мегабайты кода в один файл а ф-ция может пригодиться в будущем в соседней ф-ции того же файла.

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

С 90-х прошло времени дохрена, а уж в рамках IT 20+ лет это очень много.

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

модульность абсолютно не нужна

сразу видно что не программист...

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

Авторы ядра линукс — «обезьянкам неспособным формализовать свой алгоритм»?

Даже не буду комментировать твою интерпретацию моих слов.

как ты тут без break?

PROCEDURE FindPercent (): INTEGER;
  VAR i: INTEGER;
BEGIN i := 0;
  WHILE (i < len) & (str[i] # "%") DO INC(i) END;
  RETURN i
END FindPercent;
DeaDDooMER
()
Ответ на: комментарий от iluha16

эта модульность абсолютно не нужна. это полумера какая то. делай тогда уж класс.

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

а если просто не хочешь захламлять global namespace в C можешь сделать ф-цию локальной для translation unit (static в файле). разница между ф-цией видимой внутри единственной ф-ции и ф-цией видимой внутри ф-ций одного файла невелика если ты конечно не скидываешь мегабайты кода в один файл а ф-ция может пригодиться в будущем в соседней ф-ции того же файла.

Гадость какая. Мало того что костыль, так нельзя выстраивать иерарфию видимости функций и типов данных. Кроме того, модули по быстрому собираются одним компилятором, а внешние либы собраны хз чем, как и где в течении многих лет. Пересобрать же здесь и сейчас либы прошлого века бывает муторно и не всегда возможно. Разделяемые либы постепенно превращаются в блобы, которые лучше не трогать.

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

Вот путаю их. Ну не родные языки, что поделаешь.

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

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

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

Всё ястно. C/C++: языки для практического применения. А Pascal etc.: языки для «выстраивания иерархии видимости функций и типов данных».

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

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

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

Ты что-то кроме лабок в универе-то писал, воен диванной роты технофашистского фронта?
Ничего, если попытаешься найти работу, поймёшь, почему во всех языках новее древней C/C++-параши модульность есть.

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

почему во всех языках новее древней C/C++-параши модульность есть

написал теоретик технопаскального фронта в браузере написанном на C/C++ работающем из под OS написанной на C

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

Диды писали и нам велели, да-да. Первокурочка стесняется показать свой реальной код?
P.S. Кроме паскакаля и говносей есть другие языки.

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

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

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