Pull to refresh
-1
0

программист на Go/Python

Send message

В 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


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.
RedHat, Ubuntu и еще парочка

А ещё 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

Повестка левацкая, а ответы на вопросы вполне "правые", потому что минимум треть пунктов — пересказ Джордана Питерсона.

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity