Ряд вопросов о преимуществах программирования в Linux (Что лучше использовать под разного рода задачь?)

Модератор: Модераторы разделов

p4s8x
Сообщения: 22

Ряд вопросов о преимуществах программирования в Linux

Сообщение p4s8x »

Вообще хочеться понять целесообразность выбора Linux как платформы под Оконные приложения(клиент-типа).
Хочется услышать что лучше использовать(какие IDE, GUI библиотеки,..)для решения следующих задачь и о преимуществах решения этих задачь в Linux'e(производительность,..):
1)Работа с большой БД
БД большая, все таблицы абсолютно разные. Требуется создать большое многооконное приложение, для работы с бд, т.е. редактирование, добавление записей различного типа и т.д.
2) Вычислительные программы с "тяжелыми"(требующие много времени на обработку) алгоритмами, построение всевозможных графиков, таблиц.Моделирование процессов.
3) 3D программирование
4) Приложения для работы на больших серверных машинах - вывод различных изображений,видео,web'a на множество мониторов в различных режимах.
5) Различные Сетевые-Серверные приложения
Просто считаем Linux очень перспективной ОС для решения сложных задачь, но опыта очень мало всвяи с чем множество вопросов. Даже Коллайдер(БАК)! на фотках из их центра было видно множество компов запущенных под Linux с KDe.
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение watashiwa_daredeska »

  • Так для работы с БД или для рисования окошек к БД?
  • Вычисления бывают разными. В зависимости от типов вычислений можно использовать разные ЯП. Но я так понимаю, что алгоритмы уже на чем-то реализованы. В чем, собственно, вопрос?
  • 3D программирование или вывод 3D? Для вывода можно использовать OpenGL, а что такое 3D программирование я не знаю.
  • Большие серверные машины со множеством мониторов -- это мейнфреймы что-ли? Или м-м-м... веб-серверы, раздающие "различных изображений,видео,web'a"?
  • Для написания Различных Сетевых-Серверных приложений имеются Различные Сетевые-Серверные инструменты.
Спасибо сказали:
p4s8x
Сообщения: 22

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение p4s8x »

1)Рисования окошек для работы с БД
2) да на С++ возможно придется задействовать "распределенные вычисления"
3) OpenGL тут вродль впринцепи все понятно. Но можт какоенить Ide есть заделанное под это...
4) Не собстно.. вот допустим у нас есть стена 10*4 мониторов, вот на первый прямоугольник 3*4 нужно пустить видео, на второй там какоенить тож видео, на еще каком нибудь какуюто программу, на какойнить крайней вебсайт открыть.Вот нужно чтобы этим всем управляла машина на Linux.
Собстно интерисует именно преимущество Linux в реализации данных задач.
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение Portnov »

1. Вероятно, вам подойдёт Qt (включает как средства создания GUI, так и обобщённые средства доступа к БД). Хотя мне лично больше нравится вариант Gtk + интерфейс к конкретной БД или там ODBC. Но это уж на вкус и цвет.
2. Вычисления и числовые расчёты - очевидно, Fortran или C. Для построения графиков есть множество библиотек, можно использовать нечто более универсальное - например, Cairo позволяет рисовать всё что угодно. Для (численного) моделирования процессов классика жанра - аналоги Matlab - Octave или Scilab (хотя вполне вероятно, что потом придётся переписывать на Fortran или C из соображений производительности). Для распределенных вычислений - библиотека MPI, см. также http://linux-cluster.org.ru/.
3. А что такое '3Д программирование'? Выражайтесь яснее. А OpenGL - оно и в африке OpenGL.
4. Не понятно, в чём проблема - настроить X-сервер на работу с несколькими мониторами?

'преимущество Linux' состоит в том, что Linux, как и любая *nix, представляет собой мощную IDE, с огромным количеством средств разработки и полной документацией. Предупреждаю: чтобы почувствовать это преимущество, придётся опыт работы с виндовыми IDE забыть и освоить новую среду.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Serik
Сообщения: 149
ОС: SuSE Linux

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение Serik »

Все ваши задачи можно отлично решать в Linux'e.
Как, какие языки, какие библиотеки, оконные менеджеры и т.д.
зависит от того, с чем вы умеете работать, какие у вас цели, задачи, какие у вас требования, лицензии и т.д.

Для примера:
Я использую SuSE Linux 10.1 (если бы ставил сейчас, взял бы последний OpenSuSE), KDE
пишу на C++/GTK+/ibpp/libglade, иногда использую perl
программы: есть графические клиенты к БД (много окон, списки, формы и т.д.), есть консольные
на рабочих местах установлен Debian и очень урезанный XFCE
на сервере тоже Debian, СУБД - Firebird
Спасибо сказали:
Аватара пользователя
Фантом
Сообщения: 463
ОС: openSUSE

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение Фантом »

Portnov писал(а):
21.10.2008 08:48
2. Вычисления и числовые расчёты - очевидно, Fortran или C. Для построения графиков есть множество библиотек, можно использовать нечто более универсальное - например, Cairo позволяет рисовать всё что угодно. Для (численного) моделирования процессов классика жанра - аналоги Matlab - Octave или Scilab (хотя вполне вероятно, что потом придётся переписывать на Fortran или C из соображений производительности). Для распределенных вычислений - библиотека MPI, см. также http://linux-cluster.org.ru/.

Странный, возможно, совет, но... при таком наборе задач (с учетом всех остальных пунктов) и возможности начать "с нуля" в качестве ЯП для матмоделирования и распределенных вычислений имеет смысл посмотреть на Аду.
Спасибо сказали:
p4s8x
Сообщения: 22

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение p4s8x »

Начальство требует подготовить обоснование, почему эти задачи удобнее всего выполнить на базе OS Linux и какое будет преимущество в производительности при использования именно Linux, а не какойто другой ОС?
Спасибо сказали:
Serik
Сообщения: 149
ОС: SuSE Linux

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение Serik »

Честно говоря, лучше будет там, где исполнители лучше умеют :)
Производительность от ОС врядли зависит, а вот про удобнее попробуйте поискать в гугле "Linux vs Windows".
Спасибо сказали:
sdukshis
Сообщения: 83
ОС: Linux

Re: Ряд вопросов о преимуществах программирования в Linux

Сообщение sdukshis »

p4s8x писал(а):
21.10.2008 00:43
Вообще хочеться понять целесообразность выбора Linux как платформы под Оконные приложения(клиент-типа).
Хочется услышать что лучше использовать(какие IDE, GUI библиотеки,..)для решения следующих задачь и о преимуществах решения этих задачь в Linux'e(производительность,..):
1)Работа с большой БД
БД большая, все таблицы абсолютно разные. Требуется создать большое многооконное приложение, для работы с бд, т.е. редактирование, добавление записей различного типа и т.д.
2) Вычислительные программы с "тяжелыми"(требующие много времени на обработку) алгоритмами, построение всевозможных графиков, таблиц.Моделирование процессов.
3) 3D программирование
4) Приложения для работы на больших серверных машинах - вывод различных изображений,видео,web'a на множество мониторов в различных режимах.
5) Различные Сетевые-Серверные приложения
Просто считаем Linux очень перспективной ОС для решения сложных задачь, но опыта очень мало всвяи с чем множество вопросов. Даже Коллайдер(БАК)! на фотках из их центра было видно множество компов запущенных под Linux с KDe.


Со своей стороны могу высказаться так: преимущество Linux как OS для сложных проектов это всесторонняя настраиваемость данной системы. Существую конкретные настройку, которые потенциально могу улучшить производительность конкретных сервисов (например СУБД). Также возможна финансово легкая масштабируемость (не надо докупать лицензии на каждый процессор).

По поводу библиотек GUI и IDE и языка:
Язык почти однозначно С++,возможно в связке с C и ещё каким-нибудь интерпретируемым языком языком (PHP,Perl,python)
Для серверной части GUI не нужен, а вот при написании клиентов с GUI стоит посмотреть в сторону Qt
Из её достоинств :кроссплатформенность (можно просто пере компилировать программы для разных OS) и удобство
из недостатков: прожорливость к памяти и требование покупки, если Вы разрабатываете проприетарное ПО

Из IDE могу посоветовать Eclipse CDT

По поводу производительности Linux вообще можно сослаться на официальные источники по статистике использования этой ОС на современных супер компьютерах, а это около 85%.

С задачей вывода на множество мониторов Linux может справиться легко даже с обычным оборудованием (модно просто напихать в сис. блок несколько PCI видео). О взаимодействие со специфическим видео-оборудованием лучше узнавать дополнительно у производителей.

Для работы с аппаратной 3D графикой в Linux можно использовать только OpenGL, так как Direct3D в этой ОС не поддерживается.

По поводу программирования Сетевых и серверных приложений: в Linux в принципе проше программировать, чем в Windows, но начиная с некоторого уровня многие блоки кода становятся платформонезависимыми, так что особой разницы нет.
Спасибо сказали: