История создания легенды


Сегодня, в 2018 году, мы отмечаем сорокалетие, пожалуй, ключевого в истории персональных компьютеров процессора, а именно – Intel 8086.
image

Именно с него началась эпоха архитектуры x86, заложившей основы развития процессоров на многие годы и десятилетия вперед, именно ему мы обязаны взлету популярности компьютера как индивидуальной единицы, доступной каждому пользователю. В честь 40-летнего юбилея процессора, с которого началось превращение Intel в многомиллиардную корпорацию, компания представила небольшой символический подарок своим поклонникам — им стал юбилейный i7-8086K, первым процессором в истории Intel, способным работать на частоте 5 ГГц прямо из коробки.

image

Но сегодня мы не будем петь дифирамбы инженерам современных процессоров-лидеров, а вернемся в далекое прошлое, в 1976 год, где и началась история Intel 8086. И началась она с совершенно другого процессора.

В 1976 году компания Intel поставила перед своими инженерами серьезную задачу – создать первый в мире микропроцессор, поддерживающий работу в формате многозадачности, а также обладающий встроенным в чип контроллером памяти. Сейчас эти технологические особенности можно без труда обнаружить даже в самых доступных процессорах на рынке, но 42 года назад подобные технологические новшества обещали перегнать целую эпоху – Intel планировала перейти на 32-битные вычисления в тот момент, когда господствовали 8-битные системы, и даже 16-бит были очень далеко. К сожалению, или к счастью, амбиции руководителей Intel столкнулись с суровой реальностью в виде нескольких переносов сроков, технологическими проблемами и осознанием того, что технологии 1976 года еще не шагнули так далеко, чтобы воплотить в жизнь такие смелые задумки. А главное – Intel настолько увлеклась созданием, как сказали бы на западе, over-engineered архитектуры, что упустила из виду практичность с точки зрения программного обеспечения. Именно непрактичность и нарочитую усложненность системы раскритиковал на одном из совещаний приглашенный эксперт по имени Стивен Морс – 36-летний инженер микроэлектроники, специализирующийся тогда на программном обеспечении. Тем не менее, Intel не торопилась учитывать критические замечания, поэтому заметки Морса отправились в долгий ящик.

Но как оказалось позже, они были крайне полезными – уже в июле 1976 года небольшая компания Zilog, основанная изобретателем Intel 4004 и Intel 8008 Федерико Фаджином, а также менеджером Intel Ральфом Унгерманном и еще одним разработчиком 4004, японцем Масатоси Сима, представила на рынке свой процессор Z-80, ставший фактической работой над ошибками на базе Intel 8080.

image

Усовершенствовав архитектуру оригинального процессора Intel, команда Zilog предложила недорогой и производительный процессор, сразу же полюбившийся многим производителям техники и ведущих платформ того времени. Именно Z-80 лег в основу легендарного ZX Spectrum, а также был установлен в не менее известный Commodore 128 в качестве сопроцессора. Z-80 стал невероятно успешным во многих уголках мира, и этот успех не мог остаться незамеченным – в Intel срочно решили, что Z-80 нужен достойный конкурент.

Именно здесь руководители компании вспомнили о замечаниях Стивена Морса, и предложили тому возглавить создание принципиально нового процессора, призванного составить конкуренцию новинке от Zilog. Intel не видели особенных причин задавать рамки в этом проекте – тогда всем казалось, что новый процессор будет быстрым ответом на Z-80, и забудется в течение следующих лет, поэтому Морс получил зеленый свет на любые эксперименты. Именно навязчивая мысль о том, что процессор должен строиться вокруг эффективности работы с ПО, как выяснилось позже, стала ключевой для развития всей индустрии.

В мае 1976 года Стив Морс приступил к работе над архитектурой нового процессора. В сущности, задача, поставленная перед Морсом, была проста. Если новый 16-битный чип должен давать значительное увеличение скорости по сравнению с 8-битным 8080-м, он должен отличаться по ряду параметров. Но Intel хотела добиться, чтобы потребители обращались к ней повторно. Как один из способов добиться этого рассматривалась возможность перевода на более высокий уровень системы, разработанной для менее мощного процессора, при замене которого новым она будет работать. Для этого, в идеале, новый процессор должен быть совместим с любой программой, написанной для 8080.

Морсу приходилось отталкиваться от проекта 8080, в соответствии с которым процессор назначал «адрес» каждому месту, где хранились числа, подобно ярлыкам классификатора. Адреса представляли собой 16-битные двоичные числа, что позволяло обозначить 65536 различных адресов. Этот потолок был приемлем, когда разработчикам требовалось экономно использовать память. Однако теперь потребителям понадобился больший объем, они настаивали на преодолении барьера в 64 Кбайт.

В июле 1978 года новый процессор, получивший название Intel 8086, появился на рынке.

image

Его выход не стал фурором или невероятным успехом. Впервые процессор попал на прилавки в составе нескольких бюджетных компьютеров, не пользующихся популярностью, а также использовался в различных терминалах. Чуть позже он лег в основу микроконтроллера NASA, где использовался для контроля над диагностическими системами ракетного пуска вплоть до начала 2000-х годов.

Морс покинул Intel в 1979 году, как раз перед тем, как компания представила Intel 8088, — практически идентичный 8086 микропроцессор, обеспечивавший совместимость с 8-битными системами через деление 16-битной шины на два цикла. Сам Морс назвал этот процессор «кастрированной» версией 8086.

Легендарный статус 8088 получил позже, когда в 1980 году IBM впервые задумалась о покорении рынка персональных компьютеров и создании компьютера, который был бы достаточно недорогим, и включал в себя комплектующие среднего класса. Именно IBM 5150, более известный под брендом IBM PC, и получил в основу процессор 8088 (по сути, все тот же 8086), благодаря чему Intel стала широко известной даже в кругах рядовых пользователей. А ведь на место 8088 претендовала и Motorola 68000 (основа первого Apple Macintosh), но руководство IBM отдала предпочтение Intel.

image

IBM PC быстро превратился в главную силу на рынке компьютерных систем, и Intel, следуя логике «дальше-лучше», продолжила выпускать процессоры – 80186, 80286, 80386, 80486, Pentium и так далее – на базе все той же основы Стивена Морса, заложенной им еще в 8086. Именно благодаря двум последним цифрам архитектура стала известна как «х86», а невероятная популярность компьютеров IBM обеспечила Intel огромные прибыли и узнаваемость в качестве бренда.

Архитектурные особенности 8086


В плане архитектурных особенностей Intel 8086 во многом опирался на опыт разработки процессора 8080, и его усовершенствованного собрата 8085, вышедшего на рынок летом 1976 года. Несмотря на некоторые параллели, 8086 стал первым 16-битным процессором компании, располагавшим 16 каналами данных и 20 адресными каналами, способными обрабатывать до 1 Мб данных, а также имел широкий набор инструкций, позволявших, среди всего прочего, проводить операции деления/умножения. Особенностью работы 8086 было наличие двух режимов – Минимального и Максимального, последний из которых предполагал использование процессора в системе с несколькими процессорами, а первый – в классических системах с одним процессором.

В Intel 8086 впервые появилась очередь инструкций, позволяющая хранить до шести байт инструкций напрямую из памяти, значительно сокращая время на их обработку. 16-битная природа процессора не была основана лишь на нескольких компонентах, ведь 8086 составляли 16-битный ALU, 16-битные регистры, а также внутренняя и внешняя шина данных, обрабатывающие данные по 16-битным инструкциям, благодаря чему система работала значительно быстрее, чем с более ранними процессорами Intel.

Конечно, из-за такого масштабного набора инноваций 8086 был значительно дороже предшественника, но и в подобном ключе у потребителя был выбор — Intel предлагала купить новинку в нескольких вариантах, зависевших от частот процессора – они варьировались от 5 до 10 МГц.

С точки зрения архитектуры микропроцессор Intel 8086 состоял из двух аппаратных модулей – модуля выполнения и модуля интерфейса шины. Модуль выполнения указывал модулю интерфейса шины, откуда получать данные инструкций, а после этого приступал к их подготовке и выполнению. Его суть сводилась к управлению данными с помощью декодера инструкций и блока ALU, при этом сам модуль не имел прямого соединения с шинами данных, и работал исключительно через модуль интерфейса шины.

Модуль выполнения содержал блок АЛУ, предназначенный для выполнения логических и арифметических операций, таких как умножение, деление, сложение, вычитание или операции по типу OR, AND и NOT. Также здесь был 16-битный регистр флагов, хранивший различные состояния операций в аккумуляторе – всего их было 9, 6 из которых были флагами состояния, а 3 являлись системными флагами, отражающими статус работы устройства.

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

Помимо флагов модуль выполнения операций содержал 8 регистров общего назначения, которые использовались для передачи данных через шину в 16 бит. При этом сохранялась совместимость с предыдущим поколением программного обеспечения для 8-битных систем, потому что регистры общего назначения (AX, BX, CX, DX) могли работать как в режиме 16-битной шины, так и в режиме считывания данных с младших (AL, BL, CL, DL) и старших (AH, BH, CH, DH) регистров одновременно, обеспечивая двухканальную работу в формате 8-битной шины. Именно благодаря акценту на совместимость с предшествующими платформами с точки зрения программного обеспечения архитектура x86 стала ключевой и послужила основой для большинства последующих процессоров.

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

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

В данном модуле содержится одна из ключевых архитектурных особенностей процессора 8086 – очередь инструкций. Модуль интерфейса шины включает очередь инструкций, способную хранить до 6 байт инструкций в буфере, отсылая новые инструкции по конвейеру после того, как от модуля выполнения поступит соответствующий запрос. Термин pipelining появился именно с выходом на рынок процессора 8086, так как он означает подготовку следующей инструкции в момент, когда предыдущая находится в процессе выполнения.

Здесь же располагается 4 сегментных регистра, отвечающих за буферизацию адресов инструкций и сопутствующих им данных в памяти компьютера, и тем самым обеспечивающих доступ к нужным сегментам центральному процессору. В регистре также содержится указатель команды (IP), содержащий адрес следующей инструкции, предназначенной для модуля выполнения.

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

Intel 8086 стал первым 16-битным процессором компании, доступном в 40-контактном DIP (ди ай пи) корпусе, который наряду со множеством прочих особенностей, стал одним из стандартов в микроэлектронике последующих лет.

Влияние и наследие


Стивен Морс, создавая концепцию небольшого «дочернего» процессора в стенах Intel, едва ли мог предположить, что находится на пороге создания исторического микропроцессора. Выход Intel 8086 был скромным и неоднозначным, однако его младший брат 8088 обрел славу в составе IBM PC/XT, позволив компании Intel обрести известность и получить колоссальную прибыль.

Архитектура х86 легла в основу всех дальнейших процессоров Intel, осознавшей удобство и универсальность концепции Морса «сначала ПО — потом начинка». Каждый следующий процессор строился на фундаменте предыдущего, обрастая новыми технологиями, инструкциями и блоками, но по своей сути немногим отличался от 8086.

image

И даже сегодня, глядя на i7 8086K, нужно понимать, что где-то глубоко внутри него еще находятся корни того самого процессора, увидевшего свет 40 лет назад, ознаменовавшего открытие эпохи х86.

Наш видеоролик на основе этой статьи:



Автор статьи Александр Лис.

