А ведь было же время ...
От: 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>>
Re[7]: А ведь было же время ...
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 14.01.05 07:43
Оценка: -1
Здравствуйте, Cyberax, Вы писали:

C>Сергей Губанов пишет:


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

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

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


C>Смотри: http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx

C>Есть еще пара оптимизаций, позволяющих еще пару-тройку сотен байт выиграть.


Сразу значит руки мешают, да?

А дело оказывается в том, что раз речь зашла о .NET, то я-то по простоте душевной кинулся измерять размер скомпилированной C# программы (вроде как родной для .NET язык...)
namespace Namespace
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World");
        }
    }
}

а Вы размер C++ программы под .NET.


Размер скомпилированной C# программы ровно 16Kb (причем не зависимо от того release или debug).
Re[6]: А ведь было же время ...
От: Astaroth Россия  
Дата: 14.01.05 12:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>
VD>"Hellow, world!"
VD>

VD>

На PHP:

Hello, world!


... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re: А ведь было же время ...
От: SergeyIT Россия  
Дата: 14.01.05 15:06
Оценка:
Здравствуйте, fplab, Вы писали:

F>Вот что-то мысль посетила и задумался я


Помню, когда появились первые PC 86/87 решили мы проверить их быстродействие для расчетов.
Взяли программу (на Фортране), которая считала примерно час на Электронике-60, и попробовали ее на PC.
Получился прирост производительности около 30% — это при увеличении тактовой процессора почти в 5 раз.
Поэтому я перешел на PC, когда только появились 386 процессоры.
Извините, я все еще учусь
Re: А ведь было же время ...
От: GlebZ Россия  
Дата: 16.01.05 17:29
Оценка:
Здравствуйте, fplab, Вы писали:

F>"Кто сумеет воткнуть Hello World в 256 байт на С++".

Занятно, а теперь это кому-нибудь нужно? Если память есть, то надо ее юзать. Теоретически, на com для дос это возможно.

Когда выходил ATL, Microsoft обещала что можно построить компонент размером в 3 кб(цифру точно не помню, но по моему именно 3 кб). Даже если компонент ничего не делал, мне это не удалось. А если бы мне удалось, то зачем кому-то компонент который ничего не делает?

С уважением, Gleb.

PS:У меня была когда-то программа на Dos, занимала 2 или 4 байта. Весьма полезная. Перегружала DOS. Слабо?
Re[2]: А ведь было же время ...
От: Денис Федин Россия  
Дата: 16.01.05 18:42
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>С уважением, Gleb.


GZ>PS:У меня была когда-то программа на Dos, занимала 2 или 4 байта. Весьма полезная. Перегружала DOS. Слабо?


Если не ошибаюсь JMP F000:FFF0, либо JMP C800:0005, JMP C800:0000 или JMP C800:0006 в зависимости от версии, но это по меньшей мере 5 байт.
Re[3]: А ведь было же время ...
От: GlebZ Россия  
Дата: 16.01.05 18:55
Оценка:
Здравствуйте, Денис Федин, Вы писали:

ДФ>Если не ошибаюсь JMP F000:FFF0, либо JMP C800:0005, JMP C800:0000 или JMP C800:0006 в зависимости от версии, но это по меньшей мере 5 байт.


Нет вызов прерывания. int XX. Сколько байт занимала и занимает команда вызова прерывания, не помню.

С уважением, Gleb.
Re[7]: А ведь было же время ...
От: Mamut Швеция http://dmitriid.com
Дата: 16.01.05 22:50
Оценка: -2
A>На PHP:

A>
A>Hello, world!
A>


A>


Мухлюете Это будет вывод на HTML, в PHP это, как минимум, будет:

<?='Hello, world!'>


А если по правилам, то:

<?php
    echo 'Hello, world!';
?>
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Raketobil — Vremea Dojdey">> ...


dmitriid.comGitHubLinkedIn
Re: А ведь было же время ...
От: Костя Ещенко Россия  
Дата: 17.01.05 04:52
Оценка:
Здравствуйте, fplab, Вы писали:

[]

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


Под виндой это будет непросто. Если не ошибаюсь, в PE-файле только DOS header + PE header занимают байтов эдак 300.
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Re[2]: : А ведь было же время ...
От: fplab Россия http://fplab.h10.ru http://fplab.blogspot.com/
Дата: 17.01.05 07:28
Оценка: 1 (1)
Здравствуйте, SergeyIT, Вы писали:

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


F>>Вот что-то мысль посетила и задумался я


SIT>Помню, когда появились первые PC 86/87 решили мы проверить их быстродействие для расчетов.

SIT>Взяли программу (на Фортране), которая считала примерно час на Электронике-60, и попробовали ее на PC.
SIT>Получился прирост производительности около 30% — это при увеличении тактовой процессора почти в 5 раз.
SIT>Поэтому я перешел на PC, когда только появились 386 процессоры.

