powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
25 сообщений из 418, страница 4 из 17
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548828
socimed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvikПоучаствую.

socimedЕсли бы это было так, то ядра операционных систем и баз данных писали бы на C++, а не на C. А то и вовсе на Java или C#.
Покормлю жирненького: OS Singularity - написана на C# (Sing#), по многим параметрам производительности рвёт другие ОС как тузик грелку.
Этот проект закрыт давно как эпически провальный на техническом уровне (торпозит и глючит), иди покорми детей конфетами. Или пусть они тебя покормят, говорят сахар стимулирует мышление.


petalviksocimedЛинус начал пилить линукс когда C++ уже вовсю был. Аналогично с ядром NT, ядром Mach, ядром Darwin и т.д. Никто не использовал C++.
Понимаешь, каждый пишет на том языке, который лучше знает. Линус не знает кресты, поэтому на них не пишет. Если бы знал их, но не знал Си - писал бы на них.
О, еще один котороый не смог осилить простые предложения Линуса о нестабильности и непереносимости STL и буста.

Ну да ладно.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548831
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... кроме того что семантика работы с синглтоном иногда не позволяет
распознать его, особенно если нет сорсов или работаем через
удалённые интерфейсы. В Scala есть ключевое слово для обозначение одиночек,
в Java - нету. ООП-фан-сектор предлагает создавать громкие и значимые
названия методов инстанциирования типа createInstance () или getInstance ()
и запрещать явный конструктор. Но кроме этого больше нет никаких
признаков того что мы получили одиночку.

Тоесть глядя на код фиг поймешь получен объект или пула или из фабрики
или тебе подсунули "единоличника" и эгоиста.

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

Ну и глобальность до кучи... побочные эффекты и блокировки.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548860
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
socimedpetalvik
Понимаешь, каждый пишет на том языке, который лучше знает. Линус не знает кресты, поэтому на них не пишет. Если бы знал их, но не знал Си - писал бы на них.
О, еще один котороый не смог осилить простые предложения Линуса о нестабильности и непереносимости STL и буста.

Ну да ладно.
Не пытайтесь нас запутать!
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548891
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТоесть глядя на код фиг поймешь получен объект или пула или из фабрики
или тебе подсунули "единоличника" и эгоиста.
Как мне кажется, это и есть реальный ъ-ООП (т.е. клиентскому коду неизвестно, что там за объект, независимо от того как он это получил). Но у джавистов обычно под синглтоном понимается statefull объект, получаемый от класса методом getInstance() (уж не знаю откуда ноги у этой школы растут, меня учили в университете смолтоку, и там можно просто переопределить метод new, например, поэтому необходимость контракта добычи объекта через newInstance() вызывала когнитивный диссонанс). А так вообще, слабо прадставляется архитектурная необходимость таких объектов, и скорее всего они создаются от безысходности и лени/неумения построить контекст приложения ( тащить его через конструкторы, инжектить там как нибудь или т.п., кому что нравится ).
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548922
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманmaytonТоесть глядя на код фиг поймешь получен объект или пула или из фабрики
или тебе подсунули "единоличника" и эгоиста.
Как мне кажется, это и есть реальный ъ-ООП (т.е. клиентскому коду неизвестно, что там за объект, независимо от того как он это получил). Но у джавистов обычно под синглтоном понимается statefull объект, получаемый от класса методом getInstance() (уж не знаю откуда ноги у этой школы растут, меня учили в университете смолтоку, и там можно просто переопределить метод new, например, поэтому необходимость контракта добычи объекта через newInstance() вызывала когнитивный диссонанс). А так вообще, слабо прадставляется архитектурная необходимость таких объектов, и скорее всего они создаются от безысходности и лени/неумения построить контекст приложения ( тащить его через конструкторы, инжектить там как нибудь или т.п., кому что нравится ).
"Тащить через конструкторы" - это вот . В примере кода, который там можно скачать вначале статьи, автор создаёт репозиторий на заказчика (CustomerRepository) при старте приложения, потом передаёт этот репозиторий в конструктор главного окна, окно - в конструктор рабочей области, рабочая область - в конструктор представления заказчика. И это ещё не полностью по фен-шую. По фен-шую с репой должна работать модель. Поэтому надо ещё из модели представления в модель передать всё... А что мешает сделать репу статичным типом - синглетоном?
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548934
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320,

А если две репы надо синхронизировать друг с другом? Куда их делать синглтоном?
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548950
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманmaytonТоесть глядя на код фиг поймешь получен объект или пула или из фабрики
или тебе подсунули "единоличника" и эгоиста.
Как мне кажется, это и есть реальный ъ-ООП (т.е. клиентскому коду неизвестно, что там за объект, независимо от того как он это получил). Но у джавистов обычно под синглтоном понимается statefull объект, получаемый от класса методом getInstance() (уж не знаю откуда ноги у этой школы растут, меня учили в университете смолтоку, и там можно просто переопределить метод new, например, поэтому необходимость контракта добычи объекта через newInstance() вызывала когнитивный диссонанс). А так вообще, слабо прадставляется архитектурная необходимость таких объектов, и скорее всего они создаются от безысходности и лени/неумения построить контекст приложения ( тащить его через конструкторы, инжектить там как нибудь или т.п., кому что нравится ).
Это от отсуствия глобальных переменных.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548955
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лагманuser7320,

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

