Ten automatický refaktoring, který ide dělá za programátora, to je podobná záležitost jako jsem uvedl výše. Čím je to levnější, tím méně člověk nad návrhem kódu přemýšlí, tím méně to umí a tím víc pak musí refaktorovat. Tak moc, že si už ani nedokáže představit, že by bylo možno vůbec programovat bez něj. Ve výsledku má špatný kód, potřebu neustále přepisovat kód a hlavně, je tím vychován programátor, který neumí dobře navrhnout kód. A s tím dobrým návrhem mu zatím žádné ide nepomůže. Ale blíží se doba AI v programování, tak to třeba nevadí. Takže fajn, taky styl práce, akorát je zajímavé, že lidé s tímto zvláštním stylem práce, protože něco neumí, si myslí, že jsou něco víc a ostatní nazývají amatéry :-).
Takže to ten amatérský nástroj neumí, ale vlastně je to v pohodě, ne? Až se naučíš vyvíjet, tak dej vědět, protože píšeš hrozný nesmysly.
Jaký amatérský nástroj máte na mysli? Python? Ne, ten to neumí, stejně jako to numí Java. Myslíte nějaké IDE? Nevím, nikdy jsem neměl tu potřebu.
Přijde mi zvláštní, že mě k tomu, abych se naučil vyvíjet, vybízí někdo, kdo má potřebu rutinně měnit tisíce výskytů veřejného rozhraní v tisícovkách souborů. Umíte si představit, že by někdo chtěl ve stdio.h přejmenovat rutinně printf na fprint? Znamená to, že C se nehodí na velké projekty? Hodí, ale není určen do ruky amatérům.
To co chcete je, ať se vám to líbí nebo ne, amatérské. Není to a nemůže být běžná potřeba takto měnit veřejné rozhraní. A navíc podle toho posuzovat vhodnost jazyka. Nechci být ošklivý, ale tohle může být důležité pouze pro amatéry a začátečníky, kteří ještě neumí programovat a ti u velkých projektů nemají do dělat. Protože tohle zavání hodně špatným návrhem aplikace, zvláště když je to potřeba dělat významně často. Zajímalo by mě, jaké důvody vás vedou k potřebě měnit široce používané veřejné api.
Chápu potřebu hromadného předělávání kódu u statického jazyka, když se mění datové typy hodnot se kterými program musí pracovat, to je pro statické programy problém. S tím dynamické jazyky problém nemají. Ale předělávat neustále veřejné rozhraní? To je prasárna, ať se na to člověk dívá jak chce. A to je to, o čem jsem psal, tato možnost vede ke špatným návykům a tyhle špatné návyky si teď obhajujete. To je celé.
Tušíj, že vaše potřeba opět souvisí se statickými typy. Něco ve smyslu, že najednou potřebujete místo obecného send() mít sendType1(), sendType2(). Tedy opět věc, která dynamické jazyky netrápí. Ale i ve statickém jazyku si s tímto lze poradit rozuměji, než neustálým předěláváním veřejného rozhraní. A když už se tím člověk jednou spálí, dá si pozor a příště si rozhraní navrhne flexibilněji. Zvlátě když dělá na velkém projektu, kde je flexibilita nezbytná, pokud má být kód dobře udržovatelný.