Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Программирование C++  (Прочитано 2727 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн donhosse

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
  • дуб дубом
    • Просмотр профиля
Программирование C++
« : 08 Июня 2013, 00:46:17 »
Прошу прощения если такая тема уже существует.
Меня интересует как начать программировать С++ на Ubuntu. Если можно как то поподробнее описать весь процес начиная от компиляции и заканчивая полезной литературой которая может помочь в изучении.
P.s. особый вопрос о компиляции и выполнении

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
Re: Программирование C++
« Ответ #1 : 08 Июня 2013, 00:48:39 »
Извините, я все еще учусь

SlimmeJongen

  • Гость
Re: Программирование C++
« Ответ #2 : 08 Июня 2013, 00:50:08 »
http://ubuntovod.ru/ubuntu-news/ubuntu-sdk-alpha.html - написано почему именно Qt
http://qt-project.org/downloads - сам продукт                                           
http://cppnewb.ru/ -очень последовательно изложенные уроки по С++ в среде Qt
https://forum.ubuntu.ru/index.php?topic=184788.0 - методологические различия программирования для Linux
https://www.youtube.com/watch?v=n9K87FwKUZw - семинар для разработчиков  в среде Qt
Поэтому так кратко и в таком порядке.

Не стоит выдавать ссылки на варез!
Чистый
« Последнее редактирование: 10 Июня 2013, 12:08:10 от Чистый »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Программирование C++
« Ответ #3 : 10 Июня 2013, 09:54:24 »
Прошу прощения если такая тема уже существует.
Меня интересует как начать программировать С++ на Ubuntu. Если можно как то поподробнее описать весь процес начиная от компиляции и заканчивая полезной литературой которая может помочь в изучении.
P.s. особый вопрос о компиляции и выполнении
1) учи язык
2) учи API целевой системы
3) начинай

Где загвоздка?

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Программирование C++
« Ответ #4 : 10 Июня 2013, 19:19:01 »
http://ubuntovod.ru/ubuntu-news/ubuntu-sdk-alpha.html - написано почему именно Qt
http://qt-project.org/downloads - сам продукт                                           
http://cppnewb.ru/ -очень последовательно изложенные уроки по С++ в среде Qt
https://forum.ubuntu.ru/index.php?topic=184788.0 - методологические различия программирования для Linux
https://www.youtube.com/watch?v=n9K87FwKUZw - семинар для разработчиков  в среде Qt
Поэтому так кратко и в таком порядке.

Не стоит выдавать ссылки на варез!
Чистый

Что же вы вводите в заблуждение начинающих программистов? Qt далеко не лучшая среда для программирования на С++. Очень громоздкая, неповоротливая и с уродливыми наростом на теле в виде MOC. Рекомендую изучать wxWidgets или Gtkmm.
Xubuntu 12.04 LTS с Xfce 4.10

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля
Re: Программирование C++
« Ответ #5 : 10 Июня 2013, 19:50:41 »
Что же вы вводите в заблуждение начинающих программистов? Qt далеко не лучшая среда для программирования на С++. Очень громоздкая, неповоротливая и с уродливыми наростом на теле в виде MOC. Рекомендую изучать wxWidgets или Gtkmm.
Проблемы с moc есть только у тех, кто отказывается от QtCreator и qmake, и шпиляет на каких-нибудь вимах и мейкфайлах. По пиковой скорости Qt без проблем уделает хоть wxWidgets, хоть Gtkmm.

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Программирование C++
« Ответ #6 : 10 Июня 2013, 22:06:52 »
По пиковой скорости Qt без проблем уделает хоть wxWidgets, хоть Gtkmm.

Даже лень дискутировать на эту тему. Что такое "пиковая скорость" я не знаю, но исполняемые файлы созданные в среде Qt и запускаются и работают медленнее, чем Gtk-шные, тут даже спорить не о чем, это факт который невозможно опровергнуть.
Xubuntu 12.04 LTS с Xfce 4.10