В примере, что я привёл, делается один экзепляр репы при самом старте приложения, как если бы это был синглетон. Но передаётся всем вниз по иерархии через конструкторы. Но при этом ссылка-то передаётся на один и тот же экземпляр. В ЭТОМ случае-то почему бы не использовать синглетон?
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548959
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Лагманuser7320,

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

В примере, что я привёл, делается один экзепляр репы при самом старте приложения, как если бы это был синглетон. Но передаётся всем вниз по иерархии через конструкторы. Но при этом ссылка-то передаётся на один и тот же экземпляр. В ЭТОМ случае-то почему бы не использовать синглетон?
Т. е. вроде используется как синглетон, но при этом не статик. Почему?
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548964
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320,

user7320В ЭТОМ случае
Если ваша задача сделать приложение, в котором никогда не нужно будет подключаться к двум "репам", то конечно можно.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548974
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вторая причина - повторное использование компонентов. Если вы не тащите, то у вас везде Singleton.getInstance(). А у меня класса Singleton нет, или я его хочу унаследовать. А у вас везде хардкод, нипереапридилить.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548990
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманВторая причина - повторное использование компонентов. Если вы не тащите, то у вас везде Singleton.getInstance(). А у меня класса Singleton нет, или я его хочу унаследовать. А у вас везде хардкод, нипереапридилить.
Так репа разве не в отдельной сборке? Подменили сборку и всё. Можно даже, наверное, сделать настройку выбра сборки, считываемую из файла конфига прямо во время рантайма. Т. е. не надо будет даже перекомпилировать и перезапускать приложение.

Или я что-то не так понимаю?
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38548993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманВторая причина - повторное использование компонентов. Если вы не тащите, то у вас везде Singleton.getInstance(). А у меня класса Singleton нет, или я его хочу унаследовать. А у вас везде хардкод, нипереапридилить.
java.lang.String тоже нельзя повторно унаследовать. Но он - не синглтон.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549007
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320ЛагманВторая причина - повторное использование компонентов. Если вы не тащите, то у вас везде Singleton.getInstance(). А у меня класса Singleton нет, или я его хочу унаследовать. А у вас везде хардкод, нипереапридилить.
Так репа разве не в отдельной сборке? Подменили сборку и всё. Можно даже, наверное, сделать настройку выбра сборки, считываемую из файла конфига прямо во время рантайма. Т. е. не надо будет даже перекомпилировать и перезапускать приложение.

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

Да, осмелюсь предположить что не понимаете. Я вообще плохо умею объяснять.

maytonString тоже нельзя
Ну так стринг это и не БД, с ним проще )
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549008
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
socimedЭтот проект закрыт давно как эпически провальный на техническом уровне (торпозит и глючит)
Проект закрыт не по техническим причинам, а потому что ещё одна ось на данном этапе никому не нужна.

socimedО, еще один котороый не смог осилить простые предложения Линуса о нестабильности и непереносимости STL и буста.
Ага, значит о производительности ни слова? ;)

ЗЫ: и какое отношение высокоуровневые библиотеки имеют к написанию низкоуровневого кода?
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549027
socimed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalviksocimedЭтот проект закрыт давно как эпически провальный на техническом уровне (торпозит и глючит)
Проект закрыт не по техническим причинам, а потому что ещё одна ось на данном этапе никому не нужна.
Ок, подождем следущего этапа, бугага.


petalviksocimedО, еще один котороый не смог осилить простые предложения Линуса о нестабильности и непереносимости STL и буста.
Ага, значит о производительности ни слова? ;)
И про это тоже он писал, читай усиленнее, слово effective.
http://article.gmane.org/gmane.comp.version-control.git/57918


petalvikЗЫ: и какое отношение высокоуровневые библиотеки имеют к написанию низкоуровневого кода?
О чем ты, болезный?

Код git (даже не ядра linux) - это недостаточно высокоуровнеый код?
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549066
RESEARCH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПроизводительность чего?
Производительность работы обычно действительно возрастает.

производительность какой работы ? программиста или кода
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549097
RESEARCH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИ напротив, с прямыми руками можно написать быструю программу на любом языке.

советую писать на ассемблере, хороший язык без изворотов. первые ядра вобще в кодах писали и ничего.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549291
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RESEARCHавторИ напротив, с прямыми руками можно написать быструю программу на любом языке.

советую писать на ассемблере, хороший язык без изворотов. первые ядра вобще в кодах писали и ничего.
Без изворотов, типов, циклов, всего десяток переменных (регистров) и GOTO (точнее JMP и J*) наше всё... Для критичных к производительности участков самый идеальный вариант, для остального - мазохизм.

