Re[3]: Павлу Дворкину: о понимании того что делаешь и просты
От: minorlogic Украина  
Дата: 09.11.09 06:08
Оценка:
Здравствуйте, drol, Вы писали:

D>Э-э-э... А Вы точно уверены, что "большой процент програмистов на С++ или С" вообще знают что такое "статический и динамический верификатор кода" ?

Не знаю. Это не имеет значения.

D>Ну вот лично меня эти самые накладные расходы беспокоили только на J2ME Там где на всё про всё было 100Кб хипа, а само приложение приходилось упихивать в 30Кб.

И ?

D>Именно! Но ведь того — пишут

И ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[3]: За нашу свободу!
От: Pavel Dvorkin Россия  
Дата: 09.11.09 06:35
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Т.е. тебе необходимо ощущение того, что ты можешь сделать все что захочешь под конкретной ОС (именно ощущение, т.к. меня терзают смутные сомнения о частоте возникновения потребности в написании драйвера при решении повседневных задач).


Верно. Кстати, драйверы я не писал.

PD>>2. Чтобы это работало как можно более быстро и потребляло ресурсов как можно меньше. Я пишу не серверное ПО, а моя ОС не MS-DOS, так что работать это все будет в коммунальной квартире, а поэтому ванную занимать на 3 часа нечего и свет в туалете надо тушить.


KV>Знаешь, у меня был рабочий (конторский ноут) с одним ядром на полтора гигагерца и одним гигом оперативки. Однажды я подошел к коллеге, который отвечает в ИТ за апгрейды оборудования для рабочих мест и спросил, что нужно сделать, чтобы заменить себе ноут на более мощный? Он ответил, что по старой дружбе, правильного скриншота закладки "быстродействие" из диспетчера задач, на котором будет наглядно показано, как мне грустно работается на текущей конфигурации, будет более чем достаточно. Казалось бы, простая задача — занять проц на 70-80% (не на 100% — чтобы не палиться) и вызвать безудержный своп. Попробуй решить ее на C# (на самом деле, это легко, но тогда я еще не владел дао управления памятью в .net)... Мне это удалось минут через 15-20 борьбы с GC и при этом прога проработала около 5 минут, прежде чем началось то, что мне было нужно. С тех пор у меня двухядерный ноут на 2,5 гигагерца с 4 гигами оперативки


KV>Намек, думаю понятен...


Не очень. Честно говоря, я просто не понял, что ты хотел сказать. Если ты не зная .NET, сумел это сделать через 15 мин, то значит, это не так уж сложно. Ну а второе — что , не мог занять проц на 60% без написания своей программы ?


PD>>Первый мой вопрос — а как с п.1 и 2 будет. Гарантируете ли вы, что я по-прежнему смогу делать все. что я умею делать, использовать все те возможности ОС, которые умею использовать ? И будет ли это работать столь же быстро и требовать ресурсов не больше ?


KV>Я прямо сейчас, безотносительно языка, могу гарантировать, что это тебе не нужно в 80-90 процентах решаемых тобой задач


Мне это нужно в 99% моих задач. Говорю совершенно честно. От меня основное что требую — время, время и еще раз время. А сам я при этом себе добавляю как требование — при этом еще и память, память, память. Потому что знаю , конечно. что время и память конкуренты (и выбор, конечно, всегда сделаю в пользу времени), но и памяти чем меньше возьму, тем меньше и времени на ее обработку уйдет.


PD>>Как только я этот вопрос задаю, так сразу мои оппоненты начинают юлить.


KV>Они просто пугаются, т.к. думают что ты работаешь на оборонку и пишешь софт для ядерных боеголовок


Упаси боже. Я человек совершенно мирный и занимаюсь совсем прозаической деятельностью. Просто те задачи, которыми я занимаюсь, едят процессорное время безбожным образом.

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


KV>А можно взглянуть на реальную (не надуманную задачу) где быстродействие, достижимое на управляемых платформах является неприемлемым, из твоей практики? А десяток таких задач?