Оффлайн Кровавый

  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Re: Программирование C++
« Ответ #7 : 10 Июня 2013, 22:32:39 »
Даже лень дискутировать на эту тему. Что такое "пиковая скорость" я не знаю, но исполняемые файлы созданные в среде Qt и запускаются и работают медленнее, чем Gtk-шные, тут даже спорить не о чем, это факт который невозможно опровергнуть.


GTK и wxWidgets никак не запустятся нигде, кроме Linux. (*без дополнительного геморроя). Это их недостаток. ;)


К тому же, Qt - это фреймворк, а не набор виджетов. Его стоит учить как средство, ускоряющее разработку ПО, а не как язык (или подход, да неважно, как это назвать!)

Пользователь решил продолжить мысль 10 Июня 2013, 22:38:25:
Прошу прощения если такая тема уже существует.
Меня интересует как начать программировать С++ на Ubuntu. Если можно как то поподробнее описать весь процес начиная от компиляции и заканчивая полезной литературой которая может помочь в изучении.
P.s. особый вопрос о компиляции и выполнении


sudo apt-get install geany g++

Открываете Geany. Создаете новый файл.
Пишите туда:


Код: (cpp) [Выделить]
#include <iostream>
using namespace std;
int main() {
cout << "Hello, world!" << endl;
return 0;
}


Сохраняете с расширением ".cpp". Жмете F9. Если ошибок компиляции нет, то нажимаете F5 и видите результат в открывшемся окне терминала. :)
« Последнее редактирование: 10 Июня 2013, 22:38:25 от Кровавый »
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: Программирование C++
« Ответ #8 : 10 Июня 2013, 23:02:27 »
Что же вы вводите в заблуждение начинающих программистов? Qt далеко не лучшая среда для программирования на С++. Очень громоздкая, неповоротливая и с уродливыми наростом на теле в виде MOC. Рекомендую изучать wxWidgets или Gtkmm.
Ничего плохого в Qt то же нет! Пусть юзают и то и другое и делают выбор! Qt это не только кнопочки и рюшечки, это очень мощный фрамеворк и с этим сложно поспорить.... Хотя сочетание С++ + boost + STL просто бомба но это другой уровень...
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Программирование C++
« Ответ #9 : 10 Июня 2013, 23:27:59 »
Кровавый, GTK3 вообще под windows скорее всего не запустится, т.к. официально не портированна. А wxwidgets и GTK2 заведутся, но  придётся повозиться.
donhosse, с GUI лучше не начинать, сразу запутаетесь...
У Qt, GTK и WxWidgets кроме всего прочего, есть лицензии, думаю именно из-за них так мало закрытого софта под Linux. Qt имеет тройное лицензирование (GPL, LGPL и Commercial). Так вот Commercial позволяет закрыть свой код, но стоит дорого. Без серьёзных намерений её не купить  (цена по слухам свыше 100 000 российских рублей). GPL не позволяет закрыть код, так как необходимо отдать заказщику программ у с исходниками и он может делеть с ней всё, что ему угодно, LGPL принуждает тебя динамически линковать код или выкладывать объектники, это как тебе нравится. GTK имеет LGPL личензию, а WxWidgets имеет wxWidgets Licence
, которая, вроде, позволяет закрывать исходники, точно не скажу, не требуя отчислений авторам. У GTK заточка под чистый C, для C++ существует обёртка gtkmm, код в ней несколько идеализирован, но не очень проработаны некоторые места, если писать простые прораммы, то скорее всего они тебе не встретятся. Qt создаёт почти что своё наречие C++, Wxwidgets несколько отличается от этих библиотек. Раньше было очень туго с документацией, сейчас после перехода на Doxygen стало полегче и библиотека стала приобретать более хорошие тенденции к развитию. В версии 2.9 заметны некоторые улучшения в её структуре.

