Cześć.
W internecie są umieszczone inne tego typu poradniki, jednak często widząc ich treść (Java do systemów operacyjnych itp.) zachciałem stworzyć jeden lepszej jakości.
Przeczytałem z uwagą Twój wpis i mam nadzieję że to nie jest ów poradnik lepszej jakości. Stosujesz w swoim poście uogólnienia i zawężenia kontekstu, z tego co można wywnioskować - sprowadzeń do Twojego doświadczenia (co podpada odrobinę pod próbę dowodzenia anegdotycznego). Żeby nie być gołosłownym, spróbuję wyłuskać, co budziło we mnie wewnętrzny sprzeciw podczas czytania.
Pierwsza zasada: nie kierujcie się pieniędzmi. Co wam dadzą pieniądze jeżeli praca to koszmar.
W jedną stronę to dobra rada. A co w przypadku, kiedy wykonujemy swoją pracę (z definicji - zarobkowo) którą kochamy, a dostajemy za to marne grosze? Oczywistym jest, że za dobrą pracę oczekuje się dobrego wynagrodzenia i niekierowanie się pieniędzmi w takim wypadku jest mało rozsądne.
Druga zasada: spróbuj wszystkich języków i wybierz ten który Ci najbardziej pasuje. Zaczynałem się uczyć Javy jednak zrezygnowałem. Powód: obecny człowiek jest bardzo leniwy i nie chce mu się instalować jre więc po co ma brać grę na jave. I tak zacząłem używać c.
Sama zasada poniekąd słuszna. Piszę "poniekąd", bo uważam że nie ma opcji żeby spróbować wszystkich języków. :) Zmieniłbym jej brzmienie raczej na takie, które sugerowałoby spróbowanie kilku flagowych języków z różnych zakątków stosu technologicznego.
Jednak uzasadnienie dobrane, według mnie, fatalnie. Zrezygnowałeś z nauki Javy, bo ktoś nie zainstalował u siebie JRE? :) Od tego są instalatory programów (na różnych OSach w różnych formach), żeby dać użytkownikowi w pełni funkcjonalny produkt, bez konieczności ręcznego dociągania zależności.
Trzecia zasada:jeżeli ukierunkowałeś się na jedną rzecz (np. pisanie os) to nie każdy język się do tego nada. Do os najlepiej c i assembler, a do gier na androida java.
I znów: zasada słuszna, a uzasadnienie mniej. Nic nie stoi na przeszkodzie, żeby zbudować OS w Javie - patrz platformy wbudowane, m.in. większość rynku telefonów komórkowych sprzed ery smartfonów, czy chociażby JavaOS. :) Tyczy się to też masy innych języków - zestaw ASM + C nie jest jedynym słusznym.
Do gier na Androida niekoniecznie najlepiej Java. Dobrym pomysłem jest wykorzystanie C++ (kod wykonuje się z pominięciem maszyny wirtualnej, co daje bonus w postaci wydajności i możliwości swobodniejszego dostępu do pamięci) czy C# (wykorzystanie Xamarin, Unity). Na Androida mamy również Kotlina, który jest (dla niektórych) bardziej przejrzysty, co można również wykorzystać przy budowaniu często skomplikowanych aplikacji.
Czwarta zasada: myśl do przodu. Niektóre języki mogą stać się bezużyteczne w ciągu dnia. Narazie html jest bardzo potrzebny, jutro może ktoś wymyśli sposób na ominięcie go w technologiach webowych.
Podasz jakiś przykład, gdzie język stał się bezużyteczny w ciągu dnia? :) Szczerze mówiąc, nie widzę sensu w omijaniu HTML, jako że on po prostu się sprawdza w warstwie prezentacji, nie mówiąc o tym że cały Internet (i nie tylko) HTMLem stoi. Nikt nie porzuca ot tak technologii które dominują na rynku, to przynosi wymierne straty.
Odnośnie piątej zasady wypowiedział się WireNess i nie mam tutaj wiele do dodania.