Ничего себе заявление! Я, значит, должен был десяток задач решить на .NET, чтобы удовлетворить твое любопытство ? Мне , чтобы убедиться в том. что .NET здесь не пойдет, десяток реальных задач решать незачем. Достаточно несколько тестов пропустить, что я когда-то и сделал, получил проигрыш в 1.5-2 раза (это еще до LinQ было, ну а с ним — 4-5 раз, недавно тут как-то обсуждали). И зачем, спрашивается, после этого я буду писать код реальной задачи (и кто мне будет за это платить ?), если тесты мне показывают. что я явно потеряю в быстродействии ?

PD>>Ну насчет скорости — мы тут уже столько копий сломали, что вряд ли стоит еще одно ломать. А вот насчет возможностей... Никакой я не специалист в C# и .NET, я там просто дилетант, не более. Но тем не менее мне неоднократно доводилось давать советы в форуме по .NET, причем за эти советы я получал баллы в рейтинге.


KV>*закадровый шепот* Павел, я тут за такую фигню, вообще не имеющую отношения к программированию, пол своего рейтинга заработал...


Э нет, не пойдет. Безопасность — дело серьезное, даже если специалист по ней не программист вообще.


KV>Да, меня это тоже удручает. К сожалению, в .NET еще встречаются задачи, когда полностью абстрагироваться от окружающей тебя ОС не получится при всем желании


И никогда не перестанут встречаться.

PD>>Хорошо, конечно. Что я еще могу сказать! Вы предлагаете мне отказаться от свободы, но в ответ обещаете, что я смогу писать код без ошибок ? Да — мне в ответ.

PD>>Без любых ошибок ?

PD>>И тут опять мои опппоненты юлить начинают. Мемори ликов у тебя не будет. Ладно, говорю, спасибо, хотя у меня их и так не много, инструменты для их обнаружения есть. Индекс у тебя за пределы массива не выйдет. Тоже спасибо, отвечаю я, он и так у меня как правило не выходит, если только я сам не хочу, чтобы он выходил. Что там еще ? Уничтоженные объекты не будешь использовать. Тоже спасибо, хотя и так попытка взятия по NULL определяется без особого труда.


KV>Тебя это просто перестанет беспокоить с переходом на .NET А если это сейчас тебя и так не беспокоит, то и переходить на .NET, пожалуй не стоит.


Так я это и утверждаю. Ты же меня на дискуссию вызвал, ну вот я и отбиваюсь

>Но мне вот что интересно: можно чуть подробнее про поиск ликов

VLD, Bounds Cheker (раньше).

>(и его достоверность)


Да ловит вроде. Тот же VLD — просто работа с CRT, проход по куче. То же самое, что и в .NET, только никто ничего не освобождает.

Ну а на худой конец

void* mymalloc(size_t size)
{
// add to list
return malloc(size);
}

и соответствующий myfree. Впрочем, это на С. Для С++ немного посложнее.

>про основу твоей уверенности в том, что индексы не выходят за предел


Если уж очень надо, то

