• Clarion. Процесс миграции Clarion приложения на Microsoft SQL 2019
    0

    Насколько помню, достаточно было программировать "по документации".

    Часто просто использовали Btrieve.

    Но это уже CDD 3.X

  • Clarion. Процесс миграции Clarion приложения на Microsoft SQL 2019
    0

    Да.

    И Clarion всегда, по крайней мере, начиная с Clarion 2.X for DOS умел ( и работал) "по сети".

  • Андрей Терехов: от Фортрана до Питона
    +1
    Репост ( с любезного разрешения автора) начала обсуждения статьи в T-m «чате» по Ada:

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

    В связи с сложностью формального описания язык Алгол 68 в Америке популярности не получил.
    В СССР вышла книга «Неформальное введение в язык программирования АЛГОЛ68», в которой, по сути, была описана грамматика языка после подстановки набора МЕТА-лексем в МЕТА-правила и, главное, была описана реальная семантика конкретного варианта языка Алгол68. Благодаря этой книге, Алгол68 в СССР был довольно популярен.

    Вирт создавал язык ПАСКАЛЬ как язык обучения студентов программированию, как регулярной дисциплине. Формальное описание языка получилось очень компактным и понятным. Можно сказать — просто гениальным! Этот язык был скорее развитием языка АЛГОЛ60.

    Из-за навязчивых вопросов и предложений (в основном бывших студентов), Вирт, буквально через два года, создал для системного программирования язык MODULA. Вот его можно назвать неким развитием АЛГОЛ68. Его описание было также компактным, простым и понятным. Для описания синтаксиса Вирт применил синтаксические диаграммы.

    Язык МОДУЛА ( В.В.М.: Modula, 1975г.) описан в книге Янга «Алгоритмические языки реального времени».
    В СССР язык Modula-2 был довольно популярным.
  • Сколько инструкций процессора использует компилятор?
    0
    Было бы интересно сравнить подходы с:

    «A Superscalar Out-of-Order x86 Soft Processor for FPGA» Henry Wong, Ph.D. Thesis, University of Toronto, 2017

    We have shown in this thesis the design of an out-of-order soft processor
    that achieves double the singlethreaded (wall-clock) performance of
    a performance-tuned Nios II/f (2.2x on SPECint2000) at a cost of 6.5 times the area of
    the same processor. This area is about 1.5% of the largest Altera (Stratix 10) FPGA.

    We presented a methodology for simulating and verifying the microarchitecture of
    our processor, which we used to design a microarchitecture that is sufficiently complete and correct
    to boot most unmodified 32-bit x86 operating systems. We showed that the FPGA substrate differences
    from custom CMOS do affect processor microarchitecture design choices, such as our use of a physical
    register file organization, low-associativity caches and TLBs, and a relatively large TLB. The
    resulting microarchitecture did not require major microarchitectural compromises to fit an FPGA
    substrate, and remains a fairly conventional design. As a result, the per-clock performance of our
    microarchitecture compares favourably to commercial x86 processors of similar design. Our two-issue
    design has slightly higher perclock performance than the three-issue out-of-order Pentium Pro (1995)
    and slightly less than the newer two-issue out-of-order Atom Silvermont (2013).

  • C++ быстрее и безопаснее Rust, Yandex сделала замеры
    0
    (
    Windows 10 — так и вообще каждые два года обновляется
    Каждые полгода…

    Заодно уж, «языки семейства ALGOL» включают в себя и Си. ( Да, да: из песни слова не выкинешь).
    Т.к. Си точно не разновидность Fortran, COBOL или Lisp, то остаётся только один вариант ( и не только поэтому).

    Естественно, от такого родственника все отрекаются. Даже создатели BCPL; из него забыли взять ELSIF, кстати.
    )

    закрывающая фигурная скобка выглядит красивее, чем слово end
    Угадайте ( ради интереса), что было ( опционально) в Паскале для БЭСМ вместо begin end.

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

    Двуязычные системы не редкость, например:
    XDS Modula-2/Oberon-2

    Modula-3, фактически, тоже: там Си и собственно M3.
    И раз уж у нас вечер загадок, то каково соотношения кода на этих двух языках в утилите ( уже намекал на этот занятный факт) m3sleep?
    Кстати, подсказка: задача интересная и в чисто математическом плане.

    P.S. Я, кстати, не могу со 100% уверенностью сказать, что моя теория верна. В «социальных науках» эксперименты ставить сложно.
    Но факты (весьма и весьма и весьма немаленькую популярность потомков ALGOL ( В.В.М.: скорее, Pascal) в 1980е и резкое падение оной в 1990е) — моя теория объясняет.
    Так что если у вас есть другая, альтернативная, она их должна объяснять тоже.


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

    Показательно, что на Эльбрус-2 были чуть ли не все языки программирования. Кроме, Си. Подозреваю, его наличие заказчик ( и исполнители) просто не считал необходимым…

    P.P.S. TopSpeed я недавно где-то видел «на просторах всемирной паутины».
  • C++ быстрее и безопаснее Rust, Yandex сделала замеры
    0
    Но регулярные (то есть неоднократные) переходы с потерей всей базы накопленного кода (Modula-2, Modula-3, Oberon и так далее)… добром не кончились.

    На C++ можно было использовать старые, проверенные, библиотеки… и новые возможности. ALGOL-векта, увы, такой возможности не давала: либо новые языки и новые фичи… либо старые библиотеки.


    Перечисление «через запятую» создаёт некий мираж, поэтому привожу генеалогическое дерево:

    Паскаль --} Модула-2 --} Оберон --} Оберон-2 --} Component Pascal
                    |             
                    +--} Модула-3
    


    Давайте ограничимся «вектором развития» Pascal to Modula-2 to Modula-3.
    Впрочем, есть и конвертер Pascal to CP. А так же, p2ada.

    В комплекте DECWRL Modula-2 шёл конвертер с Berkeley Pascal.
    Существует и m2tom3.

    (
    Про Modula-3 и проверенные библиотеки: 1) SWIG 2) m3sleep, как образец
    )

    Можно ещё вспомнить про семейство компиляторов TopSpeed.

    Т.е. множество фактов противоречат теории.
  • Программный код в автомобиле
    0
    Вот все сегодня кричат сейчас о дефектах в технике вследствие софта, кричат, что софт — (VVM: терминология изменена) низкокачественный, но почему-то забывают, что отказы электроники или механики никуда не ушли. Схемы выходят из строя, (...), Берешиты всякие о Луну разбиваются


    Мы говорим о Beresheet, где «всё программное обеспечение было написано» «на языке С»?

    Хотя в первой найденной ссылке говорили, что «из-за проблем с трансмиссией»,
    уже на второй на фотографиях была «палитра эмоций, когда стало известно, что что-то пошло не так».

    «За полтора часа до Дня космонавтики» Израиль стал не 4-той страной «в мире, осуществившей посадку космического аппарата на поверхность естественного спутника Земли»,
    а 7-мой на орбите и даже просто «стал одной из шести стран, которые каким-либо образом (включая аварийную посадку) посадили космический корабль на Луну».

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

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

    )

    Далее планируется «метод отладки»:
    Израиль планирует снова вернуться на Луну в течение следующих 2,5 лет.

    Предыдущая попытка космической экспедиции страны провалилась из-за аварийной посадки в апреле 2019, сообщает Daily Mail.

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

    «Теперь создатели аппарата заявили, что отправят Beresheet 2.0 на Луну в течение 2,5 лет», — отмечается в сообщении.

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

    «Мы очень гордимся и довольны миссией Beresheet, она была первой из многих. Это сделало нас седьмой страной на орбите Луны, четвертой в попытке приземлиться», — сказал в ходе выступления на 70-м Международном астронавтическом конгрессе Эхуд Хаюн, инженер по космическим системам в израильской аэрокосмической промышленности.
  • История с продолжением: собственный компилятор Паскаля для Windows с чистого листа
    0
    Если разрешить на уровне языка определение процедур с произвольным количеством формальных параметров ( да ещё и с произвольными типами аргументов ). В этом случае вся статика летит к чертям.
    Зачем же с абсолютно произвольными?

    Objective Modula-2
    Calling a Variadic Procedure
    Index arguments and value terminating arguments are never supplied in the actual parameter
    list of a variadic procedure call. The compiler automatically determines and
    inserts these arguments into the procedure’s activation record.
    (* calling procedure Variadic from Listing 14 *)
    Variadic( (* counter omitted *) foo1, bar2, foo2, bar2 );
    (* calling procedure Variadic from Listing 15 *)
    Variadic( foo1, bar1, foo2, bar2 (* -1 omitted *) );
    
    Listing 16: variadic procedure calls omit index and value terminating arguments


    Variadic Procedures with Counter Terminated Variadic Parameter Lists
    The number of variadic parameters of a counter terminated variadic parameter list is
    automatically passed as a hidden parameter immediately before the variadic list.
    PROCEDURE Variadic(v : VARIADIC OF (p1 : Bar; p2 : Baz));
    BEGIN
      (* iterate over all variadic tuples by index *)
      FOR n OF CARDINAL := 0 to HIGH(v) DO
        DoSomethingWithBar(v[n].p1);
        DoSomethingWithBaz(v[n].p2);
      END; (* FOR *)
    END Variadic;
    
    Listing 14: procedure with a counter terminated variadic parameter list

    Variadic Procedures with Value Terminated Variadic Parameter Lists
    A value terminated variadic parameter list is terminated by a given constant value.
    PROCEDURE Variadic(v : VARIADIC [-1] OF (p1 : INT; p2 : Baz));
    BEGIN (* v points to first variadic tuple *)
      WHILE v # NIL DO (* while there are tuples *)
        DoSomethingWithINT(v^.p1);
        DoSomethingWithBaz(v^.p2);
       v := NEXTV(v); (* next variadic tuple *)
      END; (* WHILE *)
    END Variadic;
    
    Listing 15: procedure with a value terminated variadic parameter list


    В Modula-2 R10 ( в варианте M2Sharp) чуть менее наглядно:

    ( newVector и PrintList — разные функции; не стал исправлять, привёл 1 к 1, как в первоисточнике )
    Variadic Parameters

    The extended dialect supports the ARGLIST attribute in formal types and formal parameters. Parameters marked with the ARGLIST attribute may be passed a variable number of arguments.

    PROCEDURE newVector ( values : ARGLIST OF REAL ) : Vector;
    
    VAR v1, v2, v3 : Vector;
    
    v1 := newVector(1.2, 3.4); (* two arguments *)
    v2 := newVector(1.2, 3.4, 5.6); (* three arguments *)
    v3 := newVector(1.2, 3.4, 5.6, 7.8); (* four arguments *)


    Within the procedure or function, the argument count may be obtained using built-in function COUNT and the arguments are addressable using array subscript notation.
    
    PROCEDURE PrintList ( values : ARGLIST OF REAL );
    VAR index : CARDINAL;
    BEGIN
      FOR index := 0 TO COUNT(values)-1 DO
        WriteReal(values[index]);
        WriteLn
      END
    END PrintList;
    
  • История с продолжением: собственный компилятор Паскаля для Windows с чистого листа
    0
    Мы говорим о Qiuck Basic и наследниках, где уже «всё как у людей» — IF / While, строки без нумерации?

    P.S. В январе Вы критиковали один из Basic-ов:
    где из переходов только GOSUB/GOTO и из циклов только FOR — то это может быть слишком оторвано от современности.
    И чё? На нём же не проект писать, а чисто с алгоритмами экспериментировать.
    Для чего-то более серьёзного — переходить на более актуальные языки.
  • История с продолжением: собственный компилятор Паскаля для Windows с чистого листа
    +2
    возможность объявлять переменную там, где она нужна и тогда, когда она нужна в PASCAL-подобных языках

    Пожалуйста:
    В Modula-3 ( ...).Однако, локальная область определения переменной цикла в данном случае вполне соответствует «духу» языка (поскольку возможны прочие локальные области в виде вложенных блоков «VAR… BEGIN… END» для поддержки «горячего определения переменных в коде», в т.ч. с возможностью вывода типа, но оставаясь в рамках «структуризации по-Паскалевски»).


    Практика использования вышеупомянутого в Modula-3:

    caltech-parser\cit_util\src\SIsuffix.m3
      FOR i := FIRST(List) TO LAST(List) DO
        VAR
          x : BOOLEAN;
        BEGIN
          x := tbl.put(List[i].char, List[i]);
          <* ASSERT NOT x *>
        END
      END
    


    m3-libs\bitvector\test\src\TestBitVector.m3
        FOR i := 0 TO Max - 1 BY 7 DO
          FOR j := 1 TO 6 DO
            VAR set := bv2.set(i+j); BEGIN <* ASSERT NOT set *> END
          END
        END;


    Аналогично — в ADA
  • Инженерный подход к разработке ПО
    0
    В реально массовом софте


    Решим задачу в стиле отдела кадров Google:
    на первом месте 4 миллиарда Android OS, поделим на 3, пусть на 5 или 16, получим примерно долю Windows с включённым Hyper-V ( см. "device guard"). И не забудем прибавить мощности Azure.


    Т.о. пример верифицированного массового ПО найден.


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


    Не затруднит чуть подробнее? URL или менее общую терминологию ( для поиска ) ?


    после верификации программисты добавят массу ошибок реализации


    При генерации из создаваемых программистом в RAD среде Clarion "связке" .app + .dct файлов исходного кода ничто не мешает генерировать и пред- и постусловия, инварианты циклов и т.п.


    ( Т.е. большой объём кода, если он более менее типичный — не препятствие )


    Вы, видимо, просто не видели эти формочки в социальных сетях


    Скажем так: если и видел, то не оценил в чём их сложность: в количестве полей? в нестандартных элементах?


    ( Если последнее, то у C. есть и конкуренты: например, французская разработка. )


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

  • Инженерный подход к разработке ПО
    0

    Есть "пример успеха": Hyper-V был формально верифирован для Microsoft.


    Как это вписывается в вашу "картину мира"?


    ( А "сотни формочек" генерировались в Clarion из схемы БД ( .dct ) ещё в 90х.


    И если сейчас это стало трудоёмкой задачей, то где прогресс средств разработки? )

  • Не очередной язык программирования. Часть 1: Логика предметной области
    0
    (
    как будто ВСЁ ЕЩЁ 80ЫЕ?

    Что-то мне показалось неуловимо знакомым...
    На заре советской эпохи (1918-1921)

    20 нояб. 2014 г. — … и терпеть, но Завтра мы построим Новый Мир, справедливый и честный, а Старый Мир — уничтожим и отринем его прах с наших ног".
    )
    Предыстрия ( с др.сайта):
    За капс в коде меня сразу уволят — на полном серьезе и без шуток. Это пишу для тех, кто не работает в частных компаниях (работающих в основном на мейнстримовых языках) — те кто работает, и так знают, как к этому отнесутся коллеги, вынужденные читать Ваш код. Большой баг на продакшене простят — все ошибаются. Но за капс кранты сразу. Даже в тех компаниях, где не принят официальный гайд про стиль кода, это подразумевается. Т.е. даже если кто-то в крупных фирмах захочет использовать КП или Оберон — его за один капс выкинут — даже слушать вряд ли будут. Ну и месяц как минимум коллеги поприкалываются. В таких компаниях на многих языках пишут — но капс сразу будет всех выбешивать.


    Q:
    Например, сравните вот это:

    for key, value in somedict.items():
        if key.lower() in good_keys:
           return value


    … с…. Исключительно с позиции читаемости.


    A:
    FOR Key, Value IN SomeDict.Items()
      IF Key.Lower() IN Good_keys
         RETURN Value
      .
    .
    


    ( на всякий: это достаточно условный язык)

    И теперь встречный вопрос:
    Всё же, хотелось бы услышать, что будет происходить в фирме,
    чьи работники привыкли существовать в «режиме без капса»,
    которой «досталась» кодовая база проекта на языке с ALLCAPS-ом ключевых слов?

    Пусть это будет Clarion: реалистичный бизнес сценарий и интересный технологический момент с .app/.dct
  • OSDay 19 или почему еще жив язык Си
    0
    Насчет Паскаля — перейдя с него на Си я очень порадовался, что вместо begin/end появились брекеты
    А переходя с Clarion (1986)-- огорчились бы:
    If x = 5
      y = z * 3
    .


    В Modula-2 (1979), ADA ( стандарт и первый сертифицированный компилятор — 1983) и Oberon «детская болезнь» Алгола-60 решена на уровне синтаксиса языка.

    В экосистеме Си — внесли в Misra C указание для носителей «естественного интеллекта».
  • OSDay 19 или почему еще жив язык Си
    0
    … простой оторваный цикл они ( сборщики мусора) соберут. А вот как бы удаленный объект, забывший отписаться от событий — уже нет...
    GC прав: «объект, который забыли отписать от событий» — его удалять просто небезопасно…
  • OSDay 19 или почему еще жив язык Си
    +1
    О) компилятор Оберона … Там (такое) творится
    Если мы возьмём Active Oberon ( см. «доклад про Оберон технологии» ) «за основу», то всё будет выглядеть, как правило, «диаметрально противоположно». Другие языки семейства — не менее полезны и «результативны».

    A) Т.к. несколько причастен к «постам и вопросам», приведу сокращённый ответ ( хотя бы, как повод к поиску первоисточника):

    Язык Ада безусловно обсуждался в рамках данной дискуссии и в рамках обсуждения языка Оберон.… на вопрос об Ада…


    Дмитрий Дагаев, «отвечая на посты и вопросы»:

    1. В части функциональной безопасности (...)
    (...) есть компилятор Ады GNAT, но только один ( остальные … ): GNU Ada New York Translator.
    Поэтому использовать его даже для категорий B и C мы не можем. Росатом (...) покупает по конкурсу у трех независимых поставщиков. А тут один (...)
    Более того, даже для категорий B и С продукт должен создаваться в рамках аналогичного жизненного цикла со всеми нашими требованиями к документированию, верификации, валидации и пр.
    (...)
    2. В части категории A, Ада не соответствует требованиям по причине избыточности.
  • Наука логики в программировании
    0
    ( И с чего бы советские люди это всё не любили? См. далее )
    Это было сильно связано с политической обстановкой того времени.
    С какой конкретно политической обстановкой?
    C той самой, при которой один из отцов-основателей кибернетики решал проблемы точности наведения ракет. Говорил: «Не можете попасть в город? Поставьте боеголовку способную выжечь 15км».
    За гонимыми «генетикой» и... был другой смысл, который мы привыкли сейчас в них вкладывать.
    Какой смысл?
    «Генетику» обожали использовать в своих целях печально известные радикальные политики 1933-1945Q1.
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    ( н-да, ReactOs никого не оставляет равнодушным...)
    В среде TP работал с 1991, года три. Но, как видите, не забыл.
    Вы — да. Ваши одноклассники?
    Однокурсники Ж-) В школах был, обычно, Basic на БK-0010

    Использовали курс информатики в рамках курса информатики
    Код специальности 22.04, как бы, подразумевает…
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    обучаются тому, что благополучно забудут после школы как ночной кошмар (в том числе как зайти в дебаг
    Не извольте волноваться — не забудут
    Забудут.
    Исключительно в качестве контрпримера:
    В среде TP работал с 1991, года три. Но, как видите, не забыл.

    Насколько помню, в Turbo/Free Pascal вполне себе доступно ООП. Но его не используют во время обучения.
    Да, появилось в TP, примерно, к этому же году.
    ООП было темой 1 ( или 2-ой) курсовой работы.
    ( Т.е. минимум один раз «использовали в учебном процессе»? Не так ли?)

    Microsoft... мы берем и лишаем её конкуренции
    Конкурент MS — ReactOS ( «free Windows»). Допустим, что «на сегодня» — потенциальный.

    Но вернёмся к средствам разработки:
    имеет... кроссплатформенную реализацию, в отличие от Delphi-FPC
    Отличие в списке платформ?
    Да.
    Скорее, «нет»:
    image

    Если мал список собственно Pascal, то возьмём ещё и списки наследников ( Modula-3, ADA и т.д.)
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    Тут ведь как в анекдоте: «посмотрите на это с другой стороны»
    Получается, что Linux вызывает в 18 раз больше вопросов чем Windows.
    А *BSD вообще не видно на графике. К iOS и Android падение интереса?

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

    А по доле продукции MS — всё ещё проще: у MS есть свой форум(?) взаимопомощи.
    «Все там» и это ещё если не учитываем support от MS ( его услуги входят в цену продуктов от Microsoft ).
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    Может сложиться впечатление, что Unix наследник Linux ;-)
    А ведь всё строго наоборот. MacOS — кузен Linux, наверное.

    Так что, юниксообразие и у многочисленных дистрибутивов Линукса — наблюдается.
    ( смайлики — везде где читатель может начать переживать Ж-)
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    В том, что должна сообщить читателю цифра 0.5/100 ;-)
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    картинка со Стековерфлоу, на которой...

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

    Репрезентативная выборка. Выборка конечного объёма, обладающая всеми свойствами исходной популяции, значимыми с точки зрения задач исследования.

  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    MacOS, в принципе, «основана далеко не на Linux»:

    «Darwin — система с гибридным ядром XNU, созданном на основе микроядра Mach и стандартными сервисами BSD (от NetBSD, кстати)[4]. Кода BSD и Mach там поровну[5].»

    «Apple MacOS X — новая ОСь развитая из NeXTstep + MacOS, работающая на ядре Darwin (система с гибридным ядром XNU: созданном на основе микроядра Mach и сервисами FreeBSD)
  • Делфийская история успеха программиста из Улан-Удэ
    0
    Существует с десяток авто-переводчиков, большей частью справляются автоматом.
    Можно примеры?

    SWIG (Simplified Wrapper and Interface Generator).
    Начиная с v1.3.22 — Modula-3, с UPDATE 2017:
    Modified by FMXExpress ( see on GitHub ) version of
    SWIG 3.0.11 for Delphi and Object Pascal
  • Делфийская история успеха программиста из Улан-Удэ
    0
    Под статьёй о Delphi, в котором операторные скобки занимают от трёх до пяти символов каждая
    Это весьма известная история ( и ей тут самое место):
    За выживший в «эволюционной борьбе» begin можете сказать спасибо вполне конкретному ( с какого-то момента) бизнесмену. Почти дословно: «И зачем нам Borland Modula-2, когда и то что есть продаётся?»
    В Modula-2, ADA и Oberon «пятибуквенных скобок» меньше.

    Кстати, в Clarion со «скобочками» ( и, заодно, с "=") ещё более лаконично:
    If x = 5
      y = z * 3
    .
  • Новые языки программирования незаметно убивают нашу связь с реальностью
    0
    Clarion тот еще подарок был. И мышкой там щёлкалось ровно до тех пор, пока не полез руками в код.
    Верно только для CPD 2.X/1.X, уже с CDD 3.X решено templates
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    Исходно речь шла о ненужности археологических знаний в айтишных дисциплинах, цель которых — дать какие-то практические навыки.

    Вопрос спорный см. например «Алексей Недоря о программировании и не только»:

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

    Сразу несколько уточняющих вопросов:
    •Является ли это обычным? Мне кажется, что нет. Мне кажется, что большинство программистов программирует на каком-то одном языке (нескольких языках). Для меня это странно, что-то вроде привязывания палок к ногам, чтобы колени не гнулись. Ведь «… ишпанским языком с богом, французским с друзьями, немецким с неприятелями, итальянским с женским полом…».
    •А на чем я программирую? У меня есть точный и бесполезный ответ: «на лексиконе программирования». Помните, анекдот про заблудившийся вертолет, который подлетает к небоскребу с плакатом: «Где мы?» В ответ, после некоторой суеты, в окно небоскреба выставляют ответный плакат: «Вы в вертолете!» Вот это такой же точный и бесполезный ответ, как и про «лексикон программирования». Если же попробовать все же ответить, то ответ будет примерно таким: я изначально думаю и делаю разработку в достаточно общих понятиях, которые потом транслирую на конкретный язык программирования и конкретные библиотеки/компоненты/фреймворки…


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

    Какие же интересные выводы мы можем сделать из этих вопросов/ответов:
    •Не буду акцентировать внимание на очевидной для меня и думаю, что не столь очевидной для многих мысль, что обучение IT должно включать в себя историю программирования и, обязательно, несколько принципиально разных языков программирования, например, вот такую троицу: Smalltalk, Forth, Oberon и плюс к ним Scratch. А уж потом те языки, что сейчас в моде. Я не настаиваю именно на этих языках, это всего лишь мои личные предпочтения и выражение уважение к их авторам/разработчикам.

    P.S. планировал было ограничиться последним абзацем, но решил: без контекста он воспринимается несколько «по другому»
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    Было начал переживать за IDE, скачал, установил и т.д.
    как зайти в дебаг
    Собственно, не надо никуда заходить:

    image

    всё как и было принято в Turbo Pascal

    обучаются тому, что благополучно забудут

    Не извольте волноваться — не забудут

    P.S.
    кроссплатформенную реализацию, в отличие от Delphi-FPC
    Отличие в списке платформ?
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    0
    И вся (все) ОС в моём полном распоряжении. Смысл тогда запароливать Винду, ставить антивирусы, настраивать proxy, если вся эта «защита» не стоит и выеденного яйца? Мало того, когда я рассказал преподавателю об этой уязвимости, он ответил мне, что его эта проблема мало интересует. Но как же так? То запрещают usb-flash накопители без антивирусного сканирования использовать, то игнорируют проблему, лежащую на поверхности.
    в помощь Вашему, Егор a-ka Suveren, преподавателю — ключевые слова:

    Secureboot, Bitlocker, Credential Guard

    P.S. а, впрочем, «с ходу» пара примеров:

    Shielded VM, HotFixes установлены, LAN+WAN шифруем
    ( На случай снятия RAM планок «на ходу» с помещением в холодильник
    технология шифрование RAM от AMD )

    На практике лучше и Shielded VMs, и огородить стойку сетчатым забором
  • Применение Linux и СПО в нашем учебном заведении: быть или не быть?
    –1
    Паскаль... для распараллеливания, сборки мусора
    На выбор:
    a) Active Oberon
    m) Modula-3
  • Альтернативная схема метро Минска
    –2
    Не скрою, что мы, как «тутэйшыя», просто даже не задумываемся о многих «местных реалиях», попытаюсь сформулировать:
    когда на одной карте она «Кастрычницкая» а на другой «Октябрьская».
    По-русски — Октябрь, на белорусском — Кастрычник. В этом месяце жгут костры.
    На каком языке вся карта — на таком и название.

    должна быть либо «Октябрьская» либо «Кастрычницкая» но никогда одновременно.
    Может и должна, но она именно одновременно. ( Десятый месяц года — он один)

    это будет именно навигационной проблемой
    Есть «такая буква». Экскурсы в историю и языкознание — для помощи людям в этом вопросе.
  • Альтернативная схема метро Минска
    –3
    и не понял за что автору минусы прилетели.

    Что же тут непонятного? Здесь 3 — 5 человек, тех кто:
    ... в жизни — единицы процентов,
    ( округлим до 18 процентов, на всякий ) и как бы никто не против, но они начинают навязывать большинству свое… даже не мнение, а действовать наплевав на интересы большинства.
    они и в реале такие ( см. мою картинку с фото из вагона метро).

    P.S.
    как русских/русский язык... в Беларуси.

    Ещё загадочка: что в моём советском паспорте в связанной с этим вопросом графе?
    ( Да, да: в Союзе были и не политкорректные замашки, заставившие меня надолго задуматься и, даже, спрашивать совета у товарищей. Они вопрос, кстати, быстро и чётко решили)

    Администрация сайта мне недавно сообщила об изобретении эвфемизма «негрубое нарушение»... ( Их просили убрать личные выпады, на чтение истории по диагонали и, с говорящих самих за себя, ракурсов ответим и сами как _граждане_ РБ).

    А вы думайте кого вам, да хотя бы _выгоднее_, поддерживать, т.к. у оппонентов:
    На 1991-1995 годы тоже было очень много надежд. Однако, далеко не все потеряно


    P.P.S. Хотя после Петра I:
    Есть обычай на Руси, ночью слушать BBC
  • Альтернативная схема метро Минска
    –3
    Колорит
    Объяснение простое: пионером ренессанса стала фирма Samsung. Реклама вышла душевной.

    P.S. А путеводители не спасут «турыста, авантурыста» ( это из песни, тоже занятной)? Метро — средство доставки из точки в точку, им город не ограничивается. Да и сувенир останется, как никак Ж-)
  • Альтернативная схема метро Минска
    –2
    Как... проще объяснить для русскоязычного туриста в русскоязычном городе?
    «Как то так» ( из песни слово не выкинешь):

    на первом месте — постоянство

    Станцыя названа ў гонар Кастрычніцкай рэвалюцыі.

    Почитайте про август 1917, про Фрунзе, про Минскую милицию, контролирующую 200-300 км. от линии фронта и останавливающую эшелоны с «частями, способными устоять от разлагающего влияния Петроградского Совета»:

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


    ( Правда, «пропаганда не пустила глубоких корней», скорее сыграло роль общественное мнение, в частности:
    Из Владикавказа пришла телеграмма ЦК Союза объединенных горцев Кавказа, запрещавшего «под страхом проклятия ваших матерей и детей принимать участие во внутренней войне, учиняемой с неизвестными нам (и) вам целями».
    )

    Кстати, «игра в тёмную» не задалась:
    младшие офицеры и всадники находились «в полном неведении» относительно целей своего движения и «были сильно удручены и подавлены той ролью, которую им хочет навязать генерал Корнилов».
    P.S. Беларусь имеет право гордится своей историей и в бурном прошлом веке. История делалась не только в Петрограде.
  • Альтернативная схема метро Минска
    0
    временной период и сколько поколений считается.

    Рассчитывайте ( можно ещё этрусские надписи почитать, есть сведения, что знание белорусского позволяет далеко продвинутся в разгадке The mystery of the Etruscan):

    Белоруссия, была частью Великого княжества Литовского с середины XIII в. и до конца XVIII в.

    «старобелорусский язык» был официальным языком Великого княжества Литовского, и первоначально на письме использовался кириллический алфавит.

    Статут ВКЛ почитайте

    ( таки, узнаёшь много нового:
    Первый известный печатный текст на белорусском языке с использованием латинского алфавита – «Witanie na Pierwszy Wiazd z Krolowca do Kadlubka Saskiego Wilenskiego» — иезуитская, антилютеранская публикация, напечатанная в Вильнюсе в 1642 г.
    )

    К 1710 г. старобелорусский язык был вытеснен

    Также для письма на белорусском языке использовался арабский алфавит (белорусскими татарами) и еврейский алфавит (белорусскими евреями).

    P.S. Одного не пойму: школьные учебники так поменялись с 1990 года?
    P.P.S. «статьи которые прочитал» — крепнут подозрения, что появилось масса желающих подвигать три спички. С их помощью Черчилль объяснил союзникам по коалиции, как надо обустраивать Европу. Он, Сталин и Рузвельт идею утвердили.
    В Хельсинки 70-x «подписались все».
  • Альтернативная схема метро Минска
    –2
    Собирался написать про страны Балтии, но будет время, напишу и про Беларусь.

    «Советские метаморфозы»: какой год издания атласа?
    image

    P.S.
    на пост-советском пространстве вообще ни у кого нет особых комплексов
    Очень старательно подбирал какой именно фрагмент _исторической_ карты опубликовать как загадку: слишком много оставить за кадром — диапазон расширяется на десятилетие, слишком объёмный фрагмент — многие воспримут на свой счёт ( парочкой подсказок всё-таки решил пожертвовать )

    Disclaimer: это окрестности будущей станции «Плошча Незалежнасці» ( 1991-2003), но на несколько десятилетий раньше.
  • Альтернативная схема метро Минска
    –2
    О, отлично: орфографических ошибок нет, белорусский язык продвигается среди иностранцев.

    Однако ж, спадар, включите логику: фото будущего ещё невозможно. Да, и потом — приложите линейку: не помещается.

    3 Июля — День Независимости Республики Беларусь 3 июля 1944 года произошло освобождение столицы Белоруссии (Минска), от немецко-фашистских захватчиков.
    На тот момент захватчики успели оставить от памятника один постамент, герб со здания снять не сумели, город разрушили. Сейчас всё восстановлено.

    Готовы ли Вы повторить? Насколько это соответствует культурным традициям? Чьим ( Востока или Запада)?
    И собственно, будет ли честно «вскрывать конверт» не получив ответы на все вопросы?
  • Альтернативная схема метро Минска
    –2
    Ненавижу, но это больше теоретически: ещё не писал ( см. ниже).

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

    Для любителя Западных ценностей Вы удивительно непоследовательны. В Лондоне дело поставлено на поток: очереди из бюргеров за оплатой.

    Здесь я обратился в комиссию по расследованию антиХабровской деятельности, покаялся, назвал всех членов партии. И сенатор-модератор нас…

    ( аналог этой страницы Запад стремиться забыть.
    На словах, см. Лондон )

    Про Львов стоило бы уточнить, но у Сталинских генералов точно ( Вена, Будапешт) было обыкновение освобождать города без артподготовки. Судя по новостям от 3 марта — по отношению к памяти погибших Минск на Львов абсолютно не похож.

    А иностранцев на улицах много.
  • Альтернативная схема метро Минска
    –3
    я, как украинец, за сохранение национальных культур Украины и Белоруссии.
    Небольшая пасхалка для Вас, Николай, и Ваших единомышленников ( подсказка — активных единомышленников):
    image
    что под прямоугольником? Готовы ли Вы повторить? Насколько это соответствует культурным традициям? Чьим ( Востока или Запада)?