А ведь было же время ...
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 13.01.05 14:26
Оценка: 10 (1) +3
Вот что-то мысль посетила и задумался я Помнится на заре своей программистской карьеры (было это, кажется, в 1986/87 годах) программировал я на ассемблере для инженерного "чуда" советской микрокомпьютерной техники БК-0010. Потом были СМ-3/4 той же архитектуры. Как обычно, компьютер был слизан с западного образца; в данном случае с PDP-11. Было у него, если не ошибаюсь, целых 32 Кб оперативной памяти из которых (не помню сколько, но очень мало) чуток отводилось под прикладные программы. Но суть не в том, суть в другом. Как сейчас помню, что пакет состоящий из редактора, компилятора и линковщика занимал всего 7 с небольшим Кб. Причем поддерживалась компиляция и связывание программ из нескольких исходных файлов, хранившихся на магнитофонной кассете. В общем — класс !!! Конечно, архитектура и ассемблер PDP-11 не идут ни в какое сравнение с интеловским монструозным творением. Думаю, что большинство программистов, заставших эти машинки и поработавшие с ними, со мной согласятся: ясная и простая система команд, удобная и развитая система режимов адресации. Ностальгия, честное слово.
Ладно, корпорация DEC и ее детище PDP-11 благополучно загнулись. Конкуренция, повсеместное насаждение PC + ныне сдохший Compaq постарались. Оставим это историкам. Но почему сейчас мы до такой степени ожирели, что простенькая Hello World из нескольких строк на С++ после компиляции тянет на несколько килобайт ? Раньше маленькие программы получались как-то сами собой, а сейчас впору проводить конкурс "Кто сумеет воткнуть Hello World в 256 байт на С++".
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re: А ведь было же время ...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.01.05 14:55
Оценка: +2
Здравствуйте, fplab, Вы писали:

F>Вот что-то мысль посетила и задумался я Помнится на заре своей программистской карьеры (было это, кажется, в 1986/87 годах) программировал я на ассемблере для инженерного "чуда" советской микрокомпьютерной техники БК-0010.


Почему "чуда"? Вполне неплохая для своего времени машинка.

F>Было у него, если не ошибаюсь, целых 32 Кб оперативной памяти из которых (не помню сколько, но очень мало) чуток отводилось под прикладные программы.


Если не грузить всякие псевдоОС или бейсики, то ровно половина — 16К (ну минус 256 верхних байт под таблицу прерываний). Оставшиеся 16К был фреймбуфер.

F> Причем поддерживалась компиляция и связывание программ из нескольких исходных файлов, хранившихся на магнитофонной кассете. В общем — класс !!! Конечно, архитектура и ассемблер PDP-11 не идут ни в какое сравнение с интеловским монструозным творением. Думаю, что большинство программистов, заставших эти машинки и поработавшие с ними, со мной согласятся: ясная и простая система команд, удобная и развитая система режимов адресации. Ностальгия, честное слово.


Ну вот, а перед этим "чудом" обозвал.

F>Ладно, корпорация DEC и ее детище PDP-11 благополучно загнулись. Конкуренция, повсеместное насаждение PC + ныне сдохший Compaq постарались. Оставим это историкам. Но почему сейчас мы до такой степени ожирели, что простенькая Hello World из нескольких строк на С++ после компиляции тянет на несколько килобайт ?


Потому что Hello World никому не нужны, а на больших программах экономия отнюдь не очевидна.
... << RSDN@Home 1.1.4 beta 3 rev. 275>>
AVK Blog
Re: А ведь было же время ...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.01.05 15:06
Оценка: :))) :)
Здравствуйте, fplab, Вы писали:

F> Но почему сейчас мы до такой степени ожирели, что простенькая Hello World из нескольких строк на С++ после компиляции тянет на несколько килобайт?


Чтобы не ожиреть надо быть разборчивым в еде, а не есть все подряд. Сядьте на диету — откажитесь от С++ и все быстро встанет на свои места.
Вот у меня, например, скомпилированная программа Hello World написанная на языке высокого уровня занимает всего 518 байтов.

Компилятор BlackBox 1.5 BETA. Язык Component Pascal. Исходный код:
MODULE Test;

    IMPORT StdLog;
    
    PROCEDURE Main* ();
    BEGIN
        StdLog.String("Hello World")
    END Main;
    
END Test.

могу ужать до 498 байтов...


