Re[13]: Программирование под линукс
От: Ytz https://github.com/mtrempoltsev
Дата: 28.04.11 07:44
Оценка:
Здравствуйте, Nik_1, Вы писали:

N_>Это специфично для каждого проекта. Если в приложении есть иконки — хранятся в репозитории. Есть разные картинки, звуки и т.п. — тудаже. Набор хранимых в репозитории типов файлов специфичен для разных проектов.


Я спрашиваю про файлы отвечающие за сборку проекта (аналог makefile). Что конкретно храните и как хранимое мержите. Вот представь проект без иконок и ресурсов, только один cpp с функцией main, что нужно положить в репозиторий, чтобы на другом компьютере сбилдить?
Re[14]: Программирование под линукс
От: Nik_1 Россия  
Дата: 28.04.11 07:53
Оценка:
Здравствуйте, Ytz, Вы писали:

Ytz>Здравствуйте, Nik_1, Вы писали:


N_>>Это специфично для каждого проекта. Если в приложении есть иконки — хранятся в репозитории. Есть разные картинки, звуки и т.п. — тудаже. Набор хранимых в репозитории типов файлов специфичен для разных проектов.


Ytz>Я спрашиваю про файлы отвечающие за сборку проекта (аналог makefile). Что конкретно храните и как хранимое мержите. Вот представь проект без иконок и ресурсов, только один cpp с функцией main, что нужно положить в репозиторий, чтобы на другом компьютере сбилдить?

.vcproj
Это обычный текстовый xml файл, если используется нормальная система контроля версий и изменения сделаны только в разных местах — безпроблем мержится.
Re[15]: Программирование под линукс
От: Ytz https://github.com/mtrempoltsev
Дата: 28.04.11 08:18
Оценка:
Здравствуйте, Nik_1, Вы писали:

N_>Здравствуйте, Ytz, Вы писали:


Ytz>>Здравствуйте, Nik_1, Вы писали:


N_>>>Это специфично для каждого проекта. Если в приложении есть иконки — хранятся в репозитории. Есть разные картинки, звуки и т.п. — тудаже. Набор хранимых в репозитории типов файлов специфичен для разных проектов.


Ytz>>Я спрашиваю про файлы отвечающие за сборку проекта (аналог makefile). Что конкретно храните и как хранимое мержите. Вот представь проект без иконок и ресурсов, только один cpp с функцией main, что нужно положить в репозиторий, чтобы на другом компьютере сбилдить?

N_>.vcproj
N_>Это обычный текстовый xml файл, если используется нормальная система контроля версий и изменения сделаны только в разных местах — безпроблем мержится.

Понял. Для простых проектов, должно работать.
Re[3]: Программирование под линукс
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 28.04.11 09:25
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Здравствуйте, Sheridan, Вы писали:


S>>Это у вас в виндах одна ИДЕ. И есть смысл ее проектные файлы выкладывать, ибо без них и не соберешь какбы.


P>Какая одна? Eclipse? NetBeans? Code::Blocks? IDEA? Или я что-то пропустил? QT Creator, наверное?

Есть ещё дедушка SunOne Studio.
Sic luceat lux!
Re[8]: Программирование под линукс
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 28.04.11 14:28
Оценка:
Здравствуйте, Ytz, Вы писали:

Ytz>Здравствуйте, Wissenschaftler, Вы писали:


W>>Здравствуйте, Ytz, Вы писали:


Ytz>>>Здравствуйте, Nik_1, Вы писали:


N_>>>>Хз как в линуксе, а в студии это очень даже легко и удобно делается. И платформу выбираешь из комбобокса( как и вариант сборки).


Ytz>>>А какие из проектных файлов создаваемых студией ты хранишь в репозитории, как организована совместная работа? Ты же ведь не студент одиночка?

W>>Все кроме
W>>Debug\*, Release\* (бинарные файлы)
W>>*.ncb (большаааая база данных IntelliSense, по сути распарсенные инклуды из всего проекта и Platform SDK)
W>>*.user (локальные настройки типа адреса последней машины, использовавшейся для удаленной отладки)
W>>*.suo (снапшот состояния окон, открывающий все окошки-панельки 1-в-1 в том виде, в котором они были при закрытии проекта)
W>>Эти правила были ОДИН РАЗ прописаны в глобальном игнор-листе SVN и всё. Добавление проектов теперь состоит в выборе TortoiseSVN->Add.
W>>Что, кстати, гораздо удобнее Eclipse с его неперевариваемым .metadata

Ytz>Понял, что хранить не надо, а что надо?

