![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
zzkoderzzzx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.10.2013 Репутация: нет Всего: нет |
Есть ли статистика по указанному вопросу? А раз ее нет, может и не стоит переходить на С++11?
Например если дать одно и то же задание программистам на С++ и программистам на С++11, насколько быстрее оно будет выполнено на С++11? Мне кажется, что его выполнят на С++11 менее быстро, т.к. вместо решения задачи будут думать где применить сомнительные фичи, введенные в С++11. Является ли неиспользование фич С++11 (программирование как на обычном С++) признаком плохого программиста? Это сообщение отредактировал(а) zzkoderzzzx - 16.10.2013, 16:55 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Не удивлюсь, если статистики нет. Так как еще не везде С++11 поддерживается.
Зависит от задания. В принципе, С++11 просто вводит новые плюшки в язык, которые позволяют или отказаться от внешних библиотек (std::thread, std::bind...) или немного оптимизировать код (rvalue-reference). В итоге, результат может быть непредсказуем. Так как в одном случае одни инструменты используются, в другом - другие. Одно можно сказать, что итоговый исходный код в случае С++11 будет несколько проще в дальнейшем развитии (при условии, что программисты нормальные). Неиспользование С++11 не является признаком плохого программиста. Так как существует куча независящих от него причин, почему он им может не пользоваться (например, компилятор целевой платформы не поддерживает С++11). Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
NoviceF |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 313 Регистрация: 13.3.2012 Где: Ростов-на-Дону Репутация: нет Всего: 2 |
||||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
Нет и никогда не будет т.к. никто подобного не собирает. Переходить или нет - решать каждому индивидуально или по-проектно. Скажу за себя, я без C++11 уже не могу писать на C++.
За отсутствием внешних препонов - да, является. |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Менее быстро это медленнее что-ли? ![]() По логике, наоборот, быстрее. Или более быстро, если Вам угодно. ![]() Например, в С++11 нет нужды наступать на грабли ручного управления памятью. Это может сэкономить уйму времени даже на небольшом проекте. А что конкретно за "сомнительные фичи"?
Это многгогранный вопрос. Если есть куча унаследованного кода и в общем и целом оно устраивает, то "Не чини, коли не поломано". Но если сейчас писать с нуля, то, да, лучше использовать, как минимум, теже умные указатели. -------------------- |
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Замедлил несколько. Потому что пришлось опять что-то учить и осваивать. А потом на форуме стали появляться вопросы по С++11, на которые даже я знаю ответы.
![]() -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
кто не хотел наступать, и раньше не наступал. в С++11 некоторые вещи стало делать проще, а значит - быстрее/безопасней. но функционально мало что изменилось, т.к. синтаксические улучшения кардинально скорость не повысят, а функционал std перетек из boost, который и раньше был доступен. т.к. проекты не существуют в воздухе и обязательно используют библиотеки (в которых для многих проектов больше половины функционала), С++11 не сделает революции Добавлено через 4 минуты и 21 секунду
вряд ли. короткая дорога - известная. хотя... хороший программист - ленивый программист, и писать for(begin,end) вместо for (x:y) должно уже утомлять |
||||
|
|||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Сказки старого леса. ![]() Речь шла о скорости разработки, а не исполнения. Да ладно? ![]() Или тоже самое и в первом пункте, про тех, кто не наступал? Если речь об этом, то да, согласен. Но это несколько некорректное сравнение, согласитесь. Уж если сравнивать два стандарта, то в чистом виде. И опять же, Boost - оно, может, и хорошо, но когда вещи попадают в стандарт, это способствует их популяризации. Больше разработчиков знает - больше применяет. И да, не всё там в этом вашем Boost было. std::unique_ptr, вроде, аналогов не имеет, например.
Ошибаетесь. Код любой крупной библиотеки переписывается с нуля один раз минимум в 5-10 лет. Или просто уходит в мир иной и замешается более современными аналогами. Так что революция, не революция, а лет через 5 все крупные библиотеки будут написаны уже на С++11 (или 14 ![]() Нет, есть, конечно, исключения. Но это в основном адовое фотрашно-сишечное наследие, например, которое никто желанием переписывать не горит. ![]() -------------------- |
|||
|
||||
zzkoderzzzx |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.10.2013 Репутация: нет Всего: нет |
В С++ тоже есть auto_ptr.
Например constexpr. Не совсем понятно куда приткнуть rvalue references.
Это сообщение отредактировал(а) zzkoderzzzx - 16.10.2013, 20:01 |
||||||
|
|||||||
borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Лично я под разработкой ПО понимаю проектирование, разработку структуры данных и алгоритмов обработки этих данных. И делаю это я на русском, а не на Си++ или на его 11-м развитии. Кодирование на конкретном языке у меня занимает процентов 15-20 от общего времени, поэтому если 11-й стандарт и ускорит кодирование, допустим на 10%, то общая экономия составит сущие копейки. Это совершенно не значит, что его не нужно использовать... Просто не нужно ожидать, что если раньше проект делался за месяц, то с использованием C++11 он будет делаться 2 недели. Не будет. Выйдет тот же месяц. Ну... м.б. за минусом одного дня.
Какие фичи ты считаешь сомнительными ? Для меня лично сомнительная фича только одна - строковые литералы. А по поводу скорости... Ну... во-первых см. первый абзац, а во-вторых, если уж говорить о скорости кодирования, то сравни это:
и это:
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
vinter |
|
||||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
На данный момент дали возможность улучшить код, который раньше требовал нагромождения шаблонов. Код стал проще. Добавились пользовательские литералы. Да и вообще это одна из фич, чьё применения будет раскрываться со временем, как это уже было раньше. Тем более, что constexpr является отличным подспорьем в concepts lite и, я полагаю, в полновесных concepts в будущем.
Если Вам, что-то не понятно это не делает фичу "сомнительной". Посмотрите мою статью по теме, может прояснит чего. |
||||
|
|||||
zzkoderzzzx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.10.2013 Репутация: нет Всего: нет |
borisbn, это поиск подстроки Hello в векторе пар "строка, строка"?
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
zzkoderzzzx, нет. И то и то - это поиск в векторе пар "строка, вектор строк" на предмет совпадения строки (первой части пары) со строкой Hello.
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
zzkoderzzzx |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 1.10.2013 Репутация: нет Всего: нет |
borisbn, а обязательно ли вводить дополнительный класс StrIsEq и использовать std::find_if при реализации на чистом С++?
Можно же сделать и в лоб - пройтись в цикле по вектору... В конце концов сделать typedef на страшную конструкцию
И код получится ненамного длиннее второй реализации. Это сообщение отредактировал(а) zzkoderzzzx - 16.10.2013, 20:33 |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 32 Всего: 101 |
и я про скорость разработки то самое вопрос был не о сравнении стандартов, а изменении скорости разработки
пользователю это не слишком важно, если не меняется интерфейс. а если меняется интерфейс, пользователю оно не нужно. да и вопрос не про 10 лет вперед, а что сейчас изменилось. имхо - ничего по сути но все же приведи мне примерчик такой большой библиотеки которая регулярно с 0 переписывается имею отношение к паре проектов, в которых используется код (в виде библиотек), которому более 30 лет. оно самое и пока необходимости нет (а её нет и не предвидится) трогать его никто не станет. опять же, к новому коду на С++11 и скорости его разработки это не имеет отношения |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |