Список форумов  Магазин L-bike. Велосипеды. Лыжи  
Текущее время: 20 июн 2026 02:33

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 09:43 
Не в сети
Начинающий
Аватара пользователя

Зарегистрирован: 10 авг 2004 20:03
Сообщения: 3446
Откуда: Сетка Матрас :)
aadz писал(а):
А зачем ему мозг, если он STL знает? Наверняка и Страуструпа долгими зимними вечерами почитывал... Я бы такого парня нанял, честное слово.

Мозг позволяет на этом STL писать правильные конструкции. А если еще человек читал Мейерса Effective STL и Александреску - то это вобще замечательно!
banan присылай резюме ;)

avp писал(а):
Только вот я бы очень осторожно отнёсся к проектам где активно используется boost, очень велика вероятность кривого дизайна.

Аргументы в студию!
Сразу расскажу, для чего мы используем boost:
1) boost::function, boost::bind - бустовская реализация функторов. Нареканий никаких.
2) boost::regex - регэкспы, нужны когда что-то парсишь. Исключения - XML. Его мы парсим другими способами :)
3) boost::graph - работа с графами
4) boost::array - реализация статичного массива, но с ексепшнами, итераторами и базовыми свойствами контейнера. Очень удобно и быстро.
Кроме того, в других задачах я использовал boost::serialization, boost::signals и boost test library
Жду конструктивной критики по поводу использования boost и связи boost с кривым дизайном.
Единственный недостаток boost в данном применении - увеличение времени сборки.

P.S.: boost планируется включить в стандарт c++ 0x. Подробнее про этот стандарт можно почитать тут: http://www.artima.com/cppsource/cpp0x.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 10:28 
Не в сети
Наставник
Наставник

Зарегистрирован: 24 янв 2007 17:49
Сообщения: 275
Откуда: Ростов-на-Дону
Сразу вспомнил свою курсовую по графике - там кубики/цилиндры/торы разноцветные летали-крутились-пересекались. Гуро-Фонги всякие... Все руками, никаких тебе опенжл и директикс. Как щас помню, 20 с чем-то fps давало на пентиуме-200 :))) Давно это было...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 10:35 
Не в сети
Сенсей
Сенсей
Аватара пользователя

Зарегистрирован: 01 апр 2004 10:57
Сообщения: 4937
Про boost я с невыразимым ужасом узнал неделю назад, когда в SVN пытался взять его каталог (заодно спросил кое-кого, какого х. оно в общем репозитори делает). Бралось минут 40 и заняло явно больше гига в мееелких файликах. Юзать в голову не приходит.
STL юзал в предыдущей конторе, там его любили.
Вообще, программированию меня никто не учил и книжек по программированию я уже лет так 12 не читал (а, вру, 5 лет назад купил книжку по алгоритмам, чтобы написать одну штуку, о которой давно мечтал). По крайней мере систематически. Вряд ли я вам подойду. :lol:
Что есть OOD, TDD и прочие слова из этого количества букв, догадываюсь смутно. :shock:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 10:38 
Не в сети
СуперВовочка
Аватара пользователя

Зарегистрирован: 19 мар 2006 13:25
Сообщения: 755
2 Longobard
офтоп
А ты на лепре случаем не сидишь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 11:15 
Не в сети
Сенсей
Сенсей
Аватара пользователя

Зарегистрирован: 23 май 2005 09:59
Сообщения: 1252
Longobard писал(а):
Аргументы в студию!
Сразу расскажу, для чего мы используем boost:
1) boost::function, boost::bind - бустовская реализация функторов. Нареканий никаких.

Я считаю, что функторы это ненужная вещь в нормальном коде. Нет, иногда бывает надо сделать некий нетривиальный функтор, но делать
его через всякие bind и лямбда это зло.

Longobard писал(а):
2) boost::regex - регэкспы, нужны когда что-то парсишь. Исключения - XML. Его мы парсим другими способами :)

