Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, Glоbus, Вы писали:
G>>Значит они считают, что за такие деньги это преемлемое качество. Ну не нужен им на сайте интернет-магазина мегаэффективный поиск по списку товаров с указанием хитрых кретериев — пользователь подождет вместо одной пять секунд, браузер повтыкает ,в результате все спишут на то что вот мол тормозно сетка работает.
PD>Спишут-то спишут, но следующий раз клиент к конкуренту пойдет. У которого сайт лучше.
PD>Вот пример, личный. Искал себе турпоездку. Нашел в Рамблере n ссылок, потом по ним пошел. Если где-то не открывалось или там я не мог быстро получить, что меня интересует — закрывал окно без всяких разговоров. Турфирм море...
Ну а они, заразы, все равно довольны и таким качеством...
Здравствуйте, vlad_gri, Вы писали:
_>Здравствуйте, eao197, Вы писали:
E>>Так вот, если в моем распоряжении есть P4-2GHz, то у меня есть выбор -- сделать задачу за месяц на Smalltalk/Ruby или за два месяца на C++. При этом реализация на Smalltalk/Ruby будет грузить процессор на 80% (при пиковой нагрузке), а C++ -- на 20%.
E>>В пользу чего делать выбор? _>Если поставленна задача сделать за месяц то Smalltalk/Ruby. _>А через месяц еще задача, которая будет крутится паралельно и.т.д. _>И начнется ...
Никаких "начнётся". Нельзя выбирать заведомо трудоёмкое решение из-за каких-то "начнётся". Вопросы надо РЕШАТЬ, а не перманентно обдумывать. Завтра вы нафантазируете ещё больше и будете писать КОНКРЕТНУЮ рассматриваемую задачу на кодах процессора?
В конце концов, программный комплекс — это совокупность программы и железа. И если заказчик ПОТОМ решит установить на это же железо ещё чего-нибудь, то это уже будет его проблема.
Здравствуйте, Дарней, Вы писали:
MS>>На самом деле это всего лишь вопрос личных предпочтений. Лично я люблю решать задачи, которые изначально требуют максимально возможной эффективности. Другие задачи мне не интересны. Ну не интересны и все тут — рутина и тоска зеленая.
Д>Одного только понять не могу — откуда в представителях первой категории берется столько снобизма, что они называют любую работу кроме мегаэффективного рисования треугольников "рутиной" и "тоской зеленой"?
Можно процитировать мои слова, демонстрирующие снобизм? Речь была лишь о личных предпочтениях. У меня (лично у меня) — вот такие-то и такие-то предпочтения, и я специально сделал на этом акцент.
Д>Некоторым людям нравится решать примитивные задачи наподобие вывода треугольников, но сверхсложными способами. Тратить на решение каждой задачи массу времени и сил, но зато треугольники будут выводиться аж в два раза быстрее!
Я бы попросил читать то что написано, а не то, что хочется прочесть. Внимательнее, пожалуйста. Вывод треугольников — это действительно примитивная задача, а "вывод вдвое быстрее" — примерно такая же рутина, как и ковыряние в кривом API (собственно, это задача и относится к категории API). Натривиальным является некий способ генерации этих самых треугольников (это лишь для примера). Это очень тонкий момент, часто вызывающий непонимание. В представлении большинства людей "оптимизация" — это ковыряние на уровне машинных кодов и/или написание длинного и неряшливого спагети-кода. Это тоже на редкость тоскливое занятие. Повторю еще раз — интересной (для меня!) является прежде всего работа над алгоритмической частью, когда, например, требуется приблизить O(N log N) к O(N). Вам знакомо понятие О-нотации? Это чем-то напоминает процесс доказательства математических теорем. И язык как таковой здесь не имеет большого значения.
Д>Другим людям нравится решать сложные задачи, но простыми способамами — например, писать свои операционные системы, языки программирования и так далее. Пусть они даже работают не так быстро, как возможно — зато делают такие вещи, которые до них никто раньше не делал.
Интересно, какую такую "операционную систему" или "язык программирования" можно придумать, да еще и так, как "никто раньше не делал", и самое главное — не для самоудовлетворения, а чтобы ими пользовались хотя бы пара тысяч людей? По-моему, это что-то из области заведомой утопии. А я реалист и "наполеонством" не страдаю.
Д>Вероятно, выбор одного из этих вариантов зависит от особенностей менталитета каждого программиста. Одним нравится копать вглубь, другим — строить ввысь.
В моем понимании — копать вглубь — это считать такты и оптимизировать на уровне отдельных команд. Есть и такие задачи, в области firmware, но они меня тоже не прельщают.
Строить ввысь — это как раз и есть возводить здание из надежых и эффективных конструкций, устроенное примерно как цепочка неопровержимых математических доказательств. Это то, к чему я и стремлюсь (но основная доля моей работы — это пока что рутина, тем не менее).
Есть подозрение, что то, что Вы, уважаемый Дарней понимаете под "сложными задачами" — это на самом деле строительство вширь, когда конструкции могут стоять только на земле, а при попытке что-то соорудить из них ввысь, получается нелепое и неустойчивое нагромождение.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Дарней, Вы писали:
Д>ну если для тебя написание ОС — посредственная задача, то мне остается только удивляться, почему ты еще не нанял Билли Г работать уборшиком
По моему глубокому убеждению, вопрос материальной состоятельности других людей не должен Вас беспокоить. Вообще не должен. А "написание ОС" — это задача гигантского объема, а не сложности. Да, там есть нетривиальные части, но их объем в процентном отношении к тривиальному коду — исчезающе мал.
Еще раз озвучу свою позицию. Нам отведено не так уж и много времени на этой Земле и лично мне жалко тратить его на кодирование тривиальной логики. Мне хочется еще и удовольствия.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Я бы попросил читать то что написано, а не то, что хочется прочесть. Внимательнее, пожалуйста. Вывод треугольников — это действительно примитивная задача, а "вывод вдвое быстрее" — примерно такая же рутина, как и ковыряние в кривом API (собственно, это задача и относится к категории API). Натривиальным является некий способ генерации этих самых треугольников (это лишь для примера). Это очень тонкий момент, часто вызывающий непонимание. В представлении большинства людей "оптимизация" — это ковыряние на уровне машинных кодов и/или написание длинного и неряшливого спагети-кода. Это тоже на редкость тоскливое занятие. Повторю еще раз — интересной (для меня!) является прежде всего работа над алгоритмической частью, когда, например, требуется приблизить O(N log N) к O(N). Вам знакомо понятие О-нотации? Это чем-то напоминает процесс доказательства математических теорем. И язык как таковой здесь не имеет большого значения.
+1
MS>Есть подозрение, что то, что Вы, уважаемый Дарней понимаете под "сложными задачами" — это на самом деле строительство вширь, когда конструкции могут стоять только на земле, а при попытке что-то соорудить из них ввысь, получается нелепое и неустойчивое нагромождение.
Кому как. Каждый смотрит со своей колокольни. У каждого свои понятия сложности. Мне интересен процесс построения объемных задач. Если говорить об аналогии со строительством(что-то это для всех стало популярной аналогией), это строить дом из булыжников. Нужно построить его так, чтобы он крепко стоял. А булыжники все разные. И нужно подобрать именно нужный булыжник с нужной геометрией. Иногда подработать напильником. Один неверный булыжник всех ситизенов похоронит. Мне сейчас такое интересно. А булыжников много. Это непростая задача.
NC>Не вижу где не хватает памяти дико. И еще 512 метров никак бюджет не перенапрягут.
Фирма, млин. Не дают
NC>Если уж говорить о профессиональном юзании компа(разработка, у вас я вижу Photoshop, Dreamweaver) то поставить себе 1Гб-1.5 вполне нормально. Я долго работал на 512 Мб, все было ок, правла когда возникла необходимость разрабатывать на виртуалке поставил еще гиг без проблем.
Здравствуйте, minorlogic, Вы писали:
M>Приведу сравнение возможно спорное но очень яркое.
А теперь начинаем объяснять нам глупым, что здесь имелось ввиду.
Здравствуйте, Pavel Dvorkin,
PD>1. Если предельная эффективнсть не требуется — значит, железо сейчас избыточно. Если бы железо было намного слабее — писали бы то же, но эффективно, выжимали бы из железа все, чтот можно. Дороже. Хуже. Но делали бы. PD>2. Эта избыточность ресурсов — что означает ?
--
Производя "железо", очень трудно предвидеть заранее, какие именно программы и в каком количестве на нем будут использоваться. В такой ситуации наиболее выигрышной генеральной стратегией с точки зрения производителя было бы выпускать наиболее производительное железо, которое позволяло бы охватить наибольший класс задач.
Другими словами, избыточность железа, скорее всего, связана не с тем, что нет задач, способных это железо загрузить, а с тем, что не известно заранее, какие и сколько задач на этом железе будут работать.
Если же это известно, то выбор железа можно произвести оптимально, исходя из потребностей этой задачи, обеспечивая ее оптимальную загрузку.
PD>3. Что будет, если этот рост прекратится ? PD> a) произойдет возврат к борьбе за эффективность, так как потребности общества все же будут расти, а ресурсы расти не будут или будут расти медленнее потребностей
--
Это, скорее всего, так.
Однако даже если производительности железа будет ограничена свойствами "физического мира", есть сравнительно простой способ повышения производительность — использовать несколько "ограниченных" устройств параллельно, одновременно.
OT>Никаких "начнётся". Нельзя выбирать заведомо трудоёмкое решение из-за каких-то "начнётся". Вопросы надо РЕШАТЬ, а не перманентно обдумывать. Завтра >вы нафантазируете ещё больше и будете писать КОНКРЕТНУЮ рассматриваемую задачу на кодах процессора?
Вы когда-нибудь занимались не шарашками расчитанными на месяц, типа получил бабки и свалил,
а нормальным сопровождением своих же програм которое длится более n лет.
Деньги нужно брать не за РЕШЕНИЕ, а за то что оно (ваше РЕШЕНИЕ) будет работать и приносить клиенту прибыль.
n — 1,2,3 и.т.д
OT>В конце концов, программный комплекс — это совокупность программы и железа. И если заказчик ПОТОМ решит установить на это же железо ещё >чего-нибудь, то это уже будет его проблема.
Здравствуйте, minorlogic, Вы писали:
M>С тем что задача "быстрого выведения треугольника" юыла озвученна как легкая. Заметь разницу между "выведения треугольника" и "быстрого выведения треугольника" , хотя и само "выведения треугольника" не такое простое как кажется.
как я уже сказал, сама по себе задача может быть проста, но конкретные условия реализации могут сделать ее сложной
M>Намного проще перелопатить какойнить ГУЙ ,насыпать обработчиков , SQL запрос(простой) и т.д.
а кто сказал, что это нужно делать вручную?
если задача действительно объемная, то таким образом можно запросто все пальцы отдавить
M>Она по большей части посредственная , она ОЧЕНЬ ОБЪЕМНАЯ но посредственная , хоть в ОС и нужны куски отшлифованные как алмаз, но это неболбшая и специфичная часть работы.
что сложнее — выдолбить из мрамора статую высотой в два метра, или построить небоскреб высотой в энное количество сотен метров?
Здравствуйте, McSeem2, Вы писали:
MS>По моему глубокому убеждению, вопрос материальной состоятельности других людей не должен Вас беспокоить. Вообще не должен.
А меня и не беспокоит. Мне просто интересно — почему это мозг вселенского масштаба, достигший глубочайшего просветления в области программирования, и вдруг работает на дядю — вместо того, чтобы рулить своей корпорацией?
MS>А "написание ОС" — это задача гигантского объема, а не сложности. Да, там есть нетривиальные части, но их объем в процентном отношении к тривиальному коду — исчезающе мал.
Части — тривиальны, построение же из них целого — чрезвычайно сложная задача.
Здравствуйте, Шахтер, Вы писали:
Ш>Для того, чтобы построить ввысь, надо сначала покопать вглубь и заложить хороший фундамент. Ш>Без этого высотка просто рухнет.
построить дом без фундамента можно. Построить фундамент без дома тоже можно, только это абсолютно бессмысленно.
Ш>А я вот наоборот не понимаю, когда подмастерья начинают наезжать на мастеров -- типа и кисти с красками у него свои, а не дешёвый ширпотреб из ближайшей китайской лавки, и пишет он расчитываяя каждый мазок, то ли дело мы -- наляпаем абы как, всё равно заказчит в живописи ничего не смыслит, "пипл хавает".
Как быстро ты записал меня в подмастерья, а себя — в мастера. У тебя есть точные данные, что дело обстоит именно так?
Если уж ты заговорил про художников, давай расставим все точки над "Ё"
Ну так вот — у художников все стандартизовано куда покруче, чем у программистов.
Стандартны материалы, стандартны инструменты, и даже техники нанесения рисунка — тоже стандартны. Так что мастера просто используют набор готовых стандартов. Изобретают что-то новое только гении, которых можно пересчитать на пальцах за всю историю человечества. Вероятно, именно к этому разряду ты себя и относишь?
Здравствуйте, McSeem2, Вы писали:
MS>Можно процитировать мои слова, демонстрирующие снобизм? Речь была лишь о личных предпочтениях. У меня (лично у меня) — вот такие-то и такие-то предпочтения, и я специально сделал на этом акцент.
Лично я люблю решать задачи, которые изначально требуют максимально возможной эффективности.
<skipped>
Я стремлюсь быть уникальным, штучным экземпляром, мне не интересно находиться на уровне рутинщика.
ась? Стремление быть уникальным — это конечно похвально, но зачем же называть рутинщиками всех, кто не разделяет твоих пристрастий?
Д>>Некоторым людям нравится решать примитивные задачи наподобие вывода треугольников, но сверхсложными способами. Тратить на решение каждой задачи массу времени и сил, но зато треугольники будут выводиться аж в два раза быстрее!
MS>Я бы попросил читать то что написано, а не то, что хочется прочесть. Внимательнее, пожалуйста. Вывод треугольников — это действительно примитивная задача, а "вывод вдвое быстрее" — примерно такая же рутина, как и ковыряние в кривом API (собственно, это задача и относится к категории API). Натривиальным является некий способ генерации этих самых треугольников (это лишь для примера). Это очень тонкий момент, часто вызывающий непонимание. В представлении большинства людей "оптимизация" — это ковыряние на уровне машинных кодов и/или написание длинного и неряшливого спагети-кода. Это тоже на редкость тоскливое занятие. Повторю еще раз — интересной (для меня!) является прежде всего работа над алгоритмической частью, когда, например, требуется приблизить O(N log N) к O(N). Вам знакомо понятие О-нотации? Это чем-то напоминает процесс доказательства математических теорем. И язык как таковой здесь не имеет большого значения.
я прекрасно понял, что ты имел в виду. Жаль, что ты не понял, о чем говорил я.
MS>Интересно, какую такую "операционную систему" или "язык программирования" можно придумать, да еще и так, как "никто раньше не делал", и самое главное — не для самоудовлетворения, а чтобы ими пользовались хотя бы пара тысяч людей? По-моему, это что-то из области заведомой утопии. А я реалист и "наполеонством" не страдаю.
Иными словами, ты считаешь эту задачу слишком сложной?
MS>Есть подозрение, что то, что Вы, уважаемый Дарней понимаете под "сложными задачами" — это на самом деле строительство вширь, когда конструкции могут стоять только на земле, а при попытке что-то соорудить из них ввысь, получается нелепое и неустойчивое нагромождение.
это подозрение не имеет под собой никаких оснований
Здравствуйте, Дарней, Вы писали:
MS>>По моему глубокому убеждению, вопрос материальной состоятельности других людей не должен Вас беспокоить. Вообще не должен.
Д>А меня и не беспокоит. Мне просто интересно — почему это мозг вселенского масштаба, достигший глубочайшего просветления в области программирования, и вдруг работает на дядю — вместо того, чтобы рулить своей корпорацией?
А почему Энштейн не был самым богатым человеком в мире (в свое время)?
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Дарней, Вы писали:
Д>Если уж ты заговорил про художников, давай расставим все точки над "Ё" Д>Ну так вот — у художников все стандартизовано куда покруче, чем у программистов. Д>Стандартны материалы, стандартны инструменты, и даже техники нанесения рисунка — тоже стандартны. Так что мастера просто используют набор готовых стандартов. Изобретают что-то новое только гении, которых можно пересчитать на пальцах за всю историю человечества.
И что эти гении изобретают? Новый состав красок? Или новый оттенок сангины?
Крайне неудачное сравнение.
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Д>Лично я люблю решать задачи, которые изначально требуют максимально возможной эффективности.
Д><skipped>
Д>Я стремлюсь быть уникальным, штучным экземпляром, мне не интересно находиться на уровне рутинщика.
Д>ась? Стремление быть уникальным — это конечно похвально, но зачем же называть рутинщиками всех, кто не разделяет твоих пристрастий?
А как их еще называть? Если человек может спокойно заниматься рутиной (от которой бежит не только McSeem2, но и я, к примеру), то почему его нельзя назвать рутинщиком?
... << RSDN@Home 1.1.4 stable rev. 510>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
E>А почему Энштейн не был самым богатым человеком в мире (в свое время)?
мы говорим не про абстрактные теории, из которых нельзя извлечь непосредственную пользу. Мы говорим о программировании, то есть — производстве некоторой продукции, которая стоит денег.