Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: David 23. 09. 2018, 12:03:44

Název: Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 23. 09. 2018, 12:03:44
Obcas vznikne potreba po napsani nekolika kratkych skriptu a psat neco v Jave/C# mi prijde jako kanon na vrabce. Hledam proto idealne staticky typovany jazyk - s rozumnou syntaxi dobre podporovany napric ruznymi OS (Windows, Linux, MacOS).

Javu jsem zavrhl z duvodu pomaleho startu JVM (i kdyz Java nebo jazyky postavene nad JVM by mi vyhovovaly asi nejvice).
Python jsem zavrhl z duvodu dynamickeho typovani, nutnosti odsazovat a spatne podpory ve Win.
Ruby je mi celkem sympaticke ale preferoval bych staticke typovani (navic na windows muze trpet nekterymi problemy pri pouzivani third party knihoven kdy se musi neco kompilovat).
Perl/PHP odmitam kvuli nevyhovujici syntaxi.

Nejaky tip na co se v dnesni dobe zamerit?
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: gll 23. 09. 2018, 12:20:37
není skript z definice interpretovaný? Python nebo typescript mají mocnější typový systém než Java/C#, ale slouží jen ke kontrole.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: gll 23. 09. 2018, 12:47:11
typescript soubory jdou spouštět přímo, bez kompilace, ale je to pomalé, pro skripty nepoužitelné. I samotné node.js startuje hodně pomalu oproti cpythonu. Asi bych se být tebou naučil odsazovat.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: David 23. 09. 2018, 12:47:44
není skript z definice interpretovaný? Python nebo typescript mají mocnější typový systém než Java/C#, ale slouží jen ke kontrole.
To si nemyslim ze je dulezite viz napr wiki: programs written for a special run-time environment that automate the execution of tasks [1] that could alternatively be executed one-by-one by a human operator. Scripting languages are often interpreted (rather than compiled).

Takove groovy je mnohdy uvadeno take jako skriptovaci jazyk...
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: gll 23. 09. 2018, 12:49:02
Takove groovy je mnohdy uvadeno take jako skriptovaci jazyk...

groovy jde spouštět i interpretem.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Ondra Satai Nekola 23. 09. 2018, 12:50:15
není skript z definice interpretovaný? Python nebo typescript mají mocnější typový systém než Java/C#, ale slouží jen ke kontrole.

Interpretovanost s typovým systémem zas tak moc nesouvisí...
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: perceptron 23. 09. 2018, 12:54:41
powershell
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: gll 23. 09. 2018, 12:56:55
není skript z definice interpretovaný? Python nebo typescript mají mocnější typový systém než Java/C#, ale slouží jen ke kontrole.

Interpretovanost s typovým systémem zas tak moc nesouvisí...

nemusí ten staticky typovaný skript před spuštěním projít nějakým checkerem, což chvíli trvá?
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Cikáda 23. 09. 2018, 13:01:31
Jistě že musí :)

Proč u skriptů chceš staticky typovaný systém? A co je nevyhovujícího na Perl syntaxi? Imo pro skripty na *nixu ideální :)
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Scripter 23. 09. 2018, 13:27:48
není skript z definice interpretovaný? Python nebo typescript mají mocnější typový systém než Java/C#, ale slouží jen ke kontrole.

Interpretovanost s typovým systémem zas tak moc nesouvisí...

nemusí ten staticky typovaný skript před spuštěním projít nějakým checkerem, což chvíli trvá?
Jen jednou po změně souboru, jinak už interpretr ví, že typy sedí.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Kit 23. 09. 2018, 13:50:44
Statické typování má význam až u větších projektů. U krátkých skriptů jen překáží.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: oss 23. 09. 2018, 14:00:54
Vsetko z toho splna Powershell
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: BoneFlute 23. 09. 2018, 14:35:19
Python ... mají mocnější typový systém než Java/C#, ale slouží jen ke kontrole.
Ani náhodou!
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: borekz 23. 09. 2018, 14:49:25
Tiny C Compiler  https://bellard.org/tcc/ (https://bellard.org/tcc/) umí rovnou spouštět program v C.
Citace
C script supported : just add '#!/usr/local/bin/tcc -run' at the first line of your C source, and execute it directly from the command line.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: gll 23. 09. 2018, 15:26:21
Python ... mají mocnější typový systém než Java/C#, ale slouží jen ke kontrole.
Ani náhodou!

mypy umí typovou inferenci, protokoly, uniony, explicitní nullable typy, rozšiřitelnost pomocí pluginů .....

typescript toho umí ještě víc.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Vít Šesták (v6ak) 23. 09. 2018, 15:26:55
Neznám úplně váš scénář použití, ale pokud je jediný problém Javy její startup time, nabízí se použít Javu a vyřešit problém se startup time. Možnosti jsou různé:

a. Použít Nailgun.
b. Použít jinou JVM.
c. Omezeně: použít native-image z GraalVM – toto je zatím dost omezené (např. na Windows s tím zatím nepochodíte a někdy kompilace selže bez vysvětlení), ale je dobré to mít v hledáčku. Časem se snad dnešní problémy vyřeší.