Что-то не понял На Электронике программа считалась час (60 минут). На РС на 30% меньше, т.е. 40 минут. Правильно ?
Но с другой стороны — для того, чтобы получить прирост производительности на 30%, вам пришлось увеличить тактовую частоту на 400%.
С одной стороны выигрыш 30%, с другой проигрыш 400%. Вывод: Электроника все же лучше, как ни крути. Ей чуток не хватило тактовой частоты. Ну да Бог с ней, с Электроникой — померла так померла
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re: А ведь было же время ...
От: Melo  
Дата: 17.01.05 08:00
Оценка: 1 (1)

"Кто сумеет воткнуть Hello World в 256 байт на С++".


А смысл? Важно ведь не количество ресурса, а его стоимость. Есть у меня подозрения, что "стоимость" 256 байт в те времена была выше "стоимости" 256 килобайт (если не мегабайт) сейчас.
Re[8]: [7]: А ведь было же время ...
От: Дарней Россия  
Дата: 17.01.05 10:30
Оценка: -1
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Размер скомпилированной C# программы ровно 16Kb (причем не зависимо от того release или debug).


А это не наводит ни на какие размышления? Достаточно поставить /filealign 512 и размер выходного файла станет 6 кб.
Хотя даже в этом случае большая часть файла не используется. Все дело в выравнивании секций.
Никто, знаете ли, не оптимизировал систему под создание ничего-не-делающих программ.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: [7]: А ведь было же время ...
От: Дарней Россия  
Дата: 17.01.05 10:31
Оценка: -1 :)
Здравствуйте, Сергей Губанов, Вы писали:

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


да, мешают таки руки
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: А ведь было же время ...
От: Astaroth Россия  
Дата: 17.01.05 20:00
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Мухлюете


Никоим образом. Создайте файл с таким содержимым, скажите интерпритатору его проинтерпретировать. Получите желаемый вывод.
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[9]: А ведь было же время ...
От: Mamut Швеция http://dmitriid.com
Дата: 17.01.05 20:16
Оценка: -1
Здравствуйте, Astaroth, Вы писали:

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


M>>Мухлюете


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


это не значит, что это написано на PHP. На PHP написано то, что находится между тэгами <?php и ?>. Именно то и интерпретируется.

Если бы интерпретировался весь файл, то следующий код выводил бы на экран Hello, world:

<body>
    print('Hello, world!');
</body>


А выводится почему-то он print('Hello, world!');. Потому что интерпретатор PHP игнорирует HTML код. Если вдаваться в подробности, то, опуская тэги <?php и ?>, кратчайшей конструкцией будет:

echo 'Hello, world!';


Потому что

Hello, world!


вызовет ошибку интерпретатора, "Unexpected T_STRING, function or operator expected"

Гы. И посде этого мне еще минуса ставят. Странные люди
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Kenji Kawai — 10 Kugutsuuta kagirohi ha yomi ni mata muto">> .


dmitriid.comGitHubLinkedIn
Re[10]: А ведь было же время ...
От: Astaroth Россия  
Дата: 17.01.05 20:25
Оценка:
Здравствуйте, Mamut, Вы писали:

M>это не значит, что это написано на PHP. На PHP написано то, что находится между тэгами <?php и ?>. Именно то и интерпретируется.


Так. Давайте разбираться.
Файл интерпретируется интрерпритатором php? Да. Результат тот, что нужен? Да. Фича документированная? Да. Чего ещё надо?

M>А выводится почему-то он print('Hello, world!');. Потому что интерпретатор PHP игнорирует HTML код.


Ыыы... Интерпритатору пофик, что там — html или ещё чего-нить. Это во-первых.
А во-вторых — что значит "игнорирует всё, что вне <?PHP ?>"? Он это выводит в стандартный вывод. Т.е. можно сказать иначе: "расположение текста вне <?PHP ?> равносильно печати этого текста командами echo или print()". Кстати, так оно и есть, AFAIK.

M>Гы. И посде этого мне еще минуса ставят. Странные люди


Дык
... << RSDN@Home 1.1.4 beta 3 rev. 279>>
http://livejournal.com/users/breqwas
Re[11]: А ведь было же время ...
От: Mamut Швеция http://dmitriid.com
Дата: 17.01.05 20:46
Оценка:
Ох, ну заварили же мы кашу (пиво — самая правильная каша)


A>Ыыы... Интерпритатору пофик, что там — html или ещё чего-нить. Это во-первых.

A>А во-вторых — что значит "игнорирует всё, что вне <?PHP ?>"? Он это выводит в стандартный вывод. Т.е. можно сказать иначе: "расположение текста вне <?PHP ?> равносильно печати этого текста командами echo или print()". Кстати, так оно и есть, AFAIK.

PHP Manual. Chapter 5.

When PHP parses a file, it simply passes the text of the file through until it encounters one of the special tags which tell it to start interpreting the text as PHP code. The parser then executes all the code it finds, up until it runs into a PHP closing tag, which tells the parser to just start passing the text through again. This is the mechanism which allows you to embed PHP code inside HTML: everything outside the PHP tags is left utterly alone, while everything inside is parsed as code.


Но есть пример типа:

<?php
if ($expression) { 
    ?>
    <strong>This is true.</strong>
    <?php 
} else { 
    ?>
    <strong>This is false.</strong>
    <?php 
}
?>