Пользователь решил продолжить мысль 10 Июня 2013, 23:42:25:
PS.
В QtCreator написанном на 5 версии Qt вырвиглазные шрифты. (Ubuntu 13.04). На эту тему даже баг есть, но до сих пор не исправили. В четвёртой версии Qt все нормально. В Unity шрифты ещё терпимые, а в XFCE глаза мои вытекают от Qt5 программ. Остальные шрифты в XFCE выглядят отлично.
« Последнее редактирование: 10 Июня 2013, 23:42:25 от peregrine »

Оффлайн Gekko

  • Участник
  • *
  • Сообщений: 222
    • Просмотр профиля
Re: Программирование C++
« Ответ #10 : 10 Июня 2013, 23:43:25 »
GTK и wxWidgets никак не запустятся нигде, кроме Linux. (*без дополнительного геморроя). Это их недостаток. ;)

Их недостаток заключается не в этом, а в том, что об их недостатках рассуждают те, кто в этом мало разбирается.

Про то, что "GTK и wxWidgets никак не запустятся нигде, кроме Linux."  комментировать не буду. Это все равно, что доказывать преимущества Linux пользователю Windows.

Xubuntu 12.04 LTS с Xfce 4.10

Оффлайн Кровавый

  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Re: Программирование C++
« Ответ #11 : 10 Июня 2013, 23:53:12 »
Их недостаток заключается не в этом, а в том, что об их недостатках рассуждают те, кто в этом мало разбирается.

Про то, что "GTK и wxWidgets никак не запустятся нигде, кроме Linux."  комментировать не буду. Это все равно, что доказывать преимущества Linux пользователю Windows.


Да, я не программирую ни с GTK, ни с wxWidgets! Но я еще не встретил ни одного приложения, использующего wxWidgets в Windows. С GTK# видел. Рядом, обычно, пишется бирка:
Цитировать
Пользователи Windows! Идите лесом! Программируйте в Windows Forms!


Это, как бы, намекает... :)


UPD: А вот интересно, с использованием чего написан современный GIMP 2.х для Windows... Он ведь, как бы, родоначальник GTK... Или я ошибаюсь?


PS, *BSD  - это отдельный разговор. :)
PSS, забыл указать, что речь веду о GTK2 (и о его производных: GTK, GTK+, GTK#),а то подумаете, что я совсем уж дилетант.  ;D
« Последнее редактирование: 11 Июня 2013, 00:05:27 от Кровавый »
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: Программирование C++
« Ответ #12 : 10 Июня 2013, 23:54:54 »
Gtk нормально работает на винде, тот же Deluge работает, все нормально у Gtk с виндой, это не Gtk плохо или Qt это программисты безрукие...
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн Кровавый

  • Старожил
  • *
  • Сообщений: 1626
  • Логика творит чудеса!
    • Просмотр профиля
Re: Программирование C++
« Ответ #13 : 11 Июня 2013, 00:19:09 »

http://www.wxwidgets.org/
Цитировать
wxWidgets is a C++ library that lets developers create applications for Windows, OS X, Linux and UNIX on 32-bit and 64-bit architectures as well as several mobile platforms including Windows Mobile, iPhone SDK and embedded GTK+.


Приношу свои извинения. Был не прав. wxWidgets может быть использован в на других платформах. :)
Железо: AMD FX8350 4.2Ghz + 2x4Gb Kingston HeyperX + Asus M5A97 R2.0 + HDD WD WZ10EZEX 1TB 7200 rpm + SSD 128 GB + Win 10 x64.

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля
Re: Программирование C++
« Ответ #14 : 11 Июня 2013, 01:48:33 »
Их недостаток заключается не в этом, а в том, что об их недостатках рассуждают те, кто в этом мало разбирается.
Ну так с Qt то же самое, вы не разбираетесь и говорите про moc, который якобы кому-то там мешает, про медленное время запуска, которое не подтверждается нигде кроме калькулятора с запущенным GNOME (т.е библиотеки GTK уже загружены в память).

 

Страница сгенерирована за 0.068 секунд. Запросов: 25.