Dla gościa z Javy Python jest anarchiczną zabawą, w której każdy może złapać klub i zacząć manipulować głową.
Dla faceta Python Java jest orwellowskiego wszechświat, w którym stale przykuty do czyimś zmniejsza widok tego, jak kleszcza wszechświata.
Prawda jest wszystkim, co możesz zrobić w jednym języku, możesz zrobić w drugim równie czysto. Jednak, jak wspomniałeś, w obu społecznościach istnieje istotna różnica co do tego, co oznacza czyste .
Sposób Java:
czysty system to taki, który robi to, co jest przeznaczone i nic więcej, nie pozwoli rozszerzeń ani modyfikacji, które są sprzeczne z charakterem zamierzonego celu i będzie próbował je egzekwować w jak największym stopniu za pośrednictwem kompilatora. Elastyczność uzyskuje się poprzez staranne wykonanie prostych interfejsów w ścisłych strukturach. W Javie piaskownica zawsze powinna być wyraźnie ograniczona, a przekroczenie ich spotkało się z szybkim sprzężeniem zwrotnym z kompilatora. Java zapewnia środki do statycznego definiowania struktur obiektów i tworzenia dynamicznych interakcji z ich wystąpień. Kiedy pracuję w Javie, staram się sprytnie tworzyć podstawowe elementy składowe w kierunku rozwiązania martwego mózgu. Przeważnie pracuję oddolnie, gdy mam już roboczą teorię, jak rozwiązać problem.
Java będzie produkować duże oprogramowanie, które może obejmować duże zespoły oraz zapewnia narzędzia i środki do kontrolowania stada. Jeśli pozostanie niezaznaczone, doprowadzi to do tego, że bardzo oderwane zespoły będą działać niezależnie w kierunku coraz bardziej niejasnego celu. W końcu każda drużyna staje się własną „raison d'être”, a system jako całość ulega rozcieńczeniu, prowadząc na manowce główny projekt. Mogą one prowadzić do skrajnych przekroczenia kosztów i ogromnych systemów oprogramowania, które wykonują i utrzymują słabo.
Prawie nigdy nie ma małego, szybkiego i łatwego sposobu na robienie rzeczy w Javie, ale IDE i oprzyrządowanie służą do wykonywania bolesnych zadań zaledwie kilkoma kliknięciami.
Sposób w języku Python:
czysty oznacza zwięzły i czytelny. Dobry system python został zaprojektowany tak, abyś mógł dostać się do jego serca i ujawnić jego najskrytsze sekrety w sposób, który można zrozumieć z kodu zamierzonego zastosowania i celu. Pozwoli również na zaprojektowanie własnego rozwiązania poprzez rozszerzenie i / lub zamknięcie oryginalnego projektu, tak aby działał dokładnie w twoim kierunku. Python zapewnia środki do tworzenia szablonów obiektów, z których można dynamicznie zmieniać instancję w celu dopasowania do potrzeb. W Pythonie mam tendencję do natychmiastowego rozwiązania problemu, a następnie rozłożenia kodu w logicznej strukturze, dzięki czemu ostateczne rozwiązanie pozostaje tak proste i czytelne, jak to tylko możliwe. W Pythonie mam tendencję do pracy z góry na dół i zarządzania złożonością wzrostu poprzez podejście dziel i zwyciężaj.
Zespoły Python będą miały tendencję do produkowania lekkich systemów i bardzo szybko dostarczą działające rozwiązanie. Będą raczej zwartą grupą działającą zamiennie na dowolnej części systemu, sprawdzając nawzajem swoje rozwiązania przy każdej okazji. Żywią się nawzajem, tworząc synergię, która jest dość ekscytująca. Tworzy to jednak zespoły, które trudno skalować do większych systemów i często uderzają w coś w rodzaju szklanego sufitu. Wprowadzenie nowych członków do zespołu pomoże, ale zajmie to trochę czasu, zanim wiedza rozprzestrzeni się na tyle, aby odczuć dodatkową wydajność. Zespół zostaje podzielony, a stały przegląd całego systemu osłabia się, podobnie jak atmosfera z pierwszych dni. Może to prowadzić do nadmiernie skomplikowanego kodu tego, co kiedyś było prostym problemem,
Jest prawie zawsze szybki i łatwy sposób robić rzeczy z Pythona, ale złożoność może być trudniejsze do utrzymania w ryzach gdy system osiągnie określony próg.
Krótko mówiąc, oba mają ciemną stronę i oba mają wyraźną siłę. Jednakże, popychając wzdłuż obu społeczności, przekonasz się, że siła jednej prowadzi do ciemnej strony drugiej i odwrotnie.
Stąd ożywione debaty na temat tego, który jest najlepszy.