Pull to refresh
-8
0
Иван Левашев @OCTAGRAM

Фрилансер

Send message

Я такой же, как и вы, гражданин, с ответственностью решать, как вещи должны быть устроены и как не должны. Я отдаю голоса за партии, за представителей в ОПРФ, голосую на РОИ, и в жизни тоже стараюсь делать выборы сообразно своим представлениям.

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

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

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

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

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

мой фюрер?

Я посмел оценивать других людей. Ужас! Ужас! Что происходит. Сбой в матрице.

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

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

Есть довольно простой способ не вдаваться, кто именно такие гопники. Существуют два сценария:

  1. Женщина стала подстилкой гопника, нагулялась, теперь ищет обеспечуна и стабильность.

  2. Женщина нашла достойного, поживилась с него ресурсами, а потом предала.

Объединяем два сценария в один. В обоих случаях на выходе имеется порванка, которая ищет второй шанс. Наша задача — ей этот второй шанс не дать.

  1. Из-под гопников подстилки не вытаскиваем.

  2. Предательниц достойных мужчин не прощаем.

Вот и всё. И не надо разбираться, кто гопник, кто нет. Нет целки — больше не невеста.

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

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

  2. Если из хорошей семьи девочка-отличника увязалась за хулиганом, то никто не притворяется.

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

Я считаю человека гопником, а женщина так не считает и посмела ему дать? Окей, а теперь живи с ним. Будешь с фингалами ходить или он тебя бросит с детьми, будешь с выпученными глазами бегать искать НАСТОЯЩЕГО ОТВЕТСТВЕННОГО мужчину — не наши проблемы.

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

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

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

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

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

Что ложились, это понятно. Подбирать после них не надо.

"На детях гениев природа отдыхает" - не зря же такая поговорка существует.

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

А, может, и зря. Не каждой поговорке можно доверять.

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

Лично мне важна не столько гениальность, сколько экзальтация. Есть много задач, где гениальность особенная не требуется, надо уже существующее по-новому скомбинировать. Конечно, чтоб быстро крутить варианты, надо тему понимать, а для этого надо не зубрить, а с любовью изучать. Эти новые варианты можно назвать гениальными, но не знаю. Я как-то об этом не думал.

Как бы дополняя Декарта, мыслю — следовательно, существую, а экзальтирован, — следовательно, живу. Причина, по которой предпочтение экзальтированному партнёру, — это взаимопонимание. Женщина, если ей так нужны деньги, может, ни у кого ничего не выпрашивая, сама продать свою почку, и приговорённая почка никуда уже не денется. Но ведь не продают же. Экзальтированному партнёру должно быть понятно, что если я не 100% возможного времени потратил на зарабатывание, то это потому что мне это время дорого как почка.

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

Вы должны быть счастливы, что хотя бы оставили JO. В WebAssembly тупо нет этих флагов, и приходится полагаться на AdaMagic standard.h:

/* Subtraction overflows iff x and y have different signs,
and the result and x have different signs. */

#define s_32_minus_v(result, x, y) /* result = x - y; */ \
  do { \
    const int32 _xcopy = (x); \
    const int32 _ycopy = (y); \
    const int32 _diff_sign = _xcopy ^ _ycopy; \
      /* The sign bit of _diff_sign is set iff x and y have \
         different signs. */ \
    (result) = _xcopy - _ycopy; \
    if ((_diff_sign & ((result) ^ _xcopy)) < 0) rts_overflow(); \
    /* The sign bit of "((result) ^ _xcopy)" is set iff result and x have \
       different signs.  Overflow if that and _same_sign both have \
       sign bits set. */ \
  } while (0)

А WebAssembly сегодня понужнее будет amd64

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

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

обсуждения API очередного фреймворка в ближайшие 20 лет

Это если встретились два кодера. Для интереса надо, чтоб два творца

Мы не перебирали адаптеры и мониторы в порядке их выхода. EGA была года до 2003го. Поэтому с EGA апгрейд был сразу до SVGA

