![]() |
|
Модераторы: Daevaorn |
![]()
|
|
||
|
|
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Привет многоуважаемый олл!
Проскакивали, много раз мнения против STL. Насколько я знаю, некоторые люди его просто не любят.. Хотелось бы услышать их так сказать аргументы против использования STL, ведь это же: стандартно, быстро (STLPort) и довольно удобно.. (итераторы Лично я не вижу альтернатив. СУВ --------------------
|
|||
|
||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
вот, вот стандартно, быстро и удобно... но многие предпочитают собирать свои велосипеды... а еще boost тоже хорошая вещь
-------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Я воспринимаю как дополнение к STL но не как замену оному. --------------------
|
||||
|
|||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: 2 Всего: 22 |
хм... как можно не любить или любить целые числа например? да и какая разница - любишь ты или нет массивы, векторы или списки?
|
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
Проголосовал "Да"
Но не могу сказать, что эта такая уж незаменимая вещь, активно использую в основном map, ну и может [b]string[]/b]. Всё остальное мне совсем не нравится. -------------------- Да. Именно так. |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Alastis, может стаейку для факю про боост напишите
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
Стандартная библиотека шаблонов в С++ избавляет програмеров от создания своих велосипедов, колёс и прочего.
Так что, где только можно, лучше юзать именно её, а не строить свои контеинеры или шаблоны. Так говорит дяденька Страуструп. Ну а я лично стараюсь делать то, что он говорит. Вопрос скорей состоит в другом: Удобная ли она для использования ??? Лично я думаю что довольно удобная. -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Дмитрий Т |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: 4 Всего: 4 |
Хотя std::string больше относится к стандартной библиотеке C++, чем к STL, но поскольку это тоже контейнер, то вот здесь: http://qt.osdn.org.ua/gtkmm-qt.html можно глянуть на краткую критику в сравнении с QString. Там же говориться: "Некоторые контейнеры Qt являются более легкими в использовании, чем их STL-аналоги." |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Кроме того что Qt более удобная в использовании я честно говоря, не увидел критики. Некоторые неприятности STL в частности, описаны в Effective C++ (копирование by-default к примеру), но я думаю что старый глюк лучше новых двух.. ;) --------------------
|
||||
|
|||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
идейка хорошая, тем более, если учесть, что в MS VC++ 2005 полностью включена библиотека boost... да вот столкнулся я с этой библиотекой не так давно, так что многих тонкостей использования буста я не знаю... но если подождете, то напишу, отчего не написать -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| Дмитрий Т |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 93 Регистрация: 16.3.2005 Где: Самара Репутация: 4 Всего: 4 |
Имелось ввиду вот это: "Что касается QString, этот класс, несомненно, нужен, потому что std::string не обрабатывает уникод. Сам Gtkmm содержит класс Glib::ustring. Насколько я вижу, его интерфейс сходен с std::string, и я также считаю это плохой идеей. Потому что независимо от того, насколько это решение стандартно, оно не является ни удобным, ни мощным. QString предлагает очень полезные возможности, например, arg(), sprintf(), section(), simplifyWhiteSpace(), toInt(), подмножество setNum() и конечно же поддержку регулярных выражений, что является неоценимым в повседневной разработке." Что разработчиков Gtkmm, что Qt и тех и других не устраивает std::string... |
||||
|
|||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Да, активно использую STLport.
|
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 2 Всего: 58 |
Пробовал разобраться - не смог. Следовательно не использую. Хотя на Visual C & MFC (в смысле это проще оказалось
|
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Дмитрий Т, ну и зачем делать такой огого-гище?
Опа, а вот этого я ужо не знал Пойду ставить VS2005. --------------------
|
||||
|
|||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
STL является частью ANSI C++, поскольку входит в стандарт языка -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Fire-Plug |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
Кроме std::string, имеется также std::wstring. Оба этих типа есть просто:
--------------------
Объясни другому - поймешь сам (Народная примета) |
||||||
|
|||||||
| Fire-Plug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
Очччччень напоминает "любимый" до невозможности CString. Идея STL как раз и состоит в том, чтобы иметь сравнительно легкий класс строки, реализующий принципиальную функциональность, к-рая будет востребована на 75-90%, а громоздкие и специальные операции возложить на алгоритмы. Известно немало библиотек, включая CRT, способных выполнять перечисл. выше операции. В частности, библ. Boost-a regex обрабатывает регулярные выражения. Большинство операций требует только 1 входной аргумент типа const char *. Зачем, спрашивается, создавать очередного монстра, подобного CString? --------------------
Объясни другому - поймешь сам (Народная примета) |
|||
|
||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
ИМХО, введение регулярных выражений в такой простейший класс string - глупость чистой воды.
Вы часто используете регекспы там где используете стринги? Не верю Добавлено @ 05:57
Насколько я помню, регексов там не было. --------------------
|
||||
|
|||||
| Fire-Plug |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: -1 Всего: 0 |
И слава богу. И так монстр. Я вообще-то не о конкретной реализации говорил, а о подходе - запихнуть в один класс все, что можно только придумать и предел простой вероятности использования чего будет стремиться к нулю. --------------------
Объясни другому - поймешь сам (Народная примета) |
|||
|
||||
| AISIN |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 27.1.2005 Где: Пушкино Репутация: нет Всего: 1 |
stl конечно хорошо, но нужно уметь и с ним и без него работать. Т. к. всякое может быть! Ведь на смену мтарым языкам приходят новые и кто знает может лет через 10 stl в С++ не будет! Хотя врятли!!!
--------------------
Внимание!!! Внимание!!!Запущена программа по завоеванию мира!!!Выполненно 0,000000000000000000000000000000000000000000000000000002% |
|||
|
||||
| bel_nikita |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
|
||||
|
|||||
| chipset |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
А никто и не говорит что следует забить на всё и программить только на STL. Просто надо использовать то что лучше. --------------------
|
||||
|
|||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Подниму-ка топик, а то последнее время слышу, что многие негативно относятся к STL
P/S/: Вдобавок: Template + STLport = +25% производительности Это сообщение отредактировал(а) bel_nikita - 10.6.2005, 21:57 |
|||
|
||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Давно хотел узнать мнение настоящих программистов по поводу этого вопроса.
ИМХО, штука эта очень "страшная", огромное количество вещей, работа которых не всегда понятна (имеется ввиду то, а что именно кроется за вызовом той или иной функции, что кроется в глубинах STL). А вдруг там баги?? Ведь никто не может поручиться за это. Некоторые вещи STL просто безобразны, например строки и потоки. Их скорость работы просто потрясает... И лично мое непрофессиональное мнение, программист должен уметь собирать велосипед за быстрые сроки, а не изобретать его. |
|||
|
||||
| Void |
|
||||||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Взять исходники и посмотреть Вопрос можно? Когда вы вызываете какую-нибудь функцию ОС, вам не страшно из-за того, что вы не знаете (ну или по крайней мере не досконально знаете), что там внутри происходит? Это вообще, имхо, очень важная проблема - доверие к чужому коду.
Да не вдруг, а точно
Насчет строк - это особый вопрос, неоднократно поднимавшийся в c.l.c.m и RSDN. Я так понял, что основная проблема - излишнее копирование при операциях над строками, однако сделать строковый класс с подсчетом ссылок и copy on write, сохранив потокобезопасность, очень сложно. По поводу потоков: часто вам от I/O требуется такая скорость, что они не справляются?
Не уловил разницы... -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||||||
|
|||||||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Хорошо. В последний раз попытаюсь выразить свои чувства.
Мне нравится язык С++. Точно также как мне нравится классическая физика - я её понимаю и для меня она логична. НО! Чем отличается техник от наукаря - первый пользуется формулами из справочника, другой - может эти формулы вывести сам (хотя не всегда это делает - только когда необходимо). Чисто эстетически я люблю, когда в моей программе как можно больше моего кода. Я недоверчивый человек, и могу признать, что в какой-либо определённой библиотеке минимум глюков, но я всегда буду стараться обойти эту библиотеку. Многие здесь работают в команде - тут я согласен: велосипеды запрещены. Но лично я всегда программировал (и, как предполагаю, в будущем ситуация не изменится) один, код всех моих программ известен только мне (ну и ещё моему отцу). Поэтому, извините, доводы вроде "лучше не изобретать велосипедов" отметаются. Мне это приятней - значит для меня это лучше! В чужой монастырь со своими законами не лезут, никому я не мешаю. Теперь мне скажут: "А вдруг?". Действительно, вдруг я вынужден буду когда-нибудь работать в команде? И что?! Я уже разработал свою библиотеку, работающую аналогично тому же STL; неужели вы думаете, что я не смогу за полчаса разобраться в ней? (образно говорю, STL-то я знаю). Могу. И даже больше скажу: разработать что-то своё с нуля намного сложнее, чем "почитать сорсы" и потому я заранее буду круче всех тех, кто занимается последним. Вопрос только в одном: кому-то оно надо и кто-то имеет время на это, а другим - увы. P.S. На критику не отвечаю, надоело |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
ManiaK
Это так кажется. И это естественное явление, если можно так выразиться. Через это все проходили. Я тоже в молодости был крут в программировании И изобретать велосипеды это тоже естественно. Через это все проходили. Но у нас, например, с тобой отличаи в программировании. У нас разные подходы. Только, не думай, что тебя кто-то считает не компетентным в чем-то, нет. Тебе за программинг платят? Я думаю, что пока нет. Поэтому и возможность изобретать велосипеды есть. А мне платят. И чем быстрее я закончу проект или поставленную задачу тем лучше для меня. Начальству абсолютно не интересно, как этого я этого добился, как решал поставленные задачи. Их только волнует, грубо говоря, работает или не работает. Но и обязательно условие - это сопровождение кода. Могу написать я, а сопровождать код(добавлять, фиксить баги и т.д.) будет совсем другой человек. Так же я использую сторонние библиотеки. И если каждый из команды начнет изобретать свои велосипеды, потом отлаживать их, потом разбираться в чужих велосипедах - уйдет достаточно много времени. Чем больше времени - тем хуже нам В общем, STL - ускоряет разработку в разы и нет нужды в низкокачественных велосипедах. Ну, а у кого есть время на велосипеды - флаг вам в руки! З.Ы.: Только без обид З.Ы.Ы: написал, так написал... |
|||
|
||||
| Coocky |
|
|||
![]() GUI гуру ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2879 Регистрация: 16.2.2004 Где: Украина. Запорожь е Репутация: 2 Всего: 62 |
НЕНАВИЖУ, еще с консольного С++
Всегда все делал руцями. Когда перешел к МФС, ВООБЩЕ забыл. Это мечта АПИ_шников -------------------- Верю в смерть после жизни, в любовь после секса ,в крем после бритья |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Если человеку платят за то что он изобретает свои велосипеды то это проблемы работодателя.
--------------------
|
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
|
|||
|
||||
| ManiaK |
|
||||||||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
bel_nikita Вот на это можно отвечать
А я пришёл на работу (три года назад) и увидел, что мой код, красивый и понятный, работает плохо, а коллеги (личности за 40) пишут корявый, порой даже бестолковый код, но который надёжно работает. Всё, что мне осталось (и что, собственно, за эти три года я и достиг) - я научился совмещать красивый (по моему мнению) код, с надёжностью.
Автоматизация производственных процессов, программирование микроконтроллеров Fujitsu, PIC, Atmel и пары десятков микросхемок и PC (для обслуживания этих контролллеров). Всё на Си/Си++ и Asm'е. Я считаю, что это не так уж и мало.
Да, в идеале это так. На практике - близко к этому.
Вот потому я и говорю: у нас в конторе несколько программистов-контроллерщиков. Распределять на разработчиков и сопровожденьщиков не получится - кадров не хватает. Всё пишим/фиксим/сопровождаем сами, причём если в программы под микроконтроллеры ещё иногда заглядываем друг к другу, то уж PC-шные программы вообще изолированны. В этом и различие условий. |
||||||||
|
|||||||||
| DENNN |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Если он не знает/не умеет пользоваться/не видел/не читал о библиотеке, которая входит в стандарт C++, то пора ставить вопрос о его профессиональной пригодности. Как только вопрос этот встанет, поверте, сразу проблема исчезнет. А по поводу "пишу руками без выпендривания уже 20 лет", так я самолично наблюдал следующий факт. Купили мы новый SDK под новую, еще на тот момент не успевшую стать известной платформу. Примеры были написаны именно "руками", с большим количеством
чуть ли не во всех файлах. Но код написан аккуратно, читается более-менее легко, есть в важных местах комментарии. Дали задание написать свое такое же маленькое приложение дядке почтенного возрасата, который до этого тихонько в своем углу писал утилиты для БД. Так по тому же принципу весь код в такое г...но превратил! И все лишь потому, что принципиально не захотел выучить 2-3 новых для себя вещи. |
||||
|
|||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Я тоже всегда делал руками
Дак потом, шаблон - это же стандарт, общий, так сказать, язык. Всем удобнее на общем .. уж шаблоны не лохами потыкаными писаны. Это сообщение отредактировал(а) comcon1 - 14.6.2005, 13:04 |
|||
|
||||
| Alastis |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 15.11.2004 Где: Казахстан, Астана Репутация: 4 Всего: 10 |
Сказал, так сказал... Теперь по делу, лично я для себя вывод из этой и многих других дискуссий по поводу STL, Boost, QT и прочего уже давно сделал. И он такой - если нужно сделать что-то очень быстро, а чаще всего на работе так оно и бывает, когда времени на изобретение своих велосипедов по просту не остается, выбора как такого нет. Либо ты используешь готовые наработки из известных библиотек, либо ты не успеваешь. Все просто как дважды два. Другое дело, что если у тебя уже есть определенные, проверенные временем вещи, то почему бы их не использовать. Хотя если потом твой код предстоит сопровождать другому человеку, то есть повод сильно задуматься. Ну и соответсвенно, если ты пишешь что-то для себя, то ради бога, хоть полностью переписывай весь STL. И может напишешь такую сильную реализацию чего то, к примеру свой string, избавив его от всех недостатков std::string, что твой string войдет в новый стандарт этой самой STL. Еще одно - сейчас, читая объявления о вакантных местах программистов на C++, можно легко убедиться, что знание STL, если не необходимое требование, то хотя бы желательное, из чего можно сделать вывод, что STL просто обязательно знать. -------------------- Прости, что я говорю, когда ты меня перебиваешь. |
|||
|
||||
| Vyacheslav |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Если код "работает плохо" то он не может быть красивым и понятным, поскольку он бесполезен("работает плохо").
А вот в это поверю Добавлено @ 17:59
Там есть одно многозначительное дополнение
И вот эта фраза перечеркивает рано или поздно все предыдущие размышления о безразличии начальства, как только замаячит уход ключевого программиста и все поймут что в его библиотеки сам черт ногу сломит. А вот тогда уж и пойдет(если руководство неглупое) внедрение систем командной разработки, список разрешенных к применению библиотек и средств и пр.пр., т.е. будут решаться вопросы кадровой безопасности фирмы. А если глупое - то пойдет на поводу у этого изобретателя велосипедов. Правда все равно это обычно заканчивается даже у самого глупого начальства после двух или трех приступов гениальности "велосипедиста" -------------------- С уважением, Вячеслав Ермолаев |
||||||||
|
|||||||||
| ManiaK |
|
||||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Именно это я и понял, как только пришёл на работу.
Вы судите по вашему большому городу - Москве. В нашем захолустье если из конторы уйдут пару человек - она просто закроется Плюс (моё личное мнение) - только, как вы выразились, велосипедист может открыть своё дело. Потому что другому оно не нужно |
||||
|
|||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Сомневаюсь. Человек, который держит фигу в кармане, реально создать ничего не может. Он востребован только до тех пор пока не приходят люди, может быть менее талантливые, но которые могут организовать из кустарной разработки нормальный технологический процесс, обеспечив при этом процесс отторжения( есть другой термин, но никак не вспомню - склероз -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Ну-ка по-понятней. Для "особо одарённых" |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Код, написанный "талантливым" программистом, в котором кроме никто разобраться в не состоянии. Вернее приложив усилия разобраться конечно можно, но проще написать заново. Такой код правило не имеет комментариев, нет документации по дизайну и вообще какой либо документации, используются левые библиотеки.
Основные признаки, по которым их(программистов) можно опознать: приложения клепают, как блины( и что удивительно, работающие), способны выдать в день 700-1000 строчек кода(правда с частым использованием Copy-Past), как правило нетребовательны к заказчику(выполняют любые его требования , иногда абсолютно бессмысленные). Как правило не в состоянии работь в команде над одним приложением - так сказать волки-одиночки. -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Vyacheslav вы пророк! мысли читать умеете?
Если так - то учитесь дальше. У меня ВСЁ с точностью до наоборот, кроме использования "левых" библиотек. |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
ManiaK
А, так ты еще молодой совсем. -------------------- Волны гасят ветер... |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
"Верю-верю всякому зверю! А тебе - ежу - погожу!!" Вообще забавляют меня личности, считающие, что делают одолжение, разговаривая со мной... Какой там обижаться! Смех берёт |
|||
|
||||
| Vyacheslav |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Еще раз внимательно прочел ветку и заметил интересные вещи которые не могу не откомментировать
Вы имеете весьма отдаленное представление он науке. Это занятие, требующее кропотливой работы и умение пользоваться справочником далеко не на последнем месте.
А я люблю, когда кода мало. Особенно моего
Сопостовляем факты: отец в курсе Вашего кода, Вам 18 лет, работаете Вы уже 3 года(с 15 лет). Я ничего не пропустил?
Можно создать шедевр, а можно и полную чушь. При этом шедевры как правило создают, после того как долго работают с чужими библиотеками. С нуля обычно создают ламеры, которые решили, что они круче всех. -------------------- С уважением, Вячеслав Ермолаев |
||||||||
|
|||||||||
| Амортизатор |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 17.4.2005 Где: в Караганде Репутация: 1 Всего: 8 |
А вот я просто ненавижу STL. Сейчас потихоньку собираю свой списочный класс, аналогичный TStringList из VCL, но с расширенной функциональностью, поскольку лучше и удобнее не встречал. Про MFC-аналог этого класса CStringList я много раз писал, и напишу еще раз - это г-но. Поначалу я MFC не пользовал только из-за отсутствия в нем полноценного списсочного класса.
-------------------- Поехали! |
|||
|
||||
| ManiaK |
|
||||||||||||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Вы ошибаетесь. Вы видели учёных? А я у них учусь!..
Согласен. Просто и кратко писать - талант нужен. Только вот не вижу здесь, где вы усмотрели, что я люблю много кода вообще? Я имел ввиду, разумеется, в процентном отношении.
Пропустили. Мне семнадцать лет. Но это вообще флеймовая тема - здесь обсуждение библиотеки, а не участников форума (как надоело эту фразу повторять!).
Согласен.
Также соласен.
Категорически не согласен. Ламер - это человек, который плохо разбирается в данной области, но "гнёт пальцы". Если ламеры, как вы утверждаете, создают, то либо не понимаете значения слова, либо я что-то не понимаю... Это сообщение отредактировал(а) ManiaK - 17.6.2005, 12:36 |
||||||||||||
|
|||||||||||||
| Vyacheslav |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
13 лет работы в НИИ и работа над техникой, до которых, американцы по их же подсчетам доберутся лет через пять.
Тут один маленький момент. Ламер то себя ламером никогда не считает. Он считает, что прекрасно разбирается в данной области, и считает, что что-то создает. Может это и так, но это можно выяснить( ламер или не ламер), только когда его результат выносится на всенародное обозрение. А какое же здесь обозрение, если кроме него, эту библиотеку никто не использует, или используют тольк в узком коллективе. Здесь надо понимать, что не имеются в ввиду узкоспециализированные библиотеки, а подразумевается замена STL. Теперь я попытаюсь Вас поймать на слове. Вы не используете и следовательно не знаете STL. Вместо этого Вы используете свои библиотеки разработанный с нуля. Надо полагать, что считаете их по краней мере не хуже STL. А если они всетаки хуже, то зачем используете и тратите время на разработку? Логично? А теперь я процитирую Вас со вставкой небольших пояснений( мои вставки выделены жирным шрифтом)
-------------------- С уважением, Вячеслав Ермолаев |
||||||
|
|||||||
| Fantasist |
|
||||||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Эх, ты все-таки обидился. Извини. Любая философия, в том числе и философия программирования или разработки программного обеспечения претерпевает изменения в ходе набора опыта и развития мозгов. Опыт бесчисленного числа людей показывает, что наиболее интенсивный период реформаций приходиться на период примерно от 16 до 25 лет. Этот факт я подтвердил на свое опыте. Поначалу есть тендеция игнорировать всякие авторитеты и создавать все исключительно самому и только позже приходит осознание, что во большинстве случаев это не грамотный подход. Он лишает тебя эффективности разработки, множества знаний и полезного опыта. Средства и библиотеки опробованные на практике множеством людей несут в себе определенную философскую концепцию из которой можно почерпнуть очень много для себя полезного. Причем это доставляет немалое эстетическое удовольствие - умение ценить красивые реализации в чужом исполнении. К тому же, у профессионального программиста очень часто возникает необходимость работать с чужими кодами, и подобный опыт тоже накладывает весомый отпечаток на понятия принципов программирования. В общем, основная идия такова - на данном этапе у нас нет общих основ на которых можно было бы построить конструкивный диалог. Я уже отказался от тех ценностей, которые тебе сейчас близки, хотя в свое время точно так же был им очень предан. Ты в свою очередь не видишь ценности в том о чем говорим мы. Я тоже очень долго их даже близко не понимал. Так что мы просто говорим каждый о своем без основного пересечения. Поэтому и нет конструктивного элемента. Ты предлагаешь такую-то ценность и аргументы строишь опираясь на нее. Но нам эта ценность не интересна, поэтому аргументы твои для нас опираются на пустоту и теряют всякий вес. Взамен мы предлагаем свои ценности. Но ты в свою очередь тоже не заинтересован в этих ценностях, так что и наши аргументы для тебе не имеют веса. Разная аксиоматрика порождает теории вполне справедливые для своей системы аксиом, но явно противоречивые друг для друга. Сорри за оффтоп, но хотелось донести мысль, почему я не вижу смысла обсуждать библиотеку в этом ключе. Добавлено @ 19:16
Блин, сильно. Добавлено @ 19:17
А что за техника, если не секрет? -------------------- Волны гасят ветер... |
||||||
|
|||||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Fantasist, уважаю... Просто таки с языка снял. И как изложено!
|
|||
|
||||
| ManiaK |
|
||||||||||||||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Попробуйте
Обажаю обламывать таких людей (заметьте, на оскорбления первым перешёл не я). По всем трём предложениям - НЕТ! Покажите мне, где я это писал и тогда я извинюсь. Использую и более-менее разбираюсь в STL. Свои библиотеки тоже использую, но не всегда (люблю их использовать, но не всегда получается). Мои библиотеки хуже STL - они слабее по возможностям. Но там, где я их использую - их хватает. У меня совершненно нет претензий стать отцом какого-нибудь нового языка или стандартной библиотеки - всё, что я делаю в этом направлении - делаю для себя.
Если вы считаете себя хоть немного учёным, то должны понимать, зачем нам объясняют (вам - объясняли, когда учились вы), как выводится та или иная формула. Хорошие учителя даже требуют, чтобы ученики могли сами вывести те формулы, которыми некоторые пользуются не задумываясь. Распыляться по поводу того, для чего это нужно - я не буду. Разумеется, не стоит доводить всё до абсурда и выводить формулы, которые группами учёных да ещё с применением ЭВМ выводились годами - нет. Имеются ввиду именно базовые формулы (для Си++ читай - базовые инструменты), которые не требуют титанических усилий и пять лет непрерывной работы. Основы закладывают фундамент мышления, но при этом сами по себе достаточно просты.
Всё верно. Только к чему это теперь?.. (вернее - к кому)
Это скорее технарь, чем учёный. Но, надо признать, что не так уж мало людей соединяют в себе и то и другое; вполне верю.
Fantasist, недождёсся Я согласен со всеми твоими размышлениями. Только их не вполне можно применить ко мне. Я прошёл уже период, когда считал, что смогу построить нечто гениальное и стать вторым Гейтсом или, на худой конец, Торвальдосом. Но, признавая одну ошибку юности, я не подгрёб под одну гребёнку все остальное. Я проанализировал оставшиеся принципы и не нашёл, почему бы мне на досуге не заниматься поделками (для собственного развития и удовольствия) и, в случае, если эти поделки оказались достаточно удобными и функциональными для решения данной конкретной задачи, применить их. Вообщем, вот примерно так:
Разумеется всегда найдётся человек, который разочаровавшись в чём-либо, только и ждёт того, чтобы довести это разочарование до другого (Fantasist, это не к тебе; твою отношение я по крайней мере понимаю). Было оно уже, господа взрослые, было. Только вот выводы я сделал несколько иные и на компромиссы не пошёл. |
||||||||||||||
|
|||||||||||||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
После Поупа это уже не секрет. http://kremalera.narod.ru/shkval.htm Вернее не к ней самой, а уже к последующему развитию -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Пользовался редко. Сейчас вовсю использую QTL.
Это сообщение отредактировал(а) Perchilla - 20.6.2005, 10:37 |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Vyacheslav, ну вот, опять все самое крутое у нас на военке.
-------------------- Волны гасят ветер... |
|||
|
||||
| Adil' |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 6 Всего: 15 |
Ответил №4, - не люблю STL - да хотя бы просто за то, что в форумах по Си на вопросы типа "Что такое указатель?" самым распространненым ответом стали ответы типа "Да зачем это тебе? Используй vector"
-------------------- Удачи |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Adil'
Речь идет не о программировании микроконтроллеров Atmel на АСМе, а о C++ и STL А для заточки под конкретную задачу - для этого, как раз и нужен программист Добавочное: Например, для программирования DSP от TI уже портировали под ихнюю студию STLport и очень довольны. |
|||
|
||||
| setq |
|
|||
|
Unregistered |
я редко когда могу обосновать почему мне одна технология нравится, а другая нет. необъяснима (мне самому) например нелюбовь к Perl. смешнее всего то, что (О ЛАМЕРСТВО) я его не знаю. смейтесь смейтесь. это не мешает мне его не любить. я сильно обламывался при изучении, а изучать пытался раза два. задним умом понимаю, изучи я Perl - я буду окей.
про STL мне известно только то, что она существует. изучать её ВОЗМОЖНО мне не придётся, т.к работаю на другом языке. но с удивлением для себя обнаружил, что когда изучал c++, то тоже испытывал неприязнь к этой НЕЗНАКОМОЙ библиотеке. я думаю 'проблема STL' заключается в том, что ПРИ ОБУЧЕНИИ без неё можно обойтись. да, её изучение в дальнейшем потребуется для успешной работы (судя по высказываниям людей, от которых на этом форуме я редко слышу чепуху), но вот этот самый момент МНЕ КАЖЕТСЯ важен. в самой же первой программе на c (не буду говорить как называется %)) ) вас учат подключать библиотеку стандартного ввода/вывода и объясняют как нужно с ней работать. вы какбы понимаете, что подключать stdio сама собой разумеющаяся вещь. поэтому мы наверно редко видим темы как 'как вы относитесь к stdio?'. сколько примеров с STL вы видели в книгах наподобие 'изучаем c++' ? сколько примеров с STL вы видели в книге Страуструпа? итого: о значимости STL для программирования в c++ судить не берусь, однако у меня (и видимо не только) СОЗДАЛОСЬ ВПЕЧАТЛЕНИЕ, что это не родной для c++ инструмент. может и не правильное, но создалось. и видимо не у одного меня (по-моему я повторяюсь) %)) а так конечно: если на работе надо - что поделаешь. |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
Соглашусь с setq. У меня, видимо, те же причины.
-------------------- Да. Именно так. |
|||
|
||||
| bel_nikita |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
setq
|
||||
|
|||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 10 Всего: 93 |
setq имел ввиду, что подключение stdio воспринимается как само собой разумеющееся (в консольных), т.к. к этому привыкаешь с самого первого знакомства с Си. STL же упоминается гораздо реже (нам в институте про неё например вообще ничего не говорили) -- поэтому привыкнуть к ней труднее, когда уже сформировались какие-то представления о языке. -------------------- Да. Именно так. |
|||
|
||||
| bel_nikita |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Дрон
Да и многие, у которых за плечами 15-20 лет программирования на Сях, не знают и знать не хотят, что такое STL. |
||||
|
|||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Зря, мне кажется, вы ругаете STL за "плохую заточку" под ВАШИ задачи. В STL включены ОЧЕНЬ простые вещи. Их реализация руками самостоятельно для б.м. нормального программиста труда не составит, но ЗАЧЕМ этим заниматься, если есть кучка шаблонов!! Они не только ОЧЕНЬ простые, но еще и со всех сторон оптимизированы, защищены, обучены бросать исключения, в общем инкапсулированы идеально.
Ну а если кто-то занимается составлением програм квантХим расчетов для вычислительных станций, где каждый такт дорог - ВАЩЩЕ нефиг С++ юзаться, не говоря о "плохо заточенных под вас STL". С - максимум. Классы STL связываются с типами, указанными в параметрах шаблона НА ЭТАПЕ КОМПИЛЯЦИИ, поэтому для компилятора это то же самое, что и вам самому написать аналогичный нешаблонный, оперирующий одним только типом данных класс. Значит ваши слова о том, что он-де не заточен, говорят о том, что вы можете свободно написать аналогичный класс руками и вам СОВСЕМ не жалко на это времени. Мне - это долго. А говорить о том, что программирование шаблонами плохо, потому что мы плохо понимаем, что за этими шаблонами стоит - это проблема того, кто не понимает. Надо И понимать, И использовать, а не НЕ понимать, и поэтому НЕ использовать. Что нам теперь, вообще инклудами не пользоваться, что ли, от того что понимать лень?? А на вопрос "что такое указатель?" отвечать "используй vector<>", конечно нельзя ни в коем случае. Потому использование указателей - необходимое знание. :-) Я сам все строки храню в (char*), а не std::string. Такая уж прихоть. |
|||
|
||||
| Orthenner |
|
|||
![]() Любитель ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 22.5.2004 Где: Мытищи Репутация: нет Всего: нет |
ИМХО если пишешь на C++, то знание STL просто необходимо... Большая часть тех, кто говорит "Я не люблю STL" на самом деле просто не умеют с ней работать. Объективно, на сегодняшний момент существует не так много ситуаций, в которых жизненно необходимо написание своих собственных контейнеров, string-ов и т.д. STL пользоваться проще. Я тоже, поначалу, до того как столкнулся с STL писал свой вектор, string. А потом мне на глаза попалась книжка по STL, в которой описано не только как пользоваться всеми возможностями библиотеки, но еще и общие принципы ее реализации с приведением кусков кода. С тех пор мысли изобретать велосипед в этом направлении мне больше не приходило.
Это сообщение отредактировал(а) Orthenner - 22.6.2005, 16:55 |
|||
|
||||
| FR |
|
|||
|
Unregistered |
setq
смотрим Б. Страуструп "язык программирования C++" третье специальное издание примерно 300 страниц из 1000 посвящены STL. |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
Это сообщение отредактировал(а) Fixin - 22.6.2005, 19:41 |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
А еще смотрим стандарт и видим, что 357 страниц из 786 посвящены ей же -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
В некоторых случаях, особенно в программировании встроенных систем, это так и есть Болезнь в том, что это затягивает - желание контролировать 100% и успевать за доли секунды делать три дела одновременно перегибает разумные пределы. Но на досуге - пожалуйста! пиши, наслаждайся! Хотя самое приятное, когда за это тебе ещё и платят Правда дружеский совет: лучше об этом не говорить |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |