Другие языки программирования и технологии

Скажите, насколько дружелюбен язык java к программисту переквалифицирующемуся на него с Delphi?

Zayniddin Zidan
Zayniddin Zidan
5 655
Ну и вопрос ты задал.. . Прямо философский.. . Но - поехали.. .

1. Синтаксис JAVA2 очень похож на синтаксис C++, но отсутствуют (в явном виде - НАЧИСТО! ) некоторые элементы:
- указатели (всех видов, но неявно - они есть! САМА JVM СОЗДАНА НА C++)
- шаблоны функций
- шаблоны классов
- внешние функции
- непосредственное множественное наследование
- ..
Следствия: с одной стороны - язык, да и вся технология JAVA в целом проще, чем Паскаль или С, а с другой стороны - сложнее. Проще за счёт отсутствия многих подводных камней, присущих языкам Паскаль и С. Сложнее - в плане проектирования.

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

2. Сбрасывать со счетов C++ и Pascal - не надо! Боже упаси!! ! JAVA2 - отличное средство для разработки сложных распределённых многоуровневых систем. Чем разрабатываемая система сложнее (по результатам системного анализа предметной области) , тем больше аргументов в пользу выбора именно JAVA2. Но реальная область применения JAVA ограничена прикладным программированием. Стоитвам столкнуться с необходимостью получить непосредственный доступ к функциям ОС, и на JAVA вы тут же будуте вынуждены использовать JNI (Java Native Interface), который вы не реализуете, не прибегнув к помощи PASCAL или C++.

3. "Дружественный" или нет - ещё в немалой степени определяется способностью к обучению и особенностями восприятия, особенностями мышления. JAVA2 - не просто язык программирования. Это и технология, и философия, и склад мышления.. . Но овладеть всем этим, на мой личный взгляд, стоит. Усилия окупятся с торицей.
Омирбек Жанарыстан
Омирбек Жанарыстан
2 926
Лучший ответ
С явой лично не знаком. Но вроде бы она очень похожа на с++. Думаю, не очень сложно будет.
111
111
45 384
Если мозг не захаван, то вполне дружелюбен.
Если же хочется программирования в стиле "перетащить 10 компонентов на форму - вот и программа" - то возникнут проблемы.
То же самое ООП, примерно та же семантика, стопицот готовых либ, но менее выразительный язык и неотключаемая сборка мусора.
Дима Ш
Дима Ш
2 291
Омирбек Жанарыстан В целом верно... Но скорректируй стиль мышления - и JAVA для тебя обретёт невероятную выразительность. А про сборку мусора... Она - не всюду автоматическая... Иначе не было бы никакой нужды вызывать finalize()...
будет тяжеловато тк сам подумываю перейти на яву с дельфи, а вообще ява си подобный язык…
Димаш Д.а.
Димаш Д.а.
186
Омирбек Жанарыстан C++ и pascal - со счетов не сбрасывай! JAVA - мощная штука, но это не "серебряный клинок".