Еще статья такая была: Никлаус Вирт 'Долой "жирные" программы' http://emanual.ru/download2/1764.html
Re[2]: А ведь было же время ...
От: Mamut Швеция http://dmitriid.com
Дата: 13.01.05 15:25
Оценка: 3 (2) +2
СГ>могу ужать до 498 байтов...

Единственное но — в соответствующей среде исполнения. А так — это 498 байтов + БлэкБокс.
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Kenji Kawai — 10 Kugutsuuta kagirohi ha yomi ni mata muto">> .


dmitriid.comGitHubLinkedIn
Re[3]: А ведь было же время ...
От: Курилка Россия http://kirya.narod.ru/
Дата: 13.01.05 15:30
Оценка:
Здравствуйте, Mamut, Вы писали:

СГ>>могу ужать до 498 байтов...


M>Единственное но — в соответствующей среде исполнения. А так — это 498 байтов + БлэкБокс.


.net под рукой нету, интересно — сколько там хелловорлд занимает?
Re[2]: А ведь было же время ...
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 13.01.05 15:31
Оценка: 6 (1)
Здравствуйте, Сергей Губанов, Вы писали:

СГ> Чтобы не ожиреть надо быть разборчивым в еде, а не есть все подряд. Сядьте на диету — откажитесь от С++ и все быстро встанет на свои места.


Вот-вот, я к этому и веду ! Знаю я об Oberon и Modula. И кто такой Никлаус Вирт мне известно. И Дейкстру почитывали, и о Хоаре слышали Однако, в смысле разборчивости, правила зачастую диктуют работодатели. Но попробуйте вдолбить им, что на ООП свет клином не сошелся, что есть и другие подходы.
Меня агитировать, допустим, не надо. И вас, разумеется, тоже. Кто понимает, что программирование не только производственный процесс, но и интеллекутальная деятельность, тому все ясно. Жалко студентов-пацанов. Они этого ничего не знают и ничего не слышали.
И еще одно: попробуте напишите в резюме, что вы знаете Oberon. Я что-то не много встречал работодателей, которые кроме шаманских "С++, Java, С#" о чем-то слышали еще.
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re[4]: А ведь было же время ...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.01.05 15:42
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Здравствуйте, Mamut, Вы писали:


СГ>>>могу ужать до 498 байтов...


M>>Единственное но — в соответствующей среде исполнения. А так — это 498 байтов + БлэкБокс.


К>.net под рукой нету, интересно — сколько там хелловорлд занимает?


В .NET ровно 16Kb, при увеличении размеров программы, дотнетовский exe-шник увеличивается в размере "скачками" ровно по 4Kb.
Re: А ведь было же время ...
От: jazzer Россия Skype: enerjazzer
Дата: 13.01.05 15:46
Оценка:
Здравствуйте, fplab, Вы писали:

F>Вот что-то мысль посетила и задумался я :) Помнится на заре своей программистской карьеры (было это, кажется, в 1986/87 годах) программировал я на ассемблере для инженерного "чуда" советской микрокомпьютерной техники БК-0010. Потом были СМ-3/4 той же архитектуры. Как обычно, компьютер был слизан с западного образца; в данном случае с PDP-11. Было у него, если не ошибаюсь, целых 32 Кб оперативной памяти из которых (не помню сколько, но очень мало) чуток отводилось под прикладные программы. Но суть не в том, суть в другом. Как сейчас помню, что пакет состоящий из редактора, компилятора и линковщика занимал всего 7 с небольшим Кб. Причем поддерживалась компиляция и связывание программ из нескольких исходных файлов, хранившихся на магнитофонной кассете. В общем — класс !!! Конечно, архитектура и ассемблер PDP-11 не идут ни в какое сравнение с интеловским монструозным творением. Думаю, что большинство программистов, заставших эти машинки и поработавшие с ними, со мной согласятся: ясная и простая система команд, удобная и развитая система режимов адресации. Ностальгия, честное слово.


БК-шка была просто супер-машинкой.
Помнишь отладчик то ли Зильбермана, то ли Зильберштейна?
Который в видеопамять грузился :)
И асм на ней — красота, ничего лишнего.

F>Ладно, корпорация DEC и ее детище PDP-11 благополучно загнулись. Конкуренция, повсеместное насаждение PC + ныне сдохший Compaq постарались. Оставим это историкам. Но почему сейчас мы до такой степени ожирели, что простенькая Hello World из нескольких строк на С++ после компиляции тянет на несколько килобайт ? Раньше маленькие программы получались как-то сами собой, а сейчас впору проводить конкурс "Кто сумеет воткнуть Hello World в 256 байт на С++".


