LINUX.ORG.RU
решено ФорумTalks

[програмирование][учить]C++ + Qt.


0

0

Есть желание и появилось время заняться самообразованием.
Соответственно, выбрал такое вот сочетание для изучения.

Вопрос - как к этому лучше всего подступиться?
Кое что в программировании в принципе я понимаю (понятия функции, цикла и тому подобного, необходимости понятного кода ну и т.п.). Однако знаний ни в C ни в C++ нет никаких.
Начать с C++ в целом, а потом, после того, как разберусь как оно вообще работает, смотреть уже документацию/книги по Qt?

Или как?

Посоветуйте.

P.S. выбрать другой язык не советуйте - что изучать для себя я уже решил, теперь надо понять как это изучать.

Qt только после изучения c++. Начинать с Кьюта нельзя, если хочешь хорошо программировать. Лучше stl.

panter_dsd ★★★★
()

Я начинал по книжке по Qt, там примеры были, читал, сразу писал их. Но я к тому времени с++ знал уже. Тебе можно сразу попробовать куте, а лучше для начала все-таки поучить цпп, а уже потом кутэ.

Zhbert ★★★★★
()

> Начать с C++ в целом, а потом, после того, как разберусь как оно вообще работает, смотреть уже документацию/книги по Qt?

Да, именно. Выучи сначала С++. Qt потом очень легко освоится. К тому же она дублирует многие вещи в С++ и STL.

Сам С++ не такой уж и тривиальный язык. Много подводных камней. Так что осиль сначала его.

hibou ★★★★★
()

Тогда до кучи:


Что почитать по плюсам, наиболее адекватное?
Учитывая минимальный опыт в программировании.

CyberTribe ★★
() автор топика
Ответ на: комментарий от CyberTribe

>Что почитать по плюсам, наиболее адекватное?

Я бы посоветовал Шилдта.

Zhbert ★★★★★
()
Ответ на: комментарий от CyberTribe

>джаббер в профиле рабочий?

Рабочий, ага.

Ну я какбы предупреждаю... :)


Ну тогда ладно =)

Zhbert ★★★★★
()

Начать с C++ в целом, а потом, после того, как разберусь как оно вообще работает, смотреть уже документацию/книги по Qt?

только так, иначе понимания не будет, ибо Qt нивелирует часть плюшек С++ и может сложиться ложное ощущение уверенности

ЗЫ рекомендую книгу «С++ для профессионалов», гуглабельна

shty ★★★★★
()
Ответ на: комментарий от SV0L0CH

> FreePascal с кошерным GTK!

А плюсы не нужны.


fixed во имя Лазаруса :-)

Cancellor ★★★★☆
()

Повторяю есчё раз: не нужны тебе плюсы!

не слушай его. Читай по плюсам книжку под названием «C++ без [c]траха». Мне выдра посоветовал и по этой книге быстро выучил.

ShTH
()

Осмелюсь спросить, а Вам знание с+++qt нужно чисто для себя или в коммерческих целях?

slyjoeh ★★★
()
Ответ на: комментарий от SV0L0CH

>Повторяю есчё раз: не нужны тебе плюсы!

А что нужно в Замкадье?

derrix
()

Есть мнение, что стоит начать с изучения «классического С» (только не диалект С99), а потом уже кресты, постепенно вбрасывая в изучение их костыльную реализацию ООП. После чего приступить к изуччению КюТ.

x0r ★★★★★
()
Ответ на: комментарий от lester

> учи сначала С, потом С++,

зачем человеку советуете плохое? совершенно разные 2 концепции. начнёт с изучения С, так и застрянет в таком подходе к программированию. ++, только ++

gunja
()
Ответ на: комментарий от gunja

> зачем человеку советуете плохое? совершенно разные 2 концепции. начнёт с изучения С, так и застрянет в таком подходе к программированию. ++, только ++

бред - С по сути подмножество С++, а отвлеченность от stl и т.д. даст возможность более ясно представлять, что на самом деле происходит

lester ★★★★
()

я начинал с Дж. Либерти «С++ за 21 день», очень полезная книжка

annulen ★★★★★
()
Ответ на: комментарий от lester

>С по сути подмножество С++

не совсем - в плюсах убраны некоторые способы выстрелить в ногу (хотя добавлено множество новых))

отвлеченность от stl

уже давно никого не инетересует. А при устройстве на работу во многих местах еще и Boost нужно знать

annulen ★★★★★
()

Я бы порекомендовал Лого, Лисп, Хаскель, Форт, Питон и Си,
плюсы потом за два вечера по справочнику освоишь.

