Spíše jestli to nechápeš špatně ty. Proč se teda ten tvůj Smalltalk a dynamické typování skoro na nic nepoužívá? Pochybuju, že tvůrci C++ a Javy byli úplně mimo a nic nechápali. Neříkám, že musejí být lepší než ty, ale podle těch tvých hlášek tady pochybuju, že bys uměl programovat. Pokud máš problém jen s tím, že Java je OOP, tak je na čase si to tu pro tu debatu trochu změnit.
Takže ještě jednou, proč se používá skoro na všechno Java, když je tak špatná? Dyť by ti podnikatelé raději mohli ušetřit a prodávat luxusní věci, ne? Neříkám, že je úžasná na všechno, ale ty máš určitě hromadu lepších přístupů, které plno problémů odstraní. A nebo jsi jen nic pořádného nedělal, nevím.
Na druhou stranu nemám moc rád dnešní vývoj, kdy plno lidí umí návrhové vzory a patlání. Většina vzorů je totiž fakt jen opruz navíc, který to spíše zkomplikuje. Jak kdy, ale obecně Java se píše daleko složitější a nedá se pak ani číst. Což je škoda. Takže možná na tom něco bude.
Přesně stejný dojem to budí i ve mně.
Právě třeba to Ruby je přesně ono. Pro mě je to dynamický shit, který nelze stejně na nic použít. Frčí to hlavně kvůli webům. To je jako PHP. Takže beru, že je populární, ale ne u pořádného vývoje. Proto pořád zůstává otázka, jestli lze tyhle dynamické "hračky" použít na seriozní vývoj.
Stáhni si Pharo, k tomu třeba pdf-knížku Pharo by Example a ve volných chvílích si s tím hraj. Čistě jen pro zažití, že to OOP se dá dělat i trochu jinak, než je člověk zvyklý. Ne snad kvůli tomu, abys pak dělal v něčem jiném, ale ono to člověka ovlivní. Pak najednou sám sebe přistihne, že by spoustu věcí i v té Javě dělal trochu jinak než vídá, nebo dokonce jinak, než mu radí knížky. Mirek už ti tu doporučoval Elixir, s tím si taky tak můžeš hrát. Ne snad kvůli zahození Javy, ale k tomu, aby člověk uzřel, že na jednu a tu samou věc, jeden problém, se dá dívat z různých stran a že různé problémy vypadají z různých stran různě příjemně/nepříjemně. A podle toho se pak umět lépe rozhodnout, z jaké strany bude nejvhodnější do toho ty vidle vrazit. Připadá mi to mnohem užitečnější než všelijaké ty knížky "Jak se naučit psát super dokonalý kód za 30 dní" apod.
A jsem rád, že to probíráme, takže to není nic proti nikomu. Možná ale embedded je právě o menších a přesných programech? Tam bych si dovedl představit dynamické typování, protože ta velikost nemusí být tak velká. Ale nevím, třeba je to velké i tak.
Bývají to i docela rozsáhlé věci. V této branži ale spíš platí opak - čím méně dynamické, tím lépe, statická typová kontrola, kde to jen jde, mít stále na paměti omezené prostředky, časové nároky více či méně realtimové... Přestože objektové programování tady dostává reálný význam jako málo kde jinde, protože ty objekty budou často představovat opravdu objekty reálného světa, ty černé krabičky jsou opravdu nějaké krabičky, s kterými se komunikuje po nějakých drátech, tak z praktického hlediska se tu "OOP" (i to C++kové, natož něco dynamického) spíše nadužívá. Když neustále hrozí hláška linkeru "out of memory", tak se s tím moc rozumně objektově programovat nedá.