Další možnost je kompilace do nativního kódu u .NETu, ať už pomocí Mono (IMHO celkem hotové již dnes), nebo pomocí .NET Core (kde ale nemám zkušenost, jen vím, že to jde).
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: mikrom 23. 09. 2018, 17:39:58
Javu jsem zavrhl z duvodu pomaleho startu JVM (i kdyz Java nebo jazyky postavene nad JVM by mi vyhovovaly asi nejvice).
Python jsem zavrhl z duvodu dynamickeho typovani, nutnosti odsazovat a spatne podpory ve Win.
Ruby je mi celkem sympaticke ale preferoval bych staticke typovani (navic na windows muze trpet nekterymi problemy pri pouzivani third party knihoven kdy se musi neco kompilovat).
Perl/PHP odmitam kvuli nevyhovujici syntaxi.

.. z nejakeho dovodu zavrhujes vsecko co je dobre a overene ze to funguje ... takze  ti asi neni pomoci  :)

Mozes skusit este napriklad pike. Je to sice menej znamy skriptovaci jazyk, ale existuje uz dost dlho  je k dispozicii pre Linux, Windows a Mac a ma datove typy.
https://en.wikipedia.org/wiki/Pike_(programming_language)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: balki 23. 09. 2018, 19:37:59
Javu jsem zavrhl z duvodu pomaleho startu JVM (i kdyz Java nebo jazyky postavene nad JVM by mi vyhovovaly asi nejvice).
Python jsem zavrhl z duvodu dynamickeho typovani, nutnosti odsazovat a spatne podpory ve Win.
Ruby je mi celkem sympaticke ale preferoval bych staticke typovani (navic na windows muze trpet nekterymi problemy pri pouzivani third party knihoven kdy se musi neco kompilovat).
Perl/PHP odmitam kvuli nevyhovujici syntaxi.

Nejaky tip na co se v dnesni dobe zamerit?

