Szybkość pisania kodu.
Może nie tyle szybkość pisania kodu, co brak jawnego pisania typów w kodzie pozwala na elastyczność w przypadku zmiany zdania - chociaż bardziej mam na myśli typowanie na poziomie całych obiektów, np. duck typing (obiekty nie mają jawnie zdefiniowanych interfejsów/typów, ale każdy obiekt można uznać za obiekt dowolnej "klasy" - wystarczy, że będzie miał w sobie odpowiednie metody/właściwości, których potrzebujemy), albo możliwość dodania/usuwania właściwości i metod z obiektów na żywca.
Nie zawsze są to ładne praktyki, ale jednak przydatne. Nie wiem jak coś napisać, w JS dodaję po prostu właściwości do istniejącego obiektu (czasem nawet w trakcie działania programu, przy debugowaniu) i patrzę co się stanie. Przyśpiesza to prototypowanie rozwiązań..
Natomiast w językach, w których obiekty są zawsze ustalonego "typu", tak się nie da, bo tam wszystko trzeba zadeklarować, czy klasa implementuje dany interfejs, jakiego rodzaju obiekty przyjmują metody, co zwracają itp. Więcej roboty przy sytuacji, kiedy się kod silnie modyfikuje.
@LukeJL, możesz podać przykład języka ze słabym statycznym typowaniem?
Sam się zastanawiam, właśnie dlatego napisałem, że teoretycznie takie istnieją (chociaż podobno C jest takie, ale nie będę się spierał).