Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2014, 17:29   #21
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Да нет же, госпади. Я же пишу черными буквами на белом фоне. Штука новая, я про нее впервые в 2013 году на блоге диджии прочитал (тогда же и забил).
Гм.. спасибо) Теперь буду знать, что на подходе очередная фича))
_Bers вне форума Ответить с цитированием
Старый 10.04.2014, 11:22   #22
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Выбор среды зависит прежде всего оттого в какую фирму человек намерен идти работать (какие крупные фирмы есть в его городе). По-моему, сейчас Visual C++ мягко сказать - непопулярен. И её надо покупать, так как в бесплатной Express версии отсутствует, к примеру, создание GUI. А вот C# сейчас крайне популярен. В Express версии есть формошлёпки Windows Forms и WPF. Так что, если выбирать Visual Studio, то надо изучать C#.

Если речь идёт об изучении стандартного консольного C++, то Visual C++ Express Edition вполне подойдёт.

Если планируете изучать несколько языков, к примеру: Java, C++ (Netbeans можно настроить с Qt), web-программирование: Java Web, PHP, JavaScript, HTML5 и т.д., то лучший выбор - NetBeans: https://netbeans.org/downloads/

NetBeans на уровне среды поддерживает работу с системами контроля версиями (с удобным GUI интерфейсом): Git, Mercurial, Subversion

Есть встроенная в среду поддержка методологии разработки через тестирование (Test Driven Development): CppUnit, JUnit (для Java), PHPUnit, QUnit (независимо от среды; для JavaScript и jQuery). В Qt тоже есть поддержка: QTest

Ещё в NetBeans есть гибкая система настройки форматирования кода по нажатию Shift+Alt+F (Qt Creator тоже есть - Ctrl+I) - это очень удобно.

Вот тут моя инструкция, как установить и настроить NetBeans для C++: http://notes.orgfree.com/instulling_netbeans.php

Я рекомендую лучше начать сразу с Qt. Там можно и на стандартном C++ писать. Вот моя инструкция: http://notes.orgfree.com/pure_cpp_in_qt.php

Qt и NetBeans - бесплатные. Правда сейчас популярность в России Qt - крайне низкая, если сравнивать с популярностью Java, C# и web-разработкой. Я сужу по своему городу, в котором десяток крупных контор с Java и C# (в том числе зарубежные филиалы) И парочка очень мелких с Qt. Есть один крупный филиал в нашем городе компании Artezio (http://artezio.ru/), где есть команда Qt программистов (примерно из 10 человек), но эта вакансия всегда закрыта: http://artezio.ru/career/vacancies/saratov

Если Вы уверенно владеете английским и Qt, то можно найти удалённую работу за рубежом (или фрилансить). Официально оформиться в России, как ИП (индивидуальный предприниматель).

Последний раз редактировалось 8Observer8; 10.04.2014 в 11:58.
8Observer8 вне форума Ответить с цитированием
Старый 10.04.2014, 12:34   #23
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
то лучший выбор - NetBeans:
Да, отличная IDE. Я пользовался до тех пор, пока пользовался windows.
В Linux у нетбинс традиционные, разные от версии к версии косяки с кирилицией.
Когда я пытался это использовать - русские буквы набирались, но не отображались xD (как будто выводились с 100% прозрачностью). Потом под линуксом я пробовал еще десяток IDE, более менее съедобной оказались KDevelop, но Qt Creator удобней .

А так...я еще idea использую - тоже годная IDE (я ее с эрлангом использую).

По нетбинс надо сказать, что система форматирования кода там вообще отменная. Вот такой примерно штуки мне в креаторе чуть-чуть не хватает. Оно там есть, но даже близко не такое гибкое (МБ есть для этого плагины, но я не нашел, хотя чуть чуть искал)