Регэкспы - это конечно может быть нужно. Только это не совсем буст, в бусте они только имеют конкретную реализацию. Ну и опять же вызывает сомнение задача где надо много парсить всякого бреда. А от XML надо бежать из за всех сил.
Я сам юзал буст для сложного парсинга - boost::spirit. Было конечно очень круто, но сейчас что то там менять очень не хочется ибо непонятно как оно работает :o

Longobard писал(а):
3) boost::graph - работа с графами

Да, это может быть полезна... Но всё зависит от конкретной задачи, в большенстве случаев простой самодельный граф без шаблонов будет намного удобнее юзать.
Longobard писал(а):
4) boost::array - реализация статичного массива, но с ексепшнами, итераторами и базовыми свойствами контейнера. Очень удобно и быстро.

Не знаю, обычый массив объектов вполне удобоварим. Итератор это просто обычный указатель.
Longobard писал(а):
Кроме того, в других задачах я использовал boost::serialization,

Вот эта вещь в принципе может быть полезной в перспективе, но вроде ещё до конца не доделана. С сериализацией не всё так однозначно. Намного актуальнее проблема сериализации не в потоки а в хранилища типа реляционных СУБД, но это уже совсем другая история. А для сериализации в потоки рулят обычные pure C структуры.
Longobard писал(а):
boost::signals

Смотрел и эту, т.к. нужно было что то подобное. После того как понял что изнутри обработчика сигнала нельзя убрать себя из подписчиков и добавить новых, я сильно разочаровался в ней. Вообщем вещь на уровне детской игрушки в красивой шаблонной обёртке.
Longobard писал(а):
Единственный недостаток boost в данном применении - увеличение времени сборки.

Не в этом. Проблема в ухудшении прозрачности и читабельности кода.

Longobard писал(а):
P.S.: boost планируется включить в стандарт c++ 0x.

Боже упаси :x . Кстати не весь буст, а какую то его небольшую часть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 11:22 
Не в сети
Сенсей
Сенсей
Аватара пользователя

Зарегистрирован: 23 май 2005 09:59
Сообщения: 1252
Achilles писал(а):
STL юзал в предыдущей конторе, там его любили.

STL по большому счёту бесполезная библиотека. Использовал только пару алгоритмов и контейнеры string, vector, map. Всё остальное можно смело оттуда выбросить.
Achilles писал(а):
Что есть OOD, TDD и прочие слова из этого количества букв, догадываюсь смутно. :shock:

Это наверное про паттерны. Типа сиглетона, фабрики т.д. Модная штука в последнее время. Полезна для сотрясания воздуха умными словами. :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 11:30 
Не в сети
Начинающий
Аватара пользователя

Зарегистрирован: 10 авг 2004 20:03
Сообщения: 3446
Откуда: Сетка Матрас :)
Achilles писал(а):
Про boost я с невыразимым ужасом узнал неделю назад, когда в SVN пытался взять его каталог (заодно спросил кое-кого, какого х. оно в общем репозитори делает). Бралось минут 40 и заняло явно больше гига в мееелких файликах. Юзать в голову не приходит.

Это какой-то неправильный буст, он несет неправильный мёд.
У меня папка с бустом весит 234Мб. Кроме того, не нужно использовать все его компоненты. бери только нужные :)

Цитата:
STL юзал в предыдущей конторе, там его любили.
Вообще, программированию меня никто не учил и книжек по программированию я уже лет так 12 не читал (а, вру, 5 лет назад купил книжку по алгоритмам, чтобы написать одну штуку, о которой давно мечтал). По крайней мере систематически. Вряд ли я вам подойду. :lol:
Что есть OOD, TDD и прочие слова из этого количества букв, догадываюсь смутно. :shock:

У тебя есть моск! И математега. И проектировать наверняка умеешь.
OOD - объектно-ориентированный дизайн, паттерны проектирования
всякие.
TDD - Test-Driven Development, разработка на тестах, одна из 12-ти методик Extreme Programming.

Цитата:
Я считаю, что функторы это ненужная вещь в нормальном коде. Нет, иногда бывает надо сделать некий нетривиальный функтор, но делать
его через всякие bind и лямбда это зло.

Лямбда - зло, ибо нечитабельно, согласен.
А функторы - готов поспорить. Указатели на функции давно сосут. А функтор - указатель на ф-ю, имеющий семантику объекта. Удобен ужасно, особенно в играх. Как без функторов игры писать - не представляю.

Цитата:
Регэкспы - это конечно может быть нужно. Только это не совсем буст, в бусте они только имеют конкретную реализацию. Ну и опять же вызывает сомнение задача где надо много парсить всякого бреда. А от XML надо бежать из за всех сил.

Само собой, это лишь реализация. Парсить всякий бред нужно - конфиги, сейвы итд. Обычно все это в xml лежит. Кстати, а что ви имеете против XML? Парсеры XML включены в 95% игровых движков и фреймворков, XML стандарт де-факто для всех настроечных файлов. Ресуры инициализируются через xml, настройки уровней - все это в XML. А что может быть против? Логичная структура, простота парсинга и создания, можно редактировать подручными средствами.

Цитата:
Не знаю, обычый массив объектов вполне удобоварим. Итератор это просто обычный указатель.

boost::array имеет семантику STL контейнера, и его можно мучать стандартными STL алгоритмами. Кроме того, если обратица по левому адресу - то ты получишь не access violation, а цивильный эксепшн. И кучу assert проверок в debug mode. Кстати, он один из тех классов, которые планируется включить в стандарт. См. http://std.dkuug.dk/jtc1/sc22/wg21/docs ... /n1548.htm

Цитата:
STL по большому счёту бесполезная библиотека. Использовал только пару алгоритмов и контейнеры string, vector, map. Всё остальное можно смело оттуда выбросить.

А остального там не очень много. STL еще нужно уметь правильно использовать, чтобы он работал шустро.

Green сижу, а что? Изображение



Цитата:
Это наверное про паттерны. Типа сиглетона, фабрики т.д. Модная штука в последнее время. Полезна для сотрясания воздуха умными словами.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 12:04 
Не в сети
Продвинутый
Продвинутый

Зарегистрирован: 03 июн 2006 14:09
Сообщения: 198
Откуда: СПб, Большевики
avp писал(а):
Achilles писал(а):
Что есть OOD, TDD и прочие слова из этого количества букв, догадываюсь смутно. :shock:

Это наверное про паттерны. Типа сиглетона, фабрики т.д. Модная штука в последнее время. Полезна для сотрясания воздуха умными словами. :wink:


TDD = Test Driven Development [url=http://ru.wikipedia.org/wiki/Разработка_через_тестирование]статья[/url].
OOD = Object Oriented Design статья.

И ваабще, Smalltalk круче всех :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 12:19 
Не в сети
Начинающий
Аватара пользователя

Зарегистрирован: 10 авг 2004 20:03
Сообщения: 3446
Откуда: Сетка Матрас :)
dimaShilonosov все верно ответил. Поработать не хотите? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 13:19 
Не в сети
СуперВовочка
Аватара пользователя

Зарегистрирован: 19 мар 2006 13:25
Сообщения: 755
Longobard
Просто убедился.
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 13:30 
Не в сети
Начинающий
Аватара пользователя

Зарегистрирован: 10 авг 2004 20:03
Сообщения: 3446
Откуда: Сетка Матрас :)
vote -fyvap-!

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 15:21 
Не в сети
Активист
Активист

Зарегистрирован: 10 мар 2006 09:53
Сообщения: 76
Откуда: СПб
А вас ASP.Net|C# программист не нужен? :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 15:41 
Не в сети
Сенсей
Сенсей
Аватара пользователя