Все остальное. Исходники + sln + vcproj.
Ytz>Как мержить?
Дык XML.
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re: Программирование под линукс
От: dimgel Россия https://github.com/dimgel
Дата: 28.04.11 20:14
Оценка:
Здравствуйте, Aleх, Вы писали:

A>Вот, например, я скачиваю опенсорс проект на Java.

A>НО как, КАК? Мне из этой кучи скриптов и мейкфайлов создать проект для Эклипса?

IDEA цепляет pom.xml как проектный файл и не требует импорта проекта. Очень удобно.
Re[2]: Программирование под линукс
От: alpha21264 СССР  
Дата: 28.04.11 20:55
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Но мой блокнот (как и Emacs, как и VIM) умеют запускать эту команду для компиляции по горячей клавише и выводить сообщения об ошибках и прочем в отдельное окошко этого же блокнота, из которого ты можешь прыгать с ошибки на соответствующую строчку кода.


Собрат по разуму! Скажи как ты приучил nedit на строчку с ошибкой прыгать!

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Программирование под линукс
От: jazzer Россия Skype: enerjazzer
Дата: 29.04.11 16:19
Оценка: +1
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, jazzer, Вы писали:


J>>Но мой блокнот (как и Emacs, как и VIM) умеют запускать эту команду для компиляции по горячей клавише и выводить сообщения об ошибках и прочем в отдельное окошко этого же блокнота, из которого ты можешь прыгать с ошибки на соответствующую строчку кода.


A>Собрат по разуму! Скажи как ты приучил nedit на строчку с ошибкой прыгать!


есть такой пакет макросов от Frank Perbet, называется macro kit. Там много вкусностей, в том числе эта.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[3]: Программирование под линукс
От: Basil2 Россия https://starostin.msk.ru
Дата: 04.05.11 12:43
Оценка:
Здравствуйте, Aleх, Вы писали:

B>>Скажите, это действительно так? Зачем же быть такими мазахистами?


A>Visual Basic это просто другой язык. То есть ты в своей аналогии сравниваешь два языка. Два однотипных объекта.

A>А я сравниваю подходы которые существенно различаются. Ну это примерно как считать вручную по логарифмической линейке и использовать калькулятор.

Так ты это серьезно писал?? о_О
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[2]: Программирование под линукс
От: Мишень-сан  
Дата: 10.05.11 19:12
Оценка:
Здравствуйте, azzx, Вы писали:

A>А по ночам, в полнолуние, они выходят на улицу... и ищут того, что так интересно расположил и поименовал каталоги в дефолтно создаваемых проектах в студии.


Ррррррр!!!
Уууууу!!!!

<хрусь-хрусь-хрусь>
Re[2]: Программирование под линукс
От: Мишень-сан  
Дата: 10.05.11 19:19
Оценка:
Здравствуйте, x-code, Вы писали:

XC>А мораль такова: если бы мейкфайлы и/или файлы проектов были включены в стандарт языка, и их формат был бы жестко документирован в тех же документах, что и сам язык — этого зоопарка бы не было, и ВСЕ(!!!) IDE и компиляторы были бы вынуждены работать с единым форматом проекта. Но увы, до этого еще никто не додумался, кроме меня И даже в Visual Studio с каждой новой версией будет появляться новый формат проекта, почему-то несовместимый со всеми предыдущими.


Скорее всего, Вы об этом в курсе. И тем не менее.
Вполне успешно перекидывал проекты-солюшены между VS2005 и VS2008 правкой пары строчек. Правда, там был шарп и сравнительно простой проект.
Но я, честно говоря, тоже ни в зуб ногой, почему MS целенаправленно не делает кросс-поддержку своих проектов между релизами студии. А несовместимость там в районе маркера "сделано для VSXXXX"
Re: Программирование под линукс
От: мыщъх США http://nezumi-lab.org
Дата: 10.05.11 19:33
Оценка:
Здравствуйте, Aleх, Вы писали:

A>Я вот одного не понимаю. Программисты под линукс вообще используют среду разработки?

A>Не редактор кода, а именно СРЕДУ РАЗРАБОТКИ.
сижу, программирую под линух. сижу под виндой. переползаю на мак. разницы не заметил. командная строка есть. svn/git есть. отладчик -- отладочная печать и питон для анализа логов. редактор -- пока решил остановится на vim. пробовал macromates -- его пилить и пилить. пощупал xcode -- парные скобки не хочет подсвечивать сволочь, а я к этому уже привык.

а что вам нужно от среды? просто интересно. все-таки не турбопаскаль и не дос с одним дисководом. чем ваш билд по нажатию одной кнопки отличается от 'make', набираемом в командной строке? и, кстати, работающим и под виндой, и под никсами, и под маком. и по фиг какая у кого ide. мне этого знать не обязательно. достаточно дать make-файл.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: Программирование под линукс
От: dimgel Россия https://github.com/dimgel
Дата: 10.05.11 21:40
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>а что вам нужно от среды? просто интересно.


Чтобы ошибки на лету подсвечивала, warnings, TODOs, bad coding practices тоже неплохо;
code completion;
документация по методу под курсором одной клавишей и список параметров когда внутри скобок;
встроенный отладчик со всеми причиндалами;
для больших файлов — панель структуры модуля (иерархический список классов/методов/вложенных их же) с навигацией;
мало ли...
Re[3]: Программирование под линукс
От: мыщъх США http://nezumi-lab.org
Дата: 10.05.11 22:22
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Здравствуйте, мыщъх, Вы писали:


М>>а что вам нужно от среды? просто интересно.


D>Чтобы ошибки на лету подсвечивала,

у вас так много ошибок? а что за ошибки? ошибки в ключевых словах подвечивает и текстовой редактор, он же подсвечивает непарные скобки и делает еще много чего... ошибки компиляции видны только после компиляции, причем не факт, что используемый компилятор их покажет. ms vc даже с /w4 не показывает много того что показывает gcc

D> warnings, TODOs,

TODO посвечиваются по общим правилам подсветки, т.е. выделяются так как вам надо. ну и быстрый переход по всем TODO и FIXIT -- для редактора совсем несложная работа. интеграции с чем либо тут не требуется.

D>code completion;

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

D>документация по методу под курсором одной клавишей и список параметров когда внутри скобок;

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

D>встроенный отладчик со всеми причиндалами;

везет же. у вас такие задачи, которые можно отлаживать... хотя бы в принципе... а вот FMS уже отлаживать смысла нет и нужно прикручивать отладочную печать самостоятельно. отладчик тут бесполезен на 100%.

D>для больших файлов — панель структуры модуля (иерархический список классов/методов/вложенных их же) с навигацией;

практически все, о чем вы говорите, и ИДЕ (т.е. интеграции) не имеет никакого отношения и относится исключительно к редактору. разве что отладчик... но многие люди обходятся и без него. мне лече прямо в редакторе задать точку останова со сложным условием, выполняемую на строго определенной итерации (и она сохранится в системе контроля версий) и это так же делается любым редактором, хоть "блокнотом".

так что привычка великая штука. мне для программирования хватает нетбука и мне что вынь, что мак, что никсы, т.к. перед глазами текстовой редактор.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: Программирование под линукс
От: Danchik Украина  
Дата: 11.05.11 00:26
Оценка:
Здравствуйте, мыщъх, Вы писали:

М>так что привычка великая штука. мне для программирования хватает нетбука и мне что вынь, что мак, что никсы, т.к. перед глазами текстовой редактор.


То что вы привыкли к чему-то, не значит что это эффективно. IDE это уже давно не просто редактор.
Re[5]: Программирование под линукс
От: мыщъх США http://nezumi-lab.org
Дата: 11.05.11 01:39
Оценка: +2
Здравствуйте, Danchik, Вы писали:

D>Здравствуйте, мыщъх, Вы писали:


М>>так что привычка великая штука. мне для программирования хватает нетбука и мне что вынь, что мак, что никсы, т.к. перед глазами текстовой редактор.


D>То что вы привыкли к чему-то, не значит что это эффективно.


разумеется, не значит. но отладчик (независимо от степени его итегрированности) покрывает меньше сценариев, чем логгер + скрипт для обработки результатов логгирования. но даже если использовать отладчик. в чем смысл его итеграции? запуск одной кнопкой? такое даже самый примитивный редактор может. обеспечить. в чем эффективность интеграции? в чем неэффективность использования различных инструментов? как раз ide обычно устроено по принципу дешево и сердито, а по отдельности можно найти намного более мощные инструменты.


D> IDE это уже давно не просто редактор.

в чем прелесть интеграции?! почему нельзя отдельно юзать редатор, отдельно ситему контроля версий, отдельно багтреккер... отладчик тоже отдельно. и профайлер отдельно. причем, все это настраивается. к любому нормальному текстовому редактору прикручивается скриптовый парсер разбирающий сообщения компилятора об ошибках и автоматически переводящий курсор на нужное место. для популярных компиляторов скрипты уже есть. в ms vc компилятор не встроенный (как когда-то в турбопаскале). и линкер там ни разу не встронный, а вызывается как внешняя тулза и дальше парсится вывод.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: Программирование под линукс
От: мыщъх США http://nezumi-lab.org
Дата: 11.05.11 01:49
Оценка:
Здравствуйте, azzx, Вы писали:

A>Здравствуйте, Aleх, Вы писали:


A>>Такое впечатление, что проекты разрабатываются в блокноте с подсветкой ключевых слов кода. И каждый раз при компиляции запускается командная строка. Скажите, это действительно так? Зачем же быть такими мазахистами?


A>Ты не поверишь, есть люди, которые набирают код (ну не весь, но прилично) в страшном консольном FAR-е.

A>А по ночам, в полнолуние, они выходят на улицу... и ищут того, что так интересно расположил и поименовал каталоги в дефолтно создаваемых проектах в студии.

фигня, фигня, фигня. мне тут дали сорцы проекта в студии. с абсолютными путями. причем на самом деле это не один проект, а три (библиотека А, библиотека Б, использующая библиотеку А, и программа, использующая две библиотеки). причем библиотеки на диске D, где у меня сидиром. прелесть, просто прелесть. разумеется, никаких объясний в каком порядке его собирать нет. причем библиотека Б ищет библиотеку А в релизе, а пограмма хочет видеть отладочные версии библиотек. т.е. собрать нужно и релиз и дебаг.

вот сидел и думал -- какая прелесть эти make-файлы, не говоря за скриптовые сценарии сборки.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: Программирование под линукс
От: мыщъх США http://nezumi-lab.org
Дата: 11.05.11 01:57
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, jazzer, Вы писали:


J>>Потому что файл проекта — это на самом деле не файл проекта, а файл настройки IDE, чтоб она смогла работать с этим проектом. И вполне естественно, что этот файл зависит как от самой IDE, так и от ее версии.


XC>Да ладно... Файлы проектов содержат имена файлов для компиляции, правила компиляции, опции компилятора.

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

XC> Это не настройки IDE. Можно было бы сделать так: определить на основе XML

а XML зачем? когда зарождались IDE никакого XML еще не было.

XC> минимальную структуру файла проекта, которую обязаны поддерживать все,

что значит "обязаны"? кто будет определять? кто контролировать и координировать?

XC>Параметры компилятора тоже не мешало бы стандартизировать таким же способом

посмотрите сначала на ключи компиляции и линковки. какой вы видите их стандартизацию? как стандартизировать ключи типа /GS ?! как стандаризировать опции оптимизации?

XC> Хотите дополнительные опции — именуйте их так, чтобы было понятно что они дополнительные (например, префикс "specific")

а кому это нужно, интересно?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[2]: Программирование под линукс
От: мыщъх США http://nezumi-lab.org
Дата: 11.05.11 02:11
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Здравствуйте, Aleх, Вы писали:



XC>А мораль такова: если бы мейкфайлы и/или файлы проектов были включены в стандарт языка

какого языка? у меня в make-файлах в том числе и документация. если я изменил ms word doc (о! ужос!), то make вызовет конвретор в pdf. если я ничего не менял -- то не вызовет. а этот pdf засунут в zip. и если я поменяю readme или сгенерился новый pdf или изменилось что-то еще -- архив перепакуется.

какое отношение си имеет к make?

> и их формат был бы жестко документирован в тех же документах, что и сам язык

язык != ide. декларировать формат проектов в языке это что-то новое. даже в дотнете до такого не додумались.

> этого зоопарка бы не было, и ВСЕ(!!!) IDE и компиляторы были бы вынуждены работать с единым форматом проекта.

компиляторы с файлом проекта не работают. зачем он им? и вы забыли про линкеры. у вас компилятор уже make-файл переваривает что ли?

> Но увы, до этого еще никто не додумался, кроме меня

наверное, потому что вы не разделяете стадии компиляции/линковки/сборки проекта. посмотрите на серьезные проекты типа FireFox. оцените кол-во утилит, вовлеченных в процесс сборки.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[3]: Программирование под линукс
От: Skorodum Россия  
Дата: 11.05.11 10:54
Оценка:
Здравствуйте, Aleх, Вы писали:

A>Ок, но в таком случае должен быть стандартный формат проекта, который должен легко импортироваться в разные IDE.

A>Почему его нет? Почему вместо него makefile?

По хорошему это ортогональные вещи:
— Makefile — неотъемлемая составная часть проекта, описывающая зависимости, процесс сборки.
— файл проекта IDE — индивидуальные настройки разработчика: что и как открыто. Должен генериться на основе makefile.

Многие IDE прекрасно импортируют проекты на основе makefile`ов, создавая свои файлы проектов. Как минимум KDevelop, Qt Creator.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.