class Wrapper
{
int& operator[](int index)
{
if(index > ... || index < ...


А вообще — не надо. Он и так выходить не должен. Он у меня и на Фортране никуда особенно не выходил, а там вообще говорить о проверке можно с натяжкой

И вообще должен сказать, что до появления .NET этому вопросу (выход индекса), как бы это помягче сказать и никого не обидеть... не уделялось слишком большого внимания при обсуждении проблем программирования. Выходят у тебя индексы — исправь, что надо, а оповещать весь мир об этом как-то считалось дурным тоном и признаком невысокой квалификации. А тут из мухи сделали слона. Да и вообще, что такое выход индекса ? Это логическая ошибка, это неверное вычисление функции (в широком смысле слова). Одна из многих возможных логических ошибок. Что в формуле для корней вместо минуса плюс поставить, что в массиве из n обратиться к n-му элементу.


>и про то, как именно ты определяешь попытки использования нулевого указателя?


Запусти

char* p = NULL;
*p = 0;

и все сам увидишь.

PD>>А от логических ошибок вы меня оградите ? От ошибок алгоритма или его реализации ? От того, что я при вычислении корней уравнения вместо b*b-4*a*c написал b*b+4*a*c ? От того, что я понимал эту задачу так-то, а она, оказывается, выглядит совсем не так, но это проявляется в одном случае на миллион ? С IndexOutOfRange я как-нибудь и так справлюсь, а вот с этим-то что делать ? Поможете ?

PD>>А в ответ — либо тишина, либо рассуждения о светлом будущем, когда весь код будет верифицироваться (надо полагать, верификатор будет распознавать подпрограмму вычисления корней уравнения, знать этот алгоритм и подскажет мне — ты там плюс вместо минуса поставил Остается только понять — почему он в таком случае за меня программу сам не написал.)

KV>Тут затрудняюсь что-либо прокомментировать, т.к. ничего подобного лично я не утверждал


А я и не говорю, что ты утверждал. Я просто отмечаю, что те ошибки, от которых меня намерены защищать, есть 1-2% моих ошибок. А остальные 98% никакими тулзами и средствами не контролируются в принципе. И за эти 1-2% платить цену, о которой я говорил — не стоит, да и шум вокруг них поднимать такой уж нечего.

PD>>Тот код, который ты показал, при определенных условиях вполне безупречен.


KV>Он не безупречен по одной лишь причине: у его разработчика не было ни малейших оснований предполагать, что указатель на пайп не может быть нулевым при входе в функцию, либо после входа в функцию, но до установки мьютекса.


Еще раз. Кода установки не видел, но

1. Мютекс надо создавать до указателя на пайп, а уничтожать — после.
2. Если это сделано, и операции с пайпом стоят под мютексом, то предполагать такое вполне можно. Войти в функцию при нулевом пайпе просто не удастся, мютекс не пустит.


PD>>И вот эти логические ошибки меня больше всего и беспокоят. Они у меня львиную часть времени съели. А не выходы индексов и прочая чепуха.


KV>Эта самая "чепуха" занимает 45% от всех уязвимостей, когда-либо публиковавшихся на secunia (один из наиболее авторитетных и полных источников подобной информации). Поэтому меня эта чепуха также беспокоит. Впрочем, как и логические ошибки, если быть честным.


А меня логические ошибки беспокоят, а безопасность — абсолютно нет. Ну какая может быть безопасность в задаче перемножения матриц, например ? Индексы пусть где попало не бегают, NULL вместо матриц не используй и не будет никаких угроз

PD>>Резюмирую. Готов ли я отдать свою свободу (в программировании, конечно, только там) за что-то ? Пока не дадите твердого ответа на п.1 и 2. — категорически не готов. А когда дадите — тогда поторгуемся по п.3. Пока хорошо не заплатите — тоже не отдам.


KV>Неужели оно того стоит?


Стоит.

KV>P.S: Про вертолет, как я понимаю, это было в отместку за "простреленные ноги"?


With best regards
Pavel Dvorkin
Re[5]: За нашу свободу!
От: Pavel Dvorkin Россия  
Дата: 09.11.09 06:40
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

OE>>>ну и аргумент, охренеть — ваша кофеварка не умеет стирать бельё!??? в топку её!

PD>>Если меня больше всего интересует, как постирать белье , а ты мне предлагаешь кофеварку — в топку!

KV>Угу, правда не понятно при этом, каким боком тебя интересует стирка белья в рамках процесса приготовления кофе


Нет, все как раз наоборот. У меня проблемы со стиркой белья, вода извне в машину не течет, а изнутри вытекает на пол, ротор не крутится и т.п, а тут ко мне приходят и говорят : "Мы знаем, что вам нужно, и именно сейчас! Мы решим все ваши проблемы. Самая лучшая кофеварка от фирмы Идиотекс!!! Только у нас!"

Я человек мирный, но если они со своей идиотековской кофеваркой попадутся мне под горячую руку, то я не ручаюсь, что не употреблю эту кофеварку не по прямому назначению
With best regards
Pavel Dvorkin
Re[3]: За нашу свободу!
От: Pavel Dvorkin Россия  
Дата: 09.11.09 06:41
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Может именно в этом ваша ошибка ? Вы пытаетесь строить приоритеты в отрыве от выполняемой задачи?


Нет, просто эти приоритеты выстроены в соответствии с моими задачами.
With best regards
Pavel Dvorkin
Re[2]: Павлу Дворкину: о понимании того что делаешь и просты
От: MichaelLa  
Дата: 09.11.09 07:05
Оценка: -1 :)
Здравствуйте, MichaelLa, Вы писали:

ML>Здравствуйте, kochetkov.vladimir, Вы писали:


ML>заявления г-на Дворкина и ваше не кореллируют.



Володя, вместо минусов лучше займись баг-фиксингом
Re[3]: Павлу Дворкину: о понимании того что делаешь и просты
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 09.11.09 08:57
Оценка:
Здравствуйте, MichaelLa, Вы писали:

ML>Володя, вместо минусов лучше займись баг-фиксингом


Я вообще программингом на работе не занимаюсь, это у меня не более чем хобби

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

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[4]: За нашу свободу!
От: CreatorCray  
Дата: 09.11.09 12:24
Оценка: -1
Здравствуйте, Курилка, Вы писали:

К>Думаю, не расскажет , подробности у него в ЖЖ.

Камрад дело говорит.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: За нашу свободу!
От: minorlogic Украина  
Дата: 09.11.09 12:53
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Нет, просто эти приоритеты выстроены в соответствии с моими задачами.


Я об этом и говорю, вы используете критерии ваших задач на других задачах.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[5]: За нашу свободу!
От: Pavel Dvorkin Россия  
Дата: 09.11.09 13:00
Оценка:
Здравствуйте, minorlogic, Вы писали:

PD>>Нет, просто эти приоритеты выстроены в соответствии с моими задачами.


M>Я об этом и говорю, вы используете критерии ваших задач на других задачах.


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

http://rsdn.ru/forum/philosophy/3593547.1.aspx
Автор: IT
Дата: 06.11.09


IT> О решении бизнес и ряда системных задач можно сразу забыть навсегда.


Как же мне теперь всерьез относиться к высказыванию таких оппонентов, если я решал именно определенные бизнес-задачи (не сайты , правда), и исповедовал именно эти принципы. И мне именно за это и платили.
With best regards
Pavel Dvorkin
Re[5]: Павлу Дворкину: о понимании того что делаешь и просты
От: Pavel Dvorkin Россия  
Дата: 09.11.09 13:04
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Здравствуйте, Pavel Dvorkin, Вы писали:

PD>>Здравствуйте, kochetkov.vladimir, Вы писали:

KV>>>Прикольно, а зачем по-твоему я тогда его сюда вставил? Но ок, буду ждать.

PD>>У меня сейчас лекция, после нее отвечу.

KV>А у меня случился больничный , и под рукой ядра нет, а лазать по git'у через GPRS — долго и нудно. В общем, предлагаю перенести обсуждение конкретно этого кода на следующую неделю, ок?


OK. Жду то, о чем я писал чуть выше. Мне просто любопытно.
With best regards
Pavel Dvorkin
Re[4]: За нашу свободу!
От: IT Россия linq2db.com
Дата: 09.11.09 14:51
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

IT>>С такими низкоуровневыми приоритетами можно решать только низкоуровневые задачи. Для узкой группы задач вроде ковыряния в железках это возможно будет работать. О решении бизнес и ряда системных задач можно сразу забыть навсегда.


PD>Бизнес (в твоем понимании) — пожалуй, да, так как там царит, похоже, принцип — хоть как, но быстрее, давай-давай. Впрочем, есть и другие бизнес-задачи, и там это вполне работает (в моей работало).


Это всё домыслы. В решении бизнес задач царит принцип эффективности. Писать сегодня код на C дорого, медленно, не эффективно. Тоже самое касается и системных задач, но в них требования к потреблению ресурсов могут оказаться приоритетнее. Там, где в системных задачах ресурсы мало кого интересуют, тоже используются более эффективные инструменты, чем C.
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Павлу Дворкину: о понимании того что делаешь и просты
От: Sheridan Россия  
Дата: 09.11.09 15:06
Оценка: +3 :))) :)
Приветствую, samius, вы писали:

s> IT>Уж лучше в дворники, чем в дворкины?

s> На РСДН уже видимо правило хорошего тона: если не разделяешь точку зрения человека — просклоняй его /*или фамилию, если доступна*/.
s> Пол беды, когда это делают пользователи, но от админа

Ну у меня "Дворкин" в первую очередь ассоциируется с "9 принцев Амбера".
avalon 1.0rc2 rev 300, zlib 1.2.3
build date: 19.08.2009 14:13:36 MSD +04:00
Qt 4.5.2
Matrix has you...
Re: Павлу Дворкину: о понимании того что делаешь и простых п
От: Pro100Oleh Украина  
Дата: 09.11.09 22:04
Оценка: 1 (1)
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Не так давно от Павла прозвучало
Автор: Pavel Dvorkin
Дата: 18.10.09
следующее:


KV>

KV>Я бы так сказал — язык С++ дает мне свободу делать все, что я хочу. А это неизбежно сопряжено с возможностью сделать и ошибку. Чтобы свободой как следует воспользоваться, надо хорошо понимать, что при этом можно, и что нельзя делать.


... и обязанность делать то, что я не хочу.
Pro
Re[5]: За нашу свободу!
От: Pavel Dvorkin Россия  
Дата: 10.11.09 06:30
Оценка: +1
Здравствуйте, IT, Вы писали:

