Выбор платформы и языка разарботки клиентов для БД

BOPOHA

Well-Known Member
26.04.2006
118
0
35
Минск
#1
Сейчас разрабатываю на MS Access. Хочу перейти на другую среду: Java, Delphi, .NET, VB6 (ни в одной из них никогда не работал).
Меня не интересует субъективное: "что круче".

Рассматриваемые критерии: скорость обучения, наличие литературы (бумажной и электронной) на русском, скорость разработки приложений для БД, удобство разарботки, возможности среды (на сколько НЕ сложно реализовать что-то не стандартное) наличие для IDE программ командной разработки (типа Visual SourceSafe).

Клиент будет работать под заранее не известной Win. В основном Win98, редко всречаются Win95, появляются тенденции перехода пользователей на Win200 / WinXP.

Дполнительный вопрос: насколько удобно писать на Java сайты, чем Perl или PHP? Т.к. иногда нужно сделать что-то под Internet.

Голосование
 

Гость
#2
.NET. IDE - VisualStudio 2003

Плюсы : Высокая скорость разработки, понятная IDE, литературы под .NET много,
SourceSafe для Visual Studio работает.
Минусы : .NET - глючная штука, но глюки обходимы.
 
S

Shurup

Гость
#3
Java

IDE:
Eclipse, IDEA, Borland JBuilder, IBM WSAD and RAD absed on Eclipse, MyEclipse, NetBeans, Visual Age, .........
Любая подходит :)
Я использую IDEA. Она платная, но кряки есть. У идеи один недостаток - для нее нету нормальных бесплатных плагинов для создания UML диаграм. Поэтому если тебе нужна профессиональная IDE, то лучше JBuilder + Together Arhitect.
Eclipse - бесплатная IDE.

скорость обучения:
Java, на мой взгляд, очень легкий язык, т.е. прекрасно подходит для быстрого обучения либо переобучения. Важный плюс Java в том, что в нем как ни в каком другом (популярном) языке реализованна концепция ООП. Не верь тому, кто говорит, что Java - клон C++. У Java нет ничего, кроме похожего синтаксиса, общего с C++! Это абсолютно разные идеалогии. Синтаксис же просто служит более быстрому переобучению.

наличие литературы (бумажной и электронной) на русском
Не теряй время на изучение книг. Сразу эту:
Bruce Eckel. Thinking in java.

Когда-то по ней учился я. При свободном дне, книгу можно отработать примерно за 2 недели.
Если углубишься в Java, то дальше сам найдешь, что читать
http://www.javable.com
http://lib.juga.ru

И очень рекомендую книгу Джошуа Блоха Эффективное программирование. Считаю, это должен знать каждый Java программист.

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

скорость разработки приложений для БД
Используй, например, hibernate:
www.hibernate.ru

Да, все быстро. Берешь и пишешь. Все детали давно написаны, привыкай писать только бизнес логику. :)

удобство разработки
много IDE,
красивый язык,
простой язык,
IDEA рулит как текстовый процессор и сокращает в разы время написания непосредственно кода
В JBuilder можно рисовать UML, и код тут же сам генерится. Но JBuilder потребует больше времени для осваивания.

возможности среды
(на сколько НЕ сложно реализовать что-то не стандартное)
Да, что угодно... Есть надстройки для АОП (аспектно ориетированное программирование).
Есть технологии, проекты позволяющие использовать принципы АОП при разработке ПО. Глянь Spring, например, через 1-2 месяца.

наличие для IDE программ командной разработки
(типа Visual SourceSafe)
А что есть еще такие IDE, которые не поддерживают какую-то из VCS?
IDEA: perforce, vss, cvs, subversion
Ну, вобщем, все есть. Плагины, есть для всех популярных VCS.

Важно: если вдруг тебе что-то не понравится, перейдешь легко на J# )) и будешь работать на .Net :)
Впрочем C# похож на J#.

Дело в том, что пока писать на Java клиенты не очень здорово. Java лучше подходит для server side программирования. Клиент можно делать в виде аплета, но апплет = на каждом workstation должна быть JRE. Но будущее за Web :)
Глянь какие клиенты гугл делает )) Я имею в виду GMail.com.

Ну и еще интересненькую статью тебе кидаю:
http://russian.joelonsoftware.com/Articles...ttheWaronA.html
 

BOPOHA

Well-Known Member
26.04.2006
118
0
35
Минск
#4
Спасибо за самый полный ответ. Очень помогло. Вы поке первый кто дал такой хороший ответ.

читал...

Дело в том, что пока писать на Java клиенты не очень здорово. Java лучше подходит для server side программирования. Клиент можно делать в виде аплета, но апплет = на каждом workstation должна быть JRE. Но будущее за Web Глянь какие клиенты гугл делает )) Я имею в виду GMail.com.
Увы.. моим клиентам не нужен интернет.... Им нужны мини корпоротивные системы (чаще) и простые регистрационные программки (уже реже).
Web интерфейс - вот что мне не нравиться - он очень мало функциональный. (см. статью выше)

server side программирование - это что?
Я так понимаю весь код выполняется на сервере, а клиент доступается при помощи Web браузера.
 
S

Shurup

Гость
#5
server side программирование - это что?
Я так понимаю весь код выполняется на сервере, а клиент доступается при помощи Web браузера.
Да, именно так. Только вообще говоря клиент может быть любым. Через браузер - это тонкий клиент.
Можно замутить клиента хоть на опенГЛ )) который, допустим, через СОАП будет с сервером разговаривать о жизни.

"Говоря грубо" сервер - это комп без монитора ))) который выполняет две функции:
выполняет вычисления
отвечает за хранение и доступ к информации

Увы.. моим клиентам не нужен интернет....
Сервер может работать не на весь инет, а для intranet'а, т.е. локальной корпоративной сети.
Много промышленных задач этим и ограничевается: супермаркеты, вокзалы, почты и т.д. Они могут быть частично открыты в инет, а могут и полностью. размер сети определяет лишь наскольк одалеко может быть использован клиент )).. Но смысл в централизации хранения данных. Если ты используешь серверную базу данных, то у тебя так все и есть.

Если ты четко знаешь, что твои клиенты будут всегда покупать виндовс, то лучше останавись на C#. Я не могу советовать как его изучать, но знаю, что он тоже очень легкий. Я немного пишу нa C#, но по-ламерски - после java C# и .Net изучается за пару часов (ну чтобы простейшие формочки и dll'ки писать/править) %)))

В C# тоже есть куча всякой хрени для простой работы с базами данных, для работы с XML, XSLT и т.д.
Но используя .Net ты обрекаешь себя на единственную IDE, "по-хорошему" едунственную VCS, хотя subversion вроде тоже катит.. ну и единственную платформу - windows.

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



Web интерфейс - вот что мне не нравиться - он очень мало функциональный
Да, это очень большая проблема. Я надеюсь, что со временем ситуация исправится, есть технологии для создания неплохих клиентов: flash, SVG. Но я с ними не работаю. Еще пока сырова-то, ну и microsoft'у не выгодно :D ето плохоу..

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

BOPOHA

Well-Known Member
26.04.2006
118
0
35
Минск
#7
MS Access - это среда, в которой я профессионал. И мне есть, что о ней сказать. Поэтому и сижу.

Перейти, перешел. На С++. Давно хотелось. Но и Access не оставил.