Чому Java

І так у моєму арсеналі з'явилася ще одна мова програмування. Взагалі я знайомий з: bash, html + javascript, php, perl, python + Tkinter, c++ і Qt, Lazarus-Delphi-Cbuilder, Pascal і C. Останні 2 не було напевно сенсу виділяти так як Delpih - object pascal, а не знаючи Сі неможливо писати у зв'язці c++ і Qt, проте. Я не кажу, що я є професіоналом у всіх цих мовах, але на кожній з них, свого часу, вирішувалося успішно якесь завдання. Я навів цей список не для того, щоб похвалитися, а для того, щоб надалі, ті, хто забажає відповісти на моє запитання, міг привести порівняння з вищепереліченими мовами. Немає потреби порівняти, наприклад з Ruby, для мене це буде порожній звук. Я абсолютно не знайомий з цією мовою і не збираюся з нею знайомитися просто за переконаннями.

Отже ми підійшли до головного, а точніше пройшли повз Java. Все якось збирався, але так і не зібрався познайомитися з цією мовою. Настав час X і я почав переглядати статті про написання коду на яві. І виявив, що не можу знайти для себе стимулу писати цією мовою. Все, що я читав мене не надихало.

Наприклад:Python і Tkinter - просто принадність якщо вам треба щось звалювати на коліна. Бібліотека Tkinter по максимуму позбавлена ​​зайвої писанини, та й власне сам пітон. Наприклад наводимо «Hello world!» у GUI.

Немає напевно жодної мови, де ви написали менше коду для GUI. Цим я й надихнувся свого часу.

Qt і C++ - тут навіть напевно зайве говорити, що швидше за цю зв'язку ні чого не працює. Плюсом до цього є ще й QtCreator. Тож швидкість розробки дуже пристойна. Також напишемо "Hello World!".

java
Як бачите все досить логічно та осмислено. І не так багато писанини.

Наступний кандидат Lazarus. Тут треба зазначити, що вам взагалі не доведеться писати код. Натомість вам потрібно зробити два кліки мишкою і в caption вписати «Hello, World!». Але це буде не зовсім чесно. Тому ми зробимо це у події OnCreate основної форми.

писати
Не дивлячись на те що коду тут пристойно, руками вам доведеться написати всього один рядок Інтерфейс тут виходить дуже і дуже приємний, жодних лагів, смикань та іншої нісенітниці. Є безліч сторонніх компонентів, таких як LazReport та ZeusDBO. І навіть у стандартному постачанні Lazarus має дуже потужний арсенал. Приємно здивувався, що є під linux arm-архітектури. Головне не забути очистити виконуваний файл від дебага і стиснути сам exe-файл, якщо ви використовуєте його як windows компілятор. Екзешники виходять дуже дрібними. І найголовніший плюс – це швидкість розробки. Я думаю тут нічого протиставити навіть близько. Білдер середовище просто супер! Для роботи з базами DataSource, DBGrid, DBEdit тощо, аналогів не зустрічав.

Але з кожним днем ​​я все більше чую про популяризацію Java. Мабуть це пов'язано з популярністю андроїда, де основним інструментарієм залишається android studio з java. Є звичайно можливість писати на NDK але мало документації та багато рутини та googl дуже неохоче підтримує цей напрямок. Хоча всі визнають, що такий код значно швидше. А на мою думку це дуже суттєво для андроїда.

Отже моє знайомство я явою. Для початку став розглядати її як інструмент для створення інтерфейсу для десктопів. Зрозуміло, що треба дивитися у бік фреймворків. Ну ось що я побачив:

1. AWT - начебто швидкий, як інтерфейс схожий на осевський. Але до пуття ні чого не може і на сьогодні морально застарів. Функціонал нижче за плінтус,немає таблиць і навіть не може іконки на кнопки вішати. Та ще й виявляється, деякі компоненти можуть взагалі не працювати на «нерідних» платформах. Програма буде виглядати кривавою.

2.Swing - набір компонентів покращився, море доки, але іноді взагалі вішає систему, вимогливий до ресурсів, повільніше AWT.

Ну традиційний Hello world! на swing-і прямо з ораклівської документації.

Це вже фреймфорк, а це найпримітивніший «Hello world!»! Подобатися? І мені ось не дуже!

Термін «кросплатформність», звичайно, дивлячись що під ним розуміти. Ось так виглядає клієнт UTM5 java на моєму нетбуку від нашого білінгу.

чому
Обрисування убога, при динамічному оновленні жахливі лаги. Весь якийсь кострубатий. І він запуститься якщо тільки у вас оракловська java і жодних openjdk. А запускається він дуже довго. Ось чесно скажу, що після таких демок не додається бажання писати на яві.

Трохи занудію. Багато років тому я написав свою першу програму на бейсику. Комп'ютер був Електронника-БК. Потім з'явився ДВК, де я освоїв ази паскаля і потім потрапив до рук Спектрум-Z80. З якого я почав вивчати assembler, оскільки щось вартісне і швидке можна було написати тільки на ньому. І коли я вже став старшим і познайомився з програмістами з нашого заводу. Я отримав доступ до заводської бібліотеки, де мені в перші руки потрапила книга про програмування на Сі. Я був уражений його синтаксису його знаменитими "++" "--" "+=", фігурними дужками за місце begin та end. Його гнучким конструкціям, які дозволяли значно знизити кількість символів, що набираються. Я бачив що ця мова створена щоб на нійПпрограмувати! А що діється зараз? Для простого виведення в консоль я маю написати ось цей марний хвіст.system.out., а якщо це серйозна програма, де мені потрібно написати тисячі таких висновків? Скільки витраченого часу піде просто на набір тексту? Ну ось так справи з десктопом.

Я також багато чув про те, що ява використовується для якихось серверних рішень. Але так само знаю, що ява програє в швидкості додаткам на Сі. І за порівнянною інформацією, приблизно це в 2 рази. Для серверів у 2 рази. Я в себе систему з нуля перебудував щоб отримати приріст вдвічі. Було проведено величезну роботу. Я заощадив половину заліза, і ця половина нам дозволила підняти ще одне місто для надання послуг інтернету!

Ну як мені підійти до керівництва і заявити, що я вирішив все переробити на яву, але нам потрібно докупити ще половину обладнання. Вперше мене просто, примусово відправлять у відпустку.:)))

Ось власне моє запитання – «Чому JAVA. ». Чому і хто її для себе колись вибрав? У чому її переваги? Що на ній можна робити що не можна іншими мовами? Чим вона хороша?

Для себе зробив висновок, що це монстр з величезним споживанням ресурсів, не зручний код із безліччю писанини. Який з натяжкою підходить для користувацьких додатків і тим більше не підходить для серверних рішень. Можливо я помиляюся та буду радий якщо ви переконаєте мене у протилежному.

Тільки прошу вас не уподібнюватися американцям, які вважають, що вони найкрутіші, при цьому не виїжджали жодного разу за межі країни, і не можуть відповісти чому.

Дуже хотілося б почути людей хто програмував кілька років іншими мовами і пізнав яву в порівнянні.

Ви можете допомогти і перевести небагато коштів на розвиток сайту