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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Выбор среды программирования под Ubuntu  (Прочитано 11230 раз)

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

Оффлайн burunduk

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
привет всем!!!
Я новичок в линукс. Программирую на VB, Delphi, PHP, знаком с C++ но ленюсь им пользоваться
подскажите что выбрать для программирования под Ubuntu
Lazarus Gambas или Python (еще даже не устанавливал и что такое не знаю)
или что то другое
Спс

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #1 : 16 Июня 2010, 09:20:33 »
пользуйтесь пожалуйста поиском по форуму, однозначного ответа вы все равно не получите.

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #2 : 16 Июня 2010, 10:13:32 »
Смотря что имеется в виду под "программированием под Ubuntu".
VB практически отпадает в любом случае,  Delphi - Lazarus, можно и на PHP писать, в том числе GUI приложения, хотя, имхо, и извращение это при всём уважении к PHP.  Можно и на С++ с GTK+ или Qt (фреймворки, последний точно с визуальным редактором "форм", а первый "родной" для Ubuntu, второй - для Kubuntu, хотя и в нём можно создавать gtk-look приложения).

"Аналог" VB в линуксах, пожалуй, Python (язык) c PyGTK или PyQt ("обертки" к соответствующим фреймворкам), лично я его c PyQt выбрал пока для десктопных приложений, в будущем, возможно,  для веб-серверовов на Python перейду с PHP (c Django вместо symfony), из плюсов:
- язык достаточно простой для освоения, и в тоже время достаточно мощный для разработки приложений любой (наверное) сложности с использованием ООП, ФП и прочих современных и не очень парадигм и методик
- полно различных исходников (многие приложения, апплеты, плагины и т. п. в Ubuntu написаны именно на python, даже искать и качать ничего не надо, прямо в ОС полно "исходников", то есть рабочих скриптов, и сам транслятор в составе ОС идёт)
- несколько IDE на разный вкус (NetBeans и Eclipse, имхо, лучше всего, особенно если и с PHP сразу прощаться не планируется, и на С++ хочется/придётся писать)
- код компактнее и читабельнее, чем на С/С++ (читай - быстрее приложения разрабатывать и проще поддерживать)
- возможность писать кроссплатформенные приложения без дополнительных усилий, если не привязываться к особенностям конкретных ОС и/или анализировать среду выполнения  (ради интереса проверял с PyQt на простеньких программах, работающих с MySQL - запускались и работали и под виндой, и под Ubuntu без единой строчки для совместимости)
- довольно много литературы на русском языке, развитое комьюнити
Минуса пока два знаю:
- язык интерпретируемый (точнее компилируется в байт-код, который интерпретируется) и поэтому, естественно, медленнее С++
- в настоящий момент идёт переход с ветки 2.х на 3.х, которые не совсем друг с другом совместимы в обе стороны и сторонних библиотек/фреймворков для 3.x ещё достаточно мало (в частности проблемы с gtk), так что для разработки серьёзных приложений есть диллема - выбирать "отточенный" 2.6 (или 2.5), но имея в виду возможную миграцию на 3.х или сразу начинать писать на 3.х, но частенько "изобретая велосипед"

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

Оффлайн SGB

  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
    • Компьютерные записки
Re: Выбор среды программирования под Ubuntu
« Ответ #3 : 16 Июня 2010, 10:29:37 »
Сейчас пишу на Перле, пока только консоль
Из плюсов
- развит
- приемственнен (то что у меня работало еще в 4-й работает по сей день и в 6-й ветке)
- огровный набор библиотек
- довольно шустрый
- кроссплатформенность
- имеет удобную "иерархию" типов, в том числе двоечтение ( число может быть текстом и числом) и интерпретируется исходя из необходимого программисту

Из минусов
- Иногда приходится использовать уж очень длинные фразы чтобы добраться до значения в структуре

Из вкусов и цветов
- Си подобный язык

Вообще все сильно будет зависить от того какую задачу придется решать.
Например аплет для трея я не готов сейчас на перле написать, скорее всего предпочту расковырять питон.
И т.д. и т.п.

Из IDE использую eclipse и gedit :)

з.ы. Все професии важны, все професии нужны. (Маяковский)
В программировании тоже самое, любой язык имеет право на свое существование если он выполняет свои функции, буть то бэйсик, паскаль, си.
Все вопросы сюда :
Skype: sgb.82;  icq: 77338044 - тут редко; jabber: Gleb.Sorokin[собака]gmail.com | sorokinlinux[собака]ya.ru
blog: http://comnote.blogspot.com/

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #4 : 16 Июня 2010, 10:47:17 »
Из вкусов и цветов
- Си подобный язык
Вот уж чего бы не сказал  :o

