Байтоёбство включает в себя:
Императивный стиль программирования как
начало байтоёбского пути.
Дрочка на машинно-ориентированные типы
данных (собственно, основной симптом
байтоёбства) и последующее за ней
закономерное возмездие байтомудакам в виде
big endian vs. little-endian, особенности обработки
чисел с плавающей точкой и.т.д.
Предтерминальные стадии байтоёбства —
интринсикоёбство и его более тяжёлая
форма — инлайн-ассемблероёбство. Подсадка
начинается с убеждённости поциента в
необходимости ручками использовать SIMD
-инструкции.
Терминальная стадия, как итог п.3,
тру-ассемблероёбство и «хроническая
низкоуровневая оптимизация
головного мозга»
В нашем мире, к счастью, подобные симптомы
с распространением java, C# и прочей
«замещающей терапии» встречаются реже,
однако остались две отрасли, входящие в
зону риска:
Гейдев. Байтоёбство в гейдеве берёт своё
начало в 70х-80х, поскольку именно тогда
зародилась традиция байтоёбства в
геймдеве. Обязаны этим, в основном,
восьмибитным соснолям и домашним
компьютерам, которые, обладая малым объёмом
ОЗУ и имея скудные средства
программирования, требовали делать на них
ёба-игры. Эта традиция продолжилась и далее,
всё благодаря тем же консолям, на которых
консолерабы должны были выпускать игры
5 лет, задрачивая их убогие байтоёбские
архитектуры по полной. К сожалению,
подобная практика перешла и на ПК, где
байтоёбство, в общем-то не так оправдано. К
слову байтоёбам-игроделам дали шанс
выбраться из этой трясины в 2002 году, когда
майкрософт запилила дуднет и менеджед
дайректикс к нему. Но байтоёбы остались
верны своим указателям, плюсам и
байтоёбской оптимизации. Зашоренность,
верность привычкам, безыдейность, десу.
Эмбеддед. Причины почти всё те же, что и в
гейдеве. Маломощное железо, пара сотен байт
озу, деревянные игрушки, прибитые к полу
и.т.д. К этому прибавляется огромное
количество разных железок разномастных
архитектур, для которых нет толковых
тулчейнов. Из хорошего — в последние годы
байтоёбство в этой сфере потихоньку
излечивается, спасибо дядям из ARM co ltd,
сделавшим свою архитектуру более менее
распространённым стандартом среди всех
архитектур и огромному количеству
появившихся фреймворков и компиляторов
языков для этой платформы.
Так же распространено ложное утверждение
что байтоёбство крайне необходимо в
системном программировании. На самом деле
этого легко избежать. Рассмотрим
среднестатистическую аппаратную
платформу. Краеугольными камнями любой
аппаратной платформы являются:
Процессорная архитектура
Memory map — адресное пространство, в которое
отображаются RAM, ROM и внешние устройства
Протоколы управления этими самыми внешними
устройствами.
Так вот, всё вышеперечисленное вполне можно
вполне декларативно описать обычным
конфигурационным файлом, не прибегая к
программированию вовсе. Затем, скормить
этот файл генератору платформ и на выходе
получить готовый фреймворк-скелет нашей
операционной системы, доступ к которому
можно получить из любого языка
программирования. Вот так вот просто, если
бы байтоёбство гологного моска не мешало.
ПОССАЛ НА БАЙТОЕБОВ
Только сверхвысокоуровневое программирование, только сокращение затрат!
Пусть дурачье до сих пор копает канавы пластмассовыми лопатками, а то и вовсе руками, а я лучше воспользуюсь экскаватором.
Машина должна и будет служить людям, она не шлюха, чтобы люди исполняли её прихоти. Отсюда байтобляди (а так же сочувствующие им императивные пидорасы, надрачивающие на показатели System.currentTimeMillis() — start) — пиздолисы, которые опускаются до полного говноедства, лишь бы ублажить её регистры и микросхемы. Альфапрограммисты, как и положено альфам, если машина не выполняет положенных ей задач и требует пресмыкаться перед ней и ублажать её байтами, просто берут и за патчкорды, ебашат с вертушки по передней панели и списывают машину на мороз, купив взамен ту, которая не будет выёбываться и выполнит код в сроки и без выебонов, будь там хоть 1000% неоптимизированного оверхеда. И настоящего программиста не волнуют вопросы выдрачивания и быстродействия — он решает важную задачу из предметной области гораздо более сложной, чем низкоуровневое дрочево, и отвлекаться на всякую подзалупную хуету вроде осоьбеннойстей какой-то там архитектуры ему некомильфо.
Двачую, байтоёбы рабы во всём — рабы машины. рабы предубеждений, рабы производительности, рабы стереотипов, рабы обрабатываемых штеудом х86 типов данных — для них всё, что не кратно 2 байтам и больше 16 байт не может быть примитивным типом, хотя число — это просто число, оно может быть целым, дробным, рациональным, комплексным, но не «в 2 байта в 4 байта в 8 байт». Да, байтобляди были актуальны пару-тройку десятков лет назад, когда кроме этого пресловутого отлизывания регистров и микросхем не было способов заставить машину быстро решать задачу. Но теперь-то в нашем распоряжении оптимизирующие компиляторы, многоядерные процессоры с параллелизацией, которые производительнее машин 20летней давности в сотни тысяч раз. Жаль, что программирование было поглощено стереотипным быдлом, не могущим в думать, и способным работать лишь по зазубренной инструкции, написанной кровью и потом сотен павших хомячков-байтоёбов до него. Настоящее, полноценное программирование, благодаря подобным обмудкам, мало теперь где востребовано. Хотя там где оно востребовано, можно кататься как в масле сыр и получать в три раза больше не то что сениор-байтоёба, а ёбанного заместителя директора быдлоконторы в которой этот байтоёб работает. С другой стороны это и хорошо — в космическую промышленность, Data mining и прочие сложные и непосильные для императивных байтохомячков сферы попадает лишь элита.
>>1540527
У меня для тебя плохие новости…
Бугурт байтонищеты без работы и денег, которые работают на еду.
Сосут у ООП(Java, Ruby, Python) господ,
Игры ещё какие-то приплёл, уёбок. Попробуй ссать этим в уши тем, кто разрабатывает биржевые торговые системы, там где критически важно раздавать огромное количество информации огромному количеству клиентов с минимальной задержкой. Посмотрел бы я как там твоё менеджед-говнецо заработает.
Каким бы быстрым ни был компьютер, пользователю всегда хочется большей скорости, иначе не наблюдалось бы постоянного спроса на еще более быстрые компьютеры. И самой быстрой программой на данном оборудовании всегда будет программа, написанная на ассемблере.
>>1540637
Вопрос ещё в стоимости и времени разработки. Потому, что к тому времени как ты разработаешь программу с оптимальной производительностью, уже появится оборудование, на котором хуйня написанная обезьяной с использованием первой попавшейся технологии, будет работать быстрее, разница только в том, что на обезьяну потратили намного меньше, а программа заработала на несколько лет раньше, чем у тебя.
>>1540636
Разве всякая биржевая хуйня не на Коболе пишется, самом громоздком языке в мире?
>>1540640
То, что было написано в лохматые года, наверное не переписывается, но я не думаю, что этого так много, всё же нагрузки растут, и приходится переписывать как торговое ядро, так и то, что собственно распределяет данные, даже если там были десятки лет коболотрудов, уже могли всё переписать.
(← + Сtrl) вернуться назадк новым сообщениям (Сtrl + →)