LINUX.ORG.RU

IDE для GTK 3. ЯП C/C++/C#

 , ,


0

2

Следующая проблема: хочу научиться программировать в Linux (у самого стоит Debian, так что кодить в виртуалке не особо хочется).Встала вопрос: какую IDE лучше выбрать?
Однозначно GTK 3. Сам смотрю в сторону Anjuta + Glade. Emacs не предлагать!
И еще вопрос, как осуществить поддержку С++? Скорее всего прийдется возиться с классами.
Также прошу ссылки на подходящую литературу. Желательно на русском. Если у кого есть элементарные программы, прошу скинуть для примера.

Раньше программиравал в Delphi, разумеется под винду (ну что поделать... сегодня в универах тока винде и учат). Так что в программировании в Linux я чайник(

★★★

Последнее исправление: Ignatov (всего исправлений: 1)

Скорее всего прийдется возиться с классами.

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

lazyklimm ★★★★★
()

А причём тут GTK3?

anonymous
()

а не спец в GTk 3, но разве она не на С написана?

Anjuta + Glade

раньше была хороша, как сейчас не знаю, сам последние разы юзал эклипс

Boy_from_Jungle ★★★★
()

Однозначно GTK 3.

Лучшая поддержка GTK скорее всего в Anjuta или в MonoDevelop. А вот если хочется по-человечески работать с C++ - то QtCreator и Qt. Для C# - MonoDevelop и Gtk#.

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

Как разные? В этот ряд отлично впишется PHP для полноты картины.

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

GTK 3 потому что у меня весь установленный софт на GTK 2/3. Другие библиотеки тянуть не хочется. Знаю что на си, потому и спрашиваю как осуществит поддержку C++.

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

Знаю что на си

для gtk есть биндинги почти к любому более-менее популярному языку

как осуществит

смотря кто

lazyklimm ★★★★★
()

geany показался удобнее анюты...

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

плиз!!! может кто нить пример кинуть? вроде элементарной формы с баттоном и лэйбелом со сменой текста по нажатию на баттон?!!!

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

geany конечн неплохо;-) сишные консольные проги в ней и писал) вот тока я с дельфина... в рукопашную с гуи не разберусь

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

не знаю111

суть в том, что для си, си++ и до-диеза нужны совершенно разные иде. для си - эмакс или вим, для си++ лучше всего qtcreator, для с# особого выбора нет - монодевелоп. но ты никуда не уедешь, пока не научишься различать эти языки и потом выберешь себе один.

по большому счету, нет иде, кроме emacs и gnu emacs - пророк его.

cdshines ★★★★★
()

IDE для Gtk нет. Ты как бы просто пишешь С/С++ код где угодно. А вот редактор окошек для файлов в формате GtkBuilder - это Glade без вариантов.

С C# особая ситуция, там MonoDevelop поддерживает все вместе, вообщем как Delphi

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

Берёте QtCreator, там примеры из коробки, открываются прямо со страницы приветствия.

«Другие библиотеки тянуть не хочется» - это, конечно, эпичная отговорка. То есть вы конечно можете сами себе жизнь портить, но с появлением QtCreator и приходом Qt4 учиться на Qt стало в разы удобнее, чем на gtk. Разумеется, десктопный софт пока не успел на это отреагировать - он же разрабатывается иногда десятки лет.

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

c# вообще в принципе не особо мной и рассматривается) больше нравится с++) но с qt связываться желания никакого

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

плиз!!! может кто нить пример кинуть? вроде элементарной формы с баттоном и лэйбелом со сменой текста по нажатию на баттон?!!!

from gi.repository import Gtk

def btn_on_clicked(btn):
    btn.set_label('Good')

win = Gtk.Window(title='Boo')
win.connect("delete-event", Gtk.main_quit)

btn = Gtk.Button(label='Click me')
btn.connect("clicked", btn_on_clicked) 
win.add(btn)

win.show_all()
Gtk.main()
baverman ★★★
()
Последнее исправление: baverman (всего исправлений: 1)

Я боюсь тебе это предлагать, но раз на Delphi писал, ничего удобнее Lazarus для тебя не будет. Там правда снова паскаль...

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

Видимо гениальные юниксвейные программисты дальше первого (хронологически первого) правила не глядят. Разработчик пайпов просто пропиарил их, а тут спустя 30 лет только о них и вспоминают.

Между тем в современном мире есть сотни причин предпочитать библиотеки пайпам.

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

Кто-то еще руками все это проделывает? Программисты должны не гуй рисовать и выдумывать, а программы писать. MVC + редакторы построения GUI, понятные «верстальщикам».

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

А что с ним нет так? Ну да, паскаль. Но ведь хорошая штука для клипания гуя. Или ты решил отойти от этой практики и стать хорошим программистом?

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

Кто-то еще руками все это проделывает?

