• По следам бременских музыкантов, или «Как нам выстроить информационную защиту России» правильно
    –3
    Автор сего опуса из Германии? О, весьма показательно.

    И он тоже примеряет все 10 пунктов лично на себя и на всё население России? Неудивлён.

    Подсказка.

    Надо немного поднатужиться и начать рассуждать с другого конца.
    Со стороны чёрного списка США/ЕС.

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

    P.S. Понимаю, очень тяжёло себя пересилить. Но надо постараться.
  • Как нам выстроить информационную защиту России
    –13
    Автор, браво! Сильно, смело, в точку! И главное — ноль обсуждения, полный ступор.

    Истина, как известно, никак не зависит от числа голосов, её разделяющих.

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

    Блестящая проверка Хабра на адекват!
  • Держаться корней (к 80-летию Никлауса Вирта)
    0
    ЕС ЭВМ — большой вред для нашей страны. Сомнений у меня в этом нет. Но причастность Ершова к этому судя по представленным «доказательствам» — домыслы. Нет убедительных фактов, не надо трогать такие имена.
  • Держаться корней (к 80-летию Никлауса Вирта)
    –2
    Передергивания нет. Речь о вашем вбросе конкретно сюда.
  • Держаться корней (к 80-летию Никлауса Вирта)
    +2
    Для особо интересующихся. Подробный разбор вопроса.

    Источник: Виртуальный компьютерный музей Э.М.Пройдакова.
    Автор: Борис Николаевич Малиновский. Известный специалист в области вычислительной техники, член-корреспондент Национальной академии наук Украины, лауреат Государственной премии Украины.

    www.computer-museum.ru/books/vt_face/6_rameev_5.htm
  • Держаться корней (к 80-летию Никлауса Вирта)
    0
    Как обычно: вопрос мотивации автора и достоверности. Желание опорочить академика А.П.Ершова, в общем, просматривается легко. Но фактология жидковата.

    Логика аргументации: отчет А.П.Ершова о командировке и некий звонок М.К.Сулиму. Всё остальное (и доклад Ксении Татарченко) — исключительно для антуража.

    Характерен и сам момент вброса этого материала: юбилей Вирта, юбилей проекта «Кронос», статья одного из участников того проекта…

    Контекст вопроса представлен в книге Б.Н.Малиновского «История вычислительной техники в лицах» (1995)
    lib.ru/MEMUARY/MALINOWSKIJ/3.htm#7
  • Держаться корней (к 80-летию Никлауса Вирта)
    +8
    «Кронос» и ВНТК «Старт» — действительно малоизвестная страница нашей славной истории. Когда Советский Союз в 1980-е годы опережал Запад в своих перспективных разработках на уровне микропроцессорных архитектур, системного и инструментального программного обеспечения.

    Четыре студента из НГУ построили рабочую станцию на основе своего 32-разрядного процессора (у Вирта был 16-разрядный), создали отечественную ОС и мощный программный инструментарий, опережавший разработки швейцарского ETH Zurich и американских исследовательских центров.

    Примечательно, что в сентябре 2005 г. двое из той великолепной четвёрки — Алексей Недоря и Владимир Филиппов — подарили рабочую станцию Кронос 2.5 Политехническому музею в Москве. В экспозиции она находилась рядом со своим собратом — 16-разрядным ПК Lilith. Никлаус Вирт сделал России царский подарок — единственный музей мира имеет в своей коллекции личный компьютер великого маэстро.
  • Никлаус Вирт: 80-летие классика программирования
    0
    1. В Обероне нет множественного наследования.

    T = RECORD END;
    T1 = RECORD (T) field: AbstractType END;

    Наследование ведётся на уровне RECORD-структуры. В качестве полей можно использовать, в частности, ссылки (абстрактные типы данных из других модулей).

    2. Разделение между generic-алгоритмом и абстрактной структурой данных (ADT) может достигаться путём декомпозиции на модули: модуль (ADT), экспортирующий функции работы со скрытыми структурами, и алгоритмический модуль, импортирующий ADT-модуль.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Задавайте вопросы. Что вам конкретно непонятно в type extension?
  • Никлаус Вирт: 80-летие классика программирования
    0
    Я ведь от вас хочу совсем немного — изучить хотя бы предмет критики. На уровне чтения пункта 6.3 16-страничного описания языка.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Прочитайте про type extension. Это меньше страницы в описании Оберона.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Давайте без давайте. Чем больше будете давить на слабо, тем меньше шансов прийти к конструктиву.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Simula 67 — прямой предок C++.

    И что из этого следует? Прямым предком С++ является и C. Кстати, не самый плохой представитель американской школы.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Если вы не понимаете разницы между простотой Оберона и простотой Бейсика, это действительно очень печально. Впрочем, надо просто сделать над собой усилие и познакомиться с языком. 16 страниц для программиста хорошей квалификации — это не проблема.

    В качестве подсказки. При переходе от Паскаля (классического) к Модуле-2 Вирт добавил всего одну новую ключевую концепцию — модуль. И чисто алгоритмический язык стал применим для работы на уровне абстрактных типов данных и в коллективной разработке. Стал и языком системного программирования.

    При переходе от Модулы-2 к Оберону Вирт опять-таки добавил всего одну ключевую концепцию — type extension (расширение типа на базе RECORD-структур). Фактически это интересующий вас механизм для generic-программирования и для ООП (ООП-ассемблер). Изучите внимательно, что такое type extension, и многие вопросы для вас отпадут сами собой.
  • Никлаус Вирт: 80-летие классика программирования
    0
    А критерии очень простые, многократно описаны в работах классиков и годятся для любого языка:
    — По возможности сжатость (иначе можно писать на ассемблере).
    — По возможности понятность.
    — Возможность разделить работу между исполнителями.
    — Возможность применить написанное в новых проектах.


    Критерии большей частью субъективные. Понятность зависит от многих факторов, среди которых синтаксические одежды (культура, симпатии и антипатии) играют чуть ли не решающую роль. Например, Java или C# в одеждах синтаксиса Паскаля будет восприниматься иначе, нежели в одеждах синтаксиса Си.

    Сжатость — опять-таки спорный вопрос. Примерно такой же, как ментальная разница между code и sources. Код и исходный текст. Язык программирования высокого уровня (а речь о них) в большей степени должен ориентироваться на программиста (не кодера!), нежели на транслятор. На легкость отчуждения своего творения (однозначного восприятия другими).

    Код — это текст с креном восприятия именно компьютером.
    Исходный текст — восприятие в первую очередь человеком.

    Разделение работы между исполнителями — объективный критерий. Ему безусловно удовлетворяет виртовское понятие модуля — module (Модула-2 и Оберон).

    Применение в новых проектах — очень размытый критерий.

    Получается, что исходник вроде интересует, но именно как объект приложения весьма размытых критериев. ;)

    Чтобы всё-таки от обсуждения была какая-то польза, имеет смысл немного погрузиться в контекст. Первым делом стоит (хотя бы по диагонали) посмотреть книгу Никлауса Вирта «Algorithms and Data Structures — Oberon Version. 2004». Там весьма подробно на конкретных примерах разобраны подобные вопросы.
    www.ethoberon.ethz.ch/WirthPubl/AD.pdf
  • Никлаус Вирт: 80-летие классика программирования
    0
    Не стоит путать национальность автора (авторов) и приверженность его и его языка конкретной школе. Симула-67 отношу к европейской школе (белой и пушистой).
  • Никлаус Вирт: 80-летие классика программирования
    0
    В контексте достижений Вирта Вы затронули весьма интересную тему. Oberon System. Стоит обязательно познакомиться с этим неординарным проектом.
    www.ozon.ru/context/detail/id/8218517/
  • Никлаус Вирт: 80-летие классика программирования
    0
    Одно другого не исключает. В частности, классический Oberon — модульный расширяемый язык. Стройте свои абстракции (если язык подходит для вашего класса задач), но в рамках данного «законодательства».

    Есть устойчивый стереотип: сложные задачи можно решать только сложными инструментами. Наверное, всё же корректнее говорить — адекватными, подходящими, а не сложными. Что есть простота и сложность применительно к инструменту? Скальпель — сложный инструмент? По своей сути, по своей структуре — нет. Но при его использовании включаются в действие сопутствующие знания и навыки того, кто им оперирует. Нужна высокая квалификация. Есть простота структуры, есть простота комбинирования структур (установления связей этой структуры с другими), есть простота применения инструмента (адекватного владения им для данного класса задач). Чем проще инструмент, тем при росте сложности решаемых задач более высокие требования он предъявляет к квалификации того, кто с ним работает.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Ok. Предположим, я его представляю. Что дальше? О каких критериях идёт речь?
  • Никлаус Вирт: 80-летие классика программирования
    0
    А что конкретно вы от меня ждёте? Написания текста этой задачи на Обероне?
  • Никлаус Вирт: 80-летие классика программирования
    0
    Ну вот. Вы взялись критиковать то, что знаете очень смутно, если вообще знаете. Не стоит так подставляться.

    У меня нет цели вас в чём-то переубеждать. Если вы поймёте, что в мире есть иные взгляды на программирование, отличные от вашего, уже будет польза. ;)

    Думаю, вам стоит просто почитать описание языка Oberon. Там 16 страниц.
    oberon2005.oberoncore.ru/paper/oberon.pdf
  • Никлаус Вирт: 80-летие классика программирования
    0
    Классический Oberon.
  • Никлаус Вирт: 80-летие классика программирования
    0
    > Я считаю, что минимализм и широкая сфера несовместимы,

    Ну вот мы и нашли совместными усилиями ключевую точку расхождения. Аксиоматика у нас разная.
  • Никлаус Вирт: 80-летие классика программирования
    +2
    Я свои тезисы сформулировал вполне конкретно. Если в них что-то непонятно, уточните.

    Контекст и мотивация. К какой бы школе себя не причисляли, но вы (да и любой иной программист) смотрите на мир сквозь вполне определённую призму. И если эта призма определяется преференциями к C++, лично мне многое становится понятно.

    Для меня языки-ядра (С, Modula-2, Oberon, Lisp, Prolog, Smalltalk, Forth и др.) по мировоззрению ближе, нежели языки-сундуки (C++, Ada, Modula-3, Java, C#, Python и др.).
  • Никлаус Вирт: 80-летие классика программирования
    +2
    Раз поклонник C++, тогда ещё понятнее вектор ваших рассуждений.

    Творческие находки Бьёрна Страуструпа, вся эволюция C++ и весь процесс стандартизации языка как языка ПРОМЫШЛЕННОГО программирования очень показательны. Вирт и Страуструп — во многом антиподы.

    Дело не только синтаксисе (хотя он принципиально влияет на сам процесс мышления), дело в данном случае в разных школах: американской и европейской. Для первой важнее постоянный рост сложности и обогащение абстракциями, для второй — надёжность и поиск (математической) истины.
  • Никлаус Вирт: 80-летие классика программирования
    0
    В отношении опыта и предпочтений. Насколько понимаю, вы поклонник Python. Тогда наверняка в курсе привязанностей Гвидо ван Россума.

    Американский язык Modula-3, из которого во многом растут ноги Python, создавался в DEC Systems Research Center и принципиально отличается от европейской Modula-2. Язык-сундук против языка-чемоданчика. При этом синтаксическая основа, да и фундамент у них общий.
  • Никлаус Вирт: 80-летие классика программирования
    0
    1. Если какой-то продуманный и сбалансированный язык не подходит к вашей предметной области, то проблемы не языка, а собственно выбора.

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

    3. Надо понимать границы применимости того или иного языка, его достоинства и недостатки в контексте задачи/архитектуры/опыта программиста. Зачем забивать гвозди микроскопом или орудовать топором при операциях на сердце?
  • Никлаус Вирт: 80-летие классика программирования
    0
    1. Автор языка не должен ориентироваться на конкретного программиста, на его симпатии и антипатии. У всякого свой вкус: кто любит дыню, а кто арбуз, а кто — свиной хрящик. Автор ориентируется на определённый класс задач и на вполне определённую архитектуру.

    2. Ментальный водораздел проходит по следующей границе: (1) «только самое необходимое» (языки-чемоданчики) и (2) «удовлетворение растущих потребностей» (языки-сундуки).
  • Никлаус Вирт: 80-летие классика программирования
    +1
    Три тезиса:

    1. Абстрагирование — игнорирование «незначащих» деталей. Абстракция может помогать, а может и мешать в борьбе со сложностью в программировании. Нужны «правильные» абстракции. А вот степень правильности, адекватности применительно к конкретным задачам и инструментам определить непросто.

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

    3. Сложные системы можно и нужно создавать простыми инструментами. Но степень простоты (минимизация избыточных средств) должна быть адекватной.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Я за продуктивный диалог. А не за фехтование на уровне эмоций и мнений. Есть желание узнать и разобраться — это одно. Если всё априори ясно и надо лишь высказать своё «фе» — нечто иное.

    Начать стоит прямо с аксиоматики. Если за аксиому принимается утверждение «сложные понятия требуют сложного языка», то что-либо конструктивно обсуждать тяжело.
  • Никлаус Вирт: 80-летие классика программирования
    0
    Сия точка зрения безусловно имеет право на жизнь. Хотя весьма предвзята и обусловлена (очевидно) недостаточным опытом работы с наследием Вирта. ;)
  • Никлаус Вирт: 80-летие классика программирования
    –1
    > Как-то в статье мало рассказано про его достижения.

    Не стоит торопить события. Не всё сразу. ;) При желании про его достижения можно узнать по ссылкам на рекомендуемые материалы.

    Эта краткая заметка — повод вспомнить про Никлауса Вирта в его юбилей и высказать ему слова благодарности. Судя по комментариям наш народ весьма скуп на добрые слова.
  • Победители чемпионата мира по программированию
    0
    Подробное освещение финала чемпионата мира ACM ICPC ведется на http://www.nip-russia.ru/press.html