I tvurce sam rika, ze hlavnim cilem je, aby se podprumerny programator (clovek bez zkusenosti - student po skole) byl to rychle schopen naucit.
Nevím, jestli's to trochu neposunul.
The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.
http://nomad.so/2015/03/why-gos-design-is-a-disservice-to-intelligent-programmers/#fn-601-1
Chtít, aby byl jazyk tak jednoduchý, aby v něm byl "normální" programátor schopný rychle psát kvalitní kód, je imho docela dobrá myšlenka. Je to lepší než když vymyslím skvělý jazyk, který ale lidi nepochopí a tak radějí píší (třeba) v tom Pythonu. Mimo to, jednodušší jazyk znamená taky např. rychlejší kompilaci, snadnější vytvoření nástrojů, snadnější refaktoring, snadnější typovou inferenci (vím s jistotou, že bude fungovat dobře vždycky) apod.
Myslím, že to není tak blbý, jak jsi to vykreslil.
Jiste, proti slozitosti nastroju nemuzu nic namitnout, ale neberu to jako duvod, proc udelat "hloupy" jazyk. Prace stroje je o nekolik (desitek?) radu levnejsi, nez prace programatora. Pokud mam jazyk s nizkou mirou abstrakce, jako Go, tak je programator odsouzen k opakovani psani a cteni boilerplatu.
Mimochodem, co se stane, az se z podprumerneho programatora bez zkusenosti stane programator prumerny, ktery by tu Javu daval s prehledem? Odpovim si - bude muset zacit prasit, protoze to jinak nejde (rozepsano dale).
5x mini-jazyk trpici vaznymi nedostatky typu Go.
Žádný "vážný nedostatek" jsi ale nezmínil. Absenci uživatelských* generik tak můžu chápat. Anebo ne. Co dál?
Existují poměrně rozumné argumenty (já s nima nesouhlasím, ale jsou respektuhodné), že uživatelská generika zas tak nutná nejsou. Koneckonců třeba C taky generika nemá - je to tímpádem podřadný jazyk pro blbečky?
C neni jaksi zamyslen jako univerzalni jazyk, nic co by melo nahradit Javu, Python ci JavaScript. Nebo snad Go aspiruje nahradit C? Rozhodne nesouhlasim s tim, ze uzivatelska generika nejsou nutna. Minimalne pro knihovny se dost hodi a obcas je pouziji i ve svem kodu (a to se tim nezivim, lidi kolem Javy to urcite budou pouzivat vic, nez ja se Scalou [kde jsou navic alternativy], ktery si s tim hraje par hodin tydne).
* afaik Go generika má ve standardní knihovně - akorát si nemůžu vytvořit svoje
Boileplatu jako v Jave
Míň minimálně díky typové inferenci.
Videl jsem, jak se "resi" generika. Copy/paste, potlacenim typove kotroly ci generatory kodu. Nic jineho nez fuj na to rict nemuzu. Kdyby byla rozumna nahrada, nejake typeclassy nebo neco podobneho, tak nic nereknu, ale (nejen) z meho pohledu je ten jazyk zamerne oklesteny, kvuli tomu v realnych projektech casto pokulhava a slaby type system se resi generatory kodu, ktere nejsou rozhodne jednoduche a urcite slozitejsi, nez kdyby pridali napr. generika ala Java, prestoze jednoduchost je jeden z hlavni duvodu proc pouzivat ten jazyk.