Re[2]: Пора ли переходить на С++11?
От: AlexGin Беларусь  
Дата: 18.11.14 21:19
Оценка: +1 -2 :)
Здравствуйте, Dair, Вы писали:

D>Здравствуйте, Went, Вы писали:


W>>Здравствуйте. Наверное, мой вопрос затерт и банален, но все же решусь его повторить Я хочу получать код, который без особых костылей компилируется на Win7-8, MacOS, IOS, Android. На что я могу рассчитывать? Речь не о том, какую фичу поддерживает тот или иной компилятор, а об общем тренде — переходят ли на С++11 программисты кроссплатформенных игр?


D>Мы пока нет. Потому как основным инструментом остаётся (у коллег) VS2008. Вот если переходить на современные Студии, тогда да.

+100500
Я пишу на C++ (MFC). Использую VS2008. Смысла в переходе на более новую студию, на C++11 а также и на более новую библиотеку MFC не вижу.
Re: Пора ли переходить на С++11?
От: velkin Удмуртия https://kisa.biz
Дата: 19.11.14 18:25
Оценка: +3 -1
Здравствуйте, Went, Вы писали:

W>Речь не о том, какую фичу поддерживает тот или иной компилятор, а об общем тренде — переходят ли на С++11 программисты кроссплатформенных игр?


Раз уже выяснили, что разговор не об играх, то нет, не перехожу. В Qt 4.8 это особого значения не имеет, на новый Qt тоже не стал переходить. С++ долгоживущий язык, если понадобится ещё успеется перейти на всё, что угодно. Тут нужно понимать, что не все используют STL. А в Qt к тому же можно использовать обобщённое-программирование, то есть шаблоны С++, только очень специфичным образом. Многому чего не было в C++03, но есть в C++11, есть замена. Впрочем спустя значительное количество времени, а счёт идёт на года, когда будут решены другие проблемы, вполне возможно перейду на новый стандарт, может он даже дефолтным к тому времени станет. Нет ничего страшного, что все сразу не кидаются на новую версию. С++ (1983) известен своей совместимостью ещё с Си (1972), речь о 3-4-ёх десятилетиях, а не 3-4-ёх годах.
Re: Пора ли переходить на С++11?
От: Константин Россия  
Дата: 20.11.14 11:07
Оценка:
Здравствуйте, Went, Вы писали:

W>Здравствуйте. Наверное, мой вопрос затерт и банален, но все же решусь его повторить Я хочу получать код, который без особых костылей компилируется на Win7-8, MacOS, IOS, Android. На что я могу рассчитывать? Речь не о том, какую фичу поддерживает тот или иной компилятор, а об общем тренде — переходят ли на С++11 программисты кроссплатформенных игр?


Я бы переформулировал: Если не озвучено чёткое обоснование, почему в проекте не используется C++11, стоит задуматься о вменяемости техлидов и менеджмента.
Re[2]: Пора ли переходить на С++11?
От: _NN_ www.nemerleweb.com
Дата: 21.11.14 07:19
Оценка:
Здравствуйте, Abyx, Вы писали:

A> 2014 год заканчивается, люди уже С++14 юзают, и собираются юзать C++1z

A>а кто-то еще решает, писать им на С++2003 или нет

У всех разные ситуации.
Вот у нас использовался раньше Managed C++, C++/CLI .
Так они прибиты к версии .NET , а посему можем использовать только компилятор от VS2008 , т.к. нужен максимум .NET 3.5 .
Даже если получим добро на .NET 4.0 то все равно выходит студия 2010...
Чтобы перейти на C++1x нужно этот весь код переписывать как-то, а на это время никто ,естественно, выделять не будет.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: Пора ли переходить на С++11?
От: Vlad_SP  
Дата: 21.11.14 07:23
Оценка: +4 -2
Здравствуйте, Abyx,

A>"много" — это обычно на 30 мин работы по механической замене одного текста на другой, при помощи регулярок и пары чашек чая.

A>люди код с Си на С++ без проблем переписывают, а уж с С++03 на С++11 — легко.