Оффлайн burunduk

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #5 : 16 Июня 2010, 10:53:18 »
Спасибо за широкий ответ!!!

Смотря что имеется в виду под "программированием под Ubuntu".
В офисе виндовый сервер на нём лежит база mdb (MS Access) в связи с расширением парка машин, собираюсь писать для виндовых машин интерфес по обращению к MS Access (маленькие программки) дабы не закупать  MS Access  . С виндовыми машинами вопросов нет, но хочу добавить и Ubuntu. Для них и был вопрос. Хотя может мои програмки будут работать с Wine и MS Access Runtime?

VB практически отпадает в любом случае, 
а что такое гамбас2?

Python все хвалят как язык, это хорошо(мне всё равно какой язык Си Паскаль Бейсик CGI Perl (выучу и Питон)) а какая у него оболочка? если как в Си надо всё ручками прописывать мне лень, или для него есть среда типа VB и Делфи


Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #6 : 16 Июня 2010, 11:30:44 »
Спасибо за широкий ответ!!!

Смотря что имеется в виду под "программированием под Ubuntu".
В офисе виндовый сервер на нём лежит база mdb (MS Access) в связи с расширением парка машин, собираюсь писать для виндовых машин интерфес по обращению к MS Access (маленькие программки) дабы не закупать  MS Access  . С виндовыми машинами вопросов нет, но хочу добавить и Ubuntu. Для них и был вопрос. Хотя может мои програмки будут работать с Wine и MS Access Runtime?

VB практически отпадает в любом случае, 
а что такое гамбас2?

Python все хвалят как язык, это хорошо(мне всё равно какой язык Си Паскаль Бейсик CGI Perl (выучу и Питон)) а какая у него оболочка? если как в Си надо всё ручками прописывать мне лень, или для него есть среда типа VB и Делфи
Про гамбас не знаю :(

Хм... Честно говоря не знаю, как вобще с доступом к mdb базам из под линукса (по идее через odbc дрова, но есть ли они - не уверен, доступ с винды к линуксовым БД точно есть, а вот обратное как-то не интересовало никогда...). Я бы предложил перевести базу на MySQL или PostgreSQL (или, хотя бы, sqlite) и писать нормальное клиент-серверное приложение (существующие приложения на Access (или VB) перевести на внешнюю БД достаточно просто).  А если писать на Python c PyQt (или на С++ с Qt), то вообще один клиент будет кроссплатформенный, в случае с питоном даже не требующий перекомпиляции.

Для визуального проектирования "форм" есть "Qt дизайнер", для эффективной работы с кодом - куча IDE, NetBeans и Eclipse самые популярные, пожалуй, из них

А как вариант - можно поднять Apache c PHP на сервере и написать веб-клиента к БД, чтоб для доступа к "программкам" нужен был только браузер (хоть с мобильника заходи :) )

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #7 : 16 Июня 2010, 11:41:28 »
Переходите на нормальную БД, для которой есть свободные СУБД. Не нужно изобретать велосипеды ;)

Оффлайн SGB

  • Участник
  • *
  • Сообщений: 129
    • Просмотр профиля
    • Компьютерные записки
Re: Выбор среды программирования под Ubuntu
« Ответ #8 : 16 Июня 2010, 13:40:25 »
Из вкусов и цветов
- Си подобный язык
Вот уж чего бы не сказал  :o
Может по этому он только подобный?
База то что у Джавы, что у ПХП, что у Перла одна и та же (просто исторически).  ;)
Все вопросы сюда :
Skype: sgb.82;  icq: 77338044 - тут редко; jabber: Gleb.Sorokin[собака]gmail.com | sorokinlinux[собака]ya.ru
blog: http://comnote.blogspot.com/

Оффлайн burunduk

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #9 : 16 Июня 2010, 16:28:34 »
На другую БД однозначно перейду
беда в том что на аксесе сейчас постоянно висят 25 чел
и в один момент я не смогу всё изменить (база в работе)
и перетескивать их на тот же MySQL придётся кусками
сначала менеджеров, потом бухгалтеров, доставку и т.д.
да и с РНР проблем не будет, но есть ключевые ПК на которых придётся оставить Винду
цепляться собирался через ODBC вроде работает и тута
пока запустил Lazarus вроде включился)))

