Re[4]: Программирование под линукс
От: Nik_1 Россия  
Дата: 27.04.11 19:44
Оценка: :)
Здравствуйте, enji, Вы писали:
E>В файле с такой программой у меня написаны инструкции по сборке под разные платформы, инструкции по развертке на внутрифирменный сервер. А так как сконс-файлы — это программы на питоне, то можно сделать свои собственные "библиотечки" для сборки, которые затем использовать в разных проектах. Сделать что-либо подобное в ИДЕ проблематично. Хотя бы потому, что прога собирается разными компиляторами...


Хз как в линуксе, а в студии это очень даже легко и удобно делается. И платформу выбираешь из комбобокса( как и вариант сборки).
Re[5]: Программирование под линукс
От: Ytz https://github.com/mtrempoltsev
Дата: 27.04.11 19:55
Оценка: -1
Здравствуйте, Nik_1, Вы писали:

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


А какие из проектных файлов создаваемых студией ты хранишь в репозитории, как организована совместная работа? Ты же ведь не студент одиночка?
Re: Программирование под линукс
От: x-code  
Дата: 27.04.11 21:06
Оценка: 1 (1)
Здравствуйте, Aleх, Вы писали:

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


Я не знаю что там с java, но в C/C++ проектах действительно куча мейкфайлов и другого непонятного барахла. Я делаю так: создаю пустой консольный проект в Visual Studio, добавляю в него все c/cpp/h (при этом для понятности не в "Source Files"/"Header Files", а создаю папки в Solution Explorer, соответствующие подпапкам с исходниками, пытаюсь собрать; естественно, с первого раза это не получается
Дальше последовательными итерациями выпиливаю весь Linux-specific код — заменяю на кроссплатформенные аналоги, или докачиваю то чего не хватает, или дописываю сам, и в конечном итоге получаю работоспособную программу, которую уже можно изучать и модифицировать в нормальной IDE.

А мораль такова: если бы мейкфайлы и/или файлы проектов были включены в стандарт языка, и их формат был бы жестко документирован в тех же документах, что и сам язык — этого зоопарка бы не было, и ВСЕ(!!!) IDE и компиляторы были бы вынуждены работать с единым форматом проекта. Но увы, до этого еще никто не додумался, кроме меня И даже в Visual Studio с каждой новой версией будет появляться новый формат проекта, почему-то несовместимый со всеми предыдущими.
Re[2]: Программирование под линукс
От: dilmah США  
Дата: 28.04.11 00:57
Оценка:
XC>А мораль такова: если бы мейкфайлы и/или файлы проектов были включены в стандарт языка, и их формат был бы жестко документирован в тех же документах, что и сам язык — этого зоопарка бы не было, и ВСЕ(!!!) IDE и компиляторы были бы вынуждены работать с единым форматом проекта. Но увы, до этого еще никто не додумался, кроме меня И даже в Visual Studio с каждой новой версией будет появляться новый формат проекта, почему-то несовместимый со всеми предыдущими.

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

http://demotivation.me/zzjronmwb0srpic.html
Re[2]: Программирование под линукс
От: jazzer Россия Skype: enerjazzer
Дата: 28.04.11 01:10
Оценка:
Здравствуйте, x-code, Вы писали:

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


Потому что файл проекта — это на самом деле не файл проекта, а файл настройки IDE, чтоб она смогла работать с этим проектом. И вполне естественно, что этот файл зависит как от самой IDE, так и от ее версии.
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: Программирование под линукс
От: jazzer Россия Skype: enerjazzer
Дата: 28.04.11 01:31
Оценка: 1 (1) +4
Здравствуйте, Aleх, Вы писали:

A>Я вот одного не понимаю. Программисты под линукс вообще используют среду разработки? Не редактор кода, а именно СРЕДУ РАЗРАБОТКИ.

кто как.

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

те, кто у нас в команде работают в эклипсе, просто добавляют все файлы в проект и все.

A>Такое впечатление, что проекты разрабатываются в блокноте с подсветкой ключевых слов кода.

Ну в моем случае это действительно так. Был бы блокнот достаточно мощным (NEdit в моем случае).

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

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

Причем такая организация гораздо гибче. Например, ЕМНИП, в Студии можно собирать толко что-то одно, параллельный билд сразу нескольких проектов запустить нельзя. А у меня в NEdit можно, для каждого билда создастся отдельное окошечко, куда будут валиться ошибки, и все будет собираться параллельно. Так что становится очень удобно и быстро программить — пока одно редактируешь, другое-третье собирается там себе тихонько.
Плюс сообщения компилятора и, например, вывод grep (команда для поиска) имеют один и тот же формат, так что я могу сделать кучу поисков, как изнутри самого редакатора, так и снаружи, в консоли, если он сильно вывернутый, и просто скопировать результат в NEdit — и после этого могу прыгать из любого окна куда угодно, и последующие сеансы поиска не уничтожат то, что уже найдено.

A>Зачем же быть такими мазахистами?

Ну, мазохисты, как известно, получают от этого удовольствие Так что твой вопрос эквивалентен вопросу: "Зачем получать удовольствие?"

ЗЫ Ну и самое главное — "блокноты с подсветкой" НЕ ТОРМОЗЯТ!!!
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]: Программирование под линукс
От: eugene0 Россия  
Дата: 28.04.11 03:22
Оценка:
Здравствуйте, Aleх, Вы писали:

E>>В отличие от винды и макоси, где существуют стандартные общеупотребимые IDE, поставляемые разработчиком оси, под линуксом такого дефакто-стандарта нет, каждый пользуется тем, что ему больше нравится. Поэтому непонятно, файл проекта от какой IDE надо поставлять с исходниками.

E>>С другой стороны, есть make — стандартное средство для сборки и несколько IDE, которые умеют его подхватывать.

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

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

Так это он и есть. Создаешь где-нибудь новый проект, показываешь ему, где корневой мейкфайл лежит, вот и все. Когда жмешь хоткей для сборки, IDE твоя сама вызывает make.
Re[6]: Программирование под линукс
От: Nik_1 Россия  
Дата: 28.04.11 05:15
Оценка:
Здравствуйте, Ytz, Вы писали:

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


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


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

Троль решил воспользоваться своим главным аргументом — переходом на личности?
Re[3]: Программирование под линукс
От: x-code  
Дата: 28.04.11 05:15
Оценка: :)
Здравствуйте, jazzer, Вы писали:

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


Да ладно... Файлы проектов содержат имена файлов для компиляции, правила компиляции, опции компилятора. Это не настройки IDE. Можно было бы сделать так: определить на основе XML минимальную структуру файла проекта, которую обязаны поддерживать все, и разрешить разработчикам компиляторов и IDE дополнять ее новыми тегами и атрибутами, для хранения каких-то специфических параметров (те же настройки ide, если они действительно должны храниться в проекте?)
Параметры компилятора тоже не мешало бы стандартизировать таким же способом — посмотреть какие есть опции у распространенных компиляторов, упорядочить их в некую иерархическую модель опций, назначить им стандартные имена и все такое. Хотите дополнительные опции — именуйте их так, чтобы было понятно что они дополнительные (например, префикс "specific")
Re: Программирование под линукс
От: azzx Россия  
Дата: 28.04.11 05:44
Оценка:
Здравствуйте, Aleх, Вы писали:

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


Ты не поверишь, есть люди, которые набирают код (ну не весь, но прилично) в страшном консольном FAR-е.
А по ночам, в полнолуние, они выходят на улицу... и ищут того, что так интересно расположил и поименовал каталоги в дефолтно создаваемых проектах в студии.
Re[4]: Программирование под линукс
От: Michael7 Россия  
Дата: 28.04.11 06:27
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Да ладно... Файлы проектов содержат имена файлов для компиляции, правила компиляции, опции компилятора. Это не настройки IDE. Можно было бы сделать так: определить на основе XML минимальную структуру файла проекта, которую обязаны поддерживать все, и разрешить разработчикам компиляторов и IDE дополнять ее новыми тегами и атрибутами, для хранения каких-то специфических параметров (те же настройки ide, если они действительно должны храниться в проекте?)

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

Это звучит хорошо и даже, возможно было бы полезно, но на практике в итоге, все равно пришли бы к чему-то вроде Makefile или опций среды просто потому что ни одним стандартом невозможно охватить все.

Даже вот такой пример, допустим в проекте используется CUDA или OpenCL — и уже такая стандартизация не учитывает ряд нюансов при сборке проектов, хотя бы наличие компилятора от NVIDIA причем нужной версии (нужной версии CUDA). А если еще намешать в проект части на сильно разных языках, включая специфические модули от них? В рамках же Makefile (тем более типа Scons) все это можно разрулить, хотя и не без проблем тоже.
Re[6]: Программирование под линукс
От: Wissenschaftler http://rsdn_user.livejournal.com
Дата: 28.04.11 07:00
Оценка:
Здравствуйте, Ytz, Вы писали:

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


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


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