PD>>Бизнес (в твоем понимании) — пожалуй, да, так как там царит, похоже, принцип — хоть как, но быстрее, давай-давай. Впрочем, есть и другие бизнес-задачи, и там это вполне работает (в моей работало).


IT>Это всё домыслы. В решении бизнес задач царит принцип эффективности.


Эффективности чего ? Работы программиста или конечного кода ?

>Писать сегодня код на C дорого


Да

>медленно


Да

>не эффективно


С точки зрения времени работы программиста — да. С точки зрения эффективности рабочей программы — наоборот.


>Тоже самое касается и системных задач, но в них требования к потреблению ресурсов могут оказаться приоритетнее. Там, где в системных задачах ресурсы мало кого интересуют, тоже используются более эффективные инструменты, чем C.


Да. Но только когда ресурсы мало кого интересуют.
With best regards
Pavel Dvorkin
Re[6]: За нашу свободу!
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.11.09 06:51
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

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


PD>>>Бизнес (в твоем понимании) — пожалуй, да, так как там царит, похоже, принцип — хоть как, но быстрее, давай-давай. Впрочем, есть и другие бизнес-задачи, и там это вполне работает (в моей работало).


IT>>Это всё домыслы. В решении бизнес задач царит принцип эффективности.


PD>Эффективности чего ? Работы программиста или конечного кода ?


>>Писать сегодня код на C дорого

PD>Да
Продолжай мысль: потратиться на железо дешевле, чем оптимизировать программу. Особенно это касается памяти.

>>медленно

PD>Да
Продолжай мысль: надо раньше выпустить продукт, чтобы потом было время что-либо оптимизировать.

>>не эффективно

PD>С точки зрения времени работы программиста — да. С точки зрения эффективности рабочей программы — наоборот.
Неверно, меньшие затраты на выпуск программы дают больше возможностей (финансовых и по времени) для оптимизации.


>>Тоже самое касается и системных задач, но в них требования к потреблению ресурсов могут оказаться приоритетнее. Там, где в системных задачах ресурсы мало кого интересуют, тоже используются более эффективные инструменты, чем C.

PD>Да. Но только когда ресурсы мало кого интересуют.

А с чего ты взял что на С буждет потребляться меньше ресурсов (и каких ресурсов вообще)?
Напиши highload сайт полностью на С\C++.
Re[7]: За нашу свободу!
От: Pavel Dvorkin Россия  
Дата: 10.11.09 07:40
Оценка:
Здравствуйте, gandjustas, Вы писали:


>>>Писать сегодня код на C дорого

PD>>Да
G>Продолжай мысль: потратиться на железо дешевле, чем оптимизировать программу. Особенно это касается памяти.

Доказательства в студию.


>>>медленно

PD>>Да
G>Продолжай мысль: надо раньше выпустить продукт, чтобы потом было время что-либо оптимизировать.

Если продукт не работает с минимально требуемой скоростью — он не продукт.


>>>не эффективно

PD>>С точки зрения времени работы программиста — да. С точки зрения эффективности рабочей программы — наоборот.
G>Неверно, меньшие затраты на выпуск программы дают больше возможностей (финансовых и по времени) для оптимизации.

Вот это уж точно. Если сначала сделать как-нибудь, то возможностей потом улучшить будет точно больше. Ну, скажем, переписать все с нуля


>>>Тоже самое касается и системных задач, но в них требования к потреблению ресурсов могут оказаться приоритетнее. Там, где в системных задачах ресурсы мало кого интересуют, тоже используются более эффективные инструменты, чем C.