Комментарии (201)


  1. reversecode
    23.07.2018 23:49
    +1

    А сделайте экстраполяцию и нарисуйте процессор 2058 года?


    1. RiddleRider Автор
      23.07.2018 23:58

      Закон Мура уже перестал действовать на полупроводники. Неизвестно что будет через 20-30 лет. Может все на кванты перейдут или на троичные вычисления))


  1. DrPass
    24.07.2018 00:09
    +3

    Intel 8086 стал первым 16-битным процессором компании, доступном в 40-контактном DIP (ди ай пи) корпусе, который наряду со множеством прочих особенностей, стал одним из стандартов в микроэлектронике последующих лет

    Правильнее было бы сказать, что первым и последним (не считая i8088, конечно). В DIP-40 на то время уже много лет выпускались 8-битные процессоры. А для 16-битного процессора этого корпуса уже было недостаточно, но насколько я знаю, большего в распоряжении Intel на момент выпуска 8086 просто не было. И именно поэтому в 8086 пошли на компромисс — сделали мультиплексируемую шину, чтобы передавать сигналы адреса и данных по одним и тем же линиям. Как только освоили корпуса PGA, все последующие модели 16-битных процессоров, 80186, 80286 выпускали уже в них, и с раздельными шинами.


    1. Tanner
      24.07.2018 02:44

      Z8002 ещё был в DIP-40.


      1. vasimv
        24.07.2018 14:23

        P8X32A-D40 и сейчас выпускается. Но там вроде только про интеловые говорили. :)


  1. onehell
    24.07.2018 01:37
    +1

    В 2018 году мы отмечаем сорокалетие 8086. По случаю хотелось бы попросить к статье голосовалку: кто из современных айтишников (людей, более-менее причастных к IT) на сегодня понимает, как работает процессор? Регистры, кэши, прерывания, виртуальная память, аппаратный стек?

    Кажется мне, что большинство не помнит ни историю страны ни историю своей профессии. Очень хочу ошибаться.


    1. Alexsey
      24.07.2018 02:08

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


      1. khim
        24.07.2018 02:19

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


        1. stychos
          24.07.2018 04:06

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


          1. khim
            24.07.2018 04:14

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

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

            Что с этим делать — очень сложный вопрос…


            1. stychos
              24.07.2018 04:59

              Ну это тогда ещё вопрос, кого считать грамотным человеком. Множество исторических записей множества исторических личностей каллиграфичностью не блещут, скажем мягко. Ну а врачам, судя по всему, сам Гиппократ велел писать неразборчиво во все века. Ещё каллиграфии нас пытались в школе учить (я ещё немножко застал перья и промокашки). Отвратительно это у них получалось, скажу я Вам, и почерк конкретно у меня начал вырабатываться только в университете, когда ради компактификации приходилось писать буквы меньших размеров и с меньшим количеством изгибов. Потом, бывало, игрался с хорошими шариковыми ручками, но понял, что быть каллиграфистом, всё-таки — не моё. В целом же, данная область и в наше время весьма востребована, причём один из лучших мировых каллиграфов родом из России. Просто называется оно заумным словом «леттеринг».


        1. immaculate
          24.07.2018 04:18

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


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


          Но требовать этого от всех невозможно. Есть человек, который, например, пишет пьесы. У него мозг вообще по-другому устроен, у него нет ни времени, ни задатков для понимания таких вещей. И зачем с него это требовать? Он же не требует от нас понимания того, по каким принципам пишутся пьесы.


          1. striver
            24.07.2018 09:49

            Более того, есть специалисты, которые разбираются в «железе» при ремонтах двигателя, а что касается ПО, то они могут быть очень далеки. Точно так же софтовики, они знают принцип, а вот как сделать — это не их, может быть вообще не интересно. А сейчас найти ДВС без ПО — солоноватое задание.


            1. gerasimenkoao
              24.07.2018 13:35

              Легко!
              Газонокосилки, бензопилы, и даже, внезапно! Yamaha YBR125

              Но когда-то, студентом, я сам чинил «копейку» и перебирал двигатель.

              Сейчас даже желания нет просто подключиться по OBD2 и посмотреть режимы работы — хотя все для этого есть.

              И знание устройства двигателя к сожалению теперь не помогает экономить топливо.

              В общем-да, компьютеры уже давно перешагнули тот рубеж, когда можно было самому спроектировать от а до я (Радио-86РК)


        1. striver
          24.07.2018 08:44

          Основная функция автомобиля — выполнять транспортную работу, а не стоять на ремонте. Если 30 лет назад и ожидали от водителя, что он и механик и слесарь… а еще и водитель, то только в СССР. У него другая функция, он должен знать принцип работы, чтоб эффективно эксплуатировать. Поэтому у них есть DHLы и доставки через день, а то и день в день… а наших краях ...«Почта»…


          1. Wernisag
            24.07.2018 11:10

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


            1. striver
              24.07.2018 12:58

              Хочу привести пример как работали в колхозе… при уборке урожая зерновых. Мой родной дядя, заслуженный трудяга, передовик, отличный механик/слесарь/водитель и инженер (да, даже был главным инженером в колхозе). До уборки урожая свою Ниву готовил по 2-3 месяца. Наступает час уборки, полдня на поле и что-то отвалилось… притянули на ремонт. Вечер-ночь с напарником работают над техникой, чтоб она выехала утром… героические усилия и они приварили/заменили/устранили течь/подставить свой вариант… работают день-два — очередные проблемы, барабаны не правильно настроены (треть урожая вылетает в «трубу»), перегревается жидкость в радиаторе, накрылся выгрузочный шнек… обломался самосвал отвозящий зерно на склад. Переходим с гороха на пшеницу — полдня на переконфигурацию барабанов. Потом, после развала союза, появились Доминаторы, Джон Диры, Массей Фергюсоны… один раз спрашиваю у дяди, какая скорость у забугорного комбайна по уборке урожая… в ответ слышу:"… Фергюсон собирает урожай по полю с такой скоростью, с которой Нива даже по асфальту не едет...". Это я очень хорошо знаю, потому что еще с раннего детства уборка урожая не проходила меня мило. Ибо была возможность просто «кататься» в кабине комбайна и для меня был просто кайф. Так что я много повидал, а еще мог сравнить Джон Дир, с его кабиной с кондером и Ниву… Если сравнивать, то тогда с потугами справлялись с задачей за почти за 1 месяц дюжина комбайнов. Сейчас — 2-3 за полторы недели.
              Ответственность очень полезно и нужно, но каждый должен заниматься своим делом.

              В штатах могут легко уволить сотрудника, у нас же легко могут предложить написать по собственному желанию.
              Ага, если ты в профсоюзе, то легко у них не уволят. У нас же, сами профсоюзы поспособствуют твоему увольнению. Есть хорошое сравнение работы полицейских в США и в наших краях, в частности сравнивали в РФ, в лице бывшего полицейского из США Михаила Лапидуса. Про то, что он не имеет права менять колесо на автомобиле, даже если может, ибо были случаи, когда полицейских убивали, а у нас — у полицейского, кто закреплен за автомобилем, то должен ты быть чуть ли не механиком, а в последнюю очередь полицейским. Так же были обсуждения о субординации и профсоюзах. Там у них отстаивают права… Да, полиция не самый лучший пример, у каждого государства есть много косяков… но раз сравнили.
              А уже отсюда следует, что какая разница как работать, если из почтальонов всегда можно устроиться грузчиком или таксистом.
              Еще раз, разница в том, что у нас — специалисты широкого профиля, у них — узкого. В целом, мы хорошо адаптируемся под разные условия, они нет, но и работают они эффективней. А для этого нужно обеспечивать стабильность… которой у нас нет, поэтому приходится быть широкопрофильным специалистом.


              1. Wernisag
                24.07.2018 19:51

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


                1. striver
                  24.07.2018 20:45

                  На счет профсоюзов официантов не уверен. Если такие есть, то если его за это выгнали или подали в суд, то в теории профсоюз должен его защищать. Чтобы он не сделал. Может клиент ухватил официанта за половые органы… тут еще разбираться нужно. А если просто не нравится человек по какаи-то причинам, он, например, республиканец....- за ним будут стоять горой, ибо безосновательное увольнение, они еще бабло заработают в судах. У нас, чтоб кто-то судился с работодателем, за то, что его уволили… сомнительно, в редких исключительных случаях. Да, в США, где нет профсоюзов, то там могут уволить и за 3 минуты. Там это очень быстро.

                  Вот вышеупомянутый полицейский Лапидус, о бывших своих американских полицейских профсоюзах. Я не хочу вдаваться в подробности США, ибо их нет. Но есть примеры наших, совковых профсоюзов. Когда профсоюзы возглавляют члены правления компании. Каким образом член правления будет отстаивать права рабочих перед правлением, если он сам и есть правление. Когда профсоюзы, вместо того, чтоб становится на сторону рабочих, сами собирают заявления на увольнения по собственному, с угрозами, наездами и прочими административными методами. Я вообще молчу о сверхурочных и походах в обычный отпуск. Профсоюз — это должно быть отдельное государство в компании, а не быть его частью. Когда руководство компании не является твоим прямым начальником и не говорит, что тебе делать. Это не профсоюзы. Это полная ерунда. В отличии от западных стран, где есть некая независимость от работодателя, когда его представители могут наехать на руководителя предприятия, и ему придется идти на переговоры. Вот, вспомнил. Есть хороший пример такой борьбы в главных командных спортивных дисциплинах США (баскетбол, футбол, хоккей, бейсбол). Там бывают так называемые локауты, когда профсоюзы игроков не сходятся во мнении с владельцами клубов по тем или иным суммам или условиям. Даже у тех, кто зарабатывает миллионы в год есть профсоюзы и они отстаивают свои права. У нас даже и близко такого нет.


              1. burzooom
                24.07.2018 22:10
                +1

                Итог — в будущей колонизации планет, русские первопроходцы будут на расхват


            1. vbif
              24.07.2018 19:35

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


              1. Wernisag
                24.07.2018 19:43
                +1

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


                1. vbif
                  25.07.2018 10:16

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


        1. Mike_soft
          24.07.2018 08:52

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


        1. roscomtheend
          24.07.2018 09:06

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


          1. immaculate
            24.07.2018 09:27

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


            Языки, которыми мне приходится пользоваться каждый день, обновляются, наверное, чаще, чем раз в месяц. Причем новые конструкции зачастую не совсем очевидные. Стандартные библиотеки этих языков тоже меняются с большой скоростью и обладают огромным объемом. Кроме стандартной библиотеки, приходится пользоваться кучей сторонних библиотек, тут уже вообще надо помнить не только их API, но и баги и особенности многих методов. Все это вместе собирается какими-то package managers, preprocessors, и т.д. и т.п. У каждой этой системы свои нюансы, и они тоже меняются с огромной скоростью, не всегда соблюдая обратную совместимость. В общем и целом, удержать такой объем знаний лично мне в голове не удается. Постоянно приходится пользоваться справочниками и Google.


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


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


      1. gerasimenkoao
        24.07.2018 09:30

        За понимание физики процесса — общество потребления настолько отучило нас всех от необходимости понимать хотя-бы основные принципы функционирования механизмов и электроники, что мы в прямом и переносном смысле стали витать в «Облаках».

        Отсюда и «раздутый» код, и требования больших ресурсов.

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

        А ведь еще казалось-бы совсем недавно мы таки пользовались таблицами количества тактов на ту или иную команду (я на 80286 еще ими пользовался), буквально «вылизывали» код.

        Отчасти подобное сейчас можно встретить при программировании микроконтроллеров, за что они мне и нравятся — чистый код, без 80% времени на заморочки — а как будут выглядеть окошки в различных браузерах/масштабах.

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

        В общем, как говорится — Богу — Божье, Кесарю-кесарево


        1. Whuthering
          24.07.2018 13:04

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

          Не соглашусь. Сегодня в каждой второй компании, если не в каждой первой, на собеседовании на должность миддла и выше обязательно будут спрашивать с пристрастием на понимание оценки вычислительной сложности стандартных алгоритмов и часто используемых структур данных, на то, как оно лежит в памяти, и т.д. И на code-review за откровенную халтуру вполне могут наступать по голове минусами.
          Да, без фанатизма. Даже Дейстра говорил, что преждевременная оптимизация — зло :)

          А ведь еще казалось-бы совсем недавно мы таки пользовались таблицами количества тактов на ту или иную команду (я на 80286 еще ими пользовался), буквально «вылизывали» код.

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


          1. khim
            24.07.2018 22:26

            Сегодня в каждой второй компании, если не в каждой первой, на собеседовании на должность миддла и выше обязательно будут спрашивать с пристрастием на понимание оценки вычислительной сложности стандартных алгоритмов и часто используемых структур данных, на то, как оно лежит в памяти, и т.д.
            Во-первых — не во всех. Во-вторых, если вы посмотрите на регулярно появляющиеся статьи на Хабре подавляющее большинство соискателей твёрдо уверены — что это такой «бзик», «пережиток прошлого», который нужно как можно быстрее искоренить…

            Да, без фанатизма. Даже Дейстра говорил, что преждевременная оптимизация — зло :)
            Во-первых — не Дейкстра, а Кнут.

            А во-вторых — читайте первоисточники.

            Там есть не одна ключевая фраза, а две.
            1. We should forget about small efficiencies, say about 97% of the time: premature
            optimization is the root of all evil.
            2. In established engineering disciplines a 12 % improvement, easily obtained, is never considered marginal; and I believe the same viewpoint should prevail in software
            engineering.

            А современные «писатели» с лёгкостью тратят не лишние 12%, а даже не лишние 120%, а лишние 12000%.

            А сегодня на одной чаше весов производительность и оптимизации, а на другой чаше скорость разработки (оперативность выкатывания новых фич на рынок) и стоимость времени разработчиков.
            Дык нет же! Новые фичи по прежнему выкатываются долго и мучительно. И разработка ведётся ничуть не быстрее, чем на самых ранних версиях Visual Basic'ы или Delphi.

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


    1. immaculate
      24.07.2018 03:09

      кто из современных айтишников (людей, более-менее причастных к IT) на сегодня понимает, как работает процессор? Регистры, кэши, прерывания, виртуальная память, аппаратный стек?

      Я понимаю, так как мне уже довольно много лет, и я начинал программировать на ассемблере x86. Но проблема в том, что количество знаний, требуемых по работе, растет экспоненциально. Когда я только начинал работать, было 3-4 популярных языка программирования (скажем, C, C++, Perl, Java). Библиотек, тем более фреймворков, почти не было.


      Сейчас же используется едва ли не несколько десятков ЯП, сотни тысяч библиотек, сотни фреймворков. Все это очень быстрыми темпами меняется, взаимодействует между собой сотнями различных способов, деплоится десятками различных способов. Любое приложение отделено от железа массой слоев.


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


      1. khim
        24.07.2018 04:36

        Сейчас же используется едва ли не несколько десятков ЯП, сотни тысяч библиотек, сотни фреймворков. Все это очень быстрыми темпами меняется, взаимодействует между собой сотнями различных способов, деплоится десятками различных способов. Любое приложение отделено от железа массой слоев.
        С одной стороны — да, это всё так, а с другой стороны… а зачем это всё так?

        Вот что мы получили перейдя от программы, поставлявшейся на дискете 170K и работавшей на компьютере с процессором 1Mhz (да, не 1GHz, а 1MHz)

        к современному Office 365?

        Да, мы получили какое-то количество новых возможностей… но стоят ли они тысячекратного увеличения сложности и многократного (хотя всё же не тысячекратного, слава богу) снижения надёжности?

        Во времена 8-битных компьютеров, когда на экране «тёплого, лампового» телевизора вместо ожидаемых картинок появлалась какая-то фигня — нужно было брать тестер и прозванивать цепи… чтобы это происходило из-за ошибок в программе… это нужно было что-то неверноятно странное сделать… сейчас же… когда ошибки в iOS видны прямо в рекламном ролике — это воспринимается как норма.

        Возникает довольно-таки неприятное ощещение того, что мы где-то соврешили поворот «не туда»… причём довольно-таки сильно «не туда»…


        1. immaculate
          24.07.2018 04:48

          Это отчасти философский вопрос. Я и сам часто так думаю.


          Так устроено общество, капитализм. Люди любят всё новое. Если компания не выпускает постоянно новые продукты, то покупатели уйдут к тому, кто всё время выпускает что-то новое. Часто делается обновление ради обновления.


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


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


          А если кто-то становится монополистом, то ситуация не лучше. Монополисту нет смысла улучшать продукт ­— он лучше сократит всех людей, которые над ним работали, и улучшит свои бизнес-метрики. Сразу на ум приходит MS IE 6, который был просто кошмарным браузером, и столько лет отравлял всем разработчикам жизнь, но MS распустила всю команду и не исправляла ни одной ошибки, потому что в этом для них не было никакого резона — и так все пользуются, зачем тратить деньги на улучшение?..


        1. alexr64
          24.07.2018 04:58

          За мои 12 лет владения компьютером, мы этот «поворот не туда» совершаем уже в третий раз: популярная одно время маркетинговая фраза «два ядра два гига» сначала означала мощный игровой компьютер, потом офисную машину, а теперь у меня такой аппарат в качестве роутера стоит.


          1. Whuthering
            24.07.2018 13:08

            Однако при всем при этом стоит иметь в виду, что «два гига два ядра» вместо 100-мегагерцевого MIPS'а роутеру сегодня нужно не из-за криво написанного кода прошивки, а из-за увеличения скоростей передачи данных в десятки и сотни раз, появлению более эффективных радиоинтерфейсов и усложнении технологий шифрования. Практическую пользу в жизни от всего вышеперечисленного, надеюсь, Вы орицать не будете :)


            1. alexr64
              24.07.2018 21:09

              Отрицать??? Что Вы! Я счастлив =) Впрочем, роутера на MIPS у меня тоже никогда и не было. Все как то х86…


        1. stychos
          24.07.2018 05:10

          Затем, что прогресс требует жертв. Люди требует «красивее» и «почаще», вот и создаются сотни слоёв абстракций, чтобы обычные программисты среднего уровня могли над всем этим работать в больших командах. Ну примерно как пару сотен обезъянок над «Войной и Миром». Я разделяю ту простую точку зрения, что рано или поздно, программисты дойдут до создания AI сносной соображательной способности для того, чтобы начать заменять человеческие профессии. И первая профессия, которая будет заменена — это вот такой вот кодинг, просто этот AI станет очередным слоем абстракции, и очередные молодые скриптикидди будут строить миллионы «умных» приложений с его помощью. И смотреть порнухукотиков в интернетике. А мы так и не будем понимать, зачем они это делают на своих эксафлопсовых наладонниках, потребляя терабайты памяти и гигабайты траффика.
          Я не то чтобы против Ваших доводов, я и сам так думаю. Просто осознал, что они (доводы) устарели. Люди размножаются сильнее быстрее того, чтобы всё делалось долго и вдумчиво. Надо смириться и идти в потоке, всего Вы уже не обхватите.


          1. stychos
            24.07.2018 05:17

            Скажем так, навскидку, ближайшая понятная аналогия, отвечающая на вопрос «как так получилось?» — это юриспруденция. Там тоже сначала было маленькое и понятное устное предание о табличке с некими заповедями, но со временем это выросло в огромную книженцию (Библия, ага), а потом это всё обросло кучей дополнений (Молот Ведьм, например). Потом изобрели книгопечатание и эти осовременненые таблички начали совать в каждый населённый пункт. Но даже до этого момента, начались форки в виде «законов», в которых зачастую описывалось то же самое, но немного другими словами. Ну в итоге население растёт, его аппетиты и требования постоянно меняются, также постоянно меняются и дополняются эти законы, появляются новые слои абстракций, которые тоже форкаются, меняются и дополняются… ну в итоге их насраросли уже такие объёмы, что ни один вменяемый человек не сможет их все помнить и соблюдать, и обмазан этими законами сног и головы, а с некоторыми его частями носится всю жизнь (ну паспорт, например, налоги, поборы, вот это вот всё).


            1. 9660
              24.07.2018 06:19

              А где в вашей системе место таким вещам как римское право?


              1. stychos
                24.07.2018 06:20

                Ну так и древнеримские боги пораньше римского права завелись.


                1. 9660
                  24.07.2018 07:29

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


                  1. stychos
                    24.07.2018 07:33

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


                    1. 9660
                      24.07.2018 08:42

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

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

                      Как по мне так просто низы потребовали внятно сформулировать законы по которым их судят. Религия тут за уши притянута.


                      1. stychos
                        25.07.2018 06:32

                        Ну хорошо, а что было до законов 12 таблиц?

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


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

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


            1. roscomtheend
              24.07.2018 09:22

              Еврейские боги (с теми самыми 10 заповедями) — это заимствование более ранних законов (типа законов Хаммурапи) (в качестве второстепенных). Тем более эти самые "10 заповедей" имели в том же самом сборнике сказок исключения (когда персонажи их нарушали), не говоря обо всяких вольных трактовках в реале, так что не всё так просто даже там.


              1. stychos
                25.07.2018 06:30

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


                1. immaculate
                  25.07.2018 07:06

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


                  Например, когда появились ИП с налогом в 6% или меньше (на патенте в зависимости от города и рода деятельности может быть меньше), многие компании посокращали сотрудников, заставили их открыть ИП, и перечисляли им зарплату как платежи ИП. Я лично был свидетелем такого.


                  Так же как и в программировании: наперед предусмотреть все возможные баги невозможно.


                  Поэтому никуда не деться, система не может стать совершенной по определению. Кстати, некоторые древние философы отлично это понимали.


          1. alexr64
            24.07.2018 05:25

            Вот киски то — как раз понятно. Это «первобытный» двигатель прогресса как минимум в части пропускной способности интернет-каналов. Но почему офисная машина каждые пару лет вырастает по требованиям к железу, без развития функционала, — вот где загвоздка…


            1. stychos
              24.07.2018 05:32

              Потому что киски требуют не только бoльших каналов, но и большего количества пикселей, что требует более мощного железа. Это мне тоже казалось, что раньше фильмы и на 700 мегабайт по паре штук помещались, и при этом обладали весьма хорошей картинкой. Пока я не нашёл недавно один такой фильм, и не посмотрел на его невероятное качество на 1080p-мониторе. Про 4K и заикаться не стоит. Ну а офисные работники тоже хотят на кисок посмотреть.
              Когда мы были маленькими, и «Кошмар на улице Вязов» был страшным и с обалденными спецэффектами. но разве сейчас таким кого-нибудь удивить? Это всё выросло всё-таки немного больше, чем ощущается, и многое из этого действительно требует кратных мощностей, ну по крайней мере 3D-графика и банальный вывод миллионов пикселей на экран. Это в CGA нам хватало 16 кбайт, но сейчас всё чуть сложнее.
              Ах да, вспомнил тут ещё, как у меня Windows 95 грузилась минут пять — и это было вполне нормальное время загрузки :-)


              1. da-nie
                24.07.2018 07:17

                Ах да, вспомнил тут ещё, как у меня Windows 95 грузилась минут пять — и это было вполне нормальное время загрузки :-)


                А сколько ОЗУ было и какой процессор? Потому как я тут пару лет назад собрал 486 и получилось так:


                1. stychos
                  24.07.2018 07:25

                  У Вас весьма шустренько. Процессор неплохой был, AMD K5 PR-75, 4 мегабайта ОЗУ. Но и система засранная весьма была, плюс при загрузке выполняла кучку всего по netlogon. Ой да, совсем забыл — ещё и кольцевая сеть, разрушаемая одним ловким движением швабры уборщицы! И когда, бывало, вирусы по ней ходили — их было реально по кругу слышно (дисководами шуршали по очереди).

                  upd: задумался, может то был и Am5x86-P75… потому что вроде k6 ещё только выйдут через пару лет и будут бомбой… плохо уже помню.


                  1. DrPass
                    24.07.2018 10:36

                    Ну так то дело в 4-х мегабайтах. Рекомендованный объем ОЗУ для Вин95 был от 8 метров, и то, она там себя так себе чувствовала, когда что-то жЫрное в офисе открываешь. Вот с 12 начиналось счастье.


                1. dimka11
                  24.07.2018 20:48
                  +1

                  И это без SSD, Многоядерного процессора и UEFI с fast boot и gop.


                  1. alexr64
                    24.07.2018 20:53
                    +1

                    Там с диска читать то… От силы 5 мбайт. Какие еще fast boot'ы?


                    1. da-nie
                      24.07.2018 21:15

                      Правильно. :)


                  1. stychos
                    25.07.2018 01:37

                    Вам никто не мешает сейчас написать операционку, которая будет занимать не больше места, при этом мгновенно загружаться целиком из UEFI и не требовать долгой и нудной установки.


              1. roscomtheend
                24.07.2018 09:32

                и при этом обладали весьма хорошей картинкой

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


            1. KostaArnorsky
              25.07.2018 02:17

              Не знаю, что у вас там в офисе происходит, а в мой реальности уродливые здоровые серые прожорливые системники, устаревающие за 3 года и запускающие офис по пол-минуты под жуткий скрип винтов, превратились в маленькие почти бесшумные коробочки, которые прекрасно работают по 5-7 лет, за те же деньги. Только доллар уже не тот.


          1. DrPass
            24.07.2018 10:39

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

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


            1. stychos
              25.07.2018 06:43
              +1

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

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


              1. immaculate
                25.07.2018 07:08

                Проблема не в том, что ваш фреймворк такой замечательный, но его никто не ценит. Проблема в том, что компании надо делать работу, достигать цели. Командой. А команда не знает ваш фреймворк.


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


                1. stychos
                  25.07.2018 07:40

                  Ну я про это и пишу же:

                  Затем, что прогресс требует жертв. Люди требует «красивее» и «почаще», вот и создаются сотни слоёв абстракций, чтобы обычные программисты среднего уровня могли над всем этим работать в больших командах. Ну примерно как пару сотен обезъянок над «Войной и Миром».


                  1. immaculate
                    25.07.2018 07:53

                    Ничего совершенного в этом мире нет нигде и ни в какой момент времени. Но это не повод опускать руки и ничего не делать.


                    1. stychos
                      25.07.2018 07:56

                      А никто руки и не опускает. Мой посыл в треде — «да, нагородили всего, да, возможно это тормозит, возможно раньше трава была зеленее (но если подумать, то не всегда); в любом случае, теперь это суровая реальность, от которой никуда не денешься, и которую надо принять, пережевать и выплюнуть. Потому что не примешь ты — примут другие, которые размножаются намного быстрее чем ты думаешь.»


                1. stychos
                  25.07.2018 08:02

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


        1. roscomtheend
          24.07.2018 09:16
          +1

          А если не смотреть на офис, то машинное зрение на дискете на 1МГц процессоре сделать сможете? И почему именно такой, были же ещё медленней и выполняли свои задачи, не тратя мощности на ваш хипстерский интерфейс. Вот это была техника, не то что ваши, целый мегагерц не понятно на что.


          нужно было брать тестер и прозванивать цепи…

          А сейчас просто работает со значительно меньшим процентом критичных отказов (вывод фигни и прозвонка были нормой, а вы говорите надёжность).


          1. DrPass
            24.07.2018 10:42

            А если не смотреть на офис, то машинное зрение на дискете на 1МГц процессоре сделать сможете?

            Не сделаем. Но фишка в том, что в 99.9% случаев нужен именно офис, а не машинное зрение. Ситуация, когда на дохренаядерном процессоре тормозит в браузере формочка с пятью десятками полей и скриптами для валидации данных на фронтэнде не имеет никаких логичных объяснений, кроме безграничного засирания нижележащего кода движка JS и DOM браузера.


            1. Mike_soft
              24.07.2018 11:19

              зато сравните скорость разработки этой формочки сейчас (а также — возможности механизма ее отображения), и тогда (на каком-нибудь Дибейсике)


              1. DrPass
                24.07.2018 12:38

                В 1980-е, конечно, каждая софтинка была своим отдельным велосипедом. Но самая высокая скорость разработки формочек была в 1990-е годы, когда библиотеки виджетов и визуальные дизайнеры уже появились, но ещё не разрослись. Сейчас продуктивность разработки несколько упала, потому что возможности просто набросать компоненты на формочку и забиндить с данными ушла в прошлое. Нужно клиентский javascript для корректного поведения писать, нужно верстать систему из контейнеров для правильного расположения виджетов на разных экранах (хотя во времена, когда каждое окно вообще могло иметь произвольный размер, без этого почему-то нормально обходились) и т.д.
                По сути дела мы вернулись как раз во времена PDP-11 на новом технологическом витке, когда приложения перестали быть монолитными, и нужно писать две слабо связанные части, одну, исполняемую на терминале (браузере), вторую на самой ЭВМ.


              1. khim
                24.07.2018 14:13

                Таки фомочки на Visual Basic писались ничуть не дольше, а работают и сегодня неплохо (только рантайм установить).


                1. Mike_soft
                  24.07.2018 15:21

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


                  1. DrPass
                    24.07.2018 15:32

                    Ну это не какое-то особое преимущество современных форм. Они ведь тоже тянут необходимый им для работы набор библиотек. То, что за три десятка лет софт научился их вытаскивать с сервера автоматически, а не требовать этого от пользователей, нужно воспринимать как нечто само собой разумеющееся :)
                    Кстати, современник вижуалбейсика Delphi обходился без необходимости тянуть исполняющую среду.


                    1. Mike_soft
                      24.07.2018 15:43

                      ту так дельфЯ был полностью компилируемым.


                      1. DrPass
                        24.07.2018 15:48

                        Ну так мы ж в целом про инструменты разработки «тогда и щас», а не про конкретно VB vs React Native


                  1. stychos
                    24.07.2018 19:39

                    Вот с чем-чем, а тонкими каналами Вы малость погорячились. Те времена, когда считалось, что стартовая страница должна «весить» не больше 200 кб, давным-давно прошли.


                    1. alexr64
                      24.07.2018 19:48

                      200 кбайт — то много. На хорошем диал-апе это целых 40 секунд загрузки.


                      1. stychos
                        24.07.2018 19:49

                        Да я о том же. И такие страницы когда-то считались невероятно тяжёлыми и это была верхняя планка.


            1. roscomtheend
              25.07.2018 17:02

              Так это разные проблемы — смещение в сторону скорости разработки софта (и, как следствие, его цене) и мощности железа. И офис большинству нужен именно как конечному пользователю, если где-то используется машинное зрение, то пользователь об этом даже не знает.

              Формочки быстрой разработки из 90х имели простые пиоля, код сохранения, валидаторы тоже надо было писать. Мультиязычность там была относительной, а всякие нечитаемые сокращения и налезания — обычным делом при националификации.
              JS — это эволюция (и как любая эволюция она не обязательно отбирает саое лучшее по всем критериям, ему просто повезло и с ним, как с возвратным нервом, приходится мириться… ну или генную терапию организовывать и выводить новый вид).


          1. khim
            24.07.2018 14:09

            И почему именно такой, были же ещё медленней и выполняли свои задачи,
            А не было такой техники. VisiCalc появился на Apple II, которая имела тот же мегагерц и 64K. Только он текстовым был.

            не тратя мощности на ваш хипстерский интерфейс
            В том-то и дело, что GEOS, несмотря на свой «хипстеркий интерфейс» и даже мышь требовала не сильно больше ресурсов, что текстовые предшественники.

            А сейчас просто работает со значительно меньшим процентом критичных отказов (вывод фигни и прозвонка были нормой, а вы говорите надёжность).
            Я говорю про надёжность ПО. Да, железо-таки глючило, но софт — почти никогда. Решать задачи перезагрузкой не приходилось.

            Сейчас — всё наоборот.


            1. roscomtheend
              25.07.2018 16:52

              > А не было такой техники. VisiCalc появился на Apple II,

              Apple II — первый компьютер? Вот это поворот!

              > но софт — почти никогда

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


        1. GavriKos
          24.07.2018 09:36

          Мы получили ускорение работы программы (когда речь идет о сотнях листов и сотнях тысяч записей — почувствуете) и выполняемых операций (включая ввод-вывод). Да, это стоит увеличения сложности.


          1. khim
            24.07.2018 14:21

            Мы получили ускорение работы программы
            Вы тут одно слово перепутали. Вот так:
            Мы получили ускорениезамедление работы программы
            правильно будет.

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

            В MIM спокойно можно было редактировать книжку на несколько сот страниц в одном файле — а сейчас, у современных редакторов, это проблемы вызывает.


            1. Mike_soft
              24.07.2018 15:25

              мим валился с завидной регулярностью. возможностей у него кот наплакал (по крайней мере у версии из комплекта Корвет-МикроДОС). файлы ломал тоже неплохо (в том смысле, что порой сохраненная отредактированная версия файла не имела ничего общего не только с отредактированной или первоначальной, но и вообще с текстовым файлом)


        1. mistergrim
          24.07.2018 10:21

          Я не стану говорить о таких очевидных вещах, как огромное количество функций, построение графиков, тот же VBA (если сравнивать с Excel), но хотя бы такую простую задачу, как сортировка таблички из десяти тысяч строк он за какое время выполнит? Это даже если гипотетически предположить, что у C64 образовалось столько оперативной памяти.


          1. khim
            24.07.2018 14:23

            Я не стану говорить о таких очевидных вещах, как огромное количество функций, построение графиков, тот же VBA (если сравнивать с Excel), но хотя бы такую простую задачу, как сортировка таблички из десяти тысяч строк он за какое время выполнит?
            На современном железе-то? Думаю что справится за то же время, что и Office 365. Притом, что любой эмулятор C64 просаживает производительность в 10-100 раз по сравнению с нативным кодом.

            Это даже если гипотетически предположить, что у C64 образовалось столько оперативной памяти.
            Архитектура позволяла до 16M повесить и на эмуляторах это можно сделать.


            1. mistergrim
              24.07.2018 14:28

              На современном железе-то?


              Нет, на том самом 1 МГц, с которым вы сравниваете.

              Архитектура позволяла до 16M повесить и на эмуляторах это можно сделать.


              Ну, архитектура уже на 386 позволяла 4 Гб повесить, но больше чем с 16 Мб я их что-то не видел.


              1. khim
                24.07.2018 19:44

                На современном железе-то?
                Нет, на том самом 1 МГц, с которым вы сравниваете.
                А какой в этом смысл? Было бы странно, если бы в сто тысяч раз более мощная платформа не имела бы вообще никаких преимуществ!

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

                Почему-то на КПД какого-нибудь паровоза мы смеёмся, а кпд современных фреймворков — нас не волнует. Хотя хорошие паровозы всё-таки «в дело» 5-7% мощности пускают, а современный фреймворки — хорошо если 0.1%.


                1. mistergrim
                  24.07.2018 23:09

                  А какой в этом смысл?

                  А я не знаю, какой вы смысл вкладываете в
                  Вот что мы получили перейдя от программы, поставлявшейся на дискете 170K и работавшей на компьютере с процессором 1Mhz (да, не 1GHz, а 1MHz)


                  1. khim
                    25.07.2018 02:09

                    А самый простой. Вот что конкретно мы получили перейдя от программы в 100K к современным UWP-приложениям? Ну кроме дико возросшлих требований к железу?

                    Что именно я получил от более мощного железа (возможность работать с документами на сотни страниц и прочего) — понятно. А что дали все эти фреймворки и прочие «новейшие» технологии?

                    И только кокретно про переход от geosCalc 1986го года, а от последовательно всех версий — Lotus 1-2-3, Excel 2.0 и так далее.

                    Из важного — ну, возможность вставлять картинки и графики прямо в документ. Это то ли Excel 3.0, то ли Excel 4.0. Хотя вроде Quattro Pro for DOS так умел, но у него требования к ресурсам были сравниыми с ранними версиями Windows и Excel. А… ещё можно совместно редактировать документы в Google Docs… это круто, конечно, но для это действительно нужна машинка в десять тысяч раз мощнее, чем для Excel 4.0?

                    P.S. И да, я знаю, что некоторые вещи, основанные на разного рода нейронных сетях и прочем таки требуют много ресурсов… Но есть ощущение, что 99% современных технологий — это в чистом виде архитектурная астронавтика — решения не существующих в реальности проблем, тратящие существующие ресурсы.


                    1. roscomtheend
                      25.07.2018 17:07

                      > А что дали все эти фреймворки и прочие «новейшие» технологии?

                      Возможность получить программу быстрее и дешевле. Возможность работать с большими файлами (новые технологии — они разные бывают).

                      Excel 4.0 сколько мог строк и столбцов переваривать?

                      И если вам хватает, то почему не пользуетесь? Вы, надеюсь, с C64 или Apple II это написали? Просто же для них браузер создать — столько времени прошло, неужели его нет?


                      1. DrPass
                        25.07.2018 17:25

                        Возможность получить программу быстрее и дешевле

                        Понимаете, разговоры о том, что новые инструменты позволяют получить программу быстрее и дешевле, это нечто из рода «новый Дирол на 25% дольше хранит морозную свежесть». Это не совсем так. Быстрее и дешевле было во времена расцвета монолитных приложений, в начале нулевых. Веб значительно поубавил продуктивность разработки софта.


                        1. roscomtheend
                          26.07.2018 14:06

                          Монолитных решений малого объёма.


                          1. DrPass
                            26.07.2018 15:12

                            Любого объема. Можно подумать, тогда не было приложений с миллионами строк кода, и они как-то медленнее приобретали новые фичи.
                            Например, тогда для связывания удаленных компонент обычно использовался SOAP, он хоть и более громоздкий, чем модные сейчас REST, но зато имел контроль типов, исключения, плюс автоматическую генерацию прокси-классов по описаниям интерфейсов. И знаете, производительность при интеграции компонент через SOAP тоже выше, чем через REST-сервисы.


                      1. khim
                        25.07.2018 17:44

                        Возможность получить программу быстрее и дешевле.
                        Так не дали ведь! Пик был достигнут лет 20 назад, где-то во времена Visual Basic'а и первых версий Delphi.

                        После этого — чем дальше в лес, тем больше времени и сил занимает разработка. И при этом порождает фичи не нужные 99% заказчиков.

                        Excel 4.0 сколько мог строк и столбцов переваривать?
                        255 x 32767. Мало кто использует больше и сегодня.

                        И если вам хватает, то почему не пользуетесь?
                        Потому что современные операционки больше не поддерживают запуск 16-битных приложений. Ну и потому что Office 2007 начал использовать по умолчанию формат, который Excel 4.0 не открывает.

                        Просто же для них браузер создать — столько времени прошло, неужели его нет?
                        Та же самая проблема: браузер там есть (да,, но современный Хабр — в нём не работает. Тот, который был 10 лет назад — работал и всем меня устраивал… но нету его.

                        Извините, но «теперь вы можете, используя в 10 раз больше памяти и в 10 раз более быстрый процессор делать всё то же самое, что могли 10 лет назад на компьтере смешной по меркам сегодняшеного дня мощности» — это не прогресс.


                        1. Mike_soft
                          26.07.2018 07:42

                          почти со всем согласен.
                          единственный момент: сейчас все делается «красивее» (и чаще всего — интуитивнее). Для непрофессиональных пользователей это очень важно.


                        1. roscomtheend
                          26.07.2018 14:12

                          > 255 x 32767. Мало кто использует больше и сегодня.

                          Значит мы мало кто. Эксель — это не просто глазками посмотреть, это ещё и про посчитать.

                          Delphi, у которых компилятор OP не умел и не умеет в оптимизацию странно приводить как хороший пример.

                          > современные операционки больше не поддерживают запуск 16-битных приложений

                          Испоьзуйте старые операционки, они же тоже программы и тоже должны подчиняться тем же правилам (раньше — лучше, сейчас куча бесполезной фигни).


                          1. DrPass
                            26.07.2018 15:14

                            Delphi, у которых компилятор OP не умел и не умеет в оптимизацию

                            Вы что этим хотели сказать, «компилятор ОР не имеет таких подробных настроек оптимизатора как в С++», или «я не видел компилятора ОР»?


        1. ClearAirTurbulence
          24.07.2018 11:35

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

          Люди таки не совсем дебилы, чтобы покупать новое железо и софт просто так.


          1. Mike_soft
            24.07.2018 11:52

            только даже простейшие финмодели пишет в лучшем случае единицы процентов пользователей.


        1. JobberNet
          24.07.2018 12:12

          сейчас же… когда ошибки в iOS видны прямо в рекламном ролике — это воспринимается как норма.

          Возникает довольно-таки неприятное ощещение того, что мы где-то соврешили поворот «не туда»… причём довольно-таки сильно «не туда»…

          Возросшая потребность ITшников привела к моде на монструозные фреймворки, разработка на которых происходит по принципу «тяп-ляп и в продакшн».


        1. kAIST
          24.07.2018 20:59

          Если бы мы от компьютера требовали только табличек на псевдографике, тогда никакого прогресса бы не было бы.
          Но сейчас область задач очень и очень расширена. Попробуйте на "тех" компьютерах хотя бы полистать современные фотографии. Я уж не говорю про котиков на Ютубе, игр и пр.


      1. khim
        24.07.2018 04:41

        В общем чем дальше в лес, тем больше ощущение «украденного праздника» (I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone — Stroustrup)


    1. ittakir
      24.07.2018 07:03

      Закапываясь в детали, неизбежно уменьшаешь свою производительность в целом.
      Например, я вчера изучал нейронные сети с глубоким обучением в Matlab. 10 строк кода, и нейронная сеть определила, что на фотографии пляжа именно пляж. И все это отработало за 1 секунду.
      Вы представляете сколько уровней абстракции между этими строками в Matlab и конечными ассемблерными инструкциями? Десятки, не меньше. Зачем мне погружаться туда?
      А сколько бы у меня заняло времени написать аналогичное приложение хотя бы даже на С++17?


      1. yarric
        24.07.2018 08:07

        Кстати MATLAB ближе к железу, чем может показаться: в большинстве случаев код на нём легко компилируется в удобочитаемый C без внешних зависимостей.


      1. AlNi89
        24.07.2018 08:30

        Дизайнер автомобиля не должен погружаться в химию металла и пластика из которых делают автомобили, он должен дизайном заниматься (но представление о химии иметь обязан, да). А теперь подумайте, какой автомобиль будет лучше — нарисованный «с нуля», когда каждая деталь продумана и гармонично соединена с остальными, или тот, который собран из шаблонов готовых дверей, рам и т.д.? В каком из двух случаев у дизайна больше шансов стать качественным, красивым автомобилем?


        1. Mike_soft
          24.07.2018 09:06

          часто «красивый» противоречит «качественному»


        1. roscomtheend
          24.07.2018 09:46

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


        1. JC_IIB
          24.07.2018 11:04

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


          У Хейли в его «Отеле» есть эпизод, когда шеф-повар не может понять, почему у него получается невкусная пища. Управляющий отелем (!!!) раскалывает задачку, обратив внимание на то, что с решеток для жарки слезло защитное покрытие и масло тупо окисляется, давая неприятный привкус.

          Достаточно длинный, но хороший текст
          «Питер поднял на молодого француза глаза и встретился с ним взглядом.
          — Если позволите, я хотел бы поближе ознакомиться с вашей работой.
          — Берите. Все равно этим бумагам еще долго лежать. — Губы помощника
          шеф-повара скривились в горькой усмешке. — Мне все время говорят, ни одна
          моя лошадка в стойло не придет.
          — Меня вот что удивляет: как это вы могли за столь короткий срок все
          изучить и так тщательно продумать.
          Андре Лемье пожал плечами:
          — Чтобы понять, что плохо, не надо много времени.
          — Так, может, следуя этому принципу, мы сумеем разобраться и в
          неполадках с жаровней.
          В глазах молодого повара загорелся было веселый огонек и тут же
          сменился выражением досады.
          — Touche! [ваша взяла! (франц.)] Правильно: я видел жир не такой, а
          когда разогрели — не понюхал.
          — Неправда, — возразил Питер. — Вы же сами сказали мне: вы
          почувствовали, что жир негоден, но, несмотря на ваше распоряжение, его не
          заменили.
          — Мне надо было узнать, почему жир испортиться. Все иметь причина. И
          если ее скоро не обнаружить, может случиться большая беда.
          — Какая, например?
          — Слава богу, сегодня мы мало готовить на испорченный жир. А завтра,
          мсье, надо зажарить шестьсот порций на ленч для участники конгресса.
          Питер лишь тихонько присвистнул.
          — Только и всего!
          Они вышли из стеклянной клетушки и подошли к жаровне, с которой в это
          время как раз счищали последние остатки злополучного жира.
          — Завтра жир, конечно, будет свежий. А когда его меняли в последний
          раз?
          — Вчера.
          — Вот как!
          Андре Лемье кивнул.
          — Мсье Эбран, он не шутить, когда жалуется на большой затрат. Но
          почему жир портится — тайна.
          — Я сейчас пытаюсь вспомнить, что я знал из пищевой химии, — медленно
          проговорил Питер. — Свежий, доброкачественный жир начинает чадить при
          температуре…
          — Четыреста двадцать пять градусов. Больше нагревать нельзя, иначе он
          гореть.
          — А если жир подпорчен, то он начинает чадить при более низкой тем
          пературе.
          — Да, и чем больше портится, тем ниже температура, когда он чадить.
          — Вы здесь жарите…
          — При температуре триста и шестьдесят градусов — наилучшая
          температура для ресторанный кухня и для домашний.
          — Словом, если жир не горит при температуре около трехсот шестидесяти
          градусов, все в порядке. Если же чад появляется при более низкой
          температуре, значит, жир испорчен.
          — Совершенно верно, мсье. И тогда еда иметь плохой запах, прогорклый
          вкус, как сегодня.
          В мозгу Питера зашевелились некогда заученные, но стершиеся за долгие
          годы сведения. Для будущих управляющих отелями в Корнеллском университете
          читали курс по пищевой химии. Питеру смутно вспомнилась лекция в
          Статлер-Холле… За подернутыми морозным узором окнами сгущались сумерки.
          Он вошел тогда с улицы, с морозного, обжигающего воздуха. Внутри было
          тепло и успокаивающе-монотонно звучал голос лектора… жиры и
          катализаторы…
          — Есть такие субстанции, — напрягая память, сказал Питер, — которые
          при соприкосновении с жиром играют роль катализаторов и довольно быстро
          вызывают распад.
          — Верно, мсье. — Андре Лемье принялся перечислять по пальцам: — Это
          влага, соль, медь или латунь на стенках жаровни: когда температура очень
          высокая и когда оливковое масло.
          И вдруг Питера осенило. Память заработала под впечатлением
          увиденного, когда минуту назад жаровню очищали от жира.
          — Из чего сделаны решетки для жарки?
          — Из хромированного металла, — несколько озадаченно ответил Лемье.
          Хром, как им обоим было известно, не мог испортить жир.
          — А интересно, — сказал Питер, — хорошо ли они хромированы? И если
          слои хрома где-то стерся, то какой металл находится под ним и не покрылся
          ли он кое-где окисью?
          Лемье обдумал слова Питера, и глаза его вдруг расширились. Он молча
          вынул одну из решеток и тщательно протер ее тряпкой. Поднеся решетку к
          свету, они внимательно осмотрели ее со всех сторон.
          От непрерывного и долгого пользования хромированная поверхность была
          вся покрыта царапинами. Кое-где хром сошел совсем. В поцарапанных и
          протертых местах виднелся металл желтоватого цвета.
          — Это же латунь! — Молодой француз хлопнул себя ладонью по лбу. — Жир
          испортиться из-за нее! Какой же я дурак — сразу не догадаться!
          — Не понимаю, при чем тут вы, — прервал его Питер. — Задолго до
          вашего появления кто-то у нас, видно, сэкономил и купил дешевые решетки. К
          несчастью, в конечном счете это обошлось нам куда дороже.
          — Но я должен был обнаружить это раньше — вы же сделать это сейчас,
          мсье. — Андре Лемье чуть не плакал. — Мсье приходить на кухня из вашей
          paperasse [бумагомаралки (франц.)] и показать мне, где непорядок. Да меня
          же засмеют теперь!
          — Если такое случится, — сказал Питер, — то винить вам придется
          только себя. От меня никто ничего не услышит.
          — Люди — они говорили мне, вы хороший человек, умный. Теперь я сам
          видеть: это правда, — медленно проговорил Андре Лемье.»


          1. AlNi89
            24.07.2018 11:18

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


            1. JC_IIB
              24.07.2018 11:47

              Вы только что описали классический фастфуд :)


          1. opckSheff
            24.07.2018 11:52

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


            1. JC_IIB
              24.07.2018 11:57

              Хейли весьма непрост, для того, чтобы написать тот же «Отель», он прочел пятьдесят семь книг по гостиничному бизнесу. С другими книгами — аналогично.
              Так что уж его-то как раз приводить можно :)


              1. opckSheff
                24.07.2018 12:02

                Вопрос не к Хейли, вопрос к вам. Литературному персонажу в голову можно вложить любые знания, соответствующие требуемому образу. Вы же своей фразой «много ли нынешних управляющих разбираются в пищевой химии?» всё представляете таким образом, что УЖ В ТЕ-ТО ВРЕМЕНА все управляющие отеля разбирались, хотя по сути в качестве примера приводите вымышленного человека.


                1. JC_IIB
                  24.07.2018 12:09

                  Да, я понял, что вы хотите сказать. Безусловно, человек вымышлен, но я склонен думать, что приближено к оригиналу, ибо в противном случае Артура высмеяли бы читатели, которые в курсе, как обстоит дело. «Не царское это дело, в химии разбираться!» Я не в курсе (как и интернет, к сожалению) был ли у Питера Макдермотта реальный прототип, но вполне возможно (опять-таки если вспомнить хейлиевский подход к написанию книг) что был, либо это некая «сборная солянка» из нескольких людей.
                  Впрочем, это лишь мое мнение.


                  1. stychos
                    24.07.2018 19:45

                    Если Эйнштейн в начале прошлого века хорошо понимал суть пространства-времени, то это совсем не говорит о том, что это понимали все физики того времени, даже самые именитые.


        1. gerasimenkoao
          24.07.2018 13:42

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

          DeLorean DMC-12 и Ланос-а


    1. scifinder
      24.07.2018 07:14

      Как человек, долгое время изучающий химию и биохимию, я иногда, во время завтрака, ловлю себя на мысли, что прекрасно осознаю, какие химические вещества я сейчас ем, как именно они будут усваиваться и в какие циклы в моём организме включатся. А когда глотаю таблетки — я уже знаю механизм их работы, прям вижу, как они связываются с нужными белками или встраиваются во вражескую ДНК/РНК, терминируя её рост. И знаете, я уверен, что 98% населения Земли понятия не имеет об этих процессах, хотя ест химию каждый день.


      1. ptica_filin
        24.07.2018 22:34

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

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


        1. tyomitch
          25.07.2018 10:33

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

          Точно так же — вряд ли хоть одному программисту никогда не потребуется пошариться на низком уровне в своих программах. И точно так же, ему не обязательно это делать самому, когда можно обратиться к специалисту.


    1. CodeRush
      24.07.2018 08:51

      Проблема в том, что нора уже давно слишком глубокая, и понимать все целиком уже просто невозможно — в мозг не влезет, изучение деталей одних вещей вымоет из памяти детали других, а потом в очередном обновлении микроархитектуры все переделают. Почти все, что вы перечислили, работает на современных процессорах совсем не так, как это описано в литературе времен 8086: регистры давно уже абстракция над регистровым файлом (т.е. процессор имеет значительно больше регистров, чем показывает, и грамотно переименовывает их так, чтобы лишний раз данные не перемещать); кэшей с тех пор стало 3-4 уровня, плюс кэш микроопераций, плюс кэш декодера, таблица со статистикой предсказанных успешно переходов, прямой доступ в кэш в обход CPU и т.д.; прерываний теперь штук пять разных видов и они используют ту же подсистему MSI-X, что и PCIe-устройства; виртуальную память расширили на MMIO (IOMMU), а из Knights Landing уже выкинули in и out; аппаратный стек получил защиту от техник вроде ROP; список можно продолжать очень долго.

      Основная трагедия архитектуры x86 в том, что с развитие процессора шло не вместе с развитием ПО, а так, чтобы ПО можно было вообще не трогать десятилетиями, а оно при этом исполнялось на 5% быстрее с каждым поколением. Процессор при этом с каждым разом усложнялся кратно, и теперь нынешний — скорее всего самая сложная вещь, сделанная человечеством вообще. Софт при этом так никто и не переписал, и он по прежнему думает, что вокруг CP/M на PDP11. При этом Интел также отлично понимает, что еще одну попытку сделать нормальную массивно-параллельную (которой была IA-64, оставившая нам в наследство UEFI) с оптимизациями на уровне компилятора, а не самого процессора, они могут не пережить, поэтому улыбаются и продолжают латать текущие из всех общих ресурсов данные затычками в виде новых инструкций (которые надо расставлять в компиляторе) в каждом следующем обновлении микрокода.

      Короче, неконтролируемый рост сложности закономерно довел архитектуру до цугундера, при котором любой произвольный набор из 3-8 букв английского алфавита скорее всего является валидной мнемоникой, для которой нужен мануал на 3.5к страниц, и процентов 40 которой практически не используется, но не может быть выброшена без вреда для обратной совместимости.


      1. Mike_soft
        24.07.2018 09:03

        а разве cp/m на pdp11 была?


        1. CodeRush
          24.07.2018 09:11

          Нет, CP/M появилась позже и под влиянием предустановленной на семействе PDP-11 ОС, так что это такой художественный прием.

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


          1. Mike_soft
            24.07.2018 10:04

            что-то сомневаюсь я во влиянии DOS-11 на Килдалла, ну да ладно. художественный так художественный.
            а насчет «моделей» — так нижний уровень сменился, а язык — остался.
            когда понимаешь, во что компилятор превратит сишный код — иногда писать легче. Хотя компиляторы с тех пор изрядно «поумнели»


      1. khim
        24.07.2018 14:34

        для которой нужен мануал на 3.5к страниц
        Вы так говорите, как будто 3.5K страниц — это что-то большое. На ARM посмотрите, там как раз вполне себе выкидывали разные вещи…


      1. vitalyvitaly
        26.07.2018 08:57

        Наверное, тут можно вспомнить попытки убрать «уровень процессора» из архитектуры совсем и поставить на его место Алгол-68, Паскаль, Аду, Форт, Java или еще что-либо.


      1. vitalyvitaly
        26.07.2018 09:46

        Мне кажется, что исчезновение в ранней архитектуре PC пультового отладчика, встроенного терминала, абсолютных бинарников и тому подобное — не менее важные этапы на пути увеличения слоев абстракции и отгораживания пользователей от железа. Естественно, под самыми благими и мудрыми предлогами. Параллельные процессы шли и с дисковыми устройствами, принтерами и разной прочей периферией — исчезли аппаратный низкоуровневый формат, доступ к принтеру напрямую сменяла система команд Epson, потом PCL, потом принтеры и модемы стали Windows-only и тому подобное. А вообще, конечно, даже система команд МК-51 уже не была полностью низкоуровневой, свои слои абстракции от железа были и там. Но интересно, к чему все придет в итоге.


        1. immaculate
          26.07.2018 12:47

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


          Мы, люди, очень не любим изменения, но они неизбежны.


          Я сам терпеть не могу лишние слои, нагромождения сотен библиотек (Javascript — это вообще какой-то ад, там наверное утром начинаешь работу, а к вечеру уже появляется 10 статей в блогах, что фреймворк, на котором начинал утром, уже устарел, а еще к вечеру будет выпущена обновленная его версия, со сломанной совместмостью).


          1. alexr64
            26.07.2018 13:02

            Стоит заметить, что первые транзисторы (да даже диоды), действительно, выигрывали у ламп только размерами. Полезные параметры были скудные.


          1. vitalyvitaly
            26.07.2018 14:29

            Как, например, видимо, и когда меняли электромеханические счетные аппараты на калькуляторы и ранние компьютеры (а среди электромеханических или аналоговых устройств были сильно специализированные, навороченные, на которых долго учились работать) и когда выбрасывали из школьной программы продвинутую арифметику с извлечением корней в уме, и когда знакомые много лет ЕС и СМ списывали с их фондом программ… Жизнь — боль, в общем.


    1. Bedal
      24.07.2018 09:04

      хм. Некоторым не слабо рассказать, и как работали с восьмерично-десятеричными системой в М222 :-D


    1. Bender_Render
      24.07.2018 12:36

      Зачем мне это помнить, пилот самолета должен досконально знать как работает двигатель например?


      1. JobberNet
        24.07.2018 12:47

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

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


        1. burzooom
          24.07.2018 22:22
          +1

          Именно поэтому у пилотов есть чек-листы, в том числе и на такое явление как пожар в двигателе. В сериале Авиакатастрофы они полчаса читали и исполняли его. А не так «Ща, не ссы, я тут вооот так сделаю и все норм будет. Ой епт, че это оно?»


          1. BubaVV
            24.07.2018 23:53

            Дебаг этих чек-листов — отдельная интересная история. Иногда посмертная


      1. DrPass
        24.07.2018 12:49

        На уровне инженера-ремонтника не должен. Но «не досконально», а знать принципы работы, особенности работы в разных режимах, характеристики, его вспомогательные системы и как ими управлять — всё это он знать обязан.


        1. Mike_soft
          24.07.2018 15:27

          поэтому пилот самолета — профессионал, и обучается гораздо дольше, чем стреднестатистическая «мартышка» «учится на права».


  1. BigDflz
    24.07.2018 05:19
    +1

    давным давно пришлось (или посчастливилось?) работать на уровне машинных команд и ассемблера процессоров 580 и 1801(6). и надо сказать что pdp11 (СМ4, Электроника100, ДВК) :) был намного быстрее и круче… но к сожалению не стал популярным настолько.


    1. nehrung
      24.07.2018 11:55

      Вот именно! В статье немало восхвалений 8086-му, но почти ни слова о его недостатках. Компромиссы, на которые пришлось идти его авторам и применителям, имели ведь не только плюсы. Я тоже не раз сетовал на то, что IBM выбрала запутанный 8088, а не простой и чёткий PDP11-подобный.


      1. Mike_soft
        24.07.2018 11:57

        но вроде как как раз микропрограммная сложность PDP и была причиной создания «простого процессора»?
        а вообще, PDPшный асм — сказка.


    1. DrPass
      24.07.2018 12:06

      и надо сказать что pdp11 (СМ4, Электроника100, ДВК) :) был намного быстрее и круче

      Смотря в каких задачах. У PDP11 было своё тяжелое наследие, она создавалась как уменьшенная копия больших ЭВМ. Соответственно, представляла собой набор относительно независимых блоков, которые общались между собой по шине со сложным протоколом. Дисплей, например, там архитектурно представлял отдельный терминал.


  1. KoCMoHaBT61
    24.07.2018 06:37

    Пока Intel возился с 8088 и 8086, Motorola выпустила 68000. 32 бита в 1979 году, а ассемблер такой, что никакого С не надо.


  1. andy_p
    24.07.2018 07:53

    Линия 80x86 — это еще одно доказательство того, что успешным становится далеко не самое лучшее. Для этого достаточно взглянуть на характеристики других конкурирующих с 8086 процессоров — Motorola 68000 и Zilog 8000. Например, адресуемая память — 8086 — 1 мб, 68000 — 16 мб, 8000 — 8 мб. Защита памяти 8086 — нет, 68000 — есть, 8000 — есть. Режим супервизора — 8086 — нет, 68000 — есть, 8000 — есть. Работа с памятью 8086 — через жопу сегментные регистры, 68000 и 8000 через нормальные индексные регистры. А главное — 8086 — архаичная система команд со всякими аккумуляторами и специальными регистрами типа sx, dx, 68000 и 8000 — ортогональная к регистрам, очень логичная система команд.


    1. immaculate
      24.07.2018 09:20

      В свое время, когда я посидел за Amiga, превосходящей на голову все x86, что я видел до того момента, этот вопрос тоже не давал мне покоя. Но видимо "лучше" значит разные вещи для разных вещей. Для рынка в целом корявый x86 с корявыми DOS и первыми Windows почему-то оказались "лучше". Может быть, Amiga слишком дорого стоила, или еще что-то. Есть еще соображения привычек пользователей и совместимости с существующим софтом и железом. Инерции мышления, наконец.


      1. Dovgaluk
        24.07.2018 10:23

        Amiga появилась только через несколько лет после PC.
        А ещё и делать PC научились не только в IBM.


      1. KoCMoHaBT61
        25.07.2018 22:19

        Во-первых — на 68000 сразу положили глаз вояки.
        Во-вторых — IBM-PC мгновенно спиратила фирма Compaq, по причине простоты.
        В-третьих — у Commodore была откровенно дегенеративная политика лицензирования. Для того, чтобы стать разработчиком необходимо было заплатить деньги и получить за это .h файлы для Кикстарта. С компиляторами эти файлы не поставлялись. Там, правда, был ещё и Микрософт Бейсик, но…


    1. tyomitch
      24.07.2018 10:44

      А главное — 8086 — архаичная система команд со всякими аккумуляторами и специальными регистрами

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


      1. khim
        24.07.2018 14:38

        Причём достаточно быстро (уже в 80386) всё это достаточно «малой кровью» выпрямили.


    1. DrPass
      24.07.2018 10:51

      . Работа с памятью 8086 — через жопу сегментные регистры,

      Только на самом деле это была не жопа, а один из секретов его успеха. Именно то, что позволило сразу же портировать на 8086 кучу приложений, написанных под 8080, простым кросс-ассемблером.
      Второй секрет успеха — 8088. 8-битная шина, возможность построения простого и дешёвого 16-битного компьютера. Мотор 68000, например, и близко не мог подобраться к массовому сегменту по цене.


      1. andy_p
        24.07.2018 10:57

        Только на самом деле это была не жопа, а один из секретов его успеха. Именно то, что позволило сразу же портировать на 8086 кучу приложений, написанных под 8080, простым кросс-ассемблером.

        Это не успех, а извращение со всякими "моделями памяти", типа tiny, small, large, huge. Кто программировал в начале девяностых, тот знает, что это за извращение.


        1. Mike_soft
          24.07.2018 11:23

          по сравнению с зоопарком фреймворков — модели памяти вызывают самые теплые «ламповые» воспоминания…


          1. andy_p
            24.07.2018 13:10

            > по сравнению с зоопарком фреймворков — модели памяти вызывают самые теплые «ламповые» воспоминания…
            Это я еще не упомянул ужасный ужас, связанный с разными расширителями памяти, из-за того, что 8086 не умел адресовать больше одного мегабайта. А вот 68000 имел линейную адресацию до 16 мегабайт.


            1. Mike_soft
              24.07.2018 15:29

              да тоже ничего особо ужасного не помню. мы даже на Корветах подобный расширитель писали (правда, не помню, дописали или забросили)


        1. DrPass
          24.07.2018 11:38

          Ну я программировал в начале 90-х. Ничего страшного. Не слишком архитектурно красиво, но в целом разобраться можно было легко. А те, кто не писал на ассемблере, вообще могли с этим не заморачиваться, просто желательно было знать разницу между дальним и ближним вызовом. И речь-то не столько об архитектурной красоте, сколько о практичности. Согласитесь, взять код, например, CP/M с 8080, прогнать его через простейший кроссассемблер, и получить работающий код СР/М под 8086 — это стоит того?


          1. andy_p
            24.07.2018 11:48

            > Согласитесь, взять код CP/M с 8080, прогнать его через простейший кроссассемблер, и получить работающий код СР/М под 8086 — это стоит того?

            Тактически да, стратегически нет. В современных процессорах Интел вынужден тянуть всю эту кривизну, оставшуюся от 8080.
            Я, когда программировал на 8086, тоже думал, что этот процессор высшее достижение микропроцессоростроения. Пока не познакомился с альтернативными вариантами.


            1. DrPass
              24.07.2018 11:54

              Можно ли считать стратегически неудачным решение, которое вывело продукт в лидеры рынка, а компанию-производитель превратило в многомиллиардную корпорацию? Тем более что уже не одно десятилетие архитектурные особенности процессоров касаются только узкого круга разработчиков ОС и компиляторов, а все остальные миллионы программистов от них изолированы.


            1. Mike_soft
              24.07.2018 11:56

              стратегически интел выйграл тем, что он чуть не монопольно занял рынок PC (все-таки AMD и прочие Cyrix'ы пытались отгрызть долю у интела)


            1. andy_p
              24.07.2018 11:58

              Кроме того, не надо забывать, во что кривая архитектура 8086 вылилась в будущем. Например, 80386 имел три (!) режима работы — 32 разрядный режим, режим эмуляции 8086 и режим виртуальных 8086. Ничего похожего на эти извращения ни в 680x0, ни в 8000x не было.


              1. Mike_soft
                24.07.2018 11:59

                одним «качеством» на рынке не победить…


              1. DrPass
                24.07.2018 12:19

                Но вам же не нужно было использовать все три. Переключились в защищенный, и работаете. Одна модель flat, таблицы дескрипторов, в принципе, всё как у всех.


                1. andy_p
                  24.07.2018 12:35

                  Это было причиной того, что созданный в середине восьмидесятых 80386 до середины девяностых использовался как быстрый 8086. Из-за невозможности плавного перехода к 32 разрядам (следствие кривой архитектуры), все сидели в досе и ранних версиях винды. В 68000, например, такой проблемы вообще не было.


                  1. DrPass
                    24.07.2018 12:46

                    Я вам возражу, что это наоборот, как раз иллюстрация того, насколько совместимость софта важнее архитектуры процессора. ОС, которые работают в защищенном режиме, появились в той же середине 1980-х. Но пользователи продолжали активно использовать примитивный DOS аж до середины 1990-х, просто потому что там было большое количество популярных приложений.


                    1. andy_p
                      24.07.2018 12:59

                      Да нет же. Нормальная архитектура позволяет безболезненно использовать старый софт на новых процессорах. Пример — линейка 680x0. Там на более новых моделях работает софт, разработанный для старых, и никаких проблем для пользователя запускать любимые программки. Для 80386 в силу кривой архитектуры, это невозможно, поэтому все в досе и сидели.


                      1. DrPass
                        24.07.2018 13:16

                        Так и на 386-м старый софт нормально работал, речь-то о том, что в нём ввели новый режим, в котором исправили косяки старого, и при этом сохранили совместимость. Вы сейчас можете взять этот самый Core i7 8086, и на нём запустится софт от 8086, который был портирован с 8080. Это ведь круто. Сравните с 680x0, который не имел нормальной совместимости ни с предшественником, ни с последующими семействами 88000 и PowerPC.


                        1. vitalyvitaly
                          26.07.2018 14:31

                          И клоны 8086/88, понимавшие и систему команд 8080 напрямую, тоже были. Правда, Интел до такого не додумался, а NEC (V20) смог.


                          1. DrPass
                            26.07.2018 15:17

                            Ну то уже было заметно позже, да и надо учитывать, что NEC V20 не был клоном, это проц нового поколения и с другой внутренней архитектурой, транзисторов в нем было, если не ошибаюсь, 65 тысяч против 28 тысяч в 8086. Плюс КМОП-процесс, частота до 16МГц и ещё масса плюшек.
                            Интел может быть и додумался, но в 1978-м году реализация такого функционала стоила бы просто космических денег.


                            1. vitalyvitaly
                              26.07.2018 15:22

                              Если совсем точно, то V20 — аналог 8088, а V30 — замена 8086. Я не знаю, догонял ли V20 с 8-битной шиной на реальном железе за счет новой архитектуры полноценный 8086 c 16-битной шиной, с учетом редкости клонов PC на полном 8086. Кто-нибудь тестировал, интересно?


                              1. DrPass
                                26.07.2018 16:44

                                Я сам не тестировал, но говорят, неплохо перегонял. Да и если верить Википедии, то в дристонах он вообще был на порядок быстрее. Этому, впрочем, есть логичное объяснение. АЛУ у 8088/8086 микропрограммное, а у V20/V30 реализовано аппаратно.


                                1. vitalyvitaly
                                  26.07.2018 16:50

                                  Я еще сейчас вспомнил, что в 8086 был теоретически и многопроцессорный(!!) режим, но на практике ничего о таких компьютерах не знаю.


                                  1. DrPass
                                    26.07.2018 17:54

                                    Там не современный SMP имелся в виду, его в те годы ещё не знали. Имелось в виду, что у 8086 были средства для захвата и освобождения шины, и подключался шинный арбитр (8288, кажется), который мог разруливать шину между разными девайсами. Например, с процессором ввода-вывода 8089.


                                    1. vitalyvitaly
                                      26.07.2018 18:03

                                      Или 8087. Был популярен вариант, когда один процессор ставился на служебные операции (ввод-вывод), второй освобождался для вычислений. При этом основной процессор мог теоретически быть более мощным 286,386,486 на специальной плате расширения или непосредственно над сокетом впаянного CPU, подключаясь к нему через один из пинов. Интересная тема.


                                    1. vitalyvitaly
                                      26.07.2018 18:13

                                      Как апофигей этой идеи — теоретически второй процессор может сидеть на плате расширения и получать с шины только питание, полностью или почти полностью заменяя вообще все железо на обычной материнской плате. Не знаю точно о временах 8086, но вроде бы было такое изделие на базе Celeron 433 и шиной могла быть даже ISA, хоть 8-битная. Там на плате было интегрировано все свое, включая все контроллеры и видеоадаптер, в результате стоимость, как у нового компьютера, но зато универсальность — ставь ее хоть в XT :)


                      1. khim
                        24.07.2018 14:55

                        Пример — линейка 680x0. Там на более новых моделях работает софт, разработанный для старых, и никаких проблем для пользователя запускать любимые программки.
                        Неравда ваша, тётенька. Начало 80х — это Apple ][, Atari 400/800 и Comodore 64. И совсем чуть-чуть PC.

                        А вот появление вашего чудесного 680x0 привело к тому, что новых Mac'ах, Amiga'ах и Atari ST старый софт запускать нельзя. «Запускать любимые программки» не получалось, увы.

                        Для 80386 в силу кривой архитектуры, это невозможно, поэтому все в досе и сидели.
                        У 80386 (в полноценном, защищённом, режиме) достаточно прямая архитектура — однако, в отличие от 680x0, старый софт тоже можно было использовать.

                        Потому PC — выжил, а Atari и Commodore — нет. Apple чудом удалось спастись — и то пришлось на платформу PC перейти в конце концов.


                        1. andy_p
                          24.07.2018 16:17

                          А причем здесь commodore 64 и другие? В commodore вообще процессор от MOS Technology стоял. Этот софт ни на 8086 ни на других процессорах запустить не удастся. Я сравниваю три процессора из одного класса 8086, 68000 и 8000. И, можно убедиться, что практически по всем параметрам 8086 им проигрывает. А IBM PC выжил совсем по другим причинам.


                          1. khim
                            24.07.2018 19:59

                            А причем здесь commodore 64 и другие?
                            Потому что до середины 80х — именно они составляли подавляющее большинство персональных компьютеров. И платой за переход на 68000 — явилась необходимость полного отказа от имевшегося ПО.

                            А старого доброго дигера я не могу сейчас в винде запустить.
                            В винде — нет. Но переключитесь на FreeDOS — и он отлично запустится.

                            А IBM PC выжил совсем по другим причинам.
                            IBM PC, кстати, не выжил. А вот его потомки — да, выжили. Потому что Deskpro 386 мог запускать не только «классный» Xenix/386, но и банальный MS/DOS. А MS/DOS мог запускать перекомпилированные программы для CP/M.

                            Я сравниваю три процессора из одного класса 8086, 68000 и 8000.
                            Это процессоры разных классов. Да, формально 68000 появился одновременно с 8086, но реально компьютеры на основе 68000 — это вторая половина 80х — то есть тогда же, когда и 80386.

                            Да, формально Macintosh 128K появился в 1984м, однако в первые годы продавался он из рук вон плохо — именно потому что софта не было! И именно поэтому Apple IIGS выпускался до начала 90х.


                            1. vitalyvitaly
                              24.07.2018 23:07

                              Я подозреваю, что сделать в железе так, чтобы на линейке Atari ST 68k запускались те самые 8-битные игрушки с Атари 800, было бы сложно даже при сохранении архитектуры процессоров снизу вверх… Во-первых, игрушки были жестоко заточены аппаратно не только под процессор 6502, но и под очень специфичную спрайтовую архитектуру с графическим чипсетом TIA и жестко привязаны к тактовой частоте, низкому разрешению экрана и много чему еще. Плюс этих 8-биток было уже три поколения (800/1200/800XL) и они были не вполне программно и аппаратно совместимы даже друг с другом, особенно в версии 1200. Плюс у Атари имелись еще и линейки консолей, как совместимых с 800 (XLGS), так и созданные по ее мотивам и на таком же железе (5200), но несовместимые программно, плюс консоли 2600. ST, созданный Трэмелов из подручных компонентов — вообще другой мир и железо там другое, и ОС совсем другая. Переход был вполне аналогичен шагу с DOS CGA на Windows 95 SVGA. Точно такой же был и переход с C64 на Амигу — разные миры и C64 еще и тянул аппаратную совместимость с более старыми моделями Коммодора. И стоил очень недорого. Для особых фанатов была модель C128 с тремя процессорами. Но да, архитектурных наследников 8-биток не было, в частности еще потому, что они быстро уперлись в лимит 8-битного процессора 6502 — максимум 64 килобайта памяти и все дела. И это даже не 640 килобайт, которых хватило бы всем. Попытки расширения на этой архитектуре — извращения со страничной памятью в духе LIM EMS (Атари 130), но только много, много слабее для среднего юзера, чем самый слабый 8088 с мегабайтом памяти.


                              1. khim
                                25.07.2018 02:26

                                Я подозреваю, что сделать в железе так, чтобы на линейке Atari ST 68k запускались те самые 8-битные игрушки с Атари 800, было бы сложно даже при сохранении архитектуры процессоров снизу вверх…
                                Практически невозможно. Но можно было сделать не W65C816S, а, соответственно, 32-битный процессор. Но… не сложилось. Захотелось «большого и светлого». Ну и получили… то, что получили…

                                Во-первых, игрушки были жестоко заточены аппаратно не только под процессор 6502, но и под очень специфичную спрайтовую архитектуру с графическим чипсетом TIA и жестко привязаны к тактовой частоте, низкому разрешению экрана и много чему еще.
                                Вы не поверите — но ровно та же самая проблема была на платформе PC! И ровно поэтому послежние новейшие чипсеты от nVidia и ATI эмулируют старый древний CGA. Да. До сих пор. Правда пресловутая кнопка «Turbo» продержалась несколько меньше…

                                Плюс этих 8-биток было уже три поколения (800/1200/800XL) и они были не вполне программно и аппаратно совместимы даже друг с другом, особенно в версии 1200.
                                То же самое — было и у Commodore (Plus/4), и у Apple (с его чехардой: Apple III, Apple Lisa, потом Apple Mac… правда после этого Джобса прогнали и он вернулся из «ссылки» через несколько лет уже понимая насколько важна обратная совместимость).

                                Просто и тогда и сейчас и, похоже, всегда, программисты склонны недооценивать силу «обратной совместимости». Билл Гейтс не был самым сильным программистом, но он, похоже был одним из немногих программистов и/или руководителей, кто это понимал…

                                Переход был вполне аналогичен шагу с DOS CGA на Windows 95 SVGA.
                                В том-то и дело, что ни разу не аналогичен. Главным и основным преимуществом Windows 3.0 (и, далее, Windows 95) перед Windows 1.x/2.x и OS/2 1.x — была возможность запуска именно программ для MS-DOS! На имевшемся тогда железе!

                                Но да, архитектурных наследников 8-биток не было, в частности еще потому, что они быстро уперлись в лимит 8-битного процессора 6502 — максимум 64 килобайта памяти и все дела.
                                На самом деле были, конечно. Apple IIGS.

                                AppleWorks GS, вот это вот всё.

                                Оно было искусственным образом удавлено, чтобы дать дорого тому самому «правильному» Макинтошу с «правильным» 68000.

                                Попытки расширения на этой архитектуре — извращения со страничной памятью в духе LIM EMS (Атари 130), но только много, много слабее для среднего юзера, чем самый слабый 8088 с мегабайтом памяти.
                                Ну это понятно, что без замены процессора шансов не было. Но можно было сохранить совместимость — а можно было начать «с чистого листа». Тогда Microsoft выбрал вариант сохранения совместимости… а вот почему-то в XXI веке, с Windows Phone — уже нет.

                                Интересно, узнаем ли мы когда-либо «почему»… или этот оцевидный маразм так навсегда и окажется необъяснённым…


                                1. vitalyvitaly
                                  25.07.2018 09:02

                                  Компьютеры на 6502 в принципе эмулируются программно средним 486 (у меня был 386DX-33 и он тоже мог, но не с полной скоростью — процентов 60 и тем не менее Lode Runner c Apple II и Boulder Dash с C64 были играбельны на 386 под эмуляторами). Видимо, и 68040 мог. Продвинутый 486DX4 вытягивал уже и «Сегу» на 68000, а вот «Амигу» по скорости под эмулем догнал только Pentium 4, увы, что особенно забавно, учитывая разницу в тактовой частоте — 1700 против 8 на Амиге.

                                  В современных видеочипах урезана вроде бы не базовая поддержка MDA/CGA, а продвинутых EGA/VGA режимов — где-то в сети есть таблица с данными для разных игр, которые в основном их использовали. Хороший тест — например, запуск Commander Keen в нативном режиме. У меня есть нетбук с Intel GMA3150, и он тянет древнейшие пасьянсы начала 80х под DOS, но запуск Keen на нем вызвал настоящую катастрофу — страниц 10 летающего цветного мусора, что в общем заставило предположить, что встроенное в процессор видеоядро там уже бесконечно далеко от времен ModeX 320 на 200. И конечно, для него нет никакого аналога Univbe, так что нативно, видимо, уже не поиграться.


                                  1. da-nie
                                    25.07.2018 12:24

                                    Так у амиги аппаратные ускорители.
                                    Кстати, у неё видеосистема умеет выводить графику с переменной плотностью пикселей. :) Представьте, что у вас на экране 640x480 есть область, где разрешение уровня 160x120. Вот это оно. :)


                                    1. vitalyvitaly
                                      25.07.2018 12:34

                                      Ну да, хотя между Сегой, Амигой и Атари ST игровой софт портировали массово и без особой разницы в качестве, хотя Сега и ST слабее. Также как и близкие порты на SNES, хотя он еще слабее Сеги.


                                    1. vitalyvitaly
                                      26.07.2018 10:05

                                      Уже графический чипсет Атари 2600 1977 года имхо бесконечно далек от концепций линейки CGA/EGA/VGA — узко заточенная спрайтовая архитектура и обязательное вылизывание каждого такта в машинном коде. Не удивительно, что для полной скорости эмуляции 2600 нужен был полноценный 486 с локальной шиной. Вообще, именно шина VL/BUS с PCI открыла Сезам эмуляции, как и мультимедиа/ графических оболочек — исходная архитектура AT с шиной ISA была в этом плане слаба, мягко говоря.


                                1. tyomitch
                                  25.07.2018 10:48

                                  Вы не поверите — но ровно та же самая проблема была на платформе PC! И ровно поэтому послежние новейшие чипсеты от nVidia и ATI эмулируют старый древний CGA.

                                  Более того, первые версии Windows позиционировались именно как «графический abstraction layer, позволяющий программам со сложным UI работать на всём зоопарке существовавших тогда ПК на x86», и в частности, были доступны в runtime-версии без оболочки — для интеграции в third-party софт.

                                  Это потом уже до производителей ПК дошло, что обратная совместимость — это благо, и в новое железо стали добавлять поддержку легаси-видеорежимов. А до этого каждый следовал xkcd.com/927


                                  1. vitalyvitaly
                                    25.07.2018 12:17

                                    X86-архитектур было много, в частности были варианты от DEC, Columbia, Texas Instruments, Tandy, ранние Hewlett Packard вплоть до первых моделей Vectra, которые внутри были вообще не PC и работали только с кастомными версиями DOS от производителей. Но как раз в середине 80х все это богатство начало быстро вымирать в частности после выхода Lotus 1-2-3, поскольку оказалось плохо совместимым даже с этой популярной программой.


                        1. andy_p
                          24.07.2018 16:26
                          -1

                          Насчет защищенного режима — он появился только в 80386, а в 68000 был изначально, поэтому полноценную операционку на 8086 сделать было невозможно, а на 68000 и 8000 был портирован unix, да и операционка в Amige была на порядок лучше, чем MS DOS.


                          1. DrPass
                            24.07.2018 16:45
                            +1

                            Защищенный режим появился в 80286, вместе с поддержкой 16 мб адресного пространства, на 2 года позже 68000.
                            При этом отсутствие защищенного режима отнюдь не мешало портировать на 8086 Unix-овые операционные системы тех лет :)
                            Ксеникс, родоначальник SCO Unix, работала на PC XT как миленькая.


                          1. khim
                            24.07.2018 20:07

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

                            А первая версия, которая позволяла сделать «полноценную операционку» — это 68030, появившийся в 1987м, когда на 80386м уже персоналки начали появляться.

                            И сделать это было невозможно, так как компании, использовавшие 68000 и так уже в то время «на ладан дышали» из-за потери пользователей при переходе с платформ на 6502.

                            Ещё одного «большого скачка» с очередным переписыванием всех программ им бы никто не простил.

                            Ни одна «классическая» 68K операционка (MacOS, AmigaOS, и GEM) не смогла, в итоге, подняться выше Windows 3.x/Windows 95. Защиты программ друг от друга — в них никогда не было. Со всеми вытекающими.


              1. alexr64
                24.07.2018 19:58

                Ну так то мы до сих пор имеем реальный, защищенный х86, виртуальный и защищенный х64. Причем, стартуем из реального до сих пор. Ну и мелочь: из х64 в виртуальный нельзя спуститься, как из х86 (потому ntvdm на х64 виндах и не работает).


            1. tyomitch
              24.07.2018 16:35
              +1

              Тактически да, стратегически нет. В современных процессорах Интел вынужден тянуть всю эту кривизну, оставшуюся от 8080.

              Таки нет, в x64 убрали часть легаси-инструкций, ставших бесполезными. Не прошло и полувека :-)


              1. keishi
                24.07.2018 23:05

                Таки нет, в x64 убрали часть легаси-инструкций, ставших бесполезными.

                Это в x64 режиме (Long mode)? В процессоре разве оно не осталось, т.к. Legacy mode никуда не делся?


                1. alexr64
                  24.07.2018 23:19

                  Да что там режим х86… Реальный режим никуда не делся!


      1. KostaArnorsky
        25.07.2018 02:47

        Поэтому, если вы не Google, пишите бизнес-логику на Java, .NET, Python или, прости господи, JavaScript и иже с ним, и вам будет не только все равно, запускать на x86, x64, IA-64, ARM 32, ARM 64 и что-там-еще-выдумают, но и под чем: Windows, *nix, macOS, iOS, Android, whatever или вообще где-нибудь в облаке не ведомо под чем и на чем. А лучше пишите все, что можно, и меньше слушайте считателей тактов и прочих археологов.


  1. VitalyChapurin
    24.07.2018 12:17

    Помню этих сороконожек… :) Тот, самый простой и эффективный ассемблер въелся в мозг на всю жизнь… Исходный язык всех компьютеров, можно сказать…


    1. andy_p
      24.07.2018 12:36

      Просто вы ассемблер Motorola 68000 не видели.


      1. VitalyChapurin
        24.07.2018 13:16

        Оооо! Я видел многое, Intel, Zilog, Atari, Motorola, VAX, ОСВМ, TMS и множество разных других контроллеров… даже программируемые калькуляторы…
        Но этот был первым, может быть не лучший, но самый любимый :)


        1. andy_p
          24.07.2018 13:20

          Любовь зла…


      1. da-nie
        24.07.2018 22:01

        Там достаточно сам 68000 посмотреть. :) Хороший такой кирпичик. :) Я когда амигу 500 открыл, его размеры меня несколько удивили. :)


  1. gnomeby
    24.07.2018 14:26

    del


  1. nonpar
    24.07.2018 18:34

    Довольно посредственному процессору 8086/8088 просто несколько раз крупно повезло. Первый раз в том, что IBM выбрала его для своего PC. Маркетинговая мощь и репутация IBM позволила навязать потребителям архитектуру и конструктив PC в качестве стандарта. И если конструктив оказался вполне удачен (значительная часть его составляющих, не сильно эволюционируя, дожила до наших дней), то архитектура уже на старте была устаревшей; чего стоил только аппаратный барьер в 640К RAM, над преодолением которого бились потом долго и мучительно. Что, кстати, позволило MAC с Atari etc. со второй половины 80-х и до появления Win98 практически монополизировать рынок медиа-применений.
    Второй раз ему повезло, когда выпуск ОС для IBM PC попал в руки Microsoft и Гейтса, который первым в отрасли догадался сконцентрироваться на софте, добившись, со временем, положения, когда разработчики железа были вынуждены обеспечивать его совместимость с софтом, а не наоборот.
    В третий раз процессору x86 повезло, когда IBM решило сделать спецификации PC открытыми и началось массовое клонирование «писюков». Intel, в отношении своих процессоров, вплоть до Pentium придерживался той же политики, в результате чего их клоны также заполонили мир.
    Собственно же архитектура 8086, после появления системы команд 386 и 32-битных ОС стала, фактически, рудиментом, который по традиции ещё поддерживается, хотя никакого смысла в этом нет. Цена, которую мы продолжаем платить за эту мало кому нужную преемственность — в частности, существенно более высокое энергопотребление процессоров Intel, по сравнению с теми же ARM.


    1. DrPass
      24.07.2018 20:13

      то архитектура уже на старте была устаревшей; чего стоил только аппаратный барьер в 640К RAM

      Ну расскажите, чего же стоил аппаратный барьер в 640К в те годы, когда массовые ПК были оснащены 16К и имели аппаратный барьер 64К? :)
      Конструкторы IBM РС — люди опытные и адекватные, и процессор выбирали не в лотерею, а как раз осознанно, с учетом сложности и стоимости создания системы на его базе.
      Цена, которую мы продолжаем платить за эту мало кому нужную преемственность

      То, что все платформы без преемственности прекратили своё существование, а платформы, сохранившие её (х86, ARM) живут и здравствуют, вас должно было бы натолкнуть на мысль, что это высказывание, мягко говоря, нелепое.


      1. nonpar
        24.07.2018 21:30

        1. Стоил почти 10-летней задержки c полноценной поддержкой мультимедиа.
        2. Уже почти 20 лет (с момента ухода со сцены Win98) система команд 8086 в PC не нужна от слова совсем.


        1. alexr64
          24.07.2018 21:44

          2.: Только вот мы из реального режима до сих пор стартуем, да и загрузочные сектора (при использовании mbr как минимум) — тоже под реальный режим писаны. Но, соглашусь, это атавизм.


        1. DrPass
          24.07.2018 23:08

          Почему 10 лет? Мультимедийная Амига 1000 вышла в 1985-м году. Всего через два года РС заиграл музыку (Adlib) и научился отображать 256 цветов (VGA). Ещё через два — заговорил (Sound Blaster). Мультимедийные возможности ведь определяются не столько процессором, сколько периферией.

          система команд 8086 в PC не нужна от слова совсем.

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


  1. saipr
    26.07.2018 19:46

    Можно вспомнить и отечесттвенную веху Intel и эпопею с персоналками типа ЕС-18xx:



    Первый советский компьютер ППЭВМ ЕС-1840 -> Процессор построен на основе 16-разрядного МП КМ1810ВМ86, имеющего быстродействие свыше 1 млн. оп./с., 8-уровневую систему прерываний, 4-канальный механизм прямого доступа к оперативной памяти со стороны быстродействующих блоков, программируемый системный таймер. Оперативная память составляет 256 или 640 Кбайт.

    К сожалению они появились на пять лет позже IBM-вских:



    IBM Personal Computer 5150 (1981г. ) с монитором HX-12E Princeton Graphic Systems (Taiwan, 1987 г.)