Kotlin nebo Scala pro backend?

Idris

  • *****
  • 973
    • Zobrazit profil
    • E-mail
Re:Kotlin nebo Scala pro backend?
« Odpověď #75 kdy: 04. 11. 2020, 22:08:40 »
Mám pocit, že stále čekám na ten přelomovej jazyk, který bude opravdu špička, a bude opět revoluce - stejně jako bylo ve své době Java, a později Python. Přijde mi, že to stálo přešlapuje na místě - občas se objeví něco nadějného (Scala, Rust, Elm), ale pak mám pocit, že se do toho bojí pořádně fláknout, protože vývojáři konzervy by to odmítly... (Go, Kotlin)
To je otázka, co přelomového se dá ještě přinést. Zatím to na žádnou revoluci nevypadá.


Re:Kotlin nebo Scala pro backend?
« Odpověď #76 kdy: 04. 11. 2020, 22:29:26 »
Mám pocit, že stále čekám na ten přelomovej jazyk, který bude opravdu špička, a bude opět revoluce - stejně jako bylo ve své době Java, a později Python. Přijde mi, že to stálo přešlapuje na místě - občas se objeví něco nadějného (Scala, Rust, Elm), ale pak mám pocit, že se do toho bojí pořádně fláknout, protože vývojáři konzervy by to odmítly... (Go, Kotlin)
Nemyslím si, že by Java nebo Python byly nějaká revoluce. Právě naopak, dostaly se na špičku právě proto, že neexperimentovaly s ničím zásadně novým, jenom hezky zabalily to,co už se osvědčilo jinde. A dělají to dodnes. Ono se málokdy podaří něco udělat hned na první pokus dobře, takže ty revoluční jazyky, které přijdou s něčím opravdu novým, jenom krátce zazáří a pak zmizí, protože je převálcují nástupci, kteří byli sice pomalejší, ale mohli se tím pádem poučit z chyb.

Re:Kotlin nebo Scala pro backend?
« Odpověď #77 kdy: 05. 11. 2020, 09:19:54 »
Ano. Jako s Go. To není ani revoluce, ani evoluce, je to vlastně jen Céčko, kde je nějaká základní "objektová" podpora, mnohem větší standardní kníhovna, GC a CSP. Ale spousta věcí z 15-ti let vývoje programování byla prostě zahozena.

BoneFlute

  • *****
  • 1 558
    • Zobrazit profil
Re:Kotlin nebo Scala pro backend?
« Odpověď #78 kdy: 05. 11. 2020, 18:48:43 »
Ano. Jako s Go. To není ani revoluce, ani evoluce, je to vlastně jen Céčko, kde je nějaká základní "objektová" podpora, mnohem větší standardní kníhovna, GC a CSP. Ale spousta věcí z 15-ti let vývoje programování byla prostě zahozena.

Python byl revoluce. Go pak přenesl tu prošlapanou cestičku do kompilovaného světa (plus pár skvělejch nápadů, abych mu nekřivdil).

Idris

  • *****
  • 973
    • Zobrazit profil
    • E-mail
Re:Kotlin nebo Scala pro backend?
« Odpověď #79 kdy: 05. 11. 2020, 19:36:51 »
Ano. Jako s Go. To není ani revoluce, ani evoluce, je to vlastně jen Céčko, kde je nějaká základní "objektová" podpora, mnohem větší standardní kníhovna, GC a CSP. Ale spousta věcí z 15-ti let vývoje programování byla prostě zahozena.
Python byl revoluce. Go pak přenesl tu prošlapanou cestičku do kompilovaného světa (plus pár skvělejch nápadů, abych mu nekřivdil).
V čem byl Python revoluce? Beru třeba Lisp nebo Smalltalk, ale proč Python?


Re:Kotlin nebo Scala pro backend?
« Odpověď #80 kdy: 05. 11. 2020, 19:53:17 »
Python byl revoluce. Go pak přenesl tu prošlapanou cestičku do kompilovaného světa (plus pár skvělejch nápadů, abych mu nekřivdil).

Go se hodně liší od Pythonu. Jazyk Go je hodně "upovídaný" narozdíl od Pythonu který by měl být "stručný ale přehledný". Když nemá Go generika tak buď dělám pro všechno vlastní funkci nebo přes reflexi, což je hodně neelegantní záležitost. Dokonce i Python má výjimky, Go má chybu jako druhou návratovou hodnotu. Go má hodně "boilerplate". Tak nevím, Go a Python mi přijdou jako diametrálně odlišné jazyky.

BoneFlute

  • *****
  • 1 558
    • Zobrazit profil
Re:Kotlin nebo Scala pro backend?
« Odpověď #81 kdy: 06. 11. 2020, 01:36:13 »
Ano. Jako s Go. To není ani revoluce, ani evoluce, je to vlastně jen Céčko, kde je nějaká základní "objektová" podpora, mnohem větší standardní kníhovna, GC a CSP. Ale spousta věcí z 15-ti let vývoje programování byla prostě zahozena.
Python byl revoluce. Go pak přenesl tu prošlapanou cestičku do kompilovaného světa (plus pár skvělejch nápadů, abych mu nekřivdil).
V čem byl Python revoluce? Beru třeba Lisp nebo Smalltalk, ale proč Python?

Python přinesl úplně jiný způsob myšlení - Python Zen. Možnost napsat jasně myšlenku, neřešit implementační detaily (práce s pamětí, práce s chybami), možnost nebát se, že ta aplikace spadne. Osvobození se od starého chápání typů jak bylo v C. Osvobození od nutnosti psát romány jak je v Javě. A hlavně to přinesl pro obyčejný lid, a prosadil to.

Smalltalk? Lisp? Jo, jasně, všichni jsme to znali. Ale tyto revoluce zůstali jen v hlavách autorů. Python se prosadil.

Z dnešního pohledu je Python nudný, nezajímavý a nic neumějící. Ale tehdá neměl konkurenci. Bylo to zjevení.

Idris

  • *****
  • 973
    • Zobrazit profil
    • E-mail
Re:Kotlin nebo Scala pro backend?
« Odpověď #82 kdy: 06. 11. 2020, 03:23:52 »
Ano. Jako s Go. To není ani revoluce, ani evoluce, je to vlastně jen Céčko, kde je nějaká základní "objektová" podpora, mnohem větší standardní kníhovna, GC a CSP. Ale spousta věcí z 15-ti let vývoje programování byla prostě zahozena.
Python byl revoluce. Go pak přenesl tu prošlapanou cestičku do kompilovaného světa (plus pár skvělejch nápadů, abych mu nekřivdil).
V čem byl Python revoluce? Beru třeba Lisp nebo Smalltalk, ale proč Python?

Python přinesl úplně jiný způsob myšlení - Python Zen. Možnost napsat jasně myšlenku, neřešit implementační detaily (práce s pamětí, práce s chybami), možnost nebát se, že ta aplikace spadne. Osvobození se od starého chápání typů jak bylo v C. Osvobození od nutnosti psát romány jak je v Javě. A hlavně to přinesl pro obyčejný lid, a prosadil to.

Smalltalk? Lisp? Jo, jasně, všichni jsme to znali. Ale tyto revoluce zůstali jen v hlavách autorů. Python se prosadil.

Z dnešního pohledu je Python nudný, nezajímavý a nic neumějící. Ale tehdá neměl konkurenci. Bylo to zjevení.
Hmm, asi jsem jiná generace, za mého mládí byl pro “obyčejný lid” Basic.

Re:Kotlin nebo Scala pro backend?
« Odpověď #83 kdy: 06. 11. 2020, 10:04:29 »
Hmm, asi jsem jiná generace, za mého mládí byl pro “obyčejný lid” Basic.
Navíc se v něm [Pythonu] programují i velké byznysové aplikace.

SB

  • ***
  • 172
    • Zobrazit profil
    • E-mail
Re:Kotlin nebo Scala pro backend?
« Odpověď #84 kdy: 06. 11. 2020, 11:31:42 »
Smalltalk? Lisp? Jo, jasně, všichni jsme to znali. Ale tyto revoluce zůstali jen v hlavách autorů. Python se prosadil.