На EGA без шансов. А была именно EGA. У неё другой разъём для монитора на карте, и у самого монитора другой разъём. Чтоб это всё поменять, одновременно и карту, и монитор нужно было купить недешёвые.

Основные игры были на DOS. DOS можно подразделить на то, какой монитор был и процессор, потому что у меня, например, EGA. На ней были хиты Apogee и id: Secret Agent, Crystal Caves, Commander Keen, Bio Menace, Duke Nukem I, Dangerous Dave и всякие нехитовые, но отлично в своё время зашедшие Future Classics Collection.

Но никаких Duke3D, пока не появился SVGA, но это уже другая история. Были змейко-тетрисы, которые уже и не вспомнить. И были по типу Ну, погоди гонки, где гоночная машина может в трёх позициях находиться.

Денди, Сеги, PS прошли мимо меня. Почти. Когда SVGA появился, на домашнем компе был KGen.exe для DOS, и в нём с сохранениями были пройдены Battle Toads, Cool Spot и некоторые другие хиты. У Cool Spot и многих других игр была DOS-версия, но я не мог пройти их без сохранений. СЛОЖНО!

Из ярких воспоминаний: помню, как после школы заходил в один и тот же магазин и смотрел на клавиатурный Сюбор. Особенно на его LPT-порт. Изучал через стекло витрины содержимое картриджа, а там F-BASIC, G-BASIC загадочно манили. У себя дома в DOS у меня были Quick BASIC и Borland Pascal. А вот бы соединить компьютер с Сюбором по LPT! И запрогать с двух сторон. А как в этом F-BASIC прогать LPT?

Много позже я узнал, что, оказывается, Денди не был оригиналом, а оригиналом был какой-то NES. И Сюбор не склонировал Денди и не придумал клавиатуру, а Денди и Сюбор вместе клонировали NES, а для NES была клавиатура. И всё это вместе значит, что можно ROM от Сюбора запустить в nestopia, и там даже клавиатура поддерживается. Запустил. Добрался до этого F-BASIC. Увидел в статусе вверху сообщение: осталось памяти 2Кб. Это был приговор. Очень рад, что в моём детстве был не Сюбор, а DOS.

Впрочем, идея соединить компьютер с Сюбором по LPT себя не изжила. Может быть, я ещё до этого доберусь, но не на F-BASIC, конечно, а компилятором NES ROM. Мне нравится, как выглядит клавиатура Сюбора. Очень похоже на компьютерные клавиатуры той эпохи, но NES. А ещё там кириллица больше латиницы. Я бы мог запрогать ROM передавать нажатия по LPT и превратить Сюбор в импровизированную клавиатуру, чтобы он служил мне, потому что другого применения не могу придумать. Игры для Денди по сравнению с DOS слишком простые по механике, и обычно ещё более сложные, я в такое не могу играть.

В оригинальном NES Famicom клавиатура отдельно, и мои братья по разуму уже сделали переходники, которые клавиатуру и джойстики Денди подключают по USB к компьютеру. Но оригинальная клавиатура NES Famicom ужасно выглядит. А у Сюбора, такое дело, клавиатура не внешняя, а весь корпус клавиатура, поэтому этот переходник готовый не с чем соединить. Видимо, только через LPT соединяться

Собрался, сделал видеоответ на растиражированную неправду про отрисовку зеркал

Неправда:

Движок копирует реальность, но в момент загрузки уровня. Он находит все зеркала и копирует «отражение» в зарезервированную область.

Правда:

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

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

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

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

В Delphi эта проблема не решена. Чтоб пощупать, можно сделать Delay(10) в AddRef и Release, и попытаться работать из разных потоков в стиле, приближенном к естественному. Надёжная реализация слабых ссылок обалдеет, но честно покрутится в спинлоке, пока работает долгий AddRef. Delphi так не делает и разваливается. Я решение нашёл только в том, чтоб атомарной заменой перезаписывать саму ячейку, где лежит слабая ссылка, пока не отработает AddRef, и пока в ней признак блокировки, занулятор слабых ссылок крутится и ждёт.

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

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

