O ile mi wiadomo, to np. interpreter CPython w większości jest napisany w C więc tutaj pytam: co w takim przypadku nie jest zaimplementowane w C mając to na względzie?
A odróżniasz funkcje biblioteczne od interpretera/ VMki? Interpreter i VMka Javy są napisane w C++, ale kolekcje w Javie (funkcje biblioteczne) są napisane w Javie.
Wydaje mi się, że zyskują z roku na rok proste języki programowania w których się szybko pisze(błyskawicznie wręcz - programowanie z prędkością myśli) takie jak Python. Ponieważ czas programisty teraz jest najważniejszy, oraz jak najszybsze napisanie aplikacji, programu, a zasoby komputera schodzą na drugi plan. Wydajność komputera się szybko zwiększa, a podzespoły są coraz tańsze. Sam Python nie misi być wolny
Kod źródłowy Pythona jest write-only. Refaktor złożonego kodu kaczo-typowanego działa słabo. Gdyby statyczna analiza kodu działała w Pythonie tak samo dobrze jak w Javie i C#, to Python już dawno wyparłby Javę i C# z większości korpo projektów. Python za to świetnie się sprawdza przy skryptach, małych aplikacjach i ogólnie jako glue code.
Musisz wziąć pod uwagę to, że korpo-rzeczywistość jest zupełnie różna od hello worldów, które klepiesz przy okazji nauki nowego języka. W Pythonie bardzo szybko można prototypować niezależną aplikację, ale rzadko kiedy w korpo coś takiego robisz. Typowe zadanie w korpo polega na przegrzebaniu się przez system o rozmiarze liczonym w setkach tysięcy linii kodu, którego nikt w 100% nie ogarnia (dlatego koledzy z zespołu muszą się nieustannie wspierać - każdy zna coś innego, więc pomoże z tym) i przeoraniu go tak, by zmusić go do obsługi nowego bajeru mimo iż nie był on zaprojektowany by ten nowy bajer obsługiwać (zasada YAGNI). Bez solidnego wsparcia od IDE, które automatyzuje nawigację, refaktor, analizę kodu (np hierarchie dziedziczenia), wyłapuje błędy na bieżąco, podpowiada składnię, itp itd ciężko funkcjonować w projektach o takiej skali.
Jak szybko trzeba klepać kod, żeby naklepać milion linii kodu? Załóżmy, że w projekcie pracuje średnio 10 programistów, a projekt ma 10 lat. Każdy pracuje 200 dni w roku i klepie 5 godzin dziennie. Daje to 100 tysięcy roboczogodzin. By naklepać milion linii kodu w takim czasie każdy programista musi dodawać średnio 10 linii kodu na roboczogodzinę. Do tego dochodzi jeszcze refaktor kodu już istniejącego, więc tak naprawdę zmienionych linii kodu musi być powiedzmy 20 na godzinę. W rzeczywistości tempo jest chyba mniejsze, ale i tak naklepanie miliona linii kodu w jednym zespole (wliczając rotację zatrudnienia, bo rzadko kiedy ludzie wytrzymują w projekcie 10 lat) to nie jest jakiś nieosiągalny wyczyn.