Aha, takže revoluci lidu možno, ale nesmí jí být moc, jen tak trochu, aby to lid zvládl pobrat. Rozumím.

Ink

  • ****
  • 254
    • Zobrazit profil
    • E-mail
Re:Kotlin nebo Scala pro backend?
« Odpověď #85 kdy: 06. 11. 2020, 11:50:54 »
Smalltalk? Lisp? Jo, jasně, všichni jsme to znali. Ale tyto revoluce zůstali jen v hlavách autorů. Python se prosadil.

Aha, takže revoluci lidu možno, ale nesmí jí být moc, jen tak trochu, aby to lid zvládl pobrat. Rozumím.

Lisp má neoblíbenou syntaxi, Smalltalk má neoblíbenou sémantiku. Vyhrál pragmatismus, ale to, co z nich je osvědčené, se v různých podobách prosadilo. To je dobrý výsledek, ne?

jano6

Re:Kotlin nebo Scala pro backend?
« Odpověď #86 kdy: 06. 11. 2020, 13:19:37 »
Java má pitomá a neintuitivní generika a na cokoli trochu zavánějící pozdní vazbou se musí použít reflexe, i když by de fakto stačila interface. To jsou podle mě největší bolesti javy.

Pre mňa je to neexistencia obyčajných funkcií. Túto nepochopiteľnú chybu okopírovali aj v C#; potom
sa to snažili nejako napraviť cez built-int delegáty, ale nie je to ono.
Podľa mňa to vyplýva z toho, že Java je ako sa dnes hovorí opinionated jazyk; všetko musí byť objektovo.
Pre veľkú časť úloh objektové programovanie nie je potrebné a dokonca je zbytočné. Nemožnosť tvoriť
obyčajné funkcie zabrzdil rozvoj Javy ako jazyka a oproti moderným jazykom pôsobí zastaralo. Nuž, keď
sa raz základy zle postavia, tak už stavbu neprerobíme.


Re:Kotlin nebo Scala pro backend?
« Odpověď #87 kdy: 06. 11. 2020, 13:37:05 »
Pre mňa je to neexistencia obyčajných funkcií. Túto nepochopiteľnú chybu okopírovali aj v C#; potom
sa to snažili nejako napraviť cez built-int delegáty, ale nie je to ono.
Podľa mňa to vyplýva z toho, že Java je ako sa dnes hovorí opinionated jazyk; všetko musí byť objektovo.
Pre veľkú časť úloh objektové programovanie nie je potrebné a dokonca je zbytočné. Nemožnosť tvoriť
obyčajné funkcie zabrzdil rozvoj Javy ako jazyka a oproti moderným jazykom pôsobí zastaralo. Nuž, keď
sa raz základy zle postavia, tak už stavbu neprerobíme.
Když si v aplikaci uděláš jednu statickou Common třídu (nebo klidně víc podle zaměření, když by jich bylo moc), tak její metody můžeš používat úplně stejně jako obyčejné funkce - nebo ne? 

Re:Kotlin nebo Scala pro backend?
« Odpověď #88 kdy: 07. 11. 2020, 18:29:58 »
No ano, ale proč to tak dělat? Kotlin i Scala umí vnořit funkci do funkcí (pro interní použití), nemusíte si na vše dělat třídu, jsou tam tzn. singletony

Re:Kotlin nebo Scala pro backend?
« Odpověď #89 kdy: 07. 11. 2020, 18:53:57 »
Podľa mňa to vyplýva z toho, že Java je ako sa dnes hovorí opinionated jazyk; všetko musí byť objektovo.
Pre veľkú časť úloh objektové programovanie nie je potrebné a dokonca je zbytočné. Nemožnosť tvoriť
obyčajné funkcie zabrzdil rozvoj Javy ako jazyka a oproti moderným jazykom pôsobí zastaralo. Nuž, keď
sa raz základy zle postavia, tak už stavbu neprerobíme.
Podívejte se na funkce v JavaScriptu. Jsou to obyčejné funkce a zároveň objekty.