Sphinx ★★☆☆
()

Выучи хорошо С++, попрограмЪ,а через годок сядешь за кутю :)

Boy_from_Jungle ★★★★
()

Тоже решил этим заняться. Пока забросил. Из книг Шилдт (мне очень нравится его метод изложения), и вышеупомянутый Либерти.

ramon13666 ★★★
()

придумать для себя задачу(или две, или три) и решить её на сабжевом наборе. Например - записная книжка, тетрис, интерфейс к базе - что угодно, но более/менее реальное и для самого себя нужное и интересное.

з.ы. без конкретной задачи любой язык программирования - сферический конь

MKuznetsov ★★★★★
()
Ответ на: комментарий от lester

>>бред - С по сути подмножество С++, а отвлеченность от stl и т.д. даст возможность более ясно представлять, что на самом деле происходит

некоторых вещей, которые есть в C99, в C++ нет. Например VLA.

alex_custov ★★★★★
()
Ответ на: комментарий от SV0L0CH

>>любая валидная программа на C является валидной программой на C++

Нет

yoghurt ★★★★★
()

Тут два подхода. Академический - начать с основ, медленно продвигаться ко всё более сложным конструкциям, выполняя упражнения. В этом случае Qt будет самым последним, что вы изучите, по сути это просто библиотека, добавляющая немного кодогенерации. Это хороший, солидный подход, но он долгий и, на мой взгляд, тяжело будет сохранять желание изучить язык. Второй - хватать по вершкам, сразу начать что-нибудь писать, с потугой на полезность и практичность, будет огромное количество непонятных вещей, «магии», но, наверное, гораздо проще сохранять желание к изучению языка, т.к. сразу будет получаться что то интересное.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

В школе я начала со второго способы. Было сложно и не понятно. Получилось криво и жутко. Но как-то работало (это был MFC + C++)

Потом, в 11 классе я начала идти первым путем. Главное не затягивать второй путь

namezys ★★★★
()
Ответ на: комментарий от legolegs

gcc не все

а так. хотя бы различие в использование const в глобальных переменых

namezys ★★★★
()
Ответ на: комментарий от alex_custov

> некоторых вещей, которые есть в C99, в C++ нет.

я ж не спорю - 100%-й совместимости нет, это очевидно всем кто хоть немного знает оба языка, но таки в основе С++ тот самый С, с относительно небольшим набором различий

lester ★★★★
()
Ответ на: комментарий от legolegs

> Но программируется на них очень по-разному.

одинаково, С++ - это не функциональный язык, не ООП( в полной мере ), это С с «сахарком» в виде классов, шаблонов и т.д., и по сути это остается все тот же ассемблер, который нужен для высокого быстродействия, а тем кому нужно программировать «по-разному» - вместо того, чтоб сразу подключать буст и писать километровые шаблоны и велосипеды - должны просто выбрать другой язык( по примеру Александреску, например )

lester ★★★★
()
Ответ на: комментарий от shty

> o_O вот это новости... я что-то пропустил???

Это лично обо мне? У меня в руках учебник по MFC появился раньше, чем по С++

С++ - это не функциональный язык, не ООП( в полной мере ), это С с «сахарком»

А вот не правда. ООП свой. Но тоже полноценный

namezys ★★★★
()
Ответ на: комментарий от lester

>это С с «сахарком» в виде классов, шаблонов и т.д

Этого сахару там на триста страниц в стандарте. То же RAII, более строгая типизация, конструкторы с деструкторами сильно меняют подход, позволяя больше рутинной работы спихнуть на компилятор. Мои программы на c++ на си не переводятся, а если переводятся, то поддержке не подлежат.

legolegs ★★★★★
()
Ответ на: комментарий от Legioner

>А что плохого в бусте и километровых шаблонах?

Ниасиляторы ниасиливают. Причём это реальная проблема, и отдел кадров её решить не в силах, как правило.

legolegs ★★★★★
()
Ответ на: комментарий от lester

Но программируется на них очень по-разному.

одинаково

4.2, вот нифига не одинаково

и вообще, хватит разводить тут компиляторосрач, ТС явно намекал на то что его интересует С++

С++ - это не функциональный язык, не ООП( в полной мере ), это С с «сахарком» в виде классов, шаблонов и т.д.

простите, но то мнение дилетанта

и по сути это остается все тот же ассемблер

по сути остаются машинный код, который умеет хавать процессор

выбрать другой язык( по примеру Александреску, например )

очень Вы умело привели пример толстого фейла

shty ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.