Предыдущий пост Поделиться Следующий пост
Мир совершенных технологий и занимательная математика
lex_kravetski
Меня удивляют жалобы красноглазой части человечества. Ох, языки программирования теперь тупые, а программы — большие и медленные. Ах, у меня двадцать лет назад игра влезала на дискетку, а теперь на дискетку даже плёвую утилиту не запишешь. Блин, пичалька — на компьютере двадцатилетней давности ничего современное не запускается.

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

Само собой, от таких радостей стоит отказаться, чтобы снова вернуться к дискеткам с сотней утилит на каждой. Типа, назад к природе, точнее, в данном случае, — к каменному топору.

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

Но я таки напомню. Был у меня совершенный компьютер Спектрум. Программы для совершенного компьютера влезали в 48 килобайт памяти, поскольку больше памяти у того компьютера не было. Эти чудесные, компактные, хорошо оптимизированные программы при этом загружались с магнитофонных кассет минуты, эдак, по три. Сейчас программа в 48 мегабайт (в тысячу раз больше) при всём её несовершенстве загружается секунды две при плохом раскладе. Чувствуете деградацию?

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

Терабайтный диск стоит порядка трёх-четырёх тысяч рублей. Терабайт — это 670 000 дискет. И вы всё ещё хотите маленьких, компактных программ?

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

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

Собственно, возросший размер программ — это плата за то, что такие программы теперь стало возможно написать. Написание Фотошопа на ассемблере заняло бы тысячелетие, не меньше.

И тут работает простая арифметика. Один программист может написать утилиту за два дня. На высокоуровневом языке. А может на низкоуровневом — за два месяца. Зарплата программиста, положим, пятьдесят тысяч в месяц. В первом случае программа стоила пять тысяч. Во втором — сто.

Не нравится в деньгах? ОК. В первом случае программист за год напишет 120 утилит, во втором — 6.

Всё ещё хотите сэкономить несколько мегабайт? Мегабайт места на диске вам сейчас обходится примерно в треть копейки. Три копейки — десять мегабайт. Чтобы человечеству окупился один (один!) день работы программиста, сэкономить по десять мегабайт должны 100 000 человек. Чтобы окупить лишний месяц его работы — два миллиона человек. С быстродействием, как легко догадаться, расклады примерно те же.

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

Эта статья на «Однако»




дааа, игры ZX Spectrum... сколько времени было убито на все эти Болдер Даши, Найт Лоре, Экселоны и конечно ЭЛИТУ!)

Изредка поигрываю в них (есть эмулятор и 10 тысяч игр к нему)... ностальгия

Да... ))) Быстро в ЭЛИТЕ научился четко заходить на станцию?

кошмар! куда катится мир..

P.S.
Кроме того. Наш мир, планета Земля - геоид. Она и катится-то хреново..

Кроме того. Наш мир, планета Земля - геоид. Она и катится-то хреново..

Утверждение про Землю и геоид - не корректное.

Земля - это планета Солнечной системы, а геоид (в переводе с греческого землеподобный "гео" + "ид" - сродни астероид, планетоид) - это трехмерное тело (математический конструкт), похожее по форме на Землю.

Так что не Земля - геоид, а геоид - напоминает Землю. Ну и свойство, "хреново катится" как будет формулироваться для геоида? :)

PS Возможно, сказанное было суть шутка юмора, но нужное количество смайлов не стояло :). Так что, просто замечание на логику.

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

Зато это были тёплые ламповые программы! Не то что современные холодные и цифровые!

Да. В 1999 году мы 650-мегабайтный CD скачивали трое суток, через тёплый ламповый модем ! А не какую-то там бездуховную витую пару.
А сейчас молодёжь ничего не ценит. Скачал образ DVD за полчаса, не понравилось, стёр.

пример из реального мира.

ребёнок сделал в Алгоритме простенькую прогу но с окошками, выбором файлов и те де -- несколько мегабайт.
я написал консольную прогу с тем же по сути функционалом, понятно без красивостей -- 8Кб для 32bit, 11Kb для 64bit.
Он потратил час, я шесть (хотя из них может 3-4 просто, чтоб поднять тему ещё раз).

Убивает то, что сейчас ценно не количество мегабайт на диске или в памяти, а только время на разработку. Поэтому ребёнок в апгрейде взял себе винчестер в полтора террабайта вместо имевшихся 250 гигов и канал в инет требует от 10 мегабит.

PS: до сих пор считаю, что игрушки, занимающие по 16 гигов на диске или нуждающиеся в 7 гигах оперативки -- это позор программистов, сколь крутыми бы эти игрухи не выглядели. То же самое и с прогами, есть некий порог объёма/скорости который и сегодня говорит, что прога разработана лохами от программирования. Хотя и несомненно по критерию скорости разработки они -- гении и крутые профи.

> Он потратил час, я шесть (хотя из них может 3-4 просто, чтоб поднять тему ещё раз).

И без красивостей при этом.

Ну добавлю еще пару сосен к лесу :)

А нужно ли столько программ? Насколько оптимально само это "кодописание" и результат этой деятельности, когда каждый может наваять чё хошь одной левой?

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

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

Мне кажется, будет некий диалектический возврат на круги своя: современное "многа-много" готовят (как количество) базу для появления нового качества. В создании и функционировании программного обеспечения. И вообще в организации всех "кодописателей". Опенсорс - одна из ласточек.

> Ведь, фактически, это предельная либеризация отрасли программирования

либеризация - это нечто связанное с государством Либерия? :)

Edited at 2012-04-23 10:49 (UTC)

Не получилось. Бывает.

С самого начала было чувство чего-то неправильного, как будто написано не от души, а сочинение на заданную тему. Джинса-маркетинг-пиар.