П-ф-ф. Простые вещи должны делаться просто. Для сложных форм естественно используется дизайнер интерфейсов.

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

Какой-то костыль с боку С++. Свой компилятор, хреновая интеграция с языком, стандартной библиотекой(ибо свои Q-велосипеды), не С++ная идеология в целом. Т.е. я не против, когда Qt используется лишь для GUI, а сам код и знать о его существовании не знает. Но обычно ведь на нем херачат все приложение и оно с ног до головы в этих Q_OBJECT'ах. В общем С++Qt это почти отдельный язык...

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

когда жмут сроки, конечн паскаль и выручает!!! так как он мне более знаком))) но по программе дальше си и его производные

Ignatov ★★★
() автор топика

Однозначно GTK 3

очень зря, он пока еще не торт. если GTK - то лучше от трешки воздерживаться, или поддерживать обе версии, иначе множество юзеров не захочет даже смотреть (понятно, что есть множество тех кому похрену, но они и помогать/багтестить не будут, а это немаловажно).

как осуществить поддержку С++?

вообще есть gtkmm, но лучше не брать gtk при таких вводных. есть Qt же.

Если у кого есть элементарные программы, прошу скинуть для примера.

примеров полно в документации. от helloworld до собственных виджетов. есть ли русские переводы документации — без понятия. проще выучить англ. все равно в этой профессии без него никуда не деться.

Раньше программиравал в Delphi

так есть же всякие freepascal/lazarus. те кто пользуются — нахваливают всячески, и вроде как там все стабильнее и надежнее, чем с libstdc++. мож лучше их?

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

Ну да, Qt - это фреймворк, с фреймворками всегда так. То, что ты предлагаешь - это как писать хомяки на рельсах, но использовать от рельсов только, например, шаблонизатор. Мякотка-то как раз в том и состоит, что когда ты пишешь с использованием кьют, то получаются целостные приложения, в которых все (большинство) завязано на одном только кьют, а не надергано из 100500 разных (часто самописных костылей) левых библиотек.

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

на юзеров пофиг! они этого не увидят!!! проги чисто по учебе! сдал и забыл))) т.к. я еще студент! по поводу английского полностью согласен, знал бы его этой темы здесь скорее всего и не было

Ignatov ★★★
() автор топика

с++ в линуксе особо ненужен (можно конечно )

просто с и библиотеки

ты может и не поймёш но начти с простого редактора ( тот же gedit/kedit) или vim или ed или vi

код затем make имя_безрасширения

для начала.

поначалу старайся обходится без отладчика ( как правило gdb)

т.е пиши простейшии программы для уяснения нюансов.

так же полезно для своих хеловорд програм поместит в маэйкфайл (или консолью)

hw: gcc -g -c hw.c objdump -d -M intel -S hw.o

эт что бы увидет что за машкоды и асм получается - помогает понять

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

Так baverman все правильно сказал - если логика вместе с формочкой вмщается в ~1к строк, нет смысла там особо разделять.

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

на юзеров пофиг! они этого не увидят!!! проги чисто по учебе! сдал и забыл))) т.к. я еще студент! по поводу английского полностью согласен, знал бы его этой темы здесь скорее всего и не было

ну тогда вообще непонятно зачем морочить себе голову. QtCreator в зубы, и вперед. или какой-нибудь fltk, или wxwidgets. там тоже C++. а в gtk C без ++, и gtkmm это обертка, которая все только усложняет imho.

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

Между тем в современном мире есть сотни причин предпочитать библиотеки пайпам.

Для современного мира, есть современная Windows 8.

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

Я уже убедился, что у вас плохой вкус. Проходите.

По теме: сдал и забыл - это к Qt. waker всё верно говорит, в C++ GTK пригоден как надёжный API, но не как фреймворк для быстрой разработки.

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

Так MVC же. GUI вообще не связан с логикой приложения должен быть. «Целостность» тут - зло. Знаешь, какие круглые глаза делали мои знакомые, когда я за один день перевел большой проект с Qt на GTK+? Как ты думаешь, почему мне это удалось?

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

Не вводите людей в заблуждение. C++ нужен в линуксах. Вся среда Qt -> KDE как минимум. И вообще приложений очень много пишут.

Я бы сказал, что это чистый си уже никому не нужен, но это было бы неправдой. Хотя я и не понимаю, зачем его используют, когда есть плюсы.

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

Как правило, «большой проект» и «1000 строк кода» - понятия из разных областей (если это не код на APL, конечно:)). Питоном кто пользуется часто - всякие научные сотрудники, аспиранты етс. - из-за нампи, гнуплота и т.д. Они выносят всякие вычисления отдельно, а все остальное зачастую в куче - и ничего плохого в этом нет. Проекты некрупные, логика вся в вычислениях, если слегка смешать формочки и остальное - беды не будет. Конечно, спорить про то, что разделение, и вообще, повышение абстрактности, - во благо, я не буду:)

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