Odporucam sa naucit potom pisat klasicke posix-ove aplikacie v ANSI C. Je to ovela lahsie, nez sa na prvy pohlad zda.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: kimec 23. 09. 2018, 20:26:46
Sme v roku 2018 a Python ma niekolko druhov type hintov... Python 3.5 ma dokonca type hinty, ktore su scastou jazyka. (http://"https://stackoverflow.com/questions/32557920/what-are-type-hints-in-python-3-5")

Rozumieme si, ze TypeScript sa ma k JavaScriptu ako Pythonove type hinty sa maju k Pythonu - poskytuju redundantnu typovu informaciu neuplatnitelnu pocas runtime (v pripade TypeScriptu odstranenu cez type erasure pocas transpilacnej fazy) ale uzitocnu pre IDE a cloveka.

Z toho vyplyva, ze Python je dnes celkom dobre "typovany" (t.j. na ad hoc bastlenie one-off toolov dostatocne "typovany").
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Kit 23. 09. 2018, 20:44:26
Nestačilo by místo staticky typovaného jazyka použít silně typovaný? Zvětšil by se výběr.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Bacsa 23. 09. 2018, 21:10:26
Statické typování má význam až u větších projektů. U krátkých skriptů jen překáží.
Nepřekáží. Stačí použít HM a nemusíš o něm ani vědět.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: gll 23. 09. 2018, 21:19:13
co je HM?
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Kit 23. 09. 2018, 21:28:39
co je HM?

Zřejmě má na mysli Hindley–Milner type system.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: cinnamon 23. 09. 2018, 21:34:51
Co takhle DLang (https://dlang.org/).
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Mirek Prýmek 23. 09. 2018, 21:55:39
Nevím, co si přesně představuješ pod pojmem "skriptovací", ale dají se třeba psát programy v Go a pouštět pomocí "go run <file>" (viz třeba https://gobyexample.com/hello-world).

Taky těžko říct, jestli to, co Go má, se dá vůbec nazvat typovým systémem ;)

Ale jinak to tvoje požadavky asi splňuje, start je celkem rychlý a používat se to dá.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Vít Šesták (v6ak) 23. 09. 2018, 22:00:29
Neexistuje type inference, o které by člověk ani nevěděl. Maximálně do doby, kdy píše všechno správně. Jakmile něco napíšu špatně, pak čím silnější inference, tím větší šance na WTF chybové hlášky. Pamatuju si to z Haskellu. Proto jsem spíše zastáncem slabší inference za cenu občasné nutnosti typ uvést explicitně.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: kozzi11 23. 09. 2018, 22:04:30
Co takhle DLang (https://dlang.org/).
Sice to neni primo skriptovaci jazyk, ale je pravda ze ja ho takto casto pouzivam. Casto jsem si psal ruzne skriptiky v BASH ci pripadne v pythonu, ale od dob co hodne delam v Decku, tak jsem si i pomerne male pragramky/skripty zacal psat v nem.
Osobne vyuzivam https://dlang.org/rdmd.html a nove existuje i rychlejsi alternativa rund: https://github.com/marler8997/rund
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: .:; 24. 09. 2018, 10:13:28
Existuje krome Swiftu jeste nejaky jazyk co podporuje emoji v nazvech promennych, trid atd. ?
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Sten 24. 09. 2018, 10:26:53
Existuje krome Swiftu jeste nejaky jazyk co podporuje emoji v nazvech promennych, trid atd. ?

PHP, JavaScript, Haskell

Ale proč se omezovat jen na názvy proměnných? Emojicode se celý píše v emoji ;) (https://www.emojicode.org)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: .:; 24. 09. 2018, 10:46:51
V JavaScriptu mi to nejak nejede
(https://1iq.cz/img/C9a2k/zknK3.png)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Sten 24. 09. 2018, 11:04:42
JavaScript podporuje emoji jen jako quoted property
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: .:; 24. 09. 2018, 11:36:52
JavaScript podporuje emoji jen jako quoted property

Jupiii

(https://1iq.cz/img/C9a2k/Wvd25.png)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 24. 09. 2018, 11:56:37
Nevím, co si přesně představuješ pod pojmem "skriptovací", ale dají se třeba psát programy v Go a pouštět pomocí "go run <file>" (viz třeba https://gobyexample.com/hello-world).

Go je jeden z jazyku nad kterymi jsem uvazoval. Asi mu dam sanci :-) diky.

Taky těžko říct, jestli to, co Go má, se dá vůbec nazvat typovým systémem ;)

Ale jinak to tvoje požadavky asi splňuje, start je celkem rychlý a používat se to dá.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 24. 09. 2018, 18:05:16
Tohle je docela zajimavy bug - v predchozim prispevku jsem mel pridany komentar, jen kdyz se na to ted divam tak se odeslala pouze citace? Fakt je ze prispevek jsem psal z mobilu, zvlastni.

Chtel jsem jen rict ze tomu Go asi dam sanci, zrejme ted neni nic lepsiho na vyber. Teoreticky jeste vypada zajimave Rust, nicmene tohle snad ke skriptovani nikdo nepouziva :-(
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: kozzi11 24. 09. 2018, 21:08:47
Tohle je docela zajimavy bug - v predchozim prispevku jsem mel pridany komentar, jen kdyz se na to ted divam tak se odeslala pouze citace? Fakt je ze prispevek jsem psal z mobilu, zvlastni.

Chtel jsem jen rict ze tomu Go asi dam sanci, zrejme ted neni nic lepsiho na vyber. Teoreticky jeste vypada zajimave Rust, nicmene tohle snad ke skriptovani nikdo nepouziva :-(

Muzu se zeptat proc Go a ne Dlang?
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 24. 09. 2018, 21:32:43
Tohle je docela zajimavy bug - v predchozim prispevku jsem mel pridany komentar, jen kdyz se na to ted divam tak se odeslala pouze citace? Fakt je ze prispevek jsem psal z mobilu, zvlastni.

Chtel jsem jen rict ze tomu Go asi dam sanci, zrejme ted neni nic lepsiho na vyber. Teoreticky jeste vypada zajimave Rust, nicmene tohle snad ke skriptovani nikdo nepouziva :-(

Muzu se zeptat proc Go a ne Dlang?

Ano. Jde o to ze Go ma symapticcejsi ekosystem vcetne package manageru a oproti D je tak trochu minimalistictejsi. A jako nepodstatne plus beru to ze v nem jsou napsany popularni aplikace jako napriklad Docker nebo Hugo. Vim ze je to vsechno velmi subjektivni.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: kozzi11 24. 09. 2018, 21:38:40
Tohle je docela zajimavy bug - v predchozim prispevku jsem mel pridany komentar, jen kdyz se na to ted divam tak se odeslala pouze citace? Fakt je ze prispevek jsem psal z mobilu, zvlastni.

Chtel jsem jen rict ze tomu Go asi dam sanci, zrejme ted neni nic lepsiho na vyber. Teoreticky jeste vypada zajimave Rust, nicmene tohle snad ke skriptovani nikdo nepouziva :-(

Muzu se zeptat proc Go a ne Dlang?

Ano. Jde o to ze Go ma symapticcejsi ekosystem vcetne package manageru a oproti D je tak trochu minimalistictejsi. A jako nepodstatne plus beru to ze v nem jsou napsany popularni aplikace jako napriklad Docker nebo Hugo. Vim ze je to vsechno velmi subjektivni.

JJ to beru, to je rozumna volba, casto jsem uvazoval ze bych zkusil taky go, ale nejak se bojim toho zda mi nebude vadit ta minimalicnost (zda mi nebudou chybet nektere vlastnosti Decka). Uvidim asi mu dam sanci a treba se ukaze ze mi plne staci :)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: mikrom 24. 09. 2018, 23:59:19
Tohle je docela zajimavy bug - v predchozim prispevku jsem mel pridany komentar, jen kdyz se na to ted divam tak se odeslala pouze citace? Fakt je ze prispevek jsem psal z mobilu, zvlastni.

Chtel jsem jen rict ze tomu Go asi dam sanci, zrejme ted neni nic lepsiho na vyber. Teoreticky jeste vypada zajimave Rust, nicmene tohle snad ke skriptovani nikdo nepouziva :-(

Muzu se zeptat proc Go a ne Dlang?

Ano. Jde o to ze Go ma symapticcejsi ekosystem vcetne package manageru a oproti D je tak trochu minimalistictejsi. A jako nepodstatne plus beru to ze v nem jsou napsany popularni aplikace jako napriklad Docker nebo Hugo. Vim ze je to vsechno velmi subjektivni.

JJ to beru, to je rozumna volba, casto jsem uvazoval ze bych zkusil taky go, ale nejak se bojim toho zda mi nebude vadit ta minimalicnost (zda mi nebudou chybet nektere vlastnosti Decka). Uvidim asi mu dam sanci a treba se ukaze ze mi plne staci :)
Skusal som v.r 2016 jazyky D aj Go. Zatial co D sa mi velmi pacil - jazyk s krasnou C syntaxou, Go mi pripadal dost primitivne - asi ako jazyky spred 40 rokov ked po zavolani funkcie skumas ReturnCode a k tomu s nepeknou hybridnou syntaxou. Na jednej strane ma byt vraj jednoduchy ale iritovala ma aj zmatocna konstrukcia defer, ked niekde v strede funcie mozes napisat co ma funkcia urobit pred svojim ukoncenim. Na D sa mi pacila hlavne moznost pouzitia ako skriptovaci jazyk cez rdmd. Zistil som ze s mojim nazorom na Go nie som sam: pozri napr. http://nomad.uk.net/articles/why-gos-design-is-a-disservice-to-intelligent-programmers.html
Zial aj napriek tomu,  ze som bol s D velmi nadseny, nenasiel som na doteraz na to uplatnenie, nakolko tradicne jazyky Perl alebo Python su na pouzitie omnoho jednoduchsie. Som toho nazoru - ako tu uz niekto napisal - ze staticky typovany jazyk je pri kratsich programoch skor na obtiaz.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: RDa 25. 09. 2018, 00:33:14
Obcas vznikne potreba po napsani nekolika kratkych skriptu a psat neco v Jave/C# mi prijde jako kanon na vrabce.
~
Perl/PHP odmitam kvuli nevyhovujici syntaxi.

Tak PHP je jako kdyz zmixujete shell script (bash, sh, etc... s $promennyma) a C/C++ syntaxi. Nechapu co vam na tom vadi.

Kdyz chci neco velice jednoduche napsat rychle jedu bash
pro slozite veci co chci mit rychle hotove beru PHP
a pro cokoliv zamerene na vykon mi zustava C

Typovani vam tu rychlost vyvoje jenom omezi. Je cas prehodnotit priority a zamerit se na samotne reseni, nez teoretizovat nad zpusobem reseni.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Cikáda 25. 09. 2018, 00:53:12
pro slozite veci co chci mit rychle hotove beru PHP

Nebyl by lepší Perl?

Typovani vam tu rychlost vyvoje jenom omezi. Je cas prehodnotit priority a zamerit se na samotne reseni, nez teoretizovat nad zpusobem reseni.

Hm, ne nutně. Třeba v takovém Haskellu se píše celkem rychle. Ono ale samozřejmě záleží, co člověk zrovna dělá. :)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Mirek Prýmek 25. 09. 2018, 00:58:04
Zistil som ze s mojim nazorom na Go nie som sam: pozri napr. http://nomad.uk.net/articles/why-gos-design-is-a-disservice-to-intelligent-programmers.html
To rozhodně nejsi, Gočko jako jazyk je mix geniality a naprosté zoufalosti. Ale není to špatná pragmatická volba.

P.S. lepší zdroj kritiky je https://github.com/ksimka/go-is-not-good
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: JS 25. 09. 2018, 08:14:40
Co OCaml? Osobne jej neznam (ale je podobny Haskellu), sice to skoro nikdo nepouziva, ale znam nektere inteligentni lidi, kteri si to velmi pochvaluji.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: JB 25. 09. 2018, 08:42:09
F# podporuje skriptování. Hodně se mi osvědčil. Syntax vychází z OCamlu. Běží na win/linux/mac
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Scripter 25. 09. 2018, 09:40:22
Co OCaml? Osobne jej neznam (ale je podobny Haskellu), sice to skoro nikdo nepouziva, ale znam nektere inteligentni lidi, kteri si to velmi pochvaluji.
OCaml je skvělý pro rockstar programátory, lepit se v něm moc nedá. U nás (zavedený fintech) se používá skoro na vše.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Mirek Prýmek 25. 09. 2018, 09:56:40
ale je podobny Haskellu
Drobná technická: AFAIK, OCaml vychází z rodiny ML, takže je sice funkcionální, ale jinak Haskellu zas tak moc podobný není, spíš Erlangu/Elixiru nebo F#, když už (mj. má defaultně striktní evaluaci, což dost věcí mění).
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Kit 25. 09. 2018, 10:38:33
pro slozite veci co chci mit rychle hotove beru PHP
Nebyl by lepší Perl?

Myslím si, že volba mezi PHP a Perlem je spíš záležitostí osobního vkusu a hlavně znalosti standardních knihoven.
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: RodriguezElPasoMexico 25. 09. 2018, 10:57:55
mne osobne na skriptovanie najviac osvedcil F# je staticky typovany ale ma type inference takze kod je kratky a ma repl. ale ja som majkrosoftak tak ma nekamenujte. skusal som aj ocaml ale ten ma kosatejsiu syntax nepaci sa mi ze musim vsade pisat "in" a bodkociarky. F# je vpodstate evolucia Ocaml trosku seknuta pythonom.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: .:; 25. 09. 2018, 17:09:37
F# a emoji http://nf2p.com/dot-net/generating-emoji-art-using-f-sharp/
Název: Re:Staticky typovany skriptovaci jazyk pro rok 2018
Přispěvatel: Inkvizitor 26. 09. 2018, 10:24:47
mne osobne na skriptovanie najviac osvedcil F# je staticky typovany ale ma type inference takze kod je kratky a ma repl. ale ja som majkrosoftak tak ma nekamenujte. skusal som aj ocaml ale ten ma kosatejsiu syntax nepaci sa mi ze musim vsade pisat "in" a bodkociarky. F# je vpodstate evolucia Ocaml trosku seknuta pythonom.

F# IMO neni spatny, ale stalo by za to jeste znat nazor nekoho, kdo ho pouziva i pod Linuxem. Pouzivas plnotucne VS, nebo Ti staci Expres (Community) nebo treba Code?

A nemas nejaky repozitar s ukazkama?
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: jazykar 26. 09. 2018, 22:39:36
Zkus nasledujici (v tomto poradi).

a) Dao (https://github.com/daokoder/dao ) - ma "vsechno", umi "vsechno", je moderni, je navykovy, je mene znamy, dokumentace ma mouchy
b) Git for Windows (garantovane udrzovany balik unix SW - bash s unix prostredim velmi pekne propojenym s Windows - osobne hodne pouzivam na skriptovani namisto Powershellu) - neni staticky typovany, ale je nejlepe integrovany do Windows ze vseho co znam
c) Lua, popr. LuaJIT
d) Python s type hints
e) Go (bude mit brzo generika; jinak v road mape maji reseni pro tak 80% vsech vytykanych ci chybejicich vlastnosti zminenych napr. na te odkazovane GitHub strance s kritikou Go)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Inkvizitor 27. 09. 2018, 10:13:53
Zkus nasledujici (v tomto poradi).

a) Dao (https://github.com/daokoder/dao ) - ma "vsechno", umi "vsechno", je moderni, je navykovy, je mene znamy, dokumentace ma mouchy
b) Git for Windows (garantovane udrzovany balik unix SW - bash s unix prostredim velmi pekne propojenym s Windows - osobne hodne pouzivam na skriptovani namisto Powershellu) - neni staticky typovany, ale je nejlepe integrovany do Windows ze vseho co znam
c) Lua, popr. LuaJIT
d) Python s type hints
e) Go (bude mit brzo generika; jinak v road mape maji reseni pro tak 80% vsech vytykanych ci chybejicich vlastnosti zminenych napr. na te odkazovane GitHub strance s kritikou Go)

