Я продолжаю тему о предрассудках.
С моей точки зрения современная ситуация с программным обеспечением компьютеров, когда прикладные программы имеют размеры в сотни Мегабайт, а операционные системы вообще раздулись в объеме до нескольких Гигабайт, является абсурдной: крупные корпорации навязали всему человечеству какой-то нелепый и выгодный только им подход к разработке программ.
В качестве контрпримера я предлагаю рассмотреть историю, связанную с программами для калькуляторов.
Программируемые калькуляторы – это самая ранняя разновидность персональных компьютеров, появившаяся на мировом рынке.
Цитаты из Википедии:
В 1965 году итальянская фирма Olivetti выпустила настольное программируемое вычислительное устройство Programma 101. Аппарат был способен выполнять арифметические действия, извлекать корни, находить абсолютное значение числа. Память в 240 байт распределялась между регистрами памяти и шагами программы. Для управления использовалась простая клавиатура, вывод данных производился на печатающее устройство. Программирование выполнялось на простом символьно-кодовом языке, включавшем операции передачи данных между регистрами, операции с данными и условные и безусловные переходы. Предположительно Olivetti Programma 101 можно считать первым в мире программируемым калькулятором, как и первым относительно портативным персональным компьютером, хотя и тот, и другой термин появились позже.
Programma 101
Casio AL-1000 – первый программируемый калькулятор фирмы Casio
В 1967 году японской фирмой Casio представлен калькулятор Casio AL-1000. Он был выполнен на дискретных полупроводниковых элементах (284 отдельных транзистора, в основном Toshiba 2SC371, и 1500 диодов), имел 14-разрядный индикатор на газоразрядных лампах, память на ферритовых сердечниках и интерфейс для вывода данных на электрическую пишущую машинку. Возможности калькулятора были весьма ограниченными: четыре действия арифметики, извлечение квадратного корня, 4 регистра памяти, программная память на 30 шагов. В калькуляторе была реализована простая арифметическая логика операций (см. ниже). При этом аппарат имел размеры 380 x 440×238 мм, весил более 12 кг и продавался по цене, эквивалентной 900 американским долларам.
В 1969 году в США фирма Hewlett-Packard выпустила настольный программируемый калькулятор для научно-технических расчётов HP 9100A. Он весил 18 кг, продавался за 4900$, имел индикатор и клавиатуру. Отдельно продавалось печатающее устройство, считыватель магнитных карт и дополнительный внешний интерфейс для подключения принтера IBM. HP 9100A имел память из 16 числовых регистров и 192 шагов программы, реализовывал обратную польскую логику вычислений со стеком из трёх регистров, вычислял несколько десятков математических функций, а при использовании программ – корни многочленов до пятой степени, функции Бесселя, эллиптические интегралы и выполнял регрессионный анализ.
В связи с этим устройством стало широко известно само понятие «программируемого калькулятора».
HP9100A
В 1970 году НИИ «Циклон» (в то время – ЦБ ПНПП при НИИ-35 Минэлектронпрома СССР) был разработан первый советский стационарный профессиональный программируемый калькулятор «Электроника-70», который имел 23 регистра и позволял хранить 186 команд. Было предусмотрено подключение периферийных устройств, включая внешнее запоминающее устройство «Электроника-72», в котором можно было хранить 248 числовых данных или 3472 шагов программы. Созданные программы можно было записывать на магнитные карты (5×9 см) и использовать многократно.
Б3-21 – программируемый микрокалькулятор с обратной польской записью для проведения инженерных и научных расчётов. Относится к первому поколению Советских программируемых калькуляторов. Разработан в 1975 году и серийно производился с начала 1977 года. Продавался по цене 350, 190 и 80 рублей.
Электроника Б3-21 является первым программируемым микрокалькулятором, произведенным в СССР.
Б3-21
Б3-34 – советский программируемый микрокалькулятор с обратной польской записью для проведения инженерных и научных расчётов. Относится ко второму поколению советских программируемых калькуляторов. Выпускался в УССР заводом «Калькулятор», который работал в г. Светловодск Кировоградской области. В продаже появился в 1980 году по цене 120 рублей.
Память 98 команд и 14 регистров, быстродействие около 5 простых операций в секунду. При выключении калькулятора содержимое памяти стирается. Операционный стек состоит из 4 регистров (X, Y, Z, T); кроме того, существует регистр предыдущего результата X1.
Б3-34
Однако некий психологический барьер в отношении калькуляторов советское общество преодолело после появления более доступного по цене варианта – «Электроники МК-54»
Электроника МК-54 – советский программируемый микрокалькулятор с обратной польской записью для проведения инженерных расчетов. Функциональный аналог Б3-34, выполненный на другой элементной базе.
Конструктивное решение «Электроника МК-54» было более дешёвым, что сделало этот калькулятор самым доступным по цене программируемым калькулятором в СССР: его цена в середине 1980-х годов составляла 65 рублей (в сравнении с 85 рублями за Б3-34).
МК-54
Именно после появления этой модели калькулятора крупные советские издательства стали выпускать разнообразные справочники программ, например:
Дьяконов В.П. Справочник по расчетам на микрокалькуляторах. 3-е изд., доп. и перераб. – М.: Наука., 1989. – 464 с.
Епанчиков В.А., Цветков А.Н. Справочник по прикладным программам для микрокалькуляторов. – М.: Финансы и статистика, 1988. – 320 с.
Статьи о программируемых калькуляторах публиковались в журналах «Наука и жизнь» и «Техника – молодежи».
К делу также подключились радиолюбители, которых в СССР было весьма изрядное количество. Например, тиражом в 60 тысяч экземпляров был издан следующий справочник:
Трохименко Я. К., Любич Ф. Д. Радиотехнические расчеты на микрокалькуляторах: Справочное пособие. – М.: Радио и связь, 1983. – 256 с., ил.
Выяснилось вдруг, что даже при мизерном объеме оперативной памяти можно реализовать довольно сложные алгоритмы – если удастся преодолеть запутанное и заумное изложение этих алгоритмов в учебниках.
Комментарии
Потому что инкапсуляция и полиморфизм. Которые реализуются или генерацией кода компилятором на все возможные случаи жизни. Или - в случае интерпретатора - объем кода не увеличивается но зато резко падает скорость выполнения. Ну или как в случае с Явой - органически сочетаем
оба недостаткаи компилятор и интерпретатор байт-кода сразу.Ну и библиотеки к коду тоже на все случаи
полиморфизмажизни. В довесок.Чем сложнее система тем больше в ней костылей...
Костыли могут подломиться в самый неожиданный и совершенно неподходящий момент.
Ну мир же как то работает? Работает!
Компьютерные системы работают именно «как-то»: кое-как.
Судя по тому, что в последнее время происходит с Интернетом – все хуже и хуже.
Все про ООП.
Уверен на 146%.
Даже по опыту ребят, «перетрахивающих» (©) современную Винду.
Ну и по собственному (правда, очень давнему) опыту проектирования ОС в рамках всяких учебных заданий.
Занялись бы линуксом.
Да поздно уж мне.
Наверное не менее важным было то, что тут же в продаже появились справочники, например для инженеров-строителей по разным специализациям типа расчет сетей водовода на программируемом калькуляторе, по тем временам очень круто и удобно.
В самом начале 80-х при подготовке диплома использовал подаренный персональный программируемый калькулятор, про который помню лишь то, что он, кажется, назывался «Искра» и имел индикацию на газоразрядных лампах. Размером был где-то 40×40 см.
Возможно, это была Искра-125.
P.S. «Искр», оказывается, дофига всяких было. Делали их в Курске.
Ну тут же все понятно. Увеличение требований к объему памяти повысило спрос на блоки памяти. Рука руку моет. Майкрософт и ИБМ вообще находились в сговоре, продвигая продуктовые линейки друг друга. Так что ничего личного, просто бизнес
Я очень много работал на "Электрониках"... Уравнение Ван-дер-Ваальса (5 степени) на них решал численным методом....
Помню переходные процессы в них считал.
Правда для линейных систем и соответственно по аналитическому решению дифур.
Для численных методов у меня на работе уже ПК был с самописными прогами. Любимый метод - Рунге-Кутта второго порядка.
Помню, помню. Б3-21 икс в степени игрек неправильно считал (или какую-то другую степенную функцию, не помню точно уже.). Зараза такая. В итоге решаемая численным методом функция превратилась в непонятно что, экстремумы автоматически не находились, а я не мог понять, что происходит (пересчитывал сужающие устройства для расходомеров). Программист в 17 лет я был так себе...
На МК-61 был кривой косинус. Приходилось обходить через тБ (которые Брадиса).
И когда этот же (сразу проверил) кривой косинус вылез в 95-й (не 3.11!) винде, я
пропёрся в полный рост, долго рыдал от зависти к гениальным силиконовым программистам...У меня такой лежит ))))С доп модулем. Помню как в полет на Луну играл ))))Посадка и прочее ))))
Насколько помню, втором портом она к принтеру подключается. Тоже советскому (мелкая серия).
Это что то тогда на гране фантастики было. Ну мой живой. Иногда подрастающее поколение им пугаю ))))
Я свой в школу отдал. Мы там небольшие работы делали (слаботочку тянули, интерактивные доски устанавливали) смотрю, а в классе информатики эдакий мини-музей вычислительной техники, ну я и предложил им для музея МК-52 с доп.памятью.
Аналогично, МК52 + модули БРП
Программы Лунолет-3, ОС-1, Атмосфера-2 в разделе "Клуб электронных игр" Михаила Пухова в журнале "Техника-Молодежи" №6 1985 - №5 1986 - это святое... (еще были Лунолет-1, Лунолет-2, Маскон, ОС-2, Лунолет-4, Кеплер, Атмосфера-1)
МК-52 был, статьи по программированию в Наука и жизнь. Так вот и нашел свою будущую профессию программиста
Ну и потом, после программирования на таком калькуляторе, никакие ассемблеры уже не страшны...
После такого калькулятора язык Forth автоматически становился родным, привычным и любимым.
Форт - сильно жестокая сущность. Жесть жестяная.
Но - "кто в армии служил, тот в цирке не смеется". Кто Форта хлебнул - тому мало что страшно.
Аналогично. Только у меня калькулятора не было, и я гонял всё это в уме. Кружок программирования на станции юного техника получил живые ПМК только спустя два года. Я просто дорвался до клавиш.
Тоже в детстве был МК-54, на нем даже в игрушки играл, даже в динамические. Вроде бы гонки назывались, в качестве "руля" был переключатель градусов, радиан и градов.
Насколько я понимаю в СССР полностью проектировали свою начинку (хотя возможно смотря на спецификации западных образцов).

Но дизайн просто копировали.
По слухам, был НИИ который "вскрывал" западные микросхемы и запускал их в производство в СССР. Про КМОП микросхемы в СССР даже не заморачивались и называли их как западные, добавив лишь букву или цифру.
В случае с инженерными и программируемыми калькуляторами, насколько я знаю, было принято решение о копировании серии калькуляторов от HP, но при этом наборы микросхем были полностью разработаны свои.
Сомневаюсь. КМОП гораздо проще, а ее не заморачивались разрабатывать. Препод в те времена даже адрес НИИ называл.
В каждом калькуляторе микросхемы разные, но про один набор точно известно, цитирую - "В КНИИМП разработку двух интегральных БИС серии К145ИК3 и К145ИК4 возглавил Липовецкий Г.П. Именно он настоял на том, чтобы БИС инженерного калькулятора не воспроизводилась с американского аналога, а была разработана собственная архитектура вычислительного устройства.". В МК-61, например, я так понимаю последующее развитие этой серии.
Ну всеж-такие какие-то отличия налицо. С другой стороны, а какой смысл изобретать велосипед? Два колеса, руль и педали шибко по-другому не сделаешь. Может немного поменяли расположение кнопок, чуть поправили корпус, оптимизировали затраты на производство....
Все отличия проистекают из удешевления и упрощения. Сложные обьемные кнопки - нафиг, резиновые ножки - нафиг, наклоненный индикатор - нафиг (при этом характерная деталь с наклоном оставлена, хотя у оригинала она для наклонения индикатора, а у нас просто для красоты, а индикатор смотрит вверх) и т.п. А так 100% копирование дизайна.
Ну дык в чем проблема? Есть Linux и он очень хорошо конфигурируем.
Если взять ядро с минимумом драйверов и командной строкой - то весь Linux уместиться в 5 МБ. Там будет даже "/dev/fb0" для отрисовки графики. Если добавить туда все консольные утилиты, то размер уже вырастет до 50 МБ. Ну и дальше, по нарастающей. Прибавляем gcc это дополнительные 100 МБ. Хочется UI? QTCore - это ещё 60 МБ. Но можно экономить, и выбрать из QT самое нужное, будет только +3 МБ.
Т.е. автор и сейчас может вполне успешно собрать себе Linux с минимумом всего внутри и пользоваться им. Было бы желание. Берёшь buildroot и конфигурируешь под себя.
Про размер программ - это опять же для удобства пользователей. Когда программа тянет все библиотеки с собой. Позволяет её поставить на разные версии операционной системы не заботясь о dependencies. Очень многие программы становятся сильно меньше, если их собирать с тем, что уже находится в системе. Т.е. условно было 100 МБ, а стало 2 МБ. Так что автор может очень многое из opensouece скачать при помощи apt (собранное для конкретной системы), либо собрать самостоятельно из исходников.
А если добавить все то что необходимимо для игр и прог? Сколько там еще выйдет...
Ну дык автор же у нас дауншифтер. На вышеописаным linux можно вполне удобно работать даже сейчас. Я на подобном даже видео смотрел. Это будет вполне привычный commandline linux. И он будет сильно лучше, чем калькулятор эпохи СССР.
Простите, а вы в указанных вами числах ничего странного не замечаете?
50 Мегабайт на утилиты и 100 Мегабайт на компилятор – не слишком ли жирно?
Там можно и дальше выбирать варианты дауншифта. Т.е. можно таки сказать - мы C++ не используем, а используем только Си. И можно тогда компилятор с библиотеками уместить в пару мегабайт.
Можно вообще не компилировать ничего, а сказать мы программируем на python (с минимумом библиотек). И тут вам будет интерпретатор в 500 КБ.
Было-бы желание ужиматься.
То есть когда «по умолчанию» вываливают вам на голову вагон мусора, а потом предлагают откопать нужные вам вещи вручную – это хорошо и здорово?
Задам вопрос по другому - почему вы не пользуетесь минималистичными сборками Линукса в которых есть самый мимнимум возможностей? Почему вы его не конфигурируете под себя?
Лично я подозреваю что ваш ответ такой: Вам хочется что-бы было удобно. Вам нужен этот "вагон мусора" который "по умолчанию вывалили вам на голову".
Но конечно интересно узнать и ваш вариант ответа.
Я вообще на Linux не работаю.
Каждый раз, как я пытался на него перейти, начинались нелепые проблемы с периферийным оборудованием.
А возникают эти проблемы потому, что корпорации фактически развалили процесс стандартизации и унификации оборудования ПК. Развалили не только на международном уровне, но и внутри самих себя: теперь для каждого отдельного устройства нужны собственные драйверы, причем под каждую операционную систему – отдельно.
У меня к примеру никаких проблем в оборудованием под Linux не было.
Т.е. вы используете какие-то драйвера, которые нужны узкой группе пользователей.
Соответственно интерпретирую ваш ответ как: Вам нужны эти "тонны мусора".
Э нет, нужного драйвера может не быть даже в очень большой мусорной куче.
Шутка из серии: найдите в стоге сена иголку, которой там нет.
Понятно, т.е. вам нужна куча ещё большего размера, т.к. видимо вы не готовы разбираться в том какая железка какой протокол поддерживает и совместима ли она с вашим софтом.
Но надеюсь тот момент, что современные программисты могут и компактно писать и огромные программы в зависимости от потребностей пользователя вам понятен?
Нет, мне не нужна куча мусора еще большего размера.
И человечеству в целом эта куча не нужна.
Нужна стандартизация и унификация оборудования, которая существовала еще двадцать лет назад: на уровне фирм, отдельных стран и даже на мировом уровне.
Принтеры, которые я втыкал в USB для Linux машин - работали. USB девайсы, такие как веб-камеры, sd карты, микрофоны, аудиокарты - работали.
Даже работали WiFi модули воткнутые в разъёмы для SD карты.
Я уж не говорю о 3D принтерах и фрезерах, там протокол древний, но стандартизированный.
В моём мире всё хорошо со стандартизацией.
Как раз древние протоколы до сих пор и работают именно по той причине, что они стандартизированные.
Были случаи, когда внутрифирменный стандарт фактически становился международным: для лазерных принтеров таким стандартом была система команд фирмы Hewlett-Packard, для матричных и струйных принтеров - система команд фирмы Epson.
Но в конце XX века корпорации сами же взяли, и стандартизацию развалили.
Невозможно свести потребности миллиардов пользователей к одной единой конфигурации. Вас же не удивляет, что гаечных ключей не два на выбор а сильно больше. Так это всего одна функция закрутить/открутить но и она в сильно разных применениях приводит к значительному разнообразию. А ОС логически одна из самых сложных вещей, созданных человечеством. И предлагают вам не контейнер с мусором, а контейнер с инструментом на все случаи жизни, причем во многом автоматически конфигурируемом. А вы хотите, чтобы для вас кто-то сделал коробку с инструментом, подходящим только под ваши личные задачи. Причем вам тут пишут, что нет проблемы собрать такую коробку, но сделать это вы должны самостоятельно. Но вы видите ли не хотите ковыряться в мусоре.
Размеры ключей стандартизованы.
В избыточном разнообразии инструментов ничего хорошего нет: приходится долго подыскивать подходящий.
Например, трудно бывает подобрать отвертку с шлицем, подходящим для работы с винтами и шурупами с рисками причудливой формы на головке.
Никакой практической необходимости в такой причудливости нет.
Страницы