Предчувствия не обманули, автор даже вынужден сделать и фактическую ошибку:
> Написание Фотошопа на ассемблере заняло бы тысячелетие, не меньше.

Написание фотошопа на ассемблере заняло бы примерно то же самое время, что и разработка оригинального. Циклы, define's, подпрограммы, макросы автоматически приведут к многократному использованию кода. Сформируется своеобразный язык, который и будет использовать команда разработчиков.

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



Re: Не получилось. Бывает.

> Написание фотошопа на ассемблере заняло бы примерно то же самое время, что и разработка оригинального. Циклы, define's, подпрограммы, макросы автоматически приведут к многократному использованию кода. Сформируется своеобразный язык, который и будет использовать команда разработчиков.

Прямо даже странно: почему так не делают?!! Ведь тогда у нас бы были очень быстрые программы за то же время!!!

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

> Прогресс произошёл в железе, а программирование наоборот деградировало.

Отнюдь. Это примерно как считать, что публицисты сейчас совсем не те, что раньше.

По ссылке загрузка игры, взломанной Биллом Гильбертом!!! При просмотре плакал.

a log in your own eye and a speck in your brother's eye

Понятно что этот пост не про прогресс, а опять религиозная пропаганда мира Уиндоуз, ибо бл сделан в поравдание того что простая по функциональности utility сделанная в соответствии с подходом/мышлением мелко-мягких весит 26 мегабайт (соответствуя килобайтам 10 обычного скрипта в наихудшем случае. Вероятне гораздо меньше)

Главный парадокс Л.Кравецкого - неразрешимое, фундаментальное противоречие между с одной стороны правдоисскательством и поисками "коммунизма 2.0" (которые я читаю с симпатией) - и с другой истошное не обращающее внимания на действительность и не гнушачщееся прямыми подлогами отстаивание интересов корпорации прямо воплощающей символ паразитарного, лживого, подлого капитализма.

КОТОРОЕ ОН САМ НЕ ЗАМЕЧАЕТ (!!)




Каким боком Ява и всё, что её окружает, относится к миру Уиндоуз?

(Удалённый комментарий)
Дайте догадаюсь, это за 26-мегабайтную утилиту, которая делает пару мелочей, на вас напали? И вы рассердились?
А поделом. Я тоже хотел за это пнуть, да подумал, что не моё дело. Фильмы в расширении HD, между прочим, обладают качеством пропорционально размеру. А современные кодеки сжимают их данные лучше, чем сжималось видео прежде. Так что в этой отрасли всё прекрасно.
А вот если программа, которая даже в самом расточительном и бестолковом исполнении должна занимать мегабайт (а на асме будет 50 килобайт), занимает 26 мегабайт - это реально смех. А уж если она на яве! Которая сама bloatware (и поэтому, кстати, мало у кого стоит)!

Если вы сами не понимаете, поскольку программированием занимаетесь мало (из 26 мегабайт это видно) - осознайте хотя бы этот факт, и поверьте, что в этом случае критики правы.

Я по секрету сообщу, дорогой друг: я работаю программистом 15 лет. Хотя тебе, конечно же, гораздо виднее, что к чему.

Ну, пробежимся по кочкам...

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

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

2. "В играх много места занимает совсем даже не код, а видео, звук, текстуры, модели и т.д."

А нужно ли это? зачастую многие ресурсы являются излишними, а "смысл" многих игр упал ниже планки (картинка "План шутеров 90х и план шутеров 2000х" в инете бегала").
Зачем в гонках прорисовка елки за 10 км от трассы? Работа для менее 1% игроков, остановившихся повтыкать в окрестности?

3. "из всех программ той далёкой эпохи используют в лучшем случае современную версию Far и ещё пару-тройку простейших утилит."
Не все современные программы убоги, не все старые современны. Тем не менее тенденции тут абсолютно схожие и проявляющиеся заметнее и быстрее всего в браузерах:
"1. ИЕ говно, большое и медленное - пишем свой браузер1.
2. Ура, наш браузер1 скачало миллион человек - давайте его улучшать.
....
N. А давайте теперь к нашему браузеру1 приделаем почту, ирц, торрентокачалку и порнотетрис.
...
I. Их браузер1 говно, большое и медленное - пишем свой браузер2.
II. Ура, наш браузер2 скачало миллион человек - давайте его улучшать.
....
"

И так постоянно - из того, что делается руками и для людей могу разве что Total Commander вспомнить - да и он постепенно обрастает ненужным говном.

4. "Изредка поигрываю в них (есть эмулятор и 10 тысяч игр к нему)... ностальгия"

Собственно о том и речь - в некоторые игры, несмотря на всю их графическую убогость, до сих пор играют миллионы людей.
Потому что было сделано "с умом" и "для людей", а не наляпаны полигоны, чтобы побыстрее срубить бабла.

>А нужно ли это?

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

>"смысл" многих игр упал ниже планки

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

ну так посмотрим на функционал.
Таже ХР имела тоже что и 7-ка. все эти 7 шные изыски - для професионалов. и так при томже функционале - объёмы и требуемые ресуры выросли. это нормально?

>Таже ХР имела тоже что и 7-ка.

Пешите исчо, афтар !

Вы напали на малую долю тех, кто "ноет", что раньше проги были лучше. А большинство "ноет" по другой причине.

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

Суть "нытья" не в том, что "раньше было круто", а в том, что сейчас круто недостаточно.

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

Хых, Савадж! Я его прошел, да, и вторую и третью часть тоже. =)
А по сабжу, есть только легкая ностальгия по тем временам, но и то, скорее не по этим компам и прогам, а по состоянию себя в детстве. =)

?

Log in

No account? Create an account