Гм. Программисты крайне редко задумываются о том, будет ли от такого переписывания business value?
Re: Пора ли переходить на С++11?
От: Tilir Россия http://tilir.livejournal.com
Дата: 21.11.14 09:10
Оценка: 16 (2) -1
Здравствуйте, Went, Вы писали:

W>Здравствуйте. Наверное, мой вопрос затерт и банален, но все же решусь его повторить Я хочу получать код, который без особых костылей компилируется на Win7-8, MacOS, IOS, Android. На что я могу рассчитывать? Речь не о том, какую фичу поддерживает тот или иной компилятор, а об общем тренде — переходят ли на С++11 программисты кроссплатформенных игр?


Формально в последних GCC и Clang поддержка полного C++11 уже есть и для всех перечисленных вами платформ по крайней мере один из них есть, так что проблем у вас не будет. Технических проблем. Формальный ответ на ваш вопрос: "да, можете рассчитывать на нормальную кроссплатформенность, вообще без проблем". Ну если оставить за скобками майкрософт, конечно. У этих своё видение.

Собственно вся поддержка в нормальных компиляторах была готова уже больше года назад, и новый стандарт уже давно можно потихоньку привлекать для своих нужд, аккуратно следя за руками -- там rvalue ссылку воткнуть, в другом месте список инициализации использовать (жёстко отслеживая perf impact на каждое такое движение). Меня почему-то особенно радует механизм future/promise в стандартной библиотеке. Переход на стандартные треды с системно-зависимых конечно должен быть сделан. Опять же переключиться с бустовых регекспов на стандартные -- тоже дело.

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

Но программирование не сводится к техническим проблемам. Самое сложное -- это новый концептуальный аппарат, делающий метапрограммирование реально простым и во многом смещающий фокус внимания с традиционного ООП на более ФП-шный стиль: constexpr, variadic templates, auto, лямбды, всё вот это. Никому больше не нужно год учить шаблонную магию чтобы на собеседовании написать на бумажке compile-time prime numbers, теперь это сделает любой студент (и делают).

И вот что касается этого когнитивного "переключения контекста", когда мы прекращаем думать на C++98 и начинаем думать на другом языке, гораздо более гибком в compile-time и с гораздо более дружественной системой типов... Вот это пока рановато. Вообще новый стандарт каждые три года это слишком быстрые изменения в языке, тут лучше взять паузу и дать комитету наиграться. Сейчас уже вышел C++14, там довольно много концептуальных новшеств, скажем variable templates и generic lambdas. Если он окажется более-менее финальным, то можно будет перелезть сразу на него.
Re: Пора ли переходить на С++11?
От: jazzer Россия Skype: enerjazzer
Дата: 21.11.14 09:58
Оценка:
Здравствуйте, Went, Вы писали:

W>Здравствуйте. Наверное, мой вопрос затерт и банален, но все же решусь его повторить Я хочу получать код, который без особых костылей компилируется на Win7-8, MacOS, IOS, Android. На что я могу рассчитывать? Речь не о том, какую фичу поддерживает тот или иной компилятор, а об общем тренде — переходят ли на С++11 программисты кроссплатформенных игр?


Ну вот мы в команде юзали старый, но быстрый STLport, а он не поддерживает С++11 ни в каком виде.
То есть надо сперва от него отвязаться.
Отвязался (перешел на стандартную гнутую), прогнал тесты — много чего просело. Вот мучаюсь набегами уже год, наверное. Где-то что-то как-то какие-то неочевидные особенности использовало и тюнилось конкретно под STLport, и с уходом на гну оно больше не работает.
Так до сих пор и не перешли, сидим на STLport.
Потому что С++11 — это обновление не только языка, но и стандартной библиотеки.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Пора ли переходить на С++11?
От: niXman Ниоткуда https://github.com/niXman
Дата: 21.11.14 10:22
Оценка: -1
Здравствуйте, jazzer, Вы писали:

не кажется ли тебе, что использовать в качестве стандартной библиотеки нестандартную рализацию, эмм, как минимум не логично?
не, не ради троллига. мне действительно непонятно мышление, на основании которого, было решено использовать STLport %)
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[3]: Пора ли переходить на С++11?
От: jazzer Россия Skype: enerjazzer
Дата: 21.11.14 10:29
Оценка: +1
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, jazzer, Вы писали:


X>не кажется ли тебе, что использовать в качестве стандартной библиотеки нестандартную рализацию, эмм, как минимум не логично?


она вполне стандартна в рамках С++98.
И использовалась она весьма широко в свое время, потому что уделывала по скорости почти все современные ей реализации стандартной библиотеки.
Стандарт же на интерфейс библиотеки, не на реализацию.

X>не, не ради троллига. мне действительно непонятно мышление, на основании которого, было решено использовать STLport %)


она работала быстрее, чем встроенная в GCC 2.95 и GCC 3. Да и сейчас, в общем-то, в каких-то частях она все еще выигрывает, получается.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: Пора ли переходить на С++11?
От: Stanislav V. Zudin Россия  
Дата: 21.11.14 10:32
Оценка:
Здравствуйте, niXman, Вы писали:

X>не кажется ли тебе, что использовать в качестве стандартной библиотеки нестандартную рализацию, эмм, как минимум не логично?

X>не, не ради троллига. мне действительно непонятно мышление, на основании которого, было решено использовать STLport %)

Скорее всего по причинам историческим. 15 лет назад STLPort был более, чем стандартным и, к тому же, рвал Студийную stl как тузик тряпку.

Мы STLPort'ом тоже пользовались. Правда у нас переход на штатную stl прошел безболезненно — "стандартные" контейнеры использовали только в некритичных по скорости кусках проекта.
_____________________
С уважением,
Stanislav V. Zudin
Re[4]: Пора ли переходить на С++11?
От: niXman Ниоткуда https://github.com/niXman
Дата: 21.11.14 10:36
Оценка:
Здравствуйте, jazzer, Вы писали:

J>она вполне стандартна в рамках С++98.

в моем понимании, стандартная библиотека — это некий фундамент, основа, который должен быть фундаментом для всего остального, и делать это на разных компиляторах/платформах. посему, имхо, я бы ни за что не стал использовать стороннюю реализацию. поди знай, насколько она совместима или же несовместима, и когда ее перестанут поддерживать...

J>И использовалась она весьма широко в свое время, потому что уделывала по скорости почти все современные ей реализации стандартной библиотеки.

J>она работала быстрее, чем встроенная в GCC 2.95 и GCC 3. Да и сейчас, в общем-то, в каких-то частях она все еще выигрывает, получается.
что, абсолютно все, что в STLport рализовано, работает быстрее? думается мне, наверняка это меньшая часть, возможно сильно меньшая. я бы в этом случае, просто написал(или скопипастил) в рамках проекта свои реализации, которые бы использовались по препроцессорному условию.

ну хз, не представляю, чтоб я взялся писать проект основываясь на сторонней реализации стандартной библиотеки...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 21.11.2014 10:40 niXman . Предыдущая версия .
Re[4]: Пора ли переходить на С++11?
От: niXman Ниоткуда https://github.com/niXman
Дата: 21.11.14 10:39
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Скорее всего по причинам историческим. 15 лет назад STLPort был более, чем стандартным и, к тому же, рвал Студийную stl как тузик тряпку.

так STLPort это что, чисто вендовая реализация? или заточенная под студию?
просто, мне не разу не встречался проект, который бы испльзовал STLPort(но я несколько раз слышал об этом), вот и подумал...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 21.11.2014 10:40 niXman . Предыдущая версия .
Re[5]: Пора ли переходить на С++11?
От: Stanislav V. Zudin Россия  
Дата: 21.11.14 10:46
Оценка:
Здравствуйте, niXman, Вы писали:

SVZ>>Скорее всего по причинам историческим. 15 лет назад STLPort был более, чем стандартным и, к тому же, рвал Студийную stl как тузик тряпку.

X>так STLPort это что, чисто вендовая реализация? или заточенная под студию?
X>просто, мне не разу не встречался проект, который бы испльзовал STLPort, вот и подумал...