какое советское кино, которое никуда нельзя вставить

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

И за прощание Славянки, и за многие другие военные песни в общественном достоянии страйки прилетают. Монтировал про ветеранов, вся лента в страйках была. Вымарывается всё советское. Видимо, успешно, раз вы даже не знаете о таком явлении.

какие шедевры в застенках

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

Вот и где Ада-Эльбрус лежит, очень мне интересно, и как она там оказалась, и почему не в общественном достоянии.

Какие фашисты, какие вектора на самоуничтожение

Я согласен с официальной китайской версией о том, что СССР пошёл после 60х не туда.

Вон Паронджанов рассказывает регулярно, что на ДУРАКОНе софт Бурана проектировался…

Про Буран не знаю, но если вы посмотрите, какие языки программирования получили ГОСТ, а какие не получили, хотя, казалось бы, ровесники, то заметите некоторый уклон советской науки. Для большей рельефности можно поинтересоваться, сколько странице в ГОСТе, как положено много или 4 страницы, и на предпоследней написано настоящим стандартом считать ISO такой-то. Так можно понять, что учёные считали нужным, а что — нет.

а оно вообще было? не в виде «в придуманной всеми красивой и логической схеме проекта...», и не в виде «законченой Сережей части», не вписывающейся в проект, а в виде готовых распространяемых продуктов типа «несоветских Ada/Ed, Mesa и MULTICS»? Вот представьте, получите вы сейчас «расово советские электронные таблицы ВАРИТАБ», заглянете в них — а там не везде убрано слово «SUPERCALC». вот ведь позорище будет… а если так будет с 2/3 расово советских трансляторов с АДА?

Вот чтоб таких кривотолков не было, и нужны артефакты расово советских Ершолов и пр.

9. Рыбин С.И. рассказал о методике тестирования диагностики транслятора (вообще, и языка Ада в частности), разрабатываемой в МГУ под руководством Кауфмана В.Ш. Приведены данные по оценке качества и диагностики трех трансляторов Лада, Ада-Эльбрус и венгерская Ада ЕС; из них видно, что качество диагностики Ада-Эльбрус – лучшее из трех систем.

В чём-то же они ковырялись.

я и в студенческие (советские) годы не сильно много отечественного софта видел… т.е. заговор против советского софта начался в минимум в 1984? Т.е. как у Ерофеева? «Антирусский заговор, безусловно, существует – проблема только в том, что в нем участвует все взрослое население России»?

Я так понимаю, Ада-Эльбрус как раз в НФ ИТМиВТ была, и сейчас этот шедевр лежит в застенках либо МЦСТ, либо УниПро. И цитата про устройство антисоветского заговора не так уж далека от истины. Вот эти МЦСТ и УниПро шедевром не хотят поделиться с миром, лежат как собака на сене. А ещё, пока я рылся в этой теме, нашёл кучу книг под авторством Запреева, вот только электронных версий у них нет в Сети.

И тут у меня просто рвётся шаблон. Да был бы я автором, давно уже отсканил. Если нельзя официально, выложил бы пираткой. Если они всё ещё представляют коммерческую ценность, договорился о продаже хотя бы через Print-on-Demand. И пусть все знают, какой я умный. Но Сергей Запреев ничего такого не сделал. Томятся где-то в застенках библиотек книги неоцифрованные. Томится где-то в застенках лучшая советская Ада-Эльбрус. Забава отечественная, свои шедевры хоронить в застенках.

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

Если политический строй был нацелен на самоуничтожение — может, и правильно, что ему дали самоуничтожиться?

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

слишком много слов ради слов

Расскажите мне автор, как без end писать повышающие читаемость проверяемые утверждения о том, что именно закрывает оператор.

with Ada.Text_IO;

procedure To_Be_Or_Not_To_Be is
begin
   Reasoning :
   for To_Be in False .. True loop
      if To_Be then
         Ada.Text_IO.Put_Line ("To be!");
         exit Reasoning;
      end if;
   end loop Reasoning;
end To_Be_Or_Not_To_Be;