PD>>Да. Но только когда ресурсы мало кого интересуют.

G>А с чего ты взял что на С буждет потребляться меньше ресурсов (и каких ресурсов вообще)?


Я это обосновывал не раз, новых аргументов нет. Прежние ты знаешь.

G>Напиши highload сайт полностью на С\C++.


Что за чепуха ? Когда это я предлагал сайты на С/C++ писать ? Он совсем не для написания сайтов!
With best regards
Pavel Dvorkin
Re[8]: За нашу свободу!
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 10.11.09 08:11
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

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



>>>>Писать сегодня код на C дорого

PD>>>Да
G>>Продолжай мысль: потратиться на железо дешевле, чем оптимизировать программу. Особенно это касается памяти.

PD>Доказательства в студию.

Месяц работы программиста — от 30000 до 80000 рублей. Гигабайт оперативки стоит меньше 1000р. За месяц работы программиста можно купить неплохой компьютер.


>>>>медленно

PD>>>Да
G>>Продолжай мысль: надо раньше выпустить продукт, чтобы потом было время что-либо оптимизировать.

PD>Если продукт не работает с минимально требуемой скоростью — он не продукт.

Правильно. Какая скорость работы минимально требуется? И как её определить?
Для этого надо как минимум написать программу чтобы она была коректной

Определись для начала что такое скорость работы. Для пользователя это время отклика интерфейса, а не время полной обрабоки.
Например в каком-нить ICQ, skype или jabber я предпочту сразу отправлять сообщения, не додижаясь сообщения о подтверждении (чтобы они приходили асинхронно), чем ждать пока сообщение будет доставлено (синхронно).

Кроме того визуальный feedback длительной операции уменьшает воспринимаемое время работы, хотя увеличивает реальное время работы.



>>>>не эффективно

PD>>>С точки зрения времени работы программиста — да. С точки зрения эффективности рабочей программы — наоборот.
G>>Неверно, меньшие затраты на выпуск программы дают больше возможностей (финансовых и по времени) для оптимизации.

PD>Вот это уж точно. Если сначала сделать как-нибудь, то возможностей потом улучшить будет точно больше. Ну, скажем, переписать все с нуля

Про 80%/20% слышал? Максимум придется переписывать 20%, если тормоза не заложены в архитектуре (как с mutable строками).


>>>>Тоже самое касается и системных задач, но в них требования к потреблению ресурсов могут оказаться приоритетнее. Там, где в системных задачах ресурсы мало кого интересуют, тоже используются более эффективные инструменты, чем C.

PD>>>Да. Но только когда ресурсы мало кого интересуют.

G>>А с чего ты взял что на С буждет потребляться меньше ресурсов (и каких ресурсов вообще)?

PD>Я это обосновывал не раз, новых аргументов нет. Прежние ты знаешь.
Да ты ниче не обосновывал. Максимум приводил тривиальные примеры, которые вообще ничего не доказывают.

G>>Напиши highload сайт полностью на С\C++.

PD>Что за чепуха ? Когда это я предлагал сайты на С/C++ писать ? Он совсем не для написания сайтов!
А для чего? Если че — написание для веба на сегодня одна из самых востребованных областей.
Re: Павлу Дворкину: о понимании того что делаешь и простых п
От: LaptevVV Россия  
Дата: 10.11.09 08:17
Оценка: +1
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>Не так давно от Павла прозвучало
Автор: Pavel Dvorkin
Дата: 18.10.09
следующее:


KV>

KV>Я бы так сказал — язык С++ дает мне свободу делать все, что я хочу. А это неизбежно сопряжено с возможностью сделать и ошибку. Чтобы свободой как следует воспользоваться, надо хорошо понимать, что при этом можно, и что нельзя делать.


KV>Я вот сижу и думаю, а может ну ее нафиг эту свободу, а? А то получится как с ядром линукса
Автор: kochetkov.vladimir
Дата: 05.11.09
:

KV>"Суслика видите? А он есть..."
Ну это примерно так же, как запретить кухонные ножи. Ведь дети могут порезаться! Да и вообще — мало ли ножами кухонными друг-друга режут!?
ИМХО, нужно просто лучше готовить профессионалов. Чтобы любители с ними близко не стояли по квалификакции... Тогда и не будет таких ляпов...
И устаканить в мозгах постулат: НАДЕЖОСТЬ ВАЖНЕЕ ЭФФЕКТИВНОСТИ!!!!!!!!!
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: За нашу свободу!
От: LaptevVV Россия  
Дата: 10.11.09 08:47
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Мне надо