Promin, ale opravdu chces nekomu v zari 2018 doporucovat Bash (bod b)?
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Mirek Prýmek 27. 09. 2018, 10:21:17
jinak v road mape maji reseni pro tak 80% vsech vytykanych ci chybejicich vlastnosti zminenych napr. na te odkazovane GitHub strance s kritikou Go
No... to sice jo, ale některý řešení jsou asi jako když uděláš auto s hranatýma kolama a pak kola omotáš lepící páskou, aby byla trochu kulatější...

https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling-overview.md
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: BoneFlute 27. 09. 2018, 20:17:20
a) Dao (https://github.com/daokoder/dao ) - ma "vsechno", umi "vsechno", je moderni, je navykovy, je mene znamy, dokumentace ma mouchy

Jaké s tím máš zkušenost?
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Kit 27. 09. 2018, 20:33:38
:
b) Git for Windows (garantovane udrzovany balik unix SW - bash s unix prostredim velmi pekne propojenym s Windows - osobne hodne pouzivam na skriptovani namisto Powershellu) - neni staticky typovany, ale je nejlepe integrovany do Windows ze vseho co znam
:
Promin, ale opravdu chces nekomu v zari 2018 doporucovat Bash (bod b)?

Někteří lidé ten Bash umí používat. Není třeba je podceňovat. Navíc je to i s Gitem, který stejně budeš potřebovat.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Vít Šesták (v6ak) 27. 09. 2018, 21:57:13
No, Bash… Je to dost specifický jazyk. Některé věci vněm jdou úžasně jednoduše, jiné pekelně složitě, a u některých je někdy trochu problém to udělat dokonale (např. počítat s mezerama nebo zpracovat chyby). Už jsem v tom dělal i paralelismus, jde to, ale není to ono.

