Nové a nové programovací jazyky (frameworky)

mikino

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #30 kdy: 03. 07. 2018, 13:49:06 »
Zlati komuniste. Byt tady socik, tak tyhle srackoidni jayzky ku nam nedorazi. Prohnity Zapad. Programovaci jazyky stoji zahovno, take zradlo, ktere sem vozi. Jdu blejt


Inkvizitor

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #31 kdy: 03. 07. 2018, 13:50:38 »
můžete mi vysvětlit, v čem je Lisp o tolik lepší než moderní dynamické jazyky, na které tu každý nadává?
Asi v tom, že si z něho autoři těch "moderních" jazyků neustále něco vypůjčují - tak proč se nenaučit rovnou samotný Lisp, místo čekání, až v něm zase autoři těch moderních jazyků něco objeví a vítězoslavně implementují do toho svého výtvoru jako nějakou super new hyper cool feature.

A že je narozdíl od Haskellu dynamický a na side-effecty se jen upozorňuje jmennou konvencí? Tazatel se ptal na jazyk pro chytré lidi, ne pro ty, co potřebují, aby je překladač vodil za ručičku. Navíc Haskell je funkcionální, zatímco Lisp je multiparadigmatický - můžeš iterovat přes rekurzi, ale taky přes imperativní loop. Můžeš programovat funkcionálně, ale klidně i objektově nebo obojí najednou, chceš-li.

Chytry clovek neznamena neomylny clovek. Jazyk, ktery dava prilis mnoho volnosti, nepovazuju za moc dobry nastroj pro projektu, na kterych spolupracuje vice lidi.

A s externim makroprocesorem muzu mit makra v cemkoli.
Ale ne taková, jako má Lisp. To se externím makroprocesorem fakt udělat nedá.

Tady my dva nejsme ve pri. "Interni makroprocesor" je ponekud jine kafe nez externi. A ty externi povazuju za prinejlepsim vychodisko z nouze.

Inkvizitor

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #32 kdy: 03. 07. 2018, 13:52:58 »
A s externim makroprocesorem muzu mit makra v cemkoli. To ale neni to, co mam na mysli. A sokuje me, ze modernim dynamickym jazykem jsi myslel konkretne JavaScript.

Samotný makroprocesor neposkytuje prostředky pro manipulaci s AST, kterou většina moderních jazyků umožňuje, ale nebývá dobrý nápad to používat. Jestli chcete moderní jazyk s first class makry, tak Elixir.

Z jazyku s makry davam prednost Rustu. Ale diky za tip.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #33 kdy: 03. 07. 2018, 13:56:13 »
Pluginy pro babel v javascriptu jsou něco jako makra.
Viz výše - proč používat "něco jako makra", když můžu použít nefalšovaná lispovská makra? A srovnávat JavaScript s Lispem, to je hodně silné kafe.  :D

A s externim makroprocesorem muzu mit makra v cemkoli.
Ale ne taková, jako má Lisp. To se externím makroprocesorem fakt udělat nedá.

udělat se dá cokoliv, jen v některých případech s větší námahou. To nevadí, protože i v Lispu je bad practice používat makra na každou blbost. Pro jednoduchá makra neprovádějící AST transformace existuje přímo plugin https://github.com/codemix/babel-plugin-macros , pro složitější lze použít sweet.js .

uuuuu

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #34 kdy: 03. 07. 2018, 13:57:53 »
Stejně tak by C-čko mohlo být přeloženo do bytekódu, třeba pro JVM...

webassembly


Kit

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #35 kdy: 03. 07. 2018, 14:46:13 »
Neni to jen kvuli hlouposti, ale treba i kvuli tomu ze spousta jazyku vznikla v dobe jednoho jadra v cpu a pustit vypocet paralelne je proste sileny. Nove jazyky se s tim umi leckdy poprat velmi elegantne a nekdy i bez zasahu programatora.

