Помощь новичку в выборе между Java и Python для приложения с sql db - PullRequest
0 голосов
/ 17 февраля 2010

Я собираюсь написать свой первый проект без доступа, и мне нужен совет по выбору платформы. Я буду устанавливать его на компьютеры нескольких друзей и семьи, поэтому (поскольку я уверен, что для моего приложения вполне подойдет много разных платформ), мой самый высокий приоритет состоит из двух частей: 1) простота установки для нетехнических пользователь и, 2) минимизация проблем совместимости. Я хочу иметь возможность исправлять ошибки, вносить изменения и внедрять их без необходимости устранения неполадок ОС и программных конфликтов на своих компьютерах (или, по крайней мере, сохранения этих вещей на абсолютном минимуме - вот почему эти проблемы являются для меня наивысшим приоритетом при выборе платформа.)

Я сузил его до Python или Java. Мне нравится использование Java JVM, которая, похоже, прекрасно защищает от несовместимости на отдельных компьютерах. И я слышал много хорошего о Python, но я не знаю, насколько он более подвержен несовместимости по сравнению с Java. В случае, если это важно, я знаю, что приложение определенно будет использовать некоторый вариант бесплатной базы данных SQL с поддержкой сервера (с поддержкой сервера, потому что я хочу иметь возможность запускать приложение с нескольких компьютеров), но я не знаю, какой использовать еще. Я думал, что смогу решить это дальше.

Мой уровень опыта: я взял класс C ++ (только для консольных приложений) и немного изучил VBA в Access, но в основном мне придется прыгать и учиться по ходу дела. Поэтому, конечно, я не знаю много обо всем этом. Я не в компьютерной сфере, это просто хобби.

Итак, что было бы лучше для этого приложения, Java или Python?

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

Спасибо.

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

Обновление 2: по правде говоря, меня действительно интересуют только компьютеры с Windows. Я рассматриваю Java только как ее надежность в качестве платформы.

Ответы [ 5 ]

1 голос
/ 17 февраля 2010

Если вы собираетесь устанавливать только (или в основном) на Windows, я бы выбрал .Net.

Если у вас есть опыт работы с C ++, то C # будет естественным для вас, но если вы знакомы с VBA, вы можете попробовать VB.NET, но если вы предпочитаете Python, то есть IronPython или можете попробовать IronRuby, но лучше всего то, что вы можете смешивать их все, поскольку они применяются к различным частям вашего проекта.

В области баз данных у вас будет отличная интеграция с SQL Server Express, а в области графического интерфейса Swing не может сравниться ни с простотой использования WinForms, ни с изощренностью WPF / Silverlight.

В качестве дополнительного бонуса вы можете автоматически обновлять приложение с помощью ClickOnce.

1 голос
/ 17 февраля 2010

Мой личный выбор - использовать Java. Вы не должны сталкиваться с проблемами с различными ОС из-за JVM. Тем не менее, программирование GUI в Java может быть громоздким, но есть много хороших руководств о том, как создавать хорошие GUI с использованием Swing.

ЗДЕСЬ - это ссылка на достойный учебник по использованию встроенного Apache Derby, базы данных и JDBC с простым графическим интерфейсом. В этом руководстве не объясняется, как создать графический интерфейс, так как оно больше ориентировано на использование JDBC для доступа к данным.

Надеюсь, это поможет.

1 голос
/ 17 февраля 2010

Тогда используйте Jython , и вы получите лучшее из обоих миров: -)

Кроме того, вы можете писать критически важные для производительности части на чистом Java и легко их интегрировать (более или менее).

1 голос
/ 17 февраля 2010

Самая большая проблема, о которой я могу подумать, - это необходимость установить переводчик.

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

В Python вам также потребуется установить интерпретатор на каждом компьютере.

Один комментатор упомянул .NET. .NET 2.0 имеет довольно высокую вероятность быть установленным, чем Java или Python на компьютерах с Windows. Проблема в том, что вы не можете (легко) установить его в OSX или Linux.

0 голосов
/ 17 февраля 2010

Вы можете довольно быстро запустить и запустить программу с Python 2.6 , модулем pyodbc для интеграции с SQL, PyQT для создания графического интерфейса и py2exe для объединения всего (включая Python) в один исполняемый файл, поэтому вам не нужно устанавливать интерпретатор на каждом компьютере.

Это должно помочь вам начать работу с приложением Python - в StackOverflow имеется множество информации / ответов на все эти пакеты, которые помогут вам в этом. Выполнение некоторых поисков, например this , также поможет вам начать работу ... если вы застряли, вы можете обратиться сюда за помощью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...