Celkově bych řekl, že se Bash vyplatí znát, ale zároveň znát jeho limity a mít představu, kdy je chodné jej použít a kdy ne. Rozhodně bych ho ale nebral jako univerzální jazyk se širokým záběrem.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Inkvizitor 28. 09. 2018, 09:31:03
No, Bash… Je to dost specifický jazyk. Některé věci vněm jdou úžasně jednoduše, jiné pekelně složitě, a u některých je někdy trochu problém to udělat dokonale (např. počítat s mezerama nebo zpracovat chyby). Už jsem v tom dělal i paralelismus, jde to, ale není to ono.

Celkově bych řekl, že se Bash vyplatí znát, ale zároveň znát jeho limity a mít představu, kdy je chodné jej použít a kdy ne. Rozhodně bych ho ale nebral jako univerzální jazyk se širokým záběrem.

Nejde o to, co v něm jde a nejde udělat. Jde o to, jak výsledek vypadá; původní tazatel zřejmě chce jazyk, ve kterém se může co nejvíce spolehnout na to, že skripty budou dělat přesně co mají a nebudou dělat nic, co se po nich nežádá. Pravděpodobně má starost o to, aby se ty skripty snadno udržovaly a škálovaly. Dokonce si stanoví jako podmínku statické typování, což mně osobně přijde jako trochu přehnané, ale budiž. A co dostane doporučeno? Bash!
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Cikáda 28. 09. 2018, 09:48:56
Nemám dojem, že by jej @v6ak doporučoval. :)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Inkvizitor 28. 09. 2018, 10:04:52
Nemám dojem, že by jej @v6ak doporučoval. :)

Ten naštěstí ne. Doporučoval ho někdo o pár příspěvků dříve.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Vít Šesták (v6ak) 28. 09. 2018, 10:48:32
Bash jsem zde rozhodně nedoporučoval původními tazateli, jen mi to zrazování od Bashe (implicitně obsažené v „opravdu chces nekomu v zari 2018 doporucovat Bash“) přišlo příliš kategorické. Bash stále má svoje místo a nezatracoval bych ho kategoricky, asi to ale není to, co tazatel hledá.

Popravdě stále moc nevím, co tazatel hledá. Vím, že chce rychlý startup time (zmiňoval jako nevýhodu Javy), statické typování, multiplatformnost a má nějaké požadavky na syntaxi. Kompilace mu zřejmě nevadí (vizte zmínky o Javě v úvodním příspěvku) a není mi úplně jasné, co má být na takovém jazyce „skriptovacího“. Asi chce něco spíše high-level. Jak moc to má být funkcionální/objektové/whatever moc nespecifikoval.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Inkvizitor 28. 09. 2018, 11:30:51
IMO klasicky tápe a doufá, že existuje nějaká dokonalá jasná odpověď na otázku "jak se to má dnes správně dělat". Přičemž má dost zvláštní představy (špatná podpora Pythonu ve Windows? to jako vážně?) Bash mi z toho prostě nevychází.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Scripter 28. 09. 2018, 12:09:17
Bash jsem zde rozhodně nedoporučoval původními tazateli, jen mi to zrazování od Bashe (implicitně obsažené v „opravdu chces nekomu v zari 2018 doporucovat Bash“) přišlo příliš kategorické. Bash stále má svoje místo a nezatracoval bych ho kategoricky, asi to ale není to, co tazatel hledá.

Popravdě stále moc nevím, co tazatel hledá. Vím, že chce rychlý startup time (zmiňoval jako nevýhodu Javy), statické typování, multiplatformnost a má nějaké požadavky na syntaxi. Kompilace mu zřejmě nevadí (vizte zmínky o Javě v úvodním příspěvku) a není mi úplně jasné, co má být na takovém jazyce „skriptovacího“. Asi chce něco spíše high-level. Jak moc to má být funkcionální/objektové/whatever moc nespecifikoval.
Pojem “skriptovací” se v poslední době používá dost volně a spíše se týká syntaxe - konkrétně absence explicitních typů.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 29. 09. 2018, 09:12:23
IMO klasicky tápe a doufá, že existuje nějaká dokonalá jasná odpověď na otázku "jak se to má dnes správně dělat". Přičemž má dost zvláštní představy (špatná podpora Pythonu ve Windows? to jako vážně?) Bash mi z toho prostě nevychází.

Narazil jsem na problemy kdy jsem potreboval nainstalovat pres PIP nejakou libku a ta vyzadovala nejake zavislosti - na linuxu/macu v pohode zkompiluju nebo nainstaluju pres apt/yum - na windows to tak jedoduche nebyva...
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 29. 09. 2018, 09:13:38
A ano Bash neni to co bych chtel - hlavne kvuli absenci toho ekosystemu okolo, kdy si muzu doinstalovavat libovolne knihovny dle potreby.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Kit 29. 09. 2018, 09:43:54
A ano Bash neni to co bych chtel - hlavne kvuli absenci toho ekosystemu okolo, kdy si muzu doinstalovavat libovolne knihovny dle potreby.

