Для хлопця Java Python - це анархічний гравець, де кожен бажаючий може схопити клуб і почати маліти голову.
Для хлопця з Python Java - це орувелівський всесвіт, де ви постійно забиті на чужий зменшуючий погляд на те, як клічуть Всесвіт.
Правда - це все, що ти можеш зробити на одній мові, а в іншій зробити так само чисто. Однак, як ви вже згадували, існують важливі відмінності в обох громадах щодо того, які чисті засоби.
Спосіб Java:
чиста система - це те, що робить те, що призначено, і нічого іншого, вона не дозволить розширень або модифікацій, які суперечать природі передбачуваної мети, і спробує їх максимально застосувати через компілятор. Гнучкість досягається ретельним складанням простих інтерфейсів у строгих структурах. У Java один пісочний ящик завжди повинен бути чітко обмежений і переступати з ним, швидко відповідати компілятором. Java надає засоби для статичного визначення об'єктних структур та створення динамічних взаємодій з їх примірників. Коли я працюю на Яві, я намагаюся вміло створити основні будівельні блоки для мертвого рішення мозку. Я здебільшого працюю знизу вгору, коли маю робочу теорію щодо вирішення проблеми.
Java, як правило, виробляє велике програмне забезпечення, яке може охоплювати великі команди та надає інструменти та засоби, щоб тримати стадо під контролем. Якщо це буде без нагляду, це призведе до того, що дуже чіткі команди працюватимуть незалежно для досягнення незрозумілої мети. Врешті-решт кожна команда стає власною «raison d'être», і система в цілому стає розбавленою, відводячи головний проект. Це може призвести до надзвичайних перевитрат витрат та величезних програмних систем, які працюють погано та працюють.
Майже ніколи не існує невеликого швидкого та простого способу робити речі на Java, але IDE та інструменти є для того, щоб зробити болісні завдання лише за кілька кліків.
Спосіб Python:
Clean означає стислий і легко читабельний. Хороша система пітонів розроблена так, щоб ви могли потрапити до її серця і розкриває її найпотаємніші таємниці таким чином, щоб ви могли зрозуміти з коду передбачуване використання та призначення його. Це також дозволить вам розробити власне рішення навколо, розширивши та / або інкапсулювавши оригінальний дизайн так, щоб він ішов саме у вашому напрямку. Python надає засоби для створення шаблонів об'єктів, з яких ви можете динамічно змінювати екземпляр, щоб відповідати потребам. У python я схильний вирішувати проблему одразу, а потім поширюю код у логічній структурі таким чином, що остаточне рішення залишається настільки ж простим і читабельним, як може бути. У python я схильний працювати зверху вниз і керувати збільшеннями складності за допомогою підходу «ділити і перемогти».
Команди Python прагнуть виробляти легкі системи та будуть дуже швидкими в наданні робочого рішення. Вони будуть, як правило, тісними в'язаними зв'язками, що працюють взаємозамінно в будь-якій частині системи, що підтверджує рішення один одного, кожен шанс, який вони отримають. Вони живляться один одним, створюючи синергію, яка досить хвилює. Однак це створює команди, які важко масштабувати до великих систем і часто потрапляють у своєрідну скляну стелю. Представлення нових членів команди допоможе, але знадобиться певний час, щоб знання поширилися навколо, щоб відчути додаткову продуктивність. Потім команда розбивається, і постійний огляд всієї системи розбавляє, як і атмосфера перших днів. Це може призвести до занадто заплутаного коду до того, що колись було простою проблемою,
Майже завжди є швидкий і простий спосіб зробити речі з Python, але складність може бути важче контролювати, як тільки система досягне певного порогу.
Коротше кажучи, обидва мають темну сторону і обидва мають чітку міцність. Однак, просуваючись по обох спільнотах, ви побачите, що сила однієї веде до темної сторони іншої та навпаки.
Звідси гарячі дебати щодо того, що найкраще.