LINUX.ORG.RU

Гради Буч - о средствах разработки и их будущем


0

0

По ссылке вы найдете замечательное интервью с Гради Бучем.

Гради Буч (Grady Booch), главный исследователь корпорации Rational Software, признан всем международным сообществом разработчиков программного обеспечения благодаря его основополагающим работам в области объектно-ориентированных методов и приложений, а также благодаря созданию языка UML. Гради - постоянный автор в таких журналах, как "Object Magazine" и "C++ Report" и автор многих бестселлеров, посвященных объектно-ориентированному проектированию и разработке программ. Гради Буч участвует в написании серии "Разработка объектно-ориентированного программного обеспечения" ("Object-oriented Software Engineering Series"), издаваемой Addison-Wesley Longman.

P.S. Большая благодарность TanaT за интервью.

>>> Подробности

★★★★★

Проверено: maxcom

Ответ на: C++ apology от atoku

Да, офтопик гоним страшный. Но уж занесло...

Можете по имени (правда, не очень понял, зачем - но это не важно).

Про математиков-системщиков-физиков-лириков, в среднем, договорились. Про дундуков - тоже:)

Про С++ - почти согласен. Я, соббсно, возражал против того, чтобы С++ запихивали во все дыры - даже туда, куда он плохо годится. Пузырь этот может, некоторым нравится - это их право - но уж очень он раздут. А то, что Вам лично нравится - в той же Жабке представлено местами не хуже, а местами лучше (извините, но рефлексия там как-то поорганичнее сделана). В других языках тоже есть вполне разумные объектные модели (может, с точки зрения некоторых задач - даже более разумные:). Соббсно, это одна из "проблем" имиджа С++ - многие "западают" на его О. модель (особенно после С) - и по разным причинам не делают шагов вперед-вбок-вверх, чтобы посмотреть на другие О. модели. Может, поработали бы, скажем, на SmallTalk - и "запали" бы на его О. модель:)

svu ★★★★★
()
Ответ на: комментарий от Anode

Ну, так далеко можно зайти. Непосредственный вывод - лучше быть хамом, люди бояться не будут:)

svu ★★★★★
()
Ответ на: комментарий от kwas

Ни в коем случае. Но если человек не хочет подняться - не нужно его вытаскивать.

Это что, тест на соответствие меня (и anode) моральному кодексу строителя коммунизма (или христианским заповедям)?:)

svu ★★★★★
()
Ответ на: комментарий от svu

Боже упаси! :-) Но в первоисточнике, как мне казалось, речь шла именно о вашей трактовке: не хочет - не надо.

kwas
()
Ответ на: комментарий от kwas

Понял. Только Вы как-то пошли еще дальше, чем "не хочет - не надо". Все-таки "падающего - толкни" - это совсем другое дело.

svu ★★★★★
()
Ответ на: комментарий от svu

"Никакой помощи. Это слишком сложный путь, это слишком индивидуальная вещь, я слишком серьезно к этому отношусь, чтобы можно было моими усилиями искусственно поддерживать кого-то. Кому суждено, тот упадет и так. Значит, подтолкни его. Чтобы он быстрее упал и быстрее разбил себе лоб и быстрее понял, что он не там."

Не мое, но ухваченный мною смысл передает верно. А если еще и от индивидуальности абстрагироваться ("я", "моими усилиями" ), то совсем на правду похоже. Ведь "путь истинный" свой у каждого и постороннему человеку его понять очень сложно. Но это все так, измышлизмы :-) Хотя и основанные на некотором личном опыте :-)

kwas
()
Ответ на: комментарий от kwas

Натягиваете, молодой человек. натягиваете. Я даже не говорил ничего про "суждено" (я про все больше про личную волю человека к тому, чтобы подняться). А уж как из этого следует "Значит, подтолкни его" - вообще загадка...

Кстати, если уж говорить про педагогику - в первую очередь, нужно именно пытаться вызвать у человека желание подняться (но ЛОР, мне кажется, не очень подходящее место для этого - нужно с человеком долго и индивидуально общаться). А потом он, в крайнем случае, сам справится.

