1

Тема: Изучение C++ с QtCreator

Решил взяться за изучение C++. Си решил пропустить, поскольку с программированием знаком (я веб-программист), в ООП не ас, но и не полный ноль. Конечная цель — научиться программировать под Linux. В частности, под Maemo. Так вот, возник вопрос. Подойдет ли QtCreator для изучения чистого С++ или лучше начать с другой среды, не заточенной под конкретный фреймворк? Ведь мне так или иначе скорее всего предстоит столкнуться с QtCreator и хотелось бы знать, имеет ли смысл работать с ним изначально, привыкать к интерфейсу и так далее?

Nokia N-Gage QD + 1Gb, Nokia N95 8Gb, Sony PSP Slim&Lite + 8Gb, Nintendo DSi + 2Gb, Apple iPod Touch 2G 8Gb, Nokia N900.

Сайт eXaM

Поделиться

2

Re: Изучение C++ с QtCreator

eXaM, я думаю вполне - тут скорее правильнее было бы поставить вопрос не о QtCreator, а о Qt вообще. В самом QtCreator'е можно писать код на чем угодно и с каким угодно набором библиотек, но, разумеется, лучше всего он приспособлен к работе с Qt, и к Maemo в том числе.

Не могу конкретно ручаться за сам процесс осваивания - конечно, чем больше разных навыков и опыта, тем лучше - но, честно, при использовании Qt стандартные C++ библиотеки вроде STL и boost оказываются просто не нужны (ну, не считая некоторых очень узкоспециализированных разделов boost). Для огромного класса задач (особенно для написания прикладных программ) Qt покрывает практически весь необходимый функционал, и выигрывает у того же STL во всем. Поэтому - лично мое мнения - для прикладного программирования(всмысле если не трогать сугубо системные вещи и уровень ядра), можно нацеливаться чисто на Qt, тем более если планируете писать для Maemo.

eXaM, и ещё - на Harmattan (который будет на N9) и, похоже, на Meego вообще главный акцент сейчас сделан на QML - это javascript-подобный язык, в котором упор сделан на пользовательский интерфейс. Он умеет подгружать qt-шные C++ классы при необходимости. Я ещё сам сильно с ним не разбирался, но по всей видимости стоит, раз акцент делают на него, ну и как веб-разработчику, возможно будет даже проще войти.

---
Быть мрачным и непонятным очень просто. Охрененно трудно быть добрым и ясным. (с) Стивен Содеберг.

3

Re: Изучение C++ с QtCreator

Почитал про QML. Я правильно понимаю, что этот язык — замена классам Qt, использующимся для построения GUI?
Я, правда, не понял, при чем здесь JavaScript. На хабре верно подметили, что синтаксис напоминает json, но последний является альтернативой XML, его человек вообще редко пишет, программист чаще занимается тем, что пишет алгоритм составления json/xml-документа. Ну да ладно, с этим мне еще рано разбираться, пожалуй. Я пока что даже не знаю, как вообще создаются интерфейсы, мне бы для начала азы с консолькой освоить. Читаю сейчас Бьярна Страуструпа и в первой же программе (30 строк буквально) 3 исправления, мда.

Nokia N-Gage QD + 1Gb, Nokia N95 8Gb, Sony PSP Slim&Lite + 8Gb, Nintendo DSi + 2Gb, Apple iPod Touch 2G 8Gb, Nokia N900.

Сайт eXaM

Поделиться

4

Re: Изучение C++ с QtCreator

eXaM пишет:

Я, правда, не понял, при чем здесь JavaScript.

Думаю, что имеется ввиду возможность обойтись без C++. Т.е. интерфейс программы описывается на QML, а логика работы - на JavaScript.

5 (19.07.2011 16:50:42 отредактировано eXaM)

Re: Изучение C++ с QtCreator

Логика работы на JavaScript — это же безумие! Язык скриптовый, там ООП толком не поддерживается... Как он может существовать без HTML и DOM, я не представляю вообще.
А книжка Стратуструпа, кстати, жесть полная. Как будто взяли массив, элементы которого — статьи о С++, сделали ему shuffle() и получилась книга. Начинает автор с парадигм программирования, приводя непонятные примеры, а потом внезапно начинает рассказывать, что знак равно — оператор присваивания, после чего бац! — и вновь нечто сложное и непонятное. Это серьезно одна из главных книг по языку? Я читаю и не могу представить, как по ней можно что-то понять... До этого изучал по книгам и статьям JavaScript и PHP, такой проблемы и в помине не было... Мало того, что Бьярн отвратительно объясняет, так еще почти в каждом примере ошибки, плюс переводчики отчего-то вдруг стали называть классы типами.

Nokia N-Gage QD + 1Gb, Nokia N95 8Gb, Sony PSP Slim&Lite + 8Gb, Nintendo DSi + 2Gb, Apple iPod Touch 2G 8Gb, Nokia N900.

Сайт eXaM

Поделиться

6

Re: Изучение C++ с QtCreator

eXaM, вот есть вроде неплохой вводный тексти по QML: http://developer.qt.nokia.com/wiki/Gett … QMLRussian
Javascript-а там как такового нет, скорее подразумевается соответствие синтаксису ECMAScript - ну и Javscript как ближайший пример.

eXaM пишет:

Я пока что даже не знаю, как вообще создаются интерфейсы, мне бы для начала азы с консолькой освоить. Читаю сейчас Бьярна Страуструпа и в первой же программе (30 строк буквально) 3 исправления, мда.

Интерфейсы в Qt можно (и рекомендуется в большинстве случаев) делать мышкой в визуальном встроенном редакторе :-))))
А насчет С++, мне кажется, тут самое сложное не освоение конкретно семантики и синтаксиса языка - это довольно просто, сколько формирование обьектно-ориентированного мышления, умения разделять проблему на сущности и уже на основе этого писать код.

---
Быть мрачным и непонятным очень просто. Охрененно трудно быть добрым и ясным. (с) Стивен Содеберг.

7 (19.07.2011 17:15:35 отредактировано eXaM)

Re: Изучение C++ с QtCreator

divan, полностью согласен. Однако не все же сразу. Тем более, что С++ оказался дальше от PHP, чем я думал. Сейчас скачал пару других книг, может, не разочаруют, как первая.
А QML и правда местами смахивает на JS, спасибо за ссылку.

Nokia N-Gage QD + 1Gb, Nokia N95 8Gb, Sony PSP Slim&Lite + 8Gb, Nintendo DSi + 2Gb, Apple iPod Touch 2G 8Gb, Nokia N900.

Сайт eXaM

Поделиться