PS Писал в студенчестве на АСМе для Z80. Жалко что соревнование за "тетрис в 1 кб" пропустил. Мечта идиота. До сих пор хочу попробовать написать, да все некогда.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549330
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TRESEARCHпропущено...


советую писать на ассемблере, хороший язык без изворотов. первые ядра вобще в кодах писали и ничего.
Без изворотов, типов, циклов, всего десяток переменных (регистров) и GOTO (точнее JMP и J*) наше всё... Для критичных к производительности участков самый идеальный вариант, для остального - мазохизм.

PS Писал в студенчестве на АСМе для Z80. Жалко что соревнование за "тетрис в 1 кб" пропустил. Мечта идиота. До сих пор хочу попробовать написать, да все некогда.
Типов нет, но вот насчёт "изворотов, циклов, переменных", эээ... не знаю как в Z80, но в x86 и PDP-11 всё это в ассемблере есть, тем более в макроассемблере,
кстати максимально просто и эффективно, по сравнению с ЯП высокого уровня со своими "тараканами".

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

ЗЫ оператор goto почему ещё не обсуждали? :)
на собеседованиях про него спрашивают или это считается дурным тоном? :)
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549345
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Z80 удобен тем что скорость выполнения каждой директивы можно посчитать до тактов.
Ни вам конвеера ни SIMD, ни оптимизаций переходов. Кстати этим пользовались для
генерации хитрых звуков типа Spech Synthez.

И я-бы щас уже выкинул дефолтную прошивку с бейсиком. Залил-бы что-то поинтереснее.
И графическая библиотека там была - отстой. Окружности рисовала параметрически.
И Пентагон 128 хотел. И чтоб со MIDI звуком. И чтоб 2 флопака. Хехе... Мечты.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549364
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswsТипов нет, но вот насчёт "изворотов, циклов, переменных", эээ... не знаю как в Z80, но в x86 и PDP-11 всё это в ассемблере есть
На счет циклов несогласен. Сложно назвать циклом такую конструкцию
Код: sql
1.
2.
3.
4.
i = 100
1: что-то полезное считаем
i = i - 1
if i > 0 goto 1


я считаю это всегда называлось условным переходом. Хоть в Z80 хоть в x86. Хотя циклом тоже можно назвать если именно так написано, без наворотов.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549370
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, собери два варианта. С "IF-GOTO" и "DO-WHILE"
и посмотри ассемблерный выхлоп.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549390
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aswsЗЫ оператор goto почему ещё не обсуждали? :)
на собеседованиях про него спрашивают или это считается дурным тоном? :)
Чего про него спрашивать? Его так активно хоронили что языков где он есть немного осталось.
maytonZ80 удобен тем что скорость выполнения каждой директивы можно посчитать до тактов.
Ни вам конвеера ни SIMD, ни оптимизаций переходов. Кстати этим пользовались для
генерации хитрых звуков типа Spech Synthez.
а еще был IBM PC XT, на нем игрушка Digger которая была точно рассчитана на его 12 МГц проца, и на 268 проце летала с бешеной скоростью ))).

Раз уж такая ностальгия началась, маленькая байка: Завалялся у меня ноут (Pentium M 1,6 ГГц, 512 Мб DDR1), чуть мощнее современного телефона. Стояла XP, тормозила, потестил Гугл хром 5 минут открывается, IE7 - 2 мин. (когда такое было). Хотел выкинуть, но экран отличный по сравнению с современными ширпотребовскими, да и клава не убита. Решил дать ему второй шанс, поставить линукс (помня те времена когда линукс на дискету 3,5" умещался) и хоть по инету лазить с него. Перепробовал несколько дистрибутивов, не встает - нет поддержки "pae" (зачем оно на 512 Мб памяти). Встал debian7 в итоге, там оказалось есть отдельное ядро i486. Поставил гугл хром, он грузится и работает, серфить по инету комфортно, правда flash-плеер тупит, грузит проц на 100%, во флэш игрушки играть разве что самые примитивные можно.
...
Рейтинг: 0 / 0
А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
    #38549395
Фотография asws
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TaswsТипов нет, но вот насчёт "изворотов, циклов, переменных", эээ... не знаю как в Z80, но в x86 и PDP-11 всё это в ассемблере есть
На счет циклов несогласен. Сложно назвать циклом такую конструкцию
Код: sql
1.
2.
3.
4.
i = 100
1: что-то полезное считаем
i = i - 1
if i > 0 goto 1


я считаю это всегда называлось условным переходом. Хоть в Z80 хоть в x86. Хотя циклом тоже можно назвать если именно так написано, без наворотов.например, x86 есть LOOP и его варианты, в PDP-11 есть SOB,
вместе с меткой они выглядят не хуже литералов начала-конца цикла в любом ЯП,
причём возможности управления и выхода из цикла неограничены, в отличие от ЯП высокого уровня.
...
Рейтинг: 0 / 0
25 сообщений из 418, страница 4 из 17
Форумы / Программирование [игнор отключен] [закрыт для гостей] / А давайте-ка обсудим :) Кто считает что ООП даёт прирост скорости программе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]