Mýlíš se, ekosystém Bashe je velmi rozsáhlý, doinstalovat si můžeš co chceš. Chápu však, že ho nechceš. Jen mi není jasné, proč vylučuješ dynamicky typované jazyky. To chceš psát tak rozsáhlé aplikace?
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 29. 09. 2018, 10:04:15
A ano Bash neni to co bych chtel - hlavne kvuli absenci toho ekosystemu okolo, kdy si muzu doinstalovavat libovolne knihovny dle potreby.

Mýlíš se, ekosystém Bashe je velmi rozsáhlý, doinstalovat si můžeš co chceš. Chápu však, že ho nechceš. Jen mi není jasné, proč vylučuješ dynamicky typované jazyky. To chceš psát tak rozsáhlé aplikace?

Tohle je nicnerikajici sdeleni. Navic oddelovat shell od skriptovaciho jazyka ma sve vyhody. Dost casto se vyskytuji na strojich kde je KSH nebo ZSH/CSH/TCSH atd...

Navic instalovat si bash na server s fbsd je dost kacirstvi :-)
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Inkvizitor 29. 09. 2018, 10:21:37
Narazil jsem na problemy kdy jsem potreboval nainstalovat pres PIP nejakou libku a ta vyzadovala nejake zavislosti - na linuxu/macu v pohode zkompiluju nebo nainstaluju pres apt/yum - na windows to tak jedoduche nebyva...

Bud prosim konkretni. Nema to treba mezi balicky conda?
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Inkvizitor 29. 09. 2018, 10:25:02
Mimochodem, pokud chces poradit, jak kompilovat binarni extenze do Pythonu na Windows, u nas ve firme s tim mame zkusenost, muzu poradit nebo zkusit pomoci najit cestu.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 29. 09. 2018, 11:09:37
Mimochodem, pokud chces poradit, jak kompilovat binarni extenze do Pythonu na Windows, u nas ve firme s tim mame zkusenost, muzu poradit nebo zkusit pomoci najit cestu.

Dekuji za nabidku - myslim ze jsem se vyjadril trochu nepresne. Popisu tedy co presne me na windows trapi. Jestlize mam nejaky binarni balicek ktery ma napr. cpp extensions tak na windows to musim resit coz zabere nejaky cas (nerikam ze je to vzdy v takovem stavu ze to vyresit neumim. Obvykle to vyresim vzdy ale zabere to nejakou dobu). Napr. podle https://docs.microsoft.com/en-us/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2017 vypada ze MS se python snazi podporovat docela dobre. Nicmene chci se uz z principu vyhnout tomu ze v budoucnu budu resit nejake issue tohoto typu, prave kvuli tomu ze chci rychle vyresit instalaci zavislych knihoven a ne babrat se pul dne s tim co tomu jeste chybi dokompilovat aby to zacalo behat :-) moje osobni zkusenosti jsou takove ze reseni problemu tohoto typu na linuxu/macu trvaji max. desitky minut na windows se to protahuje na hodiny zejmena kvuli ekosystemu toho samotneho OS. Napr. na windows apt-get install xxx-dev neudelam na linuxu ano - vim ze castecne to muze poresit neco jako Cygwin ale to neresi samotnou podstatu problemu ktery spociva v OS windows.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 29. 09. 2018, 11:11:37
Kdyz si to tam po sobe ctu asi bude nejlepsi  zamerit se ne neco jako JVM. Prece jen moc zavislosti na cpp v Java knihovnach jsem nezaznamenal a podporuje to docela dost jazyku.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Inkvizitor 29. 09. 2018, 11:16:52
Dekuji za nabidku - myslim ze jsem se vyjadril trochu nepresne. Popisu tedy co presne me na windows trapi. Jestlize mam nejaky binarni balicek ktery ma napr. cpp extensions tak na windows to musim resit coz zabere nejaky cas (nerikam ze je to vzdy v takovem stavu ze to vyresit neumim. Obvykle to vyresim vzdy ale zabere to nejakou dobu). Napr. podle https://docs.microsoft.com/en-us/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2017 vypada ze MS se python snazi podporovat docela dobre. Nicmene chci se uz z principu vyhnout tomu ze v budoucnu budu resit nejake issue tohoto typu, prave kvuli tomu ze chci rychle vyresit instalaci zavislych knihoven a ne babrat se pul dne s tim co tomu jeste chybi dokompilovat aby to zacalo behat :-) moje osobni zkusenosti jsou takove ze reseni problemu tohoto typu na linuxu/macu trvaji max. desitky minut na windows se to protahuje na hodiny zejmena kvuli ekosystemu toho samotneho OS. Napr. na windows apt-get install xxx-dev neudelam na linuxu ano - vim ze castecne to muze poresit neco jako Cygwin ale to neresi samotnou podstatu problemu ktery spociva v OS windows.

