Pavel K: Следовательно C++ тут не при чём. А почему бы не сделать всё это добро на обычных элементах QML? Там же можно удобно и события вращения колёсика обрабатывать и всё что угодно вообще делать. Сцена QML сама по себе большая канва)
Adamos: это уже беспредметное обсуждение. Рассматривать нужно практические жизненные ситуации. Именно основываясь на этом я и посоветовал начинающему программисту взять любой распространённый стандарт и оформлять код согласно нему.
Нельзя просто взять и запомнить принцип и переключиться на что-то... И прочее. Я еще раз повторю: стандарт кодирования, если нет, то увольняйтесь делайте как вам удобно и как вы привыкли. Хоть вы тресните, а если в компании, в которую вы пришли работать есть стандарт, по которому положено не ставить скобки вокруг тела из одной инструкции, то вы будете писать как все, чтобы сохранить однородность кода и ваши личные предпочтения остануться за бортом. Код написаный не по стандарту даже на Code Review проверять не будут а просто завернут с пометкой "оформить как надо".
Adamos: Так это же очевидно, появились две строки -- поставили скобки. Две строки превратились в одну, прекрасно -- убрали скобки. Хотя конечно же на это есть стандарты кодирования в компании (если они описывают эту ситуацию), в противном случае это дело личного предпочтения программиста.
Adamos: Сдаётся мне, что вы имеете ввиду конструкции типа:
if (...)
if (...)
// do
else
// do
где разработчик хотел чтобы ветка else выполнилась для первого if. Я встречал подобные ситуации, не то чтобы часто, раза два быть может за последние пять лет, но всё таки согласен что они имеют место быть. Правда это скорее просто исключение и скобки там нужны.
Поэтому я до сих пор считаю, что в нормально отформатированном коде в подавляющем большенстве случаев скобки для тела у if из одной инструкции не нужны. А так-то практически любой код при сопровождении может быть неочевидно испорчен и представляет собой потенциальную проблему. Но на то есть юнит тесты.
Павел Тананыхин: Довольно странно. Я на винде не работаю и не знаю в чем там может быть проблема. У меня QtCreator на линухах никогда бряки не проскакивал просто так даже в очень больших и тяжелых проектах.
В тему сложности... Creator прост и в настройках и в использовании. Намного проще VS на мой взгляд и многих других IDE.
Mercury13: Думаю, что тут не мало зависит и от программистов, т.е. у Embarcadero (назову этим словом все их технологии) комьюнити куда как меньше, охват по проектам, открытость, бесплатность для личных не коммерческих проектов и т.п.
В итоге всё это может вылиться примерно в такие диалоги между менеджером (или любым другим не тех. руководителем) и тех. лидом (например):
М: "Тут классные ребята из Embarcadero... бла-бла-бла и наши друзяшки... Давайте их продуктом пользоваться для нового проекта..."
Т: "Иди нафиг..."
Утрированно конечно, но смысл примерно такой. Я понятное дело не гос. конторы имею ввиду, там другой алгоритм работы :)
Как я знаю, у Embarcadero есть какие-то крупные нишевые клиенты, вот под них они и работают. Ну еще и FireMonkey всякие китайцы/корейцы пользуются, как я слышал, которые штампуют 100500 однотипных приложений для смартфонов.
Армянское Радио: Если вас не устраивает расширение, то можно взять другое, например hpp или просто h. Зависит от стандартов принятых в компании, чтобы сохранять консистентность проекта.
В плане комплияции и IDE согласен. Однако в некоторых случаях (допустим когда реализации большие и их много) стоит вынести реализации в отдельный файл в угоду читабельности и удобству сопровождения. Еще есть варианты когда код просто не будет компилироваться всем чем нужно если полные/частичные специализации не в другой еденице трансляции.
Я, например, сейчас работаю над кроссплатформенным проектом, который должен компилироваться gcc, clang и msvc2008 под linux, mac и win соотвественно, и уж поверьте что иногда приходится выносить часть кода в отдельный файл по описаным выше причинам.
Думаю, что люди хотят использовать функциональность программы, а не программу написанную с применением каких-то технологий. Пользователю конечного продукта это не важно.
Посмотрите в сторону QML и стилей Qt. По-моему аналог ribbon (это как в Word'е да? я под винду не пишу просто :) ) не слишком сложно на QML сделать или даже найти. Зато потом он будет везде работать.
Ринат Велиахмедов: 1) Да, верно. Но есть куча отзывов в интернетах в том числе и о качестве т.ч. думаю можно риски свести к минимуму.
2) Я насчет перевода этой книги не знаю, в оригинале просматривал. Но она тем и отличается от обычных книг Страуструпа что написана им для студентов, как я понял, потому её и упомянул. Т.е. там просто и понятно + C++11 затронут, если не ошибаюсь.
PS Потрите упомянание "конкурента" *LOL*, а то коммент потрут.
Ринат Велиахмедов: Так книги же есть, много и переведённых. Того же Страуструпа взять, книга с лебедями на обложке, я бегло её просматривал и думаю, что вполне бы подошла для новичка + на русском тоже есть.
А английский учить надо -- без него не куда. Документация, видео, подкасты, книги в оригинале + интересные места для работы открываются с переспективой уехать из России ( что сейчас очень актуально, ИМХО). Общение с коллегами опять же.
Сергей Ивченко: Не обоснованное утверждение.
Я уверен, что потрать вы полчаса на то чтобы разобраться с проблемой и читай вы книгу по C++, то этого вопроса бы не возникло. Ну или он возник бы в той форме, о которой я писал выше.
Ринат Велиахмедов: Нет. Это гуглится за пару минут + в любой книге написано.
Человек пытается разобраться в вопросе если он формулирует его хотя бы так: "я прочитал про... пишут так-то... потом я нагуглил то-то... написал такой-то код... и вот мне тут кое-что не совсем понятно... можете объяснить?".
Павел Тананыхин: Скорее всего VS использует какие-нибудь предкомпилируемые заголовочники и т.п. Думаю, что просто компилятором из командной строки этот код соберётся и под виндой. Попробуйте mingw скачать и собрать им ну или VS'ым компилятором (правда как не знаю, под виндой не работаю).
Но вообще зачем использовать винду для разработки, если в этом нет производственной необходиомсти? Поставьте линукс (хоть на виртуалку) и радуйтесь жизни.