Дело не просто в том, что не было дженериков, а в том, что было: статическая строгая типизация. Сразу понятно к чему это приводило - когда реализации одного и того же метода интерфейса для разных типов приходилось писать вручную, есть целые библиотеки с кучей функций типа AddIntInt, AddInt32Int32, AddUint32Uint32 и т.д. И кодогенерация, как в "старых добрых" 60-х. Хотя уже тогда были языки с динамической типизацией вроде разных LISP, а Smalltalk появился в 1972. А Go притворяется, что сейчас 70-е. Это такой Паскаль с CSP. Со всеми вытекающими.
Вы верно отметили, что сдвиг рядов вбок относительно друг друга неудобен. Никаких причин иметь этот атавизм сейчас нет — это было сделано, чтобы рычажки под клавишами на печатных машинках друг друга не задевали.
ИМХО, ортолинейные клавиатуры должны стать стандартом.
Ну смерти не будет, но ядро они будут использовать какое-то другое. Или процесс подписи будет как-то организован. Или это повод наконец продвинуться к микроядру ещё дальше
Inherent defects at the most basic level cause them to be both fat and weak: their primitive word-at-a-time style of programming inherited from their common ancestor—the von Neumann computer, their close coupling of semantics to state transitions, their division of programming into a world of expressions and a world of statements, their inability to effectively use powerful combining forms for building new programs from existing ones, and their lack of useful mathematical properties for reasoning about programs.
А ещё Fedora, SUSE и в общем все главные дистрибутивы, потому что 90% остальных — это они же с другими шкурками.
Сделал свое ядро — фиг, подпись невалидна
Есть такая проблема. И с тем же Secure Boot не всё гладко, например, когда речь заходит о модулях ядра, например установка проприетарного (какая ирония) драйвера NVidia сильно усложняется.
И лично я хочу иметь возможность пользоваться тем же Gentoo и компилировать ядро в хвост и в гриву, я хочу, чтобы HaikuOS и ReactOS могли развиваться и т.д.
Не выдумывайте — Linux по уши в энтерпрайзе, энтерпрайз по уши в Linux — все облака и всё сетевое оборудование на нём. Такие опасения были и про Secure Boot. В итоге сейчас все крупные дистрибутивы ставятся из коробки даже если она включена.
Но то, что PC потихоньку из эдакого diy kit (где ты максимум лишишься гарантии или что-то спалишь) превращается в устройство для пользователей, где твои права ограничены технически, это неприятно.
Ну лично для меня главные недостатки JSON такие:
1) Нет родного типа для времени (вместо этого используют строки)
2) Нет родного типа для множеств, используют массивы
3) Нельзя ставить комментарии
Тот же sentry в простейшем случае устанавливается практически в одну строчку (https://develop.sentry.dev/self-hosted/)
С приходом контейнеров эра "коробочных решений" как раз в какой-то мере вернулась.
Иногда достаточно написать Docker Compose файл и решение уже почти готово.
Чем больше читаю таких статей, где автор пересказывает сказки из 90-х (которые до сих пор рассказывают вузовские преподы), тем больше понимаю, что ничего более противоестественного, чем статическая типизация для ООП нет. Когда Алану Кею (позвольте первый раз в этом треде упомянуть создателя ООП) пришла в голову эта идея, он в первую очередь подумал о полиморфизме: "Благодаря математическому образованию я понял, что каждый объект может иметь несколько ассоциированных с ним алгебр, возможно, даже целые семейства, и они могут быть очень-очень полезны".
И ещё: "Одна из ключевых идей — делать системы, которые бы продолжали работать во время тестирования и, в особенности, во время внесения изменений. Даже большие изменения должны быть инкрементарными и тратить не больше секунды перед вступлением в силу". Эти мысли уже предтечи agile подходов, extreme programming и т.д. И да, буквы D из SOLID, потому что без dependency inversion это невозможно. А ешё лучше — динамическая типизация, как в SmallTalk и сделано.
Ну и ещё несколько его цитат (такое полезно повторять):
"Я придумал термин «объектно-ориентированный», и я уверяю вас, что не имел в виду C++"
"Я жалею, что придумал термин «объекты» много лет назад, потому что он заставляет людей концентрироваться на мелких идеях. По-настоящему большая идея — это сообщения" — не поленитесь, узнайте как в SmallTalk создаются и вызываются методы.
Там не только Винни-пуха, там фото пустого стула блокируют. Потому что если стул свободен, то место свободно. Чьё место? То-то и оно [председателя Си, если не дошло до кого]. Крамола.
Вообще confirmation bias тут может быть (больше патрулей выявляют больше преступлений — положительная обратная связь при обучении системы — посылается ещё больше патрулей), хотя мне не верится, что в благополучных кварталах хотя бы столько же преступлений.
Притом Алан Кей с этой мыслью согласен
https://www.quora.com/What-does-Alan-Kay-think-about-Joe-Armstrong-claiming-that-Erlang-might-be-the-only-object-oriented-language-and-also-his-thesis-supervisor-s-claim-that-Erlang-is-extremely-object-oriented/answer/Alan-Kay-11
В Python добавили pattern matching, а не "конструкцию switch-case".
Дело не просто в том, что не было дженериков, а в том, что было: статическая строгая типизация. Сразу понятно к чему это приводило - когда реализации одного и того же метода интерфейса для разных типов приходилось писать вручную, есть целые библиотеки с кучей функций типа AddIntInt, AddInt32Int32, AddUint32Uint32 и т.д. И кодогенерация, как в "старых добрых" 60-х. Хотя уже тогда были языки с динамической типизацией вроде разных LISP, а Smalltalk появился в 1972. А Go притворяется, что сейчас 70-е. Это такой Паскаль с CSP. Со всеми вытекающими.
Огнестрельное оружие в Европе появилось в XIV веке
Речь про комментарии здесь, а они на русском. Русские буквы 2 байта занимают.
В хороших манах есть раздел examples
Вы верно отметили, что сдвиг рядов вбок относительно друг друга неудобен. Никаких причин иметь этот атавизм сейчас нет — это было сделано, чтобы рычажки под клавишами на печатных машинках друг друга не задевали.
ИМХО, ортолинейные клавиатуры должны стать стандартом.
Ух-ты, в JS завезли фичи из Clojure (а там деструктуризация была с самого начала, уже больше 10 лет)
Ну смерти не будет, но ядро они будут использовать какое-то другое. Или процесс подписи будет как-то организован. Или это повод наконец продвинуться к микроядру ещё дальше
И ни слова про LISP, ни слова про Smalltalk.
В 1977-м году Джону Бэкусу вручили премию Тьюринга. В честь этого обычно номинант читает лекцию (как и при получении Нобелевской премии). Джон Бэкус, создатель Fortran, потратил её на это — тотальный разнос в пух и прах Фортрана и прочего императивного байто**ства, которое было модно тогда и, к сожалению, до сих пор.
https://dl.acm.org/doi/10.1145/359576.359579?fbclid=IwAR04lbp21P_v7ZSMsOudEds8hPip4Q7FVRb_sRwsiMueZOTM5ywZlln1hcs
А ещё Fedora, SUSE и в общем все главные дистрибутивы, потому что 90% остальных — это они же с другими шкурками.
Есть такая проблема. И с тем же Secure Boot не всё гладко, например, когда речь заходит о модулях ядра, например установка проприетарного (какая ирония) драйвера NVidia сильно усложняется.
И лично я хочу иметь возможность пользоваться тем же Gentoo и компилировать ядро в хвост и в гриву, я хочу, чтобы HaikuOS и ReactOS могли развиваться и т.д.
Не выдумывайте — Linux по уши в энтерпрайзе, энтерпрайз по уши в Linux — все облака и всё сетевое оборудование на нём. Такие опасения были и про Secure Boot. В итоге сейчас все крупные дистрибутивы ставятся из коробки даже если она включена.
Но то, что PC потихоньку из эдакого diy kit (где ты максимум лишишься гарантии или что-то спалишь) превращается в устройство для пользователей, где твои права ограничены технически, это неприятно.
Ну лично для меня главные недостатки JSON такие:
1) Нет родного типа для времени (вместо этого используют строки)
2) Нет родного типа для множеств, используют массивы
3) Нельзя ставить комментарии
Ну будут у вас исходники. Как вы докажете, что прямо сейчас работаете именно с бинарником полученным из них?
Тот же sentry в простейшем случае устанавливается практически в одну строчку (https://develop.sentry.dev/self-hosted/)
С приходом контейнеров эра "коробочных решений" как раз в какой-то мере вернулась.
Иногда достаточно написать Docker Compose файл и решение уже почти готово.
Чем больше читаю таких статей, где автор пересказывает сказки из 90-х (которые до сих пор рассказывают вузовские преподы), тем больше понимаю, что ничего более противоестественного, чем статическая типизация для ООП нет. Когда Алану Кею (позвольте первый раз в этом треде упомянуть создателя ООП) пришла в голову эта идея, он в первую очередь подумал о полиморфизме: "Благодаря математическому образованию я понял, что каждый объект может иметь несколько ассоциированных с ним алгебр, возможно, даже целые семейства, и они могут быть очень-очень полезны".
И ещё: "Одна из ключевых идей — делать системы, которые бы продолжали работать во время тестирования и, в особенности, во время внесения изменений. Даже большие изменения должны быть инкрементарными и тратить не больше секунды перед вступлением в силу". Эти мысли уже предтечи agile подходов, extreme programming и т.д. И да, буквы D из SOLID, потому что без dependency inversion это невозможно. А ешё лучше — динамическая типизация, как в SmallTalk и сделано.
Ну и ещё несколько его цитат (такое полезно повторять):
"Я придумал термин «объектно-ориентированный», и я уверяю вас, что не имел в виду C++"
"Я жалею, что придумал термин «объекты» много лет назад, потому что он заставляет людей концентрироваться на мелких идеях. По-настоящему большая идея — это сообщения" — не поленитесь, узнайте как в SmallTalk создаются и вызываются методы.
Там не только Винни-пуха, там фото пустого стула блокируют. Потому что если стул свободен, то место свободно. Чьё место? То-то и оно [председателя Си, если не дошло до кого]. Крамола.
Вообще confirmation bias тут может быть (больше патрулей выявляют больше преступлений — положительная обратная связь при обучении системы — посылается ещё больше патрулей), хотя мне не верится, что в благополучных кварталах хотя бы столько же преступлений.
Простите, но ссылаться на 2000 год также "актуально", как обсуждать сейчас достоинства и недостатки Windows XP
Повестка левацкая, а ответы на вопросы вполне "правые", потому что минимум треть пунктов — пересказ Джордана Питерсона.