OK, ale jak chces resit ten principialni problem s tim, ze Windows nejsou Linux. Tu frustraci chapu, taky se Windows vyhybam, jak muzu. Furt mi ale prijde, ze moc lepsich moznosti nez pouzit Python neni. Co se tyce ekosystemu - ze Ti nemusi sedet syntaxe, jak naznacujes v prvnim prispevku, je jasne. Ale ten jazyk se porad dost usilovne vyviji, vcetne ekosystemu. A jeho obliba je porad jeste na vzestupu, to jsi asi zaznamenal.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Frantisek 29. 09. 2018, 13:54:01
Já jsem v poslední době spokojen s Elixirem. Snažím se jím nahrazovat Python a celkem se mi to daří. Díky tomu, že lze používat knihovny pro erlang, tak není problém s tím udělat téměř cokoliv.
Pravda, není staticky typovaný, ale zrovna v tomhle případě to fakt není problém.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 30. 09. 2018, 09:55:17
Dekuji za nabidku - myslim ze jsem se vyjadril trochu nepresne. Popisu tedy co presne me na windows trapi. Jestlize mam nejaky binarni balicek ktery ma napr. cpp extensions tak na windows to musim resit coz zabere nejaky cas (nerikam ze je to vzdy v takovem stavu ze to vyresit neumim. Obvykle to vyresim vzdy ale zabere to nejakou dobu). Napr. podle https://docs.microsoft.com/en-us/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2017 vypada ze MS se python snazi podporovat docela dobre. Nicmene chci se uz z principu vyhnout tomu ze v budoucnu budu resit nejake issue tohoto typu, prave kvuli tomu ze chci rychle vyresit instalaci zavislych knihoven a ne babrat se pul dne s tim co tomu jeste chybi dokompilovat aby to zacalo behat :-) moje osobni zkusenosti jsou takove ze reseni problemu tohoto typu na linuxu/macu trvaji max. desitky minut na windows se to protahuje na hodiny zejmena kvuli ekosystemu toho samotneho OS. Napr. na windows apt-get install xxx-dev neudelam na linuxu ano - vim ze castecne to muze poresit neco jako Cygwin ale to neresi samotnou podstatu problemu ktery spociva v OS windows.

OK, ale jak chces resit ten principialni problem s tim, ze Windows nejsou Linux. Tu frustraci chapu, taky se Windows vyhybam, jak muzu. Furt mi ale prijde, ze moc lepsich moznosti nez pouzit Python neni. Co se tyce ekosystemu - ze Ti nemusi sedet syntaxe, jak naznacujes v prvnim prispevku, je jasne. Ale ten jazyk se porad dost usilovne vyviji, vcetne ekosystemu. A jeho obliba je porad jeste na vzestupu, to jsi asi zaznamenal.

Ok, snad to bude nejlepsi kdyz to reknu takhle: s Pythonem obcas delam, v ramci veci resici ML (PyTorch, Tensorflow,...) neni to neco co bych miloval, ale kdyz je potreba neco v tom udelat tak to proste udelam. A tohle tema jsem zalozil proto, protoze hledam i jine alternativy (prave to me zajima - co jineho je vhodne krome Pythonu).
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: David 30. 09. 2018, 09:59:42
Já jsem v poslední době spokojen s Elixirem. Snažím se jím nahrazovat Python a celkem se mi to daří. Díky tomu, že lze používat knihovny pro erlang, tak není problém s tím udělat téměř cokoliv.
Pravda, není staticky typovaný, ale zrovna v tomhle případě to fakt není problém.

Souhasim, jako priznivec Ruby musim rict ze i Elixir se mi libi :-) zvlast treba frameworky pro vyvoj webovych aplikaci jsou zajimave. Napr. takovy Phoenix framework, nicmene dosud nevim jak moc se osvedcil v produkci a v CR moc velka poptavka neni po vyvojarich - tipuju daleko mensi nez po vyvojarich v RoR (a ta je velmi mala, pac kdyz jsem po skole zkousel najit praci jako vyvojar v RoR musel jsem vynalozit nadlidske usili a nakonec jsem stejne skoncil po par mesicich jako Javista v jine firme).
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Bacsa 14. 10. 2018, 01:09:11
Co OCaml? Osobne jej neznam (ale je podobny Haskellu)
Povrchně. Ocaml je IMHO praktičtější.
Název: Re:Staticky typovaný skriptovací jazyk pro rok 2018
Přispěvatel: Pavel Stěhule 14. 10. 2018, 06:49:57
Já jsem v poslední době spokojen s Elixirem. Snažím se jím nahrazovat Python a celkem se mi to daří. Díky tomu, že lze používat knihovny pro erlang, tak není problém s tím udělat téměř cokoliv.
Pravda, není staticky typovaný, ale zrovna v tomhle případě to fakt není problém.

Souhasim, jako priznivec Ruby musim rict ze i Elixir se mi libi :-) zvlast treba frameworky pro vyvoj webovych aplikaci jsou zajimave. Napr. takovy Phoenix framework, nicmene dosud nevim jak moc se osvedcil v produkci a v CR moc velka poptavka neni po vyvojarich - tipuju daleko mensi nez po vyvojarich v RoR (a ta je velmi mala, pac kdyz jsem po skole zkousel najit praci jako vyvojar v RoR musel jsem vynalozit nadlidske usili a nakonec jsem stejne skoncil po par mesicich jako Javista v jine firme).

Altworx v Brně jedou nad elixírem