Пользователь решил продолжить мысль 16 Июня 2010, 16:35:40:
(существующие приложения на Access (или VB) перевести на внешнюю БД достаточно просто)
тут имеется в виду создать такую же в точности базу на MySQL или можно сделать какой-то проводник между линуксовым клиентом и MS Access на сервере? Сейчас на сервере лежат лишь файлы базы, а на клиентских машинах стоят обычные аксесы и с них обращаются к файлам на сервере
« Последнее редактирование: 16 Июня 2010, 16:35:40 от burunduk »

Оффлайн VolCh

  • Активист
  • *
  • Сообщений: 543
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #10 : 17 Июня 2010, 00:23:49 »
(существующие приложения на Access (или VB) перевести на внешнюю БД достаточно просто)
тут имеется в виду создать такую же в точности базу на MySQL или можно сделать какой-то проводник между линуксовым клиентом и MS Access на сервере? Сейчас на сервере лежат лишь файлы базы, а на клиентских машинах стоят обычные аксесы и с них обращаются к файлам на сервере
Я имел в виду конвертировать mdb в MySQL (как самый крайний случай - через CSV файлы, а вообще, вроде через phpmyadmin можно сделать), а акцессовые клиенты нынешние подключить к этой MySQL через odbc, сменив источник данных для них. Хотя вспомнил, в последних аксессах это вроде бы тривиально, но если ноги у приложений растут с 90-х годов (вернее ассess <2000 или при создании приложения не учитывали рекомендации MS), то там дополнительный гемор - нужно конвертировать бд из формата акцессов 9х в формат акцессов 200х (причём, возможно, придётся ручками корректировать обработчики событий форм и т. п.).

В общем если не получится малой кровью подставить вместо пути к mdb файлу odbc путь к mysql базе, то проще (если программки действительно маленькие) написать клиентов для работы с mysql под винду на дельфи, под линукс на лазарусе и "моментально" (обычно делается вечером-ночью или на выходных, если обычная пятидневка в конторе) перевести всех с акцесса и мдб на новых клиентов и mysql. Если есть желание и возможность (прежде всего сроки) сделать "трушно", то лучше написать кроссплатформенное приложение и для винды, и для линукса на питоне, руби, джаве или ещё чём-нибудь. 

А про PHP я имел в виду - написать веб-приложение на нём (хотя можно на любом языке веб-серверных сценариев, и даже на ассемблере  ;D ), чтобы сотрудники просто набирали в браузере что-то вроде "http://server/" и работали со своими данными (хорошее знание html/css/js крайне приветствуется)

P.S. Если сроки не горят, то я бы воспользовался возможностью освоить кроссплатформенное программирование (или веб-программирование) на серьёзном языке и на реальной задаче за счёт работодателя  (можно сказать даже мечтаю от такой "халяве" 8) ). Pascal и PHP я серьёзными (вернее, перспективными, причём в долгой перспективе, в профессиональном плане для программиста) языками не считаю, но это мое личное мнение, доказывать не собираюсь, убеждать кого-то тоже, но и меня сложно переубедить.
 

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #11 : 18 Июня 2010, 06:39:47 »
К минусам перла добавлю:
- имеет свойство падать на ровном месте
- хреново работает с потоками (причем категорически увеличивая вероятность пункта №1)
- в десктопных дистрибутивах и enterprise дистрибутивах имеет очень разные версии (так что вести разработу на бубунте и не нарваться на грабли при переносе в RHEL очень проблематично)
- колосальное количество модулей CPAN ни как не может перейти в качество этих модулей. и так же увеличивают вероятность пункта №1

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

Негативненький пост получился. Извиняюсь перед всеми любителями Perl'а.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #12 : 18 Июня 2010, 08:43:43 »
При знание С/C++ изучение что перла, что питона, что php и т.д. не проблема.
По паре недель на каждый должно хватить.
Что перспективнее ?
Наверное, питон, мсм.

Оффлайн kiv

  • Участник
  • *
  • Сообщений: 189
    • Просмотр профиля
Re: Выбор среды программирования под Ubuntu
« Ответ #13 : 18 Июня 2010, 18:51:06 »
А почему бы не использовать OpenOffice.org Base? Он умеет создавать подключения к Access базам. Бесплатный, есть под Ubuntu, но по функциональности очень похож на Access. Но на свободную БД перейти конечно лучше.

gengzu

  • Гость
Re: Выбор среды программирования под Ubuntu
« Ответ #14 : 18 Июня 2010, 23:12:11 »
При знание С/C++ изучение что перла, что питона, что php и т.д. не проблема.
По паре недель на каждый должно хватить.

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

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

 

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