Зарегистрирован: 23 май 2005 09:59
Сообщения: 1252
Longobard писал(а):
Лямбда - зло, ибо нечитабельно, согласен.
А функторы - готов поспорить. Указатели на функции давно сосут. А функтор - указатель на ф-ю, имеющий семантику объекта. Удобен ужасно, особенно в играх. Как без функторов игры писать - не представляю.

Функторы должны быть либо параметризованы шаблоном как типа в std::for_each, либо создаваться копия в динамической памяти, типа как в boost::signals. Оба варианта по своему плохи. Через указатели на функцию тоже всё можно сделать, это вопрос вкуса. Единственный недостаток только в некотором неудобстве вызове методов класса, но тут например некоторые имеют __closure. В целом функторы я не отрицаю, отрицаю только то как их конструирование навязывается бустом.

Longobard писал(а):
Само собой, это лишь реализация. Парсить всякий бред нужно - конфиги, сейвы итд. Обычно все это в xml лежит. Кстати, а что ви имеете против XML? Парсеры XML включены в 95% игровых движков и фреймворков, XML стандарт де-факто для всех настроечных файлов. Ресуры инициализируются через xml, настройки уровней - все это в XML. А что может быть против? Логичная структура, простота парсинга и создания, можно редактировать подручными средствами.

Согласен, что то типа конфигов хранить там нормально. Просто некоторые горячие головые пихают это xml куда попало и куда возможно. Если же данные не нужно смотреть и редактировать ручками то лучше сериализовать по другому.

Longobard писал(а):
boost::array имеет семантику STL контейнера, и его можно мучать стандартными STL алгоритмами.

Ну и какие алгоритмы используют эту семантику? Большенству нужны лишь итераторы, которыми будут указатели.

Longobard писал(а):
Не, вы серьезно отправляете все паттерны в утиль? Челябинские программеры настолько суровы, что пишут игры на асме? Мде, отрицание всего нового - признак застоя и остановки развития. Тогда не приходите на собеседование, потому что у нас вводится XP, а это тоже модная штучка в последнее время, предназначена для сеансов фаллометрии.

Я не из Челябинска :shock: . Паттерны и вообще ООП это варианты интелектуальных костылей придуманных для того чтобы программированием могли заниматься люди прямо с улицы. На самом деле это не догмы, а всего лишь информация к размышлению. В противовес ООП есть например реляционная модель. Что касается исходного вопроса, то по большому счёту ценятся не знания чего то, а способность решать конкретные поставленные задачи из некой предметной области.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 15:45 
Не в сети
Наставник
Наставник

Зарегистрирован: 16 окт 2006 19:39
Сообщения: 293
Откуда: Бомж
fess_arh писал(а):
А вас ASP.Net|C# программист не нужен? :D

+1 ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 12 июл 2007 16:33 
Не в сети
Сенсей
Сенсей
Аватара пользователя

Зарегистрирован: 01 апр 2004 10:57
Сообщения: 4937
Longobard писал(а):
У тебя есть моск! И математега. И проектировать наверняка умеешь.
OOD - объектно-ориентированный дизайн, паттерны проектирования
всякие.
TDD - Test-Driven Development, разработка на тестах, одна из 12-ти методик Extreme Programming.

Спасибо за ликбез. :) Щас меня как раз "заставили" писать программу на моём собственном языке программирования, встроенном в одну нашу программу (писанную мною три года назад). Блин, вот будто некому больше... Давайте Страуструпа просить писать на cpp, а Вирта на паскале. Причём не то чтобы заставили, просто нашу саппортершу завалили мольбами о помощи, а такой девушке я просто не в состоянии отказать.
Единственное, что меня как-то склоняет к переменам, это нежелание сидеть на одном месте (не будем уточнять) уже 6-й год кряду. Но пока не настолько достало.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Экстремальный портал VVV.RU