The Python Paradox – tłumaczenie

Poniżej zamieszczony jest przekład krótkiego tekstu Paula Grahama, opublikowanego w sierpniu 2004 roku na stronie WWW autora. Oryginalny tekst można znaleźć pod adresem http://paulgraham.com/pypar.html.

UWAGA: nie jestem profesjonalnym tłumaczem, przekład może zawierać błędy. Ostatnia modyfikacja tłumaczenia: 31 stycznia 2005 roku, 25 lutego 2006 dodałem przypis.

Dzięki uprzejmości serwisu prv.pl, tłumaczenie można teraz skomentować: .

25 lutego 2006 roku tłumaczenie trafiło do  polskiej edycji reddita.

Paradoks Pythona

Niedawno podczas rozmowy powiedziałem coś, co zdenerwowało wiele osób: że programiści zatrudnieni w projekcie związanym z Pythonem mogą być mądrzejsi1) od programistów z projektu związanego z Javą.

Nie chciałem przez to powiedzieć, że programiści Java są głupi, tylko że programiści Pythona są mądrzy1). Nauczenie się nowego języka programowania to duży wysiłek. A ludzie nie uczą się Pythona po to, żeby dostać pracę; uczą się go, ponieważ naprawdę lubią programować i nie są zadowoleni z języków, które już znają.

Czyni to z nich dokładnie ten rodzaj programistów, który powinny chcieć zatrudniać przedsiębiorstwa. Dlatego właśnie, z braku lepszego terminu, nazwę to Paradoksem Pythona: jeśli przedsiębiorstwo decyduje się na napisanie swojego oprogramowania we względnie ezoterycznym języku, będzie mogło zatrudnić lepszych programistów, ponieważ przyciągnie do siebie wyłącznie tych, którzy byli wystarczająco dobrzy, by się tego języka nauczyć. Określenie tej sprzeczności z punktu widzenia programisty jest nawet lepsze: język programowania, którego najlepiej się nauczyć by znaleźć dobrą pracę to język programowania, którego ludzie zwykle nie uczą się po to, by znaleźć pracę.

Niewiele przedsiębiorstw okazało się na tyle mądrych, by to sobie uświadomić. Ale i tutaj występuje rodzaj pozytywnej selekcji: są to dokładnie te przedsiębiorstwa, w których programiści najbardziej chcą pracować. Przykładowo Google. Gdy ogłaszają nabór programistów Javy, chcą również doświadczenia w programowaniu w Pythonie.

Mój przyjaciel, który zna niemal wszystkie powszechnie używane języki programowania, korzysta z Pythona w większości swoich przedsięwzięć. Mawia, że najważniejszą tego przyczyną jest to, że podoba mu się wygląd kodu źródłowego. Taki powód wyboru konkretnego języka programowania może wydawać się niepoważny. Nie jest to jednak tak niepoważny powód na jaki wygląda: kiedy programujesz, spędzasz o wiele więcej czasu na czytaniu kodu źródłowego niż na pisaniu. Dokładasz warstwy kodu w podobny sposób, jak czyni to rzeźbiarz tworzący rzeźbę z gliny. Zatem język, w którym kod źródłowy wygląda źle, jest niewygodny dla dokładnego programisty, podobnie jak źle wyrobiona glina dla rzeźbiarza.

Kiedy wspomina się o brzydkim kodzie źródowym, wielu osobom nasuwa się myśl o Perlu. Ale powierzchowna brzydota Perla nie jest tą, o którą mi chodzi. Prawdziwa brzydota to nie trudna z wyglądu składnia, lecz konieczność budowy programów z niewłaściwych koncepcji. Program perlowy może wyglądać jak przekleństwa komiksowej postaci, ale są przypadki w których konceptualnie przewyższa Pythona.

Podsumowując, oba języki cały czas się rozwijają. Ale wspólnym dla nich, podobnie jak dla języka Ruby (oraz Icon, i Joy, i J, i Lisp, i Smalltalk) faktem jest, że zostały stworzone i używane przez ludzi, którzy naprawdę troszczą się o programowanie. Tacy zwykle mają skłonności do tego, żeby programować dobrze.

przypisy

1) W oryginale „smart”, co dosłownie znaczy „sprytny”, ew. „cwany”.


ostatnia aktualizacja: 2006-02-25