Как стать автором
Обновить
2
0
andrey @kekoz

Пользователь

Отправить сообщение

Да нет никакой разницы, что браузер, что “ssh какой нить” дёргают gethostbyname(3). Просто в браузер нынче любая кухарка умеет, а пример с “ssh какой нить” не все поймут.

Нет такого слова “авторитативный”, это буквально транслит с “authoritative” (англ), которое и переводится как “авторитетный.”

Первый случай называется “Бунт.”
Второй случай называется “Итальянская забастовка.”

Ну, не такой уж она и раритет. И появилась задолго до «Электроники». Если мне не изменяет память, в США она длительное время была самой популярной ОС на DEC PDP, в отличие от СССР, где преобладали ОС-РВ (RSX11) и РАФОС (RT-11).

Неполный ≠ неверный.

Вы станете говорить математику 2×2=4 или хватит 2×2? Он математик, а не идиот, он знает, что 4.

Вы станете говорить плёночному фотографу, что открытие камеры на свету приведёт к засвечиванию плёнки? Вы считаете его идиотом?

А ты уже получил диплом влажного фантазёра и сертификат регулятора контента в интернетах?

Простейшая и ежедневно имеющая место ситуация нашей действительности int i + 1: в архитектуре x86 целочисленное (знаковое) переполнение приводит к wrap around, а оно же на MIPS — trap.

Доставляет “приколов” и то, что на этом же самом MIPS целочисленное знаковое переполнение при операциях умножения или деления уже не трапается, как при сложении/вычитании, а молча заворачивается (wrap around).

Так какие ваши доказательства предложения по “определению переполнения” в том же С (или вообще) для упрощения жизни? Как заставить оптимизатор не считать “раз тут так складывают, то переполнения точно не будет”, и получить эффективный код на x86 и на MIPS?

Другой пример: int x / int y. При y == 0 на x86 — trap, а на PowerPC — спокойно “едем” дальше: Как определить деление на 0 так, чтобы оптимизаторы перестали считать “раз тут делят, то y точно не 0, и можно слегка подоптимизировать”, и получить эффективный код на x86 и на PowerPC?

С дереференсом 0 тоже полно приколов, Как определить Null pointer dereference так, чтобы оптимизаторы перестали считать “раз тут ptr дереференсится, то он точно не Null,и можно наоптимизировать”, и получить эффективный код на x86 (где вообще-то нет никаких проблем отмапить 0 по своей нужде) и на ARM (где обычно на 0 — обработчики исключений)?

Может, проще оптимизаторы запретить? Или собрать специальную рабочую группу ООН, которая напишет, а ГА ООН примет соответствующую резолюцию о единственно расово верных реакциях на все ситуации для всех производителей процессоров? <сарказм>

Словом, «И нашим, и вашим» — не получится, если мы о ЯВУ, у которых “высота” уровня низка настолько, что позволяет легко и эффективно писать программы для bare metal, а не каких-то абстрактных виртуальных машин. У знающих и понимающих целевую архитектуру программистов на ассемблерах описанные выше проблемы не существуют. Правда, у них и чрезмерно прытких оптимизаторов тоже нет. Если разработчик не знает/не понимает архитектуру целевой системы, вряд ли ему следует лезть в C или Rust. В Java или Python ему будет много комфортнее.

А жопоголовому кодеру, который не желает в валидацию данных, не поможет ничего. Он скорее будет возмущаться, что разработчики glibc/bsd libc/musl — идиоты, поскольку в strlen не проверяют (и правильно делают) параметр на NULL, а его программа из-за этого трапнулась.

Может пора выкинуть из языка опасные функции?

Ага. Например, из языка C надо выкинуть операцию сложения. А то из-за неё случаются переполнения, и одни безответственные программисты используют x + 1 < x для проверки, а у других несчастных это x + 1 при переполнении вызывает trap (на MIPS, например), и проверять уже поздно.

С вычитанием, кстати, то же самое. Тоже надо выкинуть.

Безответственному программисту не поможет никакой язык.

По-моему, ЛА3 всегда была хитом продаж. По вполне понятным причинам. Когда я только вкатывался в цифровую электронику (вторая половина 70-х прошлого века), мне мой “ментор” подогнал целую гору военных ТЭЗов, по 16-20 корпусов 133-й серии на каждом, из которых абсолютное большинство были именно ЛА3.

Классные у тебя статьи. Обе две, да.

main (ранее master)

Шли годы, а свежеустановленный git так и продолжает рассказывать нам о том, что название главной ветки master is a subject to change.

У меня в конце 80-х “боевые алгоритмы” шились накруткой, только не на кольца, а на ферритовые “пеньки”. Обычной медной проволокой. Вручную.

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

Автору:

Высшее образование ... не даёт исчерпывающих знаний для успешной карьеры.

И — что важно, но многим почему-то непонятно — не должно!

Респонденту Максиму:

не надо тратить четыре года на какой-нибудь устаревший Pascal

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

Анекдот напомнил другой анекдот. О длине половых органов и констатации огромных объёмов недополученного секса тогдашними радикальными феминистками.

Вы этой своей статьёй тоже способствуете росту позиций COBOL и FORTRAN в индексе Tiobe. Только это не имеет практически никакого отношения к росту популярности этих языков как инструментов. Достаточно одной новости о том, как IBM ищет пару разработчиков на COBOL по $500k в год на брата для поддержки 40-летней системы — и позиция COBOL в индексе Tiobe взлетает ракетой, ведь кругом это обсуждается. А популярность языка не подросла ни на йоту.

Вопрос о вкусах, конечно, но Cisco — далеко не лучший пример стройного и логичного конфига. Он плоский как блин. А их ACL — это вообще печаль. После Juniper (а ещё у Bay Networks был прелестный BCL незадолго до покупки Nortel'ом) простыни Cisco хочется свернуть в трубочку, обнять и плакать :)

CIDR'у пошёл уже четвёртый десяток лет, а кто-то до сих пор о классах вспоминает :)

(иногда UTF-16)

Если принять во внимание, что на 9 из 10 пользовательских компьютеров стоит MS Windows, то ваше “иногда” выглядит довольно забавно :)

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

Самое смешное определение маршрутизатора, когда-либо попадавшееся мне на глаза :) Есть в нём что-то такое по-детски наивное, что прям даже мило.

8 лет назад поехал путешествовать по Европам, и по пути в Петербурге купил Waeco CDF-16. И ни разу с тех времён в нём не разочаровался. А сейчас взглянул на его цену, и порадовался ещё больше :)

Информация

В рейтинге
4 639-й
Откуда
Россия
Зарегистрирован
Активность