Как вы собираетесь loop Reasoning переписать без end? Меняем end на фигурную скобку, loop Reasoning оставляем? Смешно.

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

Ещё я интересовался Apple-аналогом JSON, Property Lists. Жаль, за пределы их экосистемы не распространился. Так вот, когда-то давно, в 90х, у них был ASCII-синтаксис, и они с него перешли на XML-подобный, где видно, что чего закрывает.

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

чертовщина же: академии есть, ученые работающие на благо страны есть — а софта нет

Спорное утверждение. Вот, например, по моим ссылкам упомянуты 7 советских трансляторов языка Ада и два зарубежных, ГДР и Венгрия. 9 трансляторов языка Ада!

У меня вопрос, а куда это всё делось? Ведь я же могу почитать исходные коды несоветского Ada/Ed, исходные коды несоветских Mesa и MULTICS, не говоря уже о до сих пор поддерживаемых Emacs.

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

Очень хотел бы посмотреть на неправильно названные процедуры и переменные советского учёного Сергея Запреева, но почему-то не могу, и так со всеми 7 трансляторами. Все 7 куда-то запропастились.

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

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

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

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

http://www.ada-auth.org/standards/2xrm/html/RM-A-18-5.html

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

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

Самое главное в работе супермена — это вера в слово джентельмена. Супермен — этот тот, кого не поймали на косяке. А чтобы было больше суперменов, должно быть меньше инструментов выявления косяков, или они должны быть как можно хуже, с ложными срабатываниями, под которые можно всё подгрести. Вот для Си есть верифицируемое подмножество ACSL. Но для ACSL нет компилятора, который бы инварианты, записанные этим синтаксисом, мог проверить в рантайме, на случай, если весь код не получается загнать в Frama-C. Отлично! Пока миллион роутеров не взломают, супермен может спать спокойно. Это ещё когда будет. А для C++ нет даже и верификации, есть только MISRA C++, с ложными срабатываниями или без обнаружения ошибок. Ещё лучше. Отличный язык программирования для суперменов. Давайте миллион строк кода на C++ напишем, чтоб потом ни в жизнь это не исправить было. Но ведь исправлять и не придётся. У нас же все супермены, и мы верим им на слово.

А Ада, с её CodePeer и gnatprove, с единым синтаксисом для рантайм проверок и верификации, — да это же кошмар. Каждого супермена, того и гляди, компилятор будет ежедневно унижать, тыкать как котёнка в мочу. У нас так суперменов и не останется вовсе. Что ж мы без суперменов делать будем. Пропадём совсем.

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

Я занимался мобильными играми на Java… Лучший способ избежать сборки мусора (которая будет происходить в произвольный момент времени и убьет производительность игры) — вообще не создавать объекты в основном цикле. Другого пути нет… Только хардкор ручное управление объектами, увы. Так делают все основные высокопроизводительные игры на мобильных устройствах.

Если он тормозит или глючит - значит кто то просто в него не умеет

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

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

https://www.nfitmivt.ru/press/?article=369 https://www.iis.nsk.su/memories/wgroup_6

Обратите внимание, кто здесь субъект действия. Академия наук. Институт. Рабочая группа. То есть, настоящие учёные. И работают эти учёные в интересах страны, а не в интересах частного кармана. Учёный, работающий в интересах страны, может и делает как лучше. С ним можно поговорить о том, как сделать лучше.

В СССР, как не стало Сталина, задавили личную инициативу. Зря. Ну а сейчас маятник в противоположной стороне.

Сейчас голову отрезали. Академия наук не пишет нам ОС. Не пишет трансляторы. Всё барыги да барыги. С барыгой вы так не поговорите, как лучше. Барыга трясётся в первую очередь за свой карман, и кто на него работают, тоже оторваны от остального общества. И не надо смотреть в рот барыгам. Там ничего нет. Если барыга выбрал какой-то язык программирования, то это не потому, что он умный такой. Нет.

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

Всё, что делают частники, — это умереть завтра, а не сегодня. Я сколько работал, у всех цейтнот. Раньше-то у учёных было социалистическое соревнование, но был и обмен. А сейчас никто ничем не делится. Сидят барыги по углам врозь — плохо, обмена опытом нет, каждый заново с нуля делает, и каждый в цейтноте. Договорились барыги, трест образовали — тоже плохо. Можно сидеть, стричь купоны и не развиваться. И вот на этих людей вы равняетесь как на образец?! На барыг.

У нас в стране сейчас потребность есть криптографию внедрить собственную и операционную систему. Но занимаются этим частники. Частники пишут криптопровайдеры, частники выпускают дистрибутивы Линукс. Ну, если в Линукс взаимообен ещё возможен, то криптографию окучили недружественные друг к другу частники, и поэтому у нас не глобально OpenSSL, NSS и SparkNaCl поддержали ГОСТ, а только из частных рук можно получить особую сборку, подчас с нарушеним GPL. И от того, что наши ГОСТ не внедряются, пока кто-то не заплатит, в транснациональных продуктах их из коробки не появляется, и криптография по факту чужая.

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

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

  1. пишем рекурсивную программу на системном стеке

  2. заменяем системный стек пользовательским

  3. заменяем пользовательский стек чем-то, что не стек, а, например, очередь

Также стоит научить вручную делать:

  1. стиль передачи продолжений (continuation passing style)

  2. батутизация (trampolined style)

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

Я вижу зияющую пропасть в преподавании этих техник. Это какая-то ненастоящая информатика, не достойная преподавания. Но почему?

Если у нас в старших классах было интегрирование рациональных функций с полинонами в числителе и знаменателе, и мы кропотливо раскладывали на сумму a/(bx+c), которые интегрируются в логарифм, то почему бы и на информатике что-нибудь кропотливо не разложить? Вот это в жизни, мне кажется, пригождается, а кто не знает, тот лажает на ровном месте.

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

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

Чтоб на экзамене ОГЭ примерно так:

Выберите один ответ

Язык C++:

  1. [_] Не тормозит и не глючит

  2. ​[X] Не тормозит, но глючит

  3. [_] Тормозит, но не глючит

  4. [_] Тормозит и глючит

Язык Java:

  1. [_] Не тормозит и не глючит

  2. [_] Не тормозит, но глючит

  3. ​[X] Тормозит, но не глючит

  4. [_] Тормозит и глючит

Язык Python:

  1. [_] Не тормозит и не глючит

  2. [_] Не тормозит, но глючит

  3. [_] Тормозит, но не глючит

  4. ​[X] Тормозит и глючит

Язык Ada:

  1. ​[X] Не тормозит и не глючит

  2. [_] Не тормозит, но глючит

  3. [_] Тормозит, но не глючит

  4. [_] Тормозит и глючит

Школьники старше итераторов в Паскалях, а ваши представления о Паскалях ещё старше этих школьников.

Синтаксис for-in-do появился в Delphi 2005, а в Delphi 2009 появились из коробки обобщённые контейнеры, к которым их интересно применить.

В языке Ада было в другом порядке: в ISO стандарте Ада 2005 появились контейнеры вместе с курсорами, а синтаксис for-of-loop подъехал только в ISO стандарте Ada 2012. Ну а в Ada 2022 list comprehensions.

Расскажите Яндексу про смарт-карты и ЭЦП кто-нибудь

Единственная задача, с которой он справился, это быть переносимым ассемлером. UEFI EBC, TenDRA ANDF, Dis VM, LLVM, WebAssembly, PNaCl все в чём-то сильно уступают. Наверное, лучшей попыткой был TenDRA ANDF, но что-то компиляторов под него негусто, а вот для Си процесс пошёл, и поверх него и Ада есть, и Eiffel, и Oberon. Пусть там каждое сложение с проверкой переполнения многословно кодируется, но хоть как-то это работает.

А вот чтоб не абстрактно можно написать, а ночью разбуди, любой программист, претендующий на C++, знал, где такое готовое взять?

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

Information

Rating
3,557-th
Location
Барнаул, Алтайский край, Россия
Date of birth
Registered
Activity