@Yippee-ki-yay

Какой язык программирования наиболее удобен для приложения с локальной базой данных?

Добрый день! Помогите, пожалуйста, с выбором языка программирования для создания программы учёта заказов, работающей с локальной базой данных. Примерные пожелания к будущей программе таковы:
  1. Запускаться на компьютере под windows (xp, 7, 8). Желательно, но не обязательно, ещё и возможность работы на планшете (android).
  2. Возможность переноса и выполнения на ином компьютере без дополнительного ПО. Принцип "вставил флешку, запустил exe-шник, работает".
  3. Желательна возможность переносить сведения из базы данных на удаленный сервер через инет.

Изучал ранее Deplhi, но судя по отзывам, что читаю уже два дня, это сейчас не самый распространённый инструмент. Литературы по Delphi практически нету. Поэтому, несмотря на удобство использования Delphi, ищу новый язык, умение программировать на котором не повиснет мертвым грузом.

Пока в кандидатах после беглого обзора литературы языки C# и Java, а в качестве базы данных SQLite. Однако с нуля трудно оценить, что будет более удобным в применении :) Отсюда и возникает вопрос: подойдет ли java для указанных выше целей? Или всё же лучше C#?
  • Вопрос задан
  • 6756 просмотров
Пригласить эксперта
Ответы на вопрос 9
yarosroman
@yarosroman Куратор тега C#
C# the best
1. Настолько кроссплатформенное (Win и Android), я думаю вряд ли возможно, ибо разные вещи, мобильный и оконный интерфейс.
2. Это без проблем, даже писанное на с# можно собрать в 1 EXE переносимый.
3. тут не от языка зависит.

В качестве бд, я бы посоветовал FireBird, может быть и локальной база (есть сборка специальная Embedded называется, аналог SQLite), при этом можно в любой момент сделать сетевой, и настроить репликацию.

Насчет Delphi, не забываем, что это коммерческий продукт, и по хорошему, для коммерческого применения его надо купить. а вот VisualStudio например Express вообще бесплатный, а Community с небольшими ограничениями по использованию, плюс при этом не требуют никаких отчислений при коммерческом распространении продукта.
Ответ написан
@dmitryKovalskiy
программист средней руки
Java будет требовать наличия на клиенте установленной JVM. для С# нужен аналог - .NET Framework, он он устанавливается вместе с системой, в отличие от JVM. Если знаете Delphi - то C# будет весьма близок. Более того - первый архитектор .NET - как раз архитектор Delphi. К сожалению не знаю как работают библиотеки для взаимодействия с SQLite.
Ответ написан
@aol-nnov
> Какой языка программирования наиболее удобен
тот, в который умеешь

> и возможность работы на планшете (android).
java
Ответ написан
master2016
@master2016
Всё нормально.
Душа лежит к java, но практически в этом случае больше подойдет C#.
Ответ написан
@beduin01
D + https://github.com/filcuc/DOtherSide или https://github.com/Jebbs/DSFML

На выходе сможете вообще сделать один бинарик без внешних зависимостей вшив в него все ресурсы
Как это сделать вот тут можете прочитать p0nce.github.io/d-idioms/#Embed-a-dynamic-library-...

Драйвер для БД https://github.com/buggins/ddbc

А книгу для изучения вот эту порекомендую ddili.org/ders/d.en/index.html
Ответ написан
Схема создания приложений для Андроида такова:
flow.jpg
Создавать байткод в .class файлах могут не только компиляторы языка Java, но и компиляторы большого множества других языков. Байткод Java исполняется в среде исполнения Java VM и её аналоге, Dalvik VM:
dalvik.jpg
На портативных устройствах Android установлен runtime Dalvik VM, а на настольных (сегодня это уже размытое понятие) - полноценная Java SE Runtime Environment.
Одно дело - скомпилировать байткод в файл, а другое дело - исполнять инструкции байткода из файла.
Так, Java SE Runtime Environment использует оконную систему низлежащей ОС. В Windows - Windows API, а Linux - X server API. Несмотря на разницу в оконных системах, у них много общего.
А вот на портативных устройствах экраны другие и вместо мыши - касание экрана или перо. Причём, из-за того, что размеры экрана малы, то построение графического интерфейса для настольных и портативных устройств сильно отличается.
Тенденция последних лет - это так называемый "адаптивный дизайн", когда графический интерфейс подстраивается под особенности экрана: автоматически изменяются размеры графических элементов, перескакивают на следущую строку и т.д.

Для написания настольных приложений Delphi подходит.
Для Андроида же можно создавать программы на Free Pascal в связке с laz4android.
Ответ написан
Комментировать
@zedxxx
Если выбирать между Java и С#, то десктопное приложение всё же лучше писать на C#, потому как гуй у явы выглядит слегка кособоко. Delphi так же весьма хорош + абсолютная портативность, в отличии от кандидатов выше. К тому же, при должном умении, на нём можно и под Андроид писать.
Ответ написан
Andrew_Shtein
@Andrew_Shtein
По-большому счёту C# и Java это одно и тоже яйцо но с разных ракурсов. Языки похожи идеологически и технологически и стараются занять схожие ниши. Так что вопрос по-большому счёту сугубо религиозный. Посмотрите туториалы - увидите различия синтаксиса, какой из синтаксисов вам ближе - тот язык и берите. Остальное - это уже рюшечки.
Ответ написан
Комментировать
@luis
Delphi+FireBirdEmbedded
Документации по этой связке - тонны.
Компонентов - тонны.
Для FB есть прекрасные инструменты администрирования и разработки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы