Istnieją dwa różne punkty. Czy wychowując dziecko, należy umieścić je w bańce, w której są tylko bezpieczne rzeczy, lub pozwolić im bawić się na podwórku, na którym mogłyby się potknąć i spaść?
Przebywanie w bańce jest bardzo restrykcyjne. Musisz napisać swój kod w bardzo specyficzny sposób, aby go uruchomić. Kiedy ludzie zaczynają po raz pierwszy, wszystko, czego nie ma, aby zrobić to, czego chce, jest postrzegane jako marnotrawstwo. Może to również prowadzić do „Nie wiem, dlaczego tak jest, ale ktoś mi powiedział, że to konieczne”.
W Pythonie to nie istnieje. Jeśli chcesz powiedzieć „Hello World”, po prostu print "Hello World"
. Użycie Pythona jako punktu wejścia pozwala komuś rzucić się na ziemię i po prostu napisać kod, którego potrzebują, aby zrealizować to, co chcą. Po raz pierwszy programista nie może zrozumieć wartości enkapsulacji, zanim zrozumie podstawy programowania.
Również w małych programach bezpieczeństwo typu nie jest dużym problemem. Każdy kod, który pisze początkujący programista, będzie niewielki i zawarty. Dopiero gdy będziesz mieć większą bazę kodu, z dużą ilością sekcji, które wykorzystujesz jako warstwy abstrakcji i nie zastanawiasz się aktywnie, gdy bezpieczeństwo tekstu pokazuje, że korzyści płynące z zapewnienia tego, co musisz zrobić. Gdy cały kod znajduje się w tym samym pliku, łatwiej jest po prostu spojrzeć na funkcję i zobaczyć, co zrobiłeś źle.
Inne korzyści:
- Wiele bibliotek, które robią wiele rzeczy
- Elastyczność w nauczaniu zarówno technik programowania obiektowego, jak i funkcjonalnego, bez powodowania, że jeden z nich zmuszony jest wpasować się w język zaprojektowany tak, by robić to samo.
I'm thinking that in a "more static" language it would be harder to shoot yourself in the foot
- Cóż, C i C ++ są wpisywane statycznie i byłbyś bardzo, bardzo zaskoczony, widząc, jak wiele różnych sposobów możesz zdmuchnąć stopę za ich pomocą ...