svu ★★★★★
()
Ответ на: комментарий от svu

Ладно, ладно, спорить не буду, потому как в данном вопросе плаваю :-) Да и правильно вы все говорите - _надо_ помогать тем, кто этого заслуживает. И сам так поступаю, иногда, правда, немного перегибая палку :-) И про ЛОР - тоже правильно.

По теме: В споре о роли С++ я поддерживаю т. з. atoku - мне его (С++) ОО-подход тоже очень сильно помогает структурировать и упорядочивать сущности. Тем более, что мои задачи довольно далеки от научных (вычислительных?)... Предыдущей моей работой был довольно большой GUI проект на Java. А сейчас надо написать не слишком большой Win32-сервис. Нюхом чую, что вполне реально написать его хорошо и на чистом C, но мне так не хватает пресловутой упорядоченности (да и stl тоже), что я скорее всего буду писать на С++. Попутно стараясь убежать от всяческих его граблей, связанных с полиморфизмом и пр...

kwas
()
Ответ на: комментарий от kwas

Наверное, для Вашей задачи С++ действительно годится. Кстати, а на чем под винюками еще можно сервисы ваять, кроме С/С++? srvany не предлагать - это не честно:) Вот только я бы, может, все-таки на чистом С делал...:)

svu ★★★★★
()
Ответ на: комментарий от svu

Из тех, что я знаю - .Net (С#, VB, JScript, да и вообще на реализации любого языка, поддерживающей CLR), Delphi, Python, Ruby - точно. С другой стороны, это может быть, опять же, реализация любого языка, умееющая работать с Win32 API.

kwas
()
Ответ на: комментарий от kwas

Соббсно, про .net я и сам думал - но не хотел произносить:) Дык почему не Python? Там Вам и ОО, и библиотек море ... Ладно, завязываем с этим.

svu ★★★★★
()
Ответ на: комментарий от svu

Консерватизм, я думаю. Народ по большей части попался виндовый, поэтому попытка убедить их в полезности написания сервиса на скриптовом языке, взращенном в недрах *nix'ов, представляется довольно безнравственной - нервные клетки не восстанавливаются :-) Плюс вопрос производительности - нет времени на оценку. Но, как всегда, есть самая главная причина - человек, который также будет писать кусок этого сервиса, ничего кроме C/C++ не знает :-)

kwas
()
Ответ на: комментарий от svu

Ну, он-то больше железячник, и потребности его в программировании ограничиваются сопряжением железяки и операционной системы - если вы об этом, конечно :-) А вот я бы с удовольствием этот сервис написал на Ruby - исключительно в целях удовольствия работы с очень "сладким" языком :-) Но, боюсь, начальство моих благородных порывов не поймет и не оценит :-)

kwas
()
Ответ на: комментарий от svu

the last posting

Я думаю, что все вопросы по теме мы решили :) В принципе, здорово, что много нового тут народ написал.

Более того, почти со всем я с svu согласен. В том числе и про помощь чужим (кстати, сорри если все знают, "подтолкни другого" - это из Ницше), и про гуманитарные области.

А по имени - просто мне хотелось перевести на личный план (не в Лосевском смысле ;)). Мне было интересно пообщаться с вами. В принципе, через некоторое время, было бы здорово поговорить о языках программирования опять. Я только удивляюсь что вы в Корке делаете. Они же по английски говорить не умеют ;). Шучу, в принципе к их акценту можно привыкнуть, просто говорили, что в ирландских программных фирмах менеджеров в десять раз больше чем программистов, которые (программисты) от этого страдают.

atoku ★★★
()
Ответ на: the last posting от atoku

Да, потусовались славно:)

Пообщаться с умным человеком никогда не против. svu@jabber.ru

А в Корке хорошо. Гораздо лучше, чем в Дублине. По английски ... в этой стране действительно говорят странно. Но человек - не свинья, ко всему привыкает. А менеджеры - есть, но в пределах разумного. Главное - чтобы фирма была не очень большой. Небольшие фирмы не могут позволить себе больших накладных расходов:)

svu ★★★★★
()
Ответ на: комментарий от anonymous

Да ладно знаем мы таких поверхностных математиков. Такие только род математический позорят. Настоящий математик не флеймит, а думает над какой-либо задачей. При этом он думает над ней 20 часов в сутки 7 дней в неделю. Не всегда с компьютером на пару, а частенько просто с листочком бумаги и карандашом или мелом. А таких самозванцев как ты в сети навалом.

anonymous
()

взгляды разные важны, взгляды разные нужны...

подумалось тут:

-Вась, знаешь почему военным думать не положено?
-почему Петя?
-потому что наука ещё пока не знает как научить думать строем.

ничего хорошего когда все думают одинаково нет. Не раз уже бывало, когда все умные проходили мимо известной "глупости", а один "дурак", останавливался и делал открытие...

anonymous
()
Ответ на: комментарий от anonymous

это разве люди??:) это упертые фанаты ублюдочных плюсов

anonymous
()
Ответ на: C++ apology от atoku

template<int n>
void outer(const std::string& msg)
{
std::out << msg;
outer<n-1>(msg);
}

template<>
void outer<0>(const std::string& msg)
{
// stop compile-time iteration
}

...

outer<10>("Hello,world");

anonymous
()
Ответ на: комментарий от Anode

> А Альтшуллер и триз доступны где нить в инете? (я слегка погуглившись > ничего путного не нашёл).

Насколько я знаю, нет. Ряд его идей публиковался в журнале "Изобретатель и рационализатор" в середине 80-х годов прошлого века.

> Если нет - то каковы основные идеи, если не в облом?

Основная идея: всякая изобретательская деятельность направлена на устранение противоречия путем его доведения до предела. Тезис-следствие: в идеальном изобретении решение должно достигаться без единого усилия. То есть, задача решается, а устройства нет.

В принципе, ТРИЗ является техническим приложением диалектики.

Основные приемы и инструменты: мозговой штурм (по Осборну), АРИЗ, каталог эффектов, алгоритм РВС.

Мозговой штурм, думаю, известен всем, с АРИЗ я знаком только по наслышке. Каталог эффектов видел только один раз, в электронной форме: "изобретательская машина", одна из немногих экспертных систем, которые я щупал. Реали еще под DOS, использовалась СУБД dBASE. О, кстати! Гугление по "изобретательской машине" сразу же дало полезную ссылку:

http://www.trizland.ru/guestbook.php?offset=40&poffset=3

А вот РВС активно использую в своей деятельности. Суть метода в том, что для описания задачи и ее решения используется трехмерная система координат "Размеры-Время-Стоимость". При решении задачи необходимо варьировать параметры системы по каждой из осей в обе стороны, пытаясь решить задачу в каждом предельном случае. Совместно с мозговым штурмом это может давать потрясающие результаты.

Например, задача: поднять крышу наверх многоэтажного дома.

Крыша нулевого размера: поднять крышу можно просто положив ее в карман; развитие: крышу можно разделить на части, доставить наверх вручную и там собрать.

Нулевое время подъема крыши: взорвать под крышей заряд, крыша будет поднята ударной волной.

Бесконечное время подъема крыши: посадить под крышей дерево, которое будет расти, поднимая крышу на заданную высоту.

И так далее, по вкусу...

eugine_kosenko ★★★
()
Ответ на: комментарий от anonymous

они построены конструктивно по аналогии с известным строением полупростых конечномерных алгебр Ли. Так что сперва нужно читать про конечномерные.

anonymous
()
Ответ на: комментарий от svu

Интересно, в каких еще языках есть такая приятная вещь, как шаблоны, и какая стандартная библиотека может сравниться по удобству с STL? Поэтому я и предпочитаю С++ всему остальному :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.