Ну это ты зря. Если ты используешь для вывода потоки С++, которые умеют форматировать, писать и читать, плюс манипуляторы плюс локали, а хочешь всего-то вывести Hello World — ну кто ж тебе виноват... Ты бы еще до кучи все библиотеки win32 подлинковал, а потом удивлялся бы.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[4]: А ведь было же время ...
От: Mamut Швеция http://dmitriid.com
Дата: 13.01.05 15:51
Оценка:
Здравствуйте, Курилка, Вы писали:

К>Здравствуйте, Mamut, Вы писали:


СГ>>>могу ужать до 498 байтов...


M>>Единственное но — в соответствующей среде исполнения. А так — это 498 байтов + БлэкБокс.


К>.net под рукой нету, интересно — сколько там хелловорлд занимает?


Консольное приложение — 5 120 bytes
Windows Forms — 6 144 bytes

+ 20 мегабайтов фреймворка (пока)
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Mary Black — Summer Sent You">> ...


dmitriid.comGitHubLinkedIn
Re[2]: А ведь было же время ...
От: iZEN СССР  
Дата: 13.01.05 18:07
Оценка: 6 (1) +1
Здравствуйте, Сергей Губанов, Вы писали:
СГ>Здравствуйте, fplab, Вы писали:
F>> Но почему сейчас мы до такой степени ожирели, что простенькая Hello World из нескольких строк на С++ после компиляции тянет на несколько килобайт?
СГ> Чтобы не ожиреть надо быть разборчивым в еде, а не есть все подряд. Сядьте на диету — откажитесь от С++ и все быстро встанет на свои места.
СГ> Вот у меня, например, скомпилированная программа Hello World написанная на языке высокого уровня занимает всего 518 байтов.
СГ>Компилятор BlackBox 1.5 BETA. Язык Component Pascal. Исходный код:
СГ>
СГ>MODULE Test;

СГ>    IMPORT StdLog;
    
СГ>    PROCEDURE Main* ();
СГ>    BEGIN
СГ>        StdLog.String("Hello World")
СГ>    END Main;
    
СГ>END Test.
СГ>

СГ>могу ужать до 498 байтов...
Хе-хе!!!!!
Код на Java:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

после компиляции даёт class-файл размером 535 байт вместе с отладочной информацией и 342 байт без оной.
Re[5]: А ведь было же время ...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.01.05 19:35
Оценка:
Здравствуйте, Mamut, Вы писали:

К>>.net под рукой нету, интересно — сколько там хелловорлд занимает?


M>Консольное приложение — 5 120 bytes


Странно, а у меня почему 16Kb?
Re[3]: А ведь было же время ...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.01.05 19:39
Оценка: :)
Здравствуйте, iZEN, Вы писали:

ZEN>после компиляции даёт class-файл размером 535 байт вместе с отладочной информацией и 342 байт без оной.


Из оберонов, так называемая, "отладочная информация" не убирается никогда. Когда я сказал, что могу ужать до 498, то имел в виду дать имени модуля и имени процедуры однобуквенные обозначения, в бинарнике имена сохранятются...
Re[6]: А ведь было же время ...
От: Cyberax Марс  
Дата: 13.01.05 19:42
Оценка:
Сергей Губанов пишет:

> К>>.net под рукой нету, интересно — сколько там хелловорлд занимает?

> M>Консольное приложение — 5 120 bytes
> Странно, а у меня почему 16Kb?

Руки, видимо, мешают...

Смотри: http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx
Есть еще пара оптимизаций, позволяющих еще пару-тройку сотен байт выиграть.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[2]: А ведь было же время ...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 13.01.05 19:43
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Ну это ты зря. Если ты используешь для вывода потоки С++, которые умеют форматировать, писать и читать, плюс манипуляторы плюс локали, а хочешь всего-то вывести Hello World — ну кто ж тебе виноват...


Так ведь компилятор не должен вставлять в исполнимый файл тот код, который реально не используется. Например, в Delphi есть такая библиотека KOL — использующие ее програмы получаются маленькие именно по причине вырезания компилятором фактически не используемого кода.
Re[6]: А ведь было же время ...
От: Mamut Швеция http://dmitriid.com
Дата: 13.01.05 19:45
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Mamut, Вы писали:


К>>>.net под рукой нету, интересно — сколько там хелловорлд занимает?


M>>Консольное приложение — 5 120 bytes


СГ>Странно, а у меня почему 16Kb?


Это у Вас в debug. У меня дебаг версия тоже 16 КБ. Релиз — 5.
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Kenji Kawai — 07 Kugutsuuta aratayo ni kamutsudo hite">> ...


dmitriid.comGitHubLinkedIn
Re[4]: А ведь было же время ...
От: iZEN СССР  
Дата: 13.01.05 21:30
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, iZEN, Вы писали:


ZEN>>после компиляции даёт class-файл размером 535 байт вместе с отладочной информацией и 342 байт без оной.


СГ>Из оберонов, так называемая, "отладочная информация" не убирается никогда. Когда я сказал, что могу ужать до 498, то имел в виду дать имени модуля и имени процедуры однобуквенные обозначения, в бинарнике имена сохранятются...

public final class H {
    public final static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

H.class 332 байт (меньше не могу получить)
Re[4]: А ведь было же время ...
От: hrg Россия  
Дата: 13.01.05 23:50
Оценка: :)
Сергей Губанов -> Re[3]: А ведь было же время ...

ZEN>>после компиляции даёт class-файл размером 535 байт вместе с

ZEN>>отладочной информацией и 342 байт без оной.

СГ> Из оберонов, так называемая, "отладочная информация" не убирается

СГ> никогда. Когда я сказал, что могу ужать до 498, то имел в виду дать
СГ> имени модуля и имени процедуры однобуквенные обозначения, в
СГ> бинарнике имена сохранятются...

По сравнению со скриптовыми языками — java по замеру отдыхает

<!-- Yury Kopyl aka hrg | Гордость мешает доходам! -->
Posted via RSDN NNTP Server 1.9
Re[4]: А ведь было же время ...
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.01.05 03:28
Оценка:
Здравствуйте, Курилка, Вы писали:

К>.net под рукой нету, интересно — сколько там хелловорлд занимает?

10-20 кил.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: А ведь было же время ...
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.01.05 03:28
Оценка: :)
Здравствуйте, hrg, Вы писали:

hrg>По сравнению со скриптовыми языками — java по замеру отдыхает


Ага. Вот, например, на Питоне:
"Hellow, world!"

... << RSDN@Home 1.1.4 beta 3 rev. 279>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: А ведь было же время ...
От: emusic Франция https://software.muzychenko.net/ru
Дата: 14.01.05 07:15
Оценка: 17 (5) +1
Здравствуйте, fplab, Вы писали:

F>Но почему сейчас мы до такой степени ожирели, что простенькая Hello World из нескольких строк на С++ после компиляции тянет на несколько килобайт ? Раньше маленькие программы получались как-то сами собой, а сейчас впору проводить конкурс "Кто сумеет воткнуть Hello World в 256 байт на С++".


"Hello world" — не показатель. Из того, что программа из трех строк займет, допустим, 256 байт, отнюдь не следует, что программа из трех тысяч строк займет 256 килобайт Тут проблема в другом. Рост объемов программ и данных стимулирует закупки памяти разных видов, это ее удешевляет, что опять-таки стимулирует рост объемов. Само по себе это не страшно, но способность отдельного человека проследить путь от низших уровней представления кода/данных до высших отнюдь не увеличилась. А в этом я вижу определенную проблему.

Если, скажем, некая группа людей — скажем, корпорация Intel — разрабатывает и выпускает процессор Pentium-IV, состоящий из хреновой горы элементарных транзисторов и связей между ними, то и рядовому потребителю, и крутому инженеру остается только вставить его в разъем и пользоваться возможностями, которые он возжелает предоставить. Нюансы взаимодействия конкретных транзисторов друг с другом при этом ни того, ни другого не волнуют и, более того, в общем случае недоступны для анализа. То есть, при всей своей сложности такой процессор остается цельным и законченным изделием, и его внутренняя сложность интересна лишь для любопытных.

А с открытыми системами типа тех же виндов все наоборот. Одному человеку, даже со специальными познаниями, уже не под силу адекватно представлять, что творится у него в системе, и что изменится после установки очередного плейера размером в пару десятков мегабайт. Тупой юзер и инженер, не специализирующийся конкретно на данной версии виндов, стремительно сближаются в своей беспомощности Вот это мне и не нравится. В 60-70-е, в эпоху монстрообразного тогда программного обеспечения 360/370, все было гораздо более прозрачно, а во многом — и более функционально. Сейчас же ситуация напоминает наращивание добычи угля/нефти, только вместо конечных природных запасов выступает конечная способность человека, даже умного, отдавать себе отчет в том, из чего состоит и как работает то, чем он постоянно пользуется
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.