Обычная кроссплатформенная библиотека. Список компиляторов.
В проекте ничего особенного и не увидишь. Те же обращения к namespace std.
Просто в настройках компилятора будет ссылка не на "штатный" каталог с stl файлами, а на stlport.
_____________________
С уважением,
Stanislav V. Zudin
Re[7]: Пора ли переходить на С++11?
От: Abyx Россия  
Дата: 21.11.14 11:26
Оценка: +1 -1
Здравствуйте, Vlad_SP, Вы писали:

V_S>Здравствуйте, Abyx,


A>>"много" — это обычно на 30 мин работы по механической замене одного текста на другой, при помощи регулярок и пары чашек чая.

A>>люди код с Си на С++ без проблем переписывают, а уж с С++03 на С++11 — легко.

V_S>Гм. Программисты крайне редко задумываются о том, будет ли от такого переписывания business value?


А некоторые не-программисты (и недопрограммисты) не очень понимают что такое надежность кода, как в коде появляются баги, и сколько может стоить их починка.
Также не всем понятно почему какие-то задачи делаются быстро, а какие-то медленно.
И не все кто знает умные слова типа "business value" знают умные слова типа "technical debt".
In Zen We Trust
Re[9]: Пора ли переходить на С++11?
От: Abyx Россия  
Дата: 21.11.14 11:31
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>У нас все проекты используют общие библиотеки. Я тут в одном классе ошибочный public на private поменять второй месяц не могу, так как все проекты пересобирать придётся...


я слышал есть тулзы, которые позволяют автоматизировать сборку...
скрипты опять же всякие
In Zen We Trust
Re[6]: Пора ли переходить на С++11?
От: niXman Ниоткуда https://github.com/niXman
Дата: 21.11.14 11:34
Оценка:
Здравствуйте, Stanislav V. Zudin, Вы писали:

SVZ>Обычная кроссплатформенная библиотека. Список компиляторов.

почему-то мне думается, что под большинство из перечисленных платформ можно собрать GCC и использовать единую стандартную библиотеку
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[7]: Пора ли переходить на С++11?
От: jazzer Россия Skype: enerjazzer
Дата: 21.11.14 12:45
Оценка: +1
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, Stanislav V. Zudin, Вы писали:


SVZ>>Обычная кроссплатформенная библиотека. Список компиляторов.

X>почему-то мне думается, что под большинство из перечисленных платформ можно собрать GCC и использовать единую стандартную библиотеку

в 2014 — может быть
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Пора ли переходить на С++11?
От: BulatZiganshin  
Дата: 21.11.14 17:16
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Отвязался (перешел на стандартную гнутую), прогнал тесты — много чего просело.


если это критично — надо писать самим. стандартные библиотеки в силу своей общности очень далеки от оптимальной реализации любого конкретного алгоритма
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Пора ли переходить на С++11?
От: andyp  
Дата: 21.11.14 17:50
Оценка: +2
Здравствуйте, niXman, Вы писали:

X>ну хз, не представляю, чтоб я взялся писать проект основываясь на сторонней реализации стандартной библиотеки...


Лет 10 назад знавал я компиляторы, которые поставлялись без стандартной библиотеки. Вот для них STLPort и использовался.
Re[2]: Пора ли переходить на С++11?
От: Went  
Дата: 21.11.14 20:26
Оценка:
Здравствуйте, Константин, Вы писали:
К>Я бы переформулировал: Если не озвучено чёткое обоснование, почему в проекте не используется C++11, стоит задуматься о вменяемости техлидов и менеджмента.
Я сам себе техлид, менеджер и программист. Сижу на 2005-ом вижуале, и чувствую себя в рамках С++03 вполне хорошо. Появилась возможность "абсолютно бесплатно" перелезть на 2013.4. Это заманчиво, и будет означать переход на С++11, но после того, что я прочитал про поддержку С++11 в этой студии, мне стало грустно. Получится, что гемор с перенастройкой всего пипелайна будет, а С++11 будет кастрированный.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.