Здесь можно посчитать, что PHP ведет себя так, как если бы он печатал коммандами echo или print. Но читаем пятую главу дальше:

This works as expected, because when PHP hits the ?> closing tags, it simply starts outputting whatever it finds until it hits another opening tag. The example given here is contrived, of course, but for outputting large blocks of text, dropping out of PHP parsing mode is generally more efficient than sending all of the text through echo() or print() or somesuch.


То есть PHP никаким образом не интерпретирует что-либо, находящееся вне тэгов <?php ?>. Такие вставки называются в документации HTML Blocks и через парсер они не пропускаются.

То есть, если говорить о кратчайшем способе вывести "Hello, world!" именно средствами PHP, то все равно это будет

echo 'Hello, World';


M>>Гы. И посде этого мне еще минуса ставят. Странные люди


A>Дык


Эхххх
... << RSDN@Home 1.1.4 beta 3 rev. 281>> ... <<Winamp is playing "Mary Black — Carolina Rua">> ...


dmitriid.comGitHubLinkedIn
Re[4]: А ведь было же время ...
От: Mr. None Россия http://mrnone.blogspot.com
Дата: 18.01.05 13:18
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>Нет вызов прерывания. int XX. Сколько байт занимала и занимает команда вызова прерывания, не помню.


int 18h — вызов строенного BASIC`а на старых DOS`ах, повисание или перезагрзука компа на новых.
int 19h — перезагрузка
int FFh — перезагрузка, чем-то отличалась от int 19h, но чем именно уже не помню — давно это было..
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Re[2]: А ведь было же время ...
От: DJ KARIES Россия  
Дата: 18.01.05 14:20
Оценка:
Здравствуйте, Melo, Вы писали:

M>А смысл? Важно ведь не количество ресурса, а его стоимость. Есть у меня подозрения, что "стоимость" 256 байт в те времена была выше "стоимости" 256 килобайт (если не мегабайт) сейчас.


Кстати, и сейчас есть возможность писать досовые проги, и запускать их в винде.
Видел и 3D-демки в 256 байт. Кучу.

Однако купить машину и ездить при этом на коньках вместо неё, это пустая трата денег.

Да, круто, что есть экстремальные демки в 256 байт или 4кб.
Но сколько вы видели действительно крутых программ, не по размеру, а по функционалу?

А вообще, плохому танцору...
Пусть люди криво пишут.
Зато те, кто пишет НЕкриво, будут на вес золота.
... << http://dkdens.narod.ru :: http://retroforth.org >>
Re: А ведь было же время ...
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 22.01.05 22:14
Оценка:
F> Но почему сейчас мы до такой степени ожирели, что простенькая Hello World из нескольких строк на С++ после компиляции тянет на несколько килобайт ?

Какой смысл сейчас программы делать настолько маленькими?

Чтобы выпендриться?


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


Такие конкурсы до сих пор проводятся под девизом "Кто сумеет засунуть самый крутой графический ролик в такой-то объем".
Re[5]: А ведь было же время ...
От: ironwit Украина  
Дата: 23.01.05 13:16
Оценка:
Здравствуйте, Mr. None, Вы писали:

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


GZ>>Нет вызов прерывания. int XX. Сколько байт занимала и занимает команда вызова прерывания, не помню.


MN>int 18h — вызов строенного BASIC`а на старых DOS`ах, повисание или перезагрзука компа на новых.

MN>int 19h — перезагрузка
MN>int FFh — перезагрузка, чем-то отличалась от int 19h, но чем именно уже не помню — давно это было..

int 1 байт —
цифра — 1 байт.
Значит итого 2 байта.
Еще помню что int кодировался в CD, очень часто в программах присутсвовал набор CD 21 — это был вызов самого частого перыывания ДОСа, на ктором высиле очень много чего
Я не умею быть злым, и не хочу быть добрым.
Re: А ведь было же время ...
От: Sergei I. Gorelkin Россия  
Дата: 24.01.05 07:02
Оценка:
Здравствуйте, fplab, Вы писали:

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

То время не прошло, оно продолжается, просто написание маленьких программ перестало быть mainstream, а по-русски говоря, ширпотребом. Я вот, например, пишу программы для процессора ADSP-2185, у которого память программ 16384 инструкции. Вбив сотню килобайт исходников и откомпилив, обнаруживаешь, что занял этих инструкций всего штук 1500...

А если говорить про mainstream, то размер программы определяется во многом опять же уровнем программиста. Стоит сказать, что рантайм нужно линковать динамически, как размер программы уменьшается почти на этот самый рантайм ("Почти" — потому что останется таблица импорта). Еще пара ключей компилятора/линкера (/entrypoint:xxx, /opt:nowin98) — результат на лице...
Re[2]: А ведь было же время ...
От: Lonely Dog Россия  
Дата: 25.01.05 18:30
Оценка:
Здравствуйте, GlebZ, Вы писали:

GZ>PS:У меня была когда-то программа на Dos, занимала 2 или 4 байта. Весьма полезная. Перегружала DOS. Слабо?

Это ерунда. Там можно было создать толи exe-файл нулевой длины, толи com-файл такой же длины. После его запуска DOS уходил в перезагрузку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.