Все кроме
Debug\*, Release\* (бинарные файлы)
*.ncb (большаааая база данных IntelliSense, по сути распарсенные инклуды из всего проекта и Platform SDK)
*.user (локальные настройки типа адреса последней машины, использовавшейся для удаленной отладки)
*.suo (снапшот состояния окон, открывающий все окошки-панельки 1-в-1 в том виде, в котором они были при закрытии проекта)
Эти правила были ОДИН РАЗ прописаны в глобальном игнор-листе SVN и всё. Добавление проектов теперь состоит в выборе TortoiseSVN->Add.
Что, кстати, гораздо удобнее Eclipse с его неперевариваемым .metadata
Запретное обсуждение модерирования RSDN:
http://rsdn-user.livejournal.com/652.html
Re[7]: Программирование под линукс
От: Ytz https://github.com/mtrempoltsev
Дата: 28.04.11 07:01
Оценка:
Здравствуйте, Nik_1, Вы писали:

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


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


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


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

N_>Троль решил воспользоваться своим главным аргументом — переходом на личности?

Извини если некорректно выразился. Ответь, пожалуйста, на заданный вопрос.
Re[8]: Программирование под линукс
От: Nik_1 Россия  
Дата: 28.04.11 07:12
Оценка:
Здравствуйте, Ytz, Вы писали:

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


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


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


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


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

N_>>Троль решил воспользоваться своим главным аргументом — переходом на личности?

Ytz>Извини если некорректно выразился. Ответь, пожалуйста, на заданный вопрос.

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


Ytz>>Извини если некорректно выразился. Ответь, пожалуйста, на заданный вопрос.

N_>Переформулируй его корректно — отвечу.

Я просто повторю, если формулировка тебе кажется некорректной, уточни пожалуйста в чем:

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

Re[7]: Программирование под линукс
От: Ytz https://github.com/mtrempoltsev
Дата: 28.04.11 07:17
Оценка:
Здравствуйте, 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

Понял, что хранить не надо, а что надо? Как мержить?
Re[2]: Программирование под линукс
От: 24  
Дата: 28.04.11 07:29
Оценка: :))
Здравствуйте, jazzer, Вы писали:

J>параллельный билд сразу нескольких проектов запустить нельзя.


Tools -> Options -> Projects and Solutions -> Build and Run -> задаётся число maximum number of parallel project builds.
Re[10]: Программирование под линукс
От: Nik_1 Россия  
Дата: 28.04.11 07:32
Оценка:
Здравствуйте, Ytz, Вы писали:

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



Ytz>>>Извини если некорректно выразился. Ответь, пожалуйста, на заданный вопрос.

N_>>Переформулируй его корректно — отвечу.

Ytz>Я просто повторю, если формулировка тебе кажется некорректной, уточни пожалуйста в чем:


Ytz>

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


у вижуал с++ всего один проектный файл — .vcproj.
Но есть еще куча файлов, которые нужно класть в репозиторий : воркспейс( начиная с 2002-й переименованый в солюшн), исходники, ресурсы, ...
Re[11]: Программирование под линукс
От: Ytz https://github.com/mtrempoltsev
Дата: 28.04.11 07:38
Оценка:
Здравствуйте, Nik_1, Вы писали:

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


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



Ytz>>>>Извини если некорректно выразился. Ответь, пожалуйста, на заданный вопрос.

N_>>>Переформулируй его корректно — отвечу.

Ytz>>Я просто повторю, если формулировка тебе кажется некорректной, уточни пожалуйста в чем:


Ytz>>

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


N_>у вижуал с++ всего один проектный файл — .vcproj.

N_>Но есть еще куча файлов, которые нужно класть в репозиторий : воркспейс( начиная с 2002-й переименованый в солюшн), исходники, ресурсы, ...

Ответь, пожалуйста, на вопрос, что конкретно хранят относящееся к сборке проекта в репозитории у тебя на работе. Как мержите?
Re[12]: Программирование под линукс
От: Nik_1 Россия  
Дата: 28.04.11 07:42
Оценка:
Здравствуйте, Ytz, Вы писали:

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


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


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



Ytz>>>>>Извини если некорректно выразился. Ответь, пожалуйста, на заданный вопрос.

N_>>>>Переформулируй его корректно — отвечу.

Ytz>>>Я просто повторю, если формулировка тебе кажется некорректной, уточни пожалуйста в чем:


Ytz>>>

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


N_>>у вижуал с++ всего один проектный файл — .vcproj.

N_>>Но есть еще куча файлов, которые нужно класть в репозиторий : воркспейс( начиная с 2002-й переименованый в солюшн), исходники, ресурсы, ...

Ytz>Ответь, пожалуйста, на вопрос, что конкретно хранят относящееся к сборке проекта в репозитории у тебя на работе. Как мержите?


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