Цитата:
Есть один крупный филиал в нашем городе компании Artezio (http://artezio.ru/), где есть команда Qt программистов (примерно из 10 человек), но эта вакансия всегда закрыта: http://artezio.ru/career/vacancies/saratov
Если нужна работа - можно постучаться и в закрытую вакансию. Могут взять, т.к. адекватных людей вообще мало, а адекватных программистов еще меньше .
rrrFer вне форума Ответить с цитированием
Старый 10.04.2014, 14:59   #24
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
В Linux у нетбинс традиционные, разные от версии к версии косяки с кириллицией.
По многим причинам я полностью отказался от кирилицы. Пишу на очень кривом английском. Приспособился.

Цитата:
Сообщение от rrrFer Посмотреть сообщение
По нетбинс надо сказать, что система форматирования кода там вообще отменная. Вот такой примерно штуки мне в креаторе чуть-чуть не хватает. Оно там есть, но даже близко не такое гибкое (МБ есть для этого плагины, но я не нашел, хотя чуть чуть искал)
Я поступаю хитро. У меня всегда запущены Qt Creator и NetBeans. Пальцы уже привыкли: Ctrl+A -> Ctrl+C -> Alt+Tab -> Ctrl+V -> Shift+Alt+F -> Alt+Tab -> Ctrl+V

Больше всего бесит, что в Qt Creator нельзя настроить отступы внутри скобочек:
Код:
double doSomething( double a, double b );
8Observer8 вне форума Ответить с цитированием
Старый 10.04.2014, 15:56   #25
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

28Observer8
Цитата:
Больше всего бесит, что в Qt Creator нельзя настроить отступы внутри скобочек:
еще больше бесят люди, которые так пишут. из какого code style вы это берете?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 10.04.2014, 16:20   #26
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Из книги "Совершенный код" С. Макконнелл. По-моему, это выглядит более читабельно.
8Observer8 вне форума Ответить с цитированием
Старый 10.04.2014, 16:30   #27
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Из книги "Совершенный код" С. Макконнелл. По-моему, это выглядит более читабельно.
Хорошо выглядит.
_Bers вне форума Ответить с цитированием
Старый 10.04.2014, 16:34   #28
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

Огромный плюс в пользу Qt - это QML

Из книги Макса Шлее "Профессиональное программирование на C++ Qt 4.8" 2012

Цитата:
Qt Quick — это набор технологий, предназначенных для создания анимированных, динами-
ческих, пользовательских интерфейсов нового поколения, которые становятся нормой уже
не только для мобильных устройств, но и настольных компьютеров. Кроме того, это абсо-
лютно новый подход в их разработке. Сам набор технологий состоит в основном из сле-
дующих составляющих:

- QML — новый язык и сразу же движок для его интерпретации;

- Qt — библиотека, которой и посвящена вся эта книга;

- JavaScript — язык программирования. С его синтаксисом можно ознакомиться
в главах 51 и 52 этой книги;

- Qt Creator — интегрированная среда для разработки см. главу 48.

А зачем?
Действительно, должны быть веские причины для того, чтобы учить что-то новое, тем бо-
лее что сама библиотека Qt — это мощный инструмент, и с ее помощью можно реализовать
практически все. Давайте проясним причины, которые могут вызвать ваш интерес к изуче-
нию этой технологии.
Опыт показывает, что дизайнеры и программисты довольно тяжело понимают друг друга и,
как следствие, стараются избегать общения. Язык QML (Qt Meta-Object Language, мета-
объектный язык Qt) разрабатывался как средство для коммуникации дизайнеров с програм-
мистами. Благодаря QML, дизайнер говорит с разработчиком на одном и том же языке, и им
ничего дополнительного не придется объяснять друг другу, они могут просто модифициро-
вать исходный код. А это дает возможность быстро создавать прототипы (Rapid Prototyping)
программных продуктов. Являясь связывающим звеном для их коммуникации, QML позво-
ляет работать разработчикам программного обеспечения вместе с дизайнерами. Это очень
важно, т. к. дизайнеру обычно требуется много времени, чтобы изготовить нужные картин-
ки и передать их для выполнения прототипа. И важно не забывать и учитывать еще то об-
стоятельство, что дизайнер будет создавать прототип без ограничений, используя свои соб-
ственные средства редактирования. Но в C++ есть свои ограничения, и у вас, наверняка,
возникнут проблемы, и отнимут уйму времени попытки перфекционизма
1, при которых вы
будете изо всех сил стараться приблизить свое творение к предоставленному вам прототи-
пу. Даже если вам дали прототип не в картинках и описании, а в формате Adobe Flash, все
равно нет автоматических средств для переработки кода Adobe Flash в C++.
Увы, но это горькая правда типичного цикла разработки пользовательского интерфейса.
А если дизайнер предоставит прототип на языке QML, то все сразу будет выглядеть иначе,
потому что созданный прототип уже является стартовой версией для готового приложения,
на базе которого разработчики могут работать дальше. Сам же прототип, а значит и прило-
жение, сразу же будет тестироваться в настоящих эксплуатационных условиях, и у дизай-
нера будут те же ограничения, что и у разработчиков, и вам не придется больше заниматься
подгонкой.
Следующий аргумент в пользу Qt Quick это то, что натуральная, окружающая нас природа
намного разнообразнее и сложнее, и она не работает по принципу обычных виджетов Qt,
когда виджет мгновенно появился на месте. Это выглядит неправдоподобно и неестествен-
но. Нужно, чтобы интерфейс вел себя иначе, используя поведения присущие в реальном
мире, и тем самым как можно больше приближался к интуитивному восприятию человека.
А это значит, что необходимо немного анимации, которая на Qt может стоить большого
количества программного кода (некоторые примеры использования в Qt
-анимации вы мо-
жете найти в главе 22).
То, что технология Qt Quick является интерпретируемой, дает еще одно преимущество —
отсутствует промежуточный процесс компиляции. Компиляция отнимает у разработчика
время, т. к. разработчик вынужден ждать, когда полностью будет откомпилирован и ском-
понован исполняемый модуль. Отсутствие компиляции позволяет вам быстро изменять
программу, и сразу же запускать ее, и тут же смотреть на сделанные вами изменения в дей-
ствии.
8Observer8 вне форума Ответить с цитированием
Старый 10.04.2014, 16:35   #29
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,323
По умолчанию

продолжение
Цитата:
То есть каждый разработанный элемент сразу же будет доступен к использованию.
Еще один положительный аргумент, который касается проектов, код которых пишется на
"чистом" языке QML с JavaScript, но без использования C++, либо с C++, но без изменения
исходного кода, поскольку двоичный платформозависимый код не должен изменяться. Де-
ло в том, что для законченных программных продуктов требуется специальная инсталляци-
онная программа, которая позволит устанавливать их на компьютер пользователя. Если
учесть, что компьютеры работают под управлением разных операционных систем, то задача
еще больше усложняется, т. к. нужно создавать разные инсталляционные пакеты для этих
платформ. Например, если вы захотите распространять вашу программу для 3-х настольных
операционных систем: Windows, Mac OS X и Linux, то вам потребуется не только откомпи-
лировать вашу программу на все эти платформы, но еще позаботиться о том, чтобы эта про-
грамма могла устанавливаться на эти платформы при помощи специальных программ ин-
сталляции. Следует заметить, что в Web-разработках таких проблем нет, поэтому Qt Quick
использует парадигму Web -подхода: ее пакеты содержат при себе все необходимое, поэто-
му инсталляция совсем не обязательна, более того, выполнение самой программы возможно
даже посредством компьютерной сети или Интернета. Единственным условием является то,
чтобы на исполняемой стороне было бы установлено приложение, способное интерпрети-
ровать эти Qt Quck-программы. Такой программой может быть, например программа
qmlviewer, которая входит в комплект поставки Qt, начиная с версии 4.7.
Еще один аргумент — это мобильные устройства. Известно, что они обладают ограничен-
ными ресурсами, и у вас в распоряжении нет мощного центрального процессора, память
ограничена и экран обладает низким разрешением. Одна из целей, которая преследовалась
при создании Qt Quick, была возможность работы именно в этих условиях.
И наконец, Qt Quick предоставляет легковесные, легко изменяемые и расширяемые элемен-
ты, как со стороны самого Qt Quick, так и со стороны C++.
Мне удалось разбудить ваш интерес, дорогой читатель? Тогда читайте дальше!

Последний раз редактировалось 8Observer8; 10.04.2014 в 16:37.
8Observer8 вне форума Ответить с цитированием
Старый 10.04.2014, 18:15   #30
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Сообщение от 8Observer8 Посмотреть сообщение
Из книги "Совершенный код" С. Макконнелл. По-моему, это выглядит более читабельно.
насколько я помню, он приводил пример сложных условий, когда много вложенных скобок. это не значит, что везде нужно пихать эти пустые пробелы. как по мне - просто режет глаза. есть классический стиль - k&r, на нем основаны qt style, google code style, java style, и нигде нет этих обрамляющих пробелова. попробуй найти хоть один серьезный проект с таким стилем.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 10.04.2014 в 18:18.
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Qt среда разработки Voxa7 Помощь студентам 6 16.05.2011 20:05
среда разработки. русланислам Софт 2 01.05.2011 21:34
среда разработки. Joslen_bomon Общие вопросы C/C++ 4 26.05.2010 16:09
Среда разработки Golovastik Общие вопросы по Java, Java SE, Kotlin 1 02.03.2010 23:36
среда разработки на С++ AIst Общие вопросы C/C++ 2 20.01.2009 15:44