Lispu je jedno, kolik máš procesorů a na kolika vláknech. Dokonce mu nevadí, když program modifikuješ za chodu. V moderních jazycích musíš řešit explicitně to, co Lisp umí nativně.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #36 kdy: 03. 07. 2018, 15:01:56 »
Neni to jen kvuli hlouposti, ale treba i kvuli tomu ze spousta jazyku vznikla v dobe jednoho jadra v cpu a pustit vypocet paralelne je proste sileny. Nove jazyky se s tim umi leckdy poprat velmi elegantne a nekdy i bez zasahu programatora.

Lispu je jedno, kolik máš procesorů a na kolika vláknech. Dokonce mu nevadí, když program modifikuješ za chodu. V moderních jazycích musíš řešit explicitně to, co Lisp umí nativně.

o kterém Lispu mluvíš?

Inkvizitor

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #37 kdy: 03. 07. 2018, 15:13:11 »
Neni to jen kvuli hlouposti, ale treba i kvuli tomu ze spousta jazyku vznikla v dobe jednoho jadra v cpu a pustit vypocet paralelne je proste sileny. Nove jazyky se s tim umi leckdy poprat velmi elegantne a nekdy i bez zasahu programatora.

Lispu je jedno, kolik máš procesorů a na kolika vláknech. Dokonce mu nevadí, když program modifikuješ za chodu. V moderních jazycích musíš řešit explicitně to, co Lisp umí nativně.

C je to taky jedno, ne?

Kit

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #38 kdy: 03. 07. 2018, 16:21:20 »
Lispu je jedno, kolik máš procesorů a na kolika vláknech. Dokonce mu nevadí, když program modifikuješ za chodu. V moderních jazycích musíš řešit explicitně to, co Lisp umí nativně.

C je to taky jedno, ne?

V C nebo v Javě to musíš řešit jako vícevláknovou aplikaci. Bez toho to pojede jen v jednom vláknu.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #39 kdy: 03. 07. 2018, 16:29:48 »
V C nebo v Javě to musíš řešit jako vícevláknovou aplikaci. Bez toho to pojede jen v jednom vláknu.

a v Lispu to řešíš jak? uveď příklad

Kit

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #40 kdy: 03. 07. 2018, 17:45:48 »
V C nebo v Javě to musíš řešit jako vícevláknovou aplikaci. Bez toho to pojede jen v jednom vláknu.

a v Lispu to řešíš jak? uveď příklad

Nijak. Pokud to použitý engine umí, tak se použije automaticky.

Inkvizitor

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #41 kdy: 03. 07. 2018, 17:52:55 »
V C nebo v Javě to musíš řešit jako vícevláknovou aplikaci. Bez toho to pojede jen v jednom vláknu.

a v Lispu to řešíš jak? uveď příklad

Nijak. Pokud to použitý engine umí, tak se použije automaticky.

Sorry, ale to je bullsh*t. Automaticka paralelizace obecneho algoritmu nemuze nijak rozumne fungovat a pokud jedes na nejakem engine, ktery umi vyuzivat vice vypoctovych vlaken v nejakem specialnim kontextu, neni to zadna zasluha jazyka.

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #42 kdy: 03. 07. 2018, 17:53:18 »
Nijak. Pokud to použitý engine umí, tak se použije automaticky.

který engine to umí?

JSH

Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #43 kdy: 03. 07. 2018, 21:53:34 »
Nijak. Pokud to použitý engine umí, tak se použije automaticky.

který engine to umí?
Co to je vůbec myšleno tím "engine" v kontextu téhle diskuze?

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:nove a nove programovaci jazyky (frameworky)
« Odpověď #44 kdy: 03. 07. 2018, 22:37:45 »
Nijak. Pokud to použitý engine umí, tak se použije automaticky.

který engine to umí?
Co to je vůbec myšleno tím "engine" v kontextu téhle diskuze?

předpokládám, že implementace