PD>1. Иметь возможность делать все, что я хочу. Разумееется, в рамках того, что мне позволяет аппаратура и (возможно) операционная система, а также мои мозги. Слово "возможно" здесь не случайно. В определенных границах я могу изменить поведение ОС, добавив к ней свой модуль (драйвер)
PD>2. Чтобы это работало как можно более быстро и потребляло ресурсов как можно меньше. Я пишу не серверное ПО, а моя ОС не MS-DOS, так что работать это все будет в коммунальной квартире, а поэтому ванную занимать на 3 часа нечего и свет в туалете надо тушить.
PD>3. Чтобы в этом коде было как можно меньше ошибок. Говорить "чтобы не было ошибок" не буду, так как программа без ошибок есть абстрактное теоретическое понятие.
PD>4. Чтобы я на это потратил как можно меньше своего времени.
PD>Замечу, что эти пожелания выстроены мной строго в соответствии с моими приоритетами. Иными словами, если мне предлагается нечто, резко улучшающее пункт i+1 за счет ухудшения в пункте i — меня это не устроит.
Приоритеты — понятны.
Но ИМХО их надо ставить в таком порядке:
3, 4, 1, 2.
PD>Ты мне предлагаешь начать с пунктов 3 и 4. Обещаешь, что в коде будет меньше ошибок, и я смогу написать быстрее. Насчет второго не спорю, а первое еще обсудим, попозже.
Правильно предлагает.
PD>Первый мой вопрос — а как с п.1 и 2 будет.
По мере возможности.
PD>Гарантируете ли вы, что я по-прежнему смогу делать все. что я умею делать, использовать все те возможности ОС, которые умею использовать ? И будет ли это работать столь же быстро и требовать ресурсов не больше ?
Гарантировать никто не может. Но нужно искать компромисс...
В конце-концов, абсолютная свобода достигается только при написании в кодах и на голой машине...
Но это долго — поэтому надо искать компромисс.
А про эффективность — тут необходимо чувство меры... Ибо можно выжимать микросекунды, тратя на это ДНИ...
PD>Резюмирую. Готов ли я отдать свою свободу (в программировании, конечно, только там) за что-то ? Пока не дадите твердого ответа на п.1 и 2. — категорически не готов.
Насчет свободы еще. Ленин же гениально сказал, что свобода — это ОСОЗНАННАЯ необходимость... Ею надо уметь пользоваться...
Проблема в том, что в отличие от тебя, огромное большинство программистов пользоваться свободой не умеют... Надо много пота и крови пролить, чтобы понять, как пользоваться свободой С++. Поэтому и предлагаются инструменты, ограничивающие НЕОГРАНИЧЕННУЮ свободу.
И в конце-концов, любая свобода — относительна.
Если свободы не хватает — "купи козу" и поживи с ней. А потом "продай козу" — и ТАКУЮ свободу ощутишь... Хотя фактически — ничего не изменилось...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[9]: За нашу свободу!
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.11.09 08:50
Оценка: +6 :)
Здравствуйте, gandjustas, Вы писали:

G>>>Напиши highload сайт полностью на С\C++.

PD>>Что за чепуха ? Когда это я предлагал сайты на С/C++ писать ? Он совсем не для написания сайтов!
G>А для чего? Если че — написание для веба на сегодня одна из самых востребованных областей.

Меня поражают иногда такие споры. Оппонент практически в каждом сообщении описывает свой круг задач, но его никто не слушает и со своей колокольни начинают мучать сайтами и базами данных. Ей богу, Павлу надо подпись сделать: "Сайты не разрабатываю".

Для разнообразия предлагаю тебе, gandjustas, написать безопасное приложение, которое будет работать на видеокарте с CUDA SDK. Потренируйся, посмотри что это практически невозможно. (Даже стандартный пример с рекомендуемыми дровами, на рекомендованном оборудовании может вызвать синий экран.) Примени свои знания C#, .Net, храни текстуры в MS SQL и подгружай их запросами. А мы посмотрим.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.