Mam 20-letou zkusenost developera a souhlasim s nazory, ze Java jako jazyk je zastarala, nudna a programovani v ni je opruz. Jedine co je na ni fajn je rozsirenost, plno kodu, knihoven, virtualnich masin, utilitek a neni od MS. Kdyz nepouzijete C++ a nechcete do MS sveta, pak vam toho moc nezbyva. A jeste jedna vec Java neni opensource jak si mnozi mysli.
C# + .Net je platforma Microsoftu, coz je pro nektere problem. Existuje ISO standard podle, ktereho bylo vytvoreno Mono. Mono funguje na MacOS, Linuxu i Windows a neni problem udelat (treba v GTK pokud je potreba UI) nejakou multiplatformni aplikaci, ktera jde bez rekompilace spustit na techto platformach. Myslim, ze jede i na Armu a v C# se pisou hry na konzoly. Mono jede v urcite forme i na Androidu a IOS, ale to uz je zpoplatnene. Existuje Xamarin Studio, ve kterem se da docela pohodlne vyvijet. A hlavne je to vsechno rychlejsi nez Java a je to levny, rychly a prijemny vyvoj. O to o jde v prve rade.
C++ je hrozne nepovedeny jazyk prinasejici OOP do C. Bohuzel nic jineho tu neni, krome Objective C, ktere je snad jeste horsi. Ale da se s tim zit, kdyz si privyknete, zautomatizujete procesy vyvoje tak se to da. Vyvoj je drahy, pomaly, neprijemny, ale ma jedno zasadni plus - jde vytvorit vse a lze vyuzit stroj na maximum. Aplikace napsane v C++ jsou (pokud se dobre napisou) prenositelne na ruzne architektury a platformy. Jsou rychle, rychle se spousti a spatne se dekompiluji. Cecko a C++ jsou proste zaklad sw pocitacu a tak to zustane at se to nekomu libi nebo ne.
Dale tu mame dalsi jazyky jako treba Python - takovy moderni basic s OOP. Hrozne pomaly oproti ostatnim, ale da se fintama mnohonasobne zrychlit (prevodem do C++ a kompilaci, nebo JIT prekladacem, pouzivanim knihoven napsanych v C++ apod.). Hodi se spise na mensi projekty. Skriptovani pluginu apod. Nikdy jsem nepochopil proc je tak popularni.
Javascript je to same. Ma skvele vlastnosti kvuli kterym si ho zamilujete, ale pak i priserne, kvuli kterym ho budete nenavidet (globalni promenne/context). Nechci to tu vsechno rozepisovat. Pouziva se hlavne v oblasti webu, na skriptovani, a zacal se pouzivat i na serveru.
To jsou zaklady, pak je tady plno dalsich jazyku, ve kterych lze psat aplikace. Nektere jsou specializovane na urcitou vec a nektere jsou obecne.
1. Lidi pouzivaji Javu od Oracle
2. Java ma Oracli licenci, viz.: http://java.com/en/download
3. Licence nevyhovuje Open source definici: http://opensource.org/osd
4. Pokud nekdo vytvori vendor lock, proprietarni, ci komercni software na zaklade open source, pak to nemuzeme nazyvat open source.
Chápu vaši roztrpčenost nad C++.
Byl bych ale s jeho hodnocením milosrdnější.
Je to přeci dnes už jen starší jazyk (80. léta) navazující na ještě starší tradici C.
Za ta léta se do jazyka nakupí věci, jako kdyby Pejsek a kočička vařili dort.
Ta kumulace historismů bez radikální reformy je bohužel nevyhnutelná, jak velký Björn někde myslím řekl, že je problém s jazykem, ze kterého v rámci radikální ozdravy vyříznete hromadu fičur a náhle vaše aplikace o velikosti desíti milionů řádek nefunguje.
Další problém C++ je, že se snaží dodržet až téměř protikladná kriteria - na jednu stranu přísná zásada, že rys o který nestojím, se nesmí automaticky uplatnit (a vytvořit tak pomalejší či větší kód), na druhou stranu až psychedelické čarování s abstraktními templaty, jejichž chování je ještě magičtější, než generické typy ve funkcionálních jazycích.
Tato snaha na jednu stranu o efektivní pragmatičnost a kompatibilitu, na druhou stranu o touhu jít s abstrakcí až do matematických nebes, z toho dělá unikátního kočkopsa, na který miliony nadávají, ale stejně ho používají.