Node.js vs PHP vs ASP.NET

Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #60 kdy: 22. 09. 2017, 18:57:01 »
To, že něco vzniklo k nějakému danému účelu ještě neznamená, že to není uníverzální samo o sobě. Můžu mít DSL v Céčku pro volání databázových SQL dotazů, proč ne? Konfiguraci můžu napsat v YAML, JSONu, XML, nebo si ji nechat pouze vygenerovat. Zatím svůj názor tedy neměním.

Zrovna SQL je neúplným jazykem. Přesto se používá.


Honza

Re:Node.js vs PHP vs ASP.NET
« Odpověď #61 kdy: 22. 09. 2017, 20:31:39 »
To, že něco vzniklo k nějakému danému účelu ještě neznamená, že to není uníverzální samo o sobě. Můžu mít DSL v Céčku pro volání databázových SQL dotazů, proč ne? Konfiguraci můžu napsat v YAML, JSONu, XML, nebo si ji nechat pouze vygenerovat. Zatím svůj názor tedy neměním.

Zrovna SQL je neúplným jazykem. Přesto se používá.
Předtím, než jsem ti chtěl dát za pravdu, jsem si o tom něco našel. Měl jsem tušení, že pomocí SQL procedur by leccos udělat šlo:
http://wiki.postgresql.org/wiki/Mandelbrot_set
A jak jsem tušil, samotné SQL dotazy, které si pod "SQL" představí většina, tak na to nestačí, ale ty ani já za programovací jazyk nepovažuji.

O tom, zda se SQL používá nebo ne ale spor nevedeme. Chtěl jsem naznačit, že pokud chci poslat databázi SQL dotaz, tak znát SQL je možná výhoda, ale není nutné to SQL psát ručně. Doufám, že tady se chytí aspoň někdo další, kdo to už nějakou dobu s nějakou abstrakcí nad tím tak píše...

Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #62 kdy: 22. 09. 2017, 21:10:00 »
To, že něco vzniklo k nějakému danému účelu ještě neznamená, že to není uníverzální samo o sobě. Můžu mít DSL v Céčku pro volání databázových SQL dotazů, proč ne? Konfiguraci můžu napsat v YAML, JSONu, XML, nebo si ji nechat pouze vygenerovat. Zatím svůj názor tedy neměním.

Zrovna SQL je neúplným jazykem. Přesto se používá.
Předtím, než jsem ti chtěl dát za pravdu, jsem si o tom něco našel. Měl jsem tušení, že pomocí SQL procedur by leccos udělat šlo:
http://wiki.postgresql.org/wiki/Mandelbrot_set
A jak jsem tušil, samotné SQL dotazy, které si pod "SQL" představí většina, tak na to nestačí, ale ty ani já za programovací jazyk nepovažuji.

O tom, zda se SQL používá nebo ne ale spor nevedeme. Chtěl jsem naznačit, že pokud chci poslat databázi SQL dotaz, tak znát SQL je možná výhoda, ale není nutné to SQL psát ručně. Doufám, že tady se chytí aspoň někdo další, kdo to už nějakou dobu s nějakou abstrakcí nad tím tak píše...

Procedury rozšiřují SQL a dělají z něj úplný jazyk.

Ovšem i bez procedur se dá SQL dotazem vygenerovat například HTML nebo CSS. Jen je to děsně pracné, nepraktické a málo robustní. HTML už negeneruji ani v PHP, protože je to neefektivní a líné. Je lepší aplikaci rozdělit do vrstev, kde se pro každou vrstvu vybere vhodný DSL.

Když jsem to počítal, tak jsem zjistil, že v běžné webové aplikaci je použito cca 6 různých jazyků. Teoreticky by se to dalo napsat v jednom dokonalém jazyce, který existuje a který obsáhne vše. Dokonce by eliminoval většinu problémů, se kterými se denně potýkáme. Vývoj však šel cestou rozdělení do více jazyků s omezenými schopnostmi.

Re:Node.js vs PHP vs ASP.NET
« Odpověď #63 kdy: 22. 09. 2017, 21:23:47 »
Snad odjakživa vše používám jako mikroservices v kontejnerech, takže mě naopak příjde přirozené to klidně míchat.
Používám tedy i jazyky, které nemám rád, ale pokud pracují jak mají - beru je na milost  :)

Procedury jsem nikdy moc nemusel u SQL a vlastně při přechodu na NoSQL jsem ani moc věcí nemusel měnit.
Takže jsem opět v hybridu, přes integraci přistupuju jak do SQL tak do NoSQL a z každého si vezmu to lepší.

Příjde mi to OK, navíc velké systémy je strašně dělat jako monolit. Těším se na NGINX UNIT ::)
Za mě prostě cokoliv co správně pracuje.

To, že něco vzniklo k nějakému danému účelu ještě neznamená, že to není uníverzální samo o sobě. Můžu mít DSL v Céčku pro volání databázových SQL dotazů, proč ne? Konfiguraci můžu napsat v YAML, JSONu, XML, nebo si ji nechat pouze vygenerovat. Zatím svůj názor tedy neměním.

Zrovna SQL je neúplným jazykem. Přesto se používá.
Předtím, než jsem ti chtěl dát za pravdu, jsem si o tom něco našel. Měl jsem tušení, že pomocí SQL procedur by leccos udělat šlo:
http://wiki.postgresql.org/wiki/Mandelbrot_set
A jak jsem tušil, samotné SQL dotazy, které si pod "SQL" představí většina, tak na to nestačí, ale ty ani já za programovací jazyk nepovažuji.

O tom, zda se SQL používá nebo ne ale spor nevedeme. Chtěl jsem naznačit, že pokud chci poslat databázi SQL dotaz, tak znát SQL je možná výhoda, ale není nutné to SQL psát ručně. Doufám, že tady se chytí aspoň někdo další, kdo to už nějakou dobu s nějakou abstrakcí nad tím tak píše...

Procedury rozšiřují SQL a dělají z něj úplný jazyk.

Ovšem i bez procedur se dá SQL dotazem vygenerovat například HTML nebo CSS. Jen je to děsně pracné, nepraktické a málo robustní. HTML už negeneruji ani v PHP, protože je to neefektivní a líné. Je lepší aplikaci rozdělit do vrstev, kde se pro každou vrstvu vybere vhodný DSL.

Když jsem to počítal, tak jsem zjistil, že v běžné webové aplikaci je použito cca 6 různých jazyků. Teoreticky by se to dalo napsat v jednom dokonalém jazyce, který existuje a který obsáhne vše. Dokonce by eliminoval většinu problémů, se kterými se denně potýkáme. Vývoj však šel cestou rozdělení do více jazyků s omezenými schopnostmi.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci

Archie

Re:Node.js vs PHP vs ASP.NET
« Odpověď #64 kdy: 22. 09. 2017, 22:18:14 »
Když jsem to počítal, tak jsem zjistil, že v běžné webové aplikaci je použito cca 6 různých jazyků. Teoreticky by se to dalo napsat v jednom dokonalém jazyce, který existuje a který obsáhne vše. Dokonce by eliminoval většinu problémů, se kterými se denně potýkáme. Vývoj však šel cestou rozdělení do více jazyků s omezenými schopnostmi.

V modernim JavaScriptu si napises server, klient, middleware. Dost drahejch operaci usetris na server side renderingu a GraphQL. Data ukladas v JSON formatu.  Mas k dispozici bozi featury jako code splitting, hot reloading, prefetching, zminenej SSR, featury, ktery nejsou bezny a tak dostupny v jinejch webovejch ekosystemech. ES6, Webpack, Babel, NPM, Docker a dalsi technologie dost resej zabordelenost dob minulejch. Nehlede na kompozici, funkcionalni paradigma, typy, jednosmernej datovej tok, async, React Fiber, chystanej Prepack, NextJS, Relay.. 

Mit na serveru Javu, Groovy, sablony rozkroceny mezi nejaky XML, Freemarker, Spel, do toho SQL, nejaky ORM, na klientu 40 pluginu jQuery, Bootstrap, nejakej css framework, Elastic a nejakou cache, vopravdu neni to jediny mozny a neni potreba 6 jazyku a 5 programovacich paradigmat. Hawk.


Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #65 kdy: 22. 09. 2017, 22:38:19 »
Když jsem to počítal, tak jsem zjistil, že v běžné webové aplikaci je použito cca 6 různých jazyků. Teoreticky by se to dalo napsat v jednom dokonalém jazyce, který existuje a který obsáhne vše. Dokonce by eliminoval většinu problémů, se kterými se denně potýkáme. Vývoj však šel cestou rozdělení do více jazyků s omezenými schopnostmi.

V modernim JavaScriptu si napises server, klient, middleware.

Musíš započítat také HTML, CSS a databázi. To už jsou dohromady 4 jazyky, které se stěží mohou zastupovat. Něco málo jsi ušetřil. Měl jsem na mysli jeden jazyk na všechno. Bohužel dnešní prohlížeče na to stavěny nejsou.

Aoidhghean

Re:Node.js vs PHP vs ASP.NET
« Odpověď #66 kdy: 22. 09. 2017, 22:58:05 »
Když jsem to počítal, tak jsem zjistil, že v běžné webové aplikaci je použito cca 6 různých jazyků. Teoreticky by se to dalo napsat v jednom dokonalém jazyce, který existuje a který obsáhne vše. Dokonce by eliminoval většinu problémů, se kterými se denně potýkáme. Vývoj však šel cestou rozdělení do více jazyků s omezenými schopnostmi.

V modernim JavaScriptu si napises server, klient, middleware. Dost drahejch operaci usetris na server side renderingu a GraphQL. Data ukladas v JSON formatu.  Mas k dispozici bozi featury jako code splitting, hot reloading, prefetching, zminenej SSR, featury, ktery nejsou bezny a tak dostupny v jinejch webovejch ekosystemech. ES6, Webpack, Babel, NPM, Docker a dalsi technologie dost resej zabordelenost dob minulejch. Nehlede na kompozici, funkcionalni paradigma, typy, jednosmernej datovej tok, async, React Fiber, chystanej Prepack, NextJS, Relay.. 

Mit na serveru Javu, Groovy, sablony rozkroceny mezi nejaky XML, Freemarker, Spel, do toho SQL, nejaky ORM, na klientu 40 pluginu jQuery, Bootstrap, nejakej css framework, Elastic a nejakou cache, vopravdu neni to jediny mozny a neni potreba 6 jazyku a 5 programovacich paradigmat. Hawk.
Co je hawk? Unikla mi souvislost se sokolama?

Archie

Re:Node.js vs PHP vs ASP.NET
« Odpověď #67 kdy: 22. 09. 2017, 23:13:24 »
Musíš započítat také HTML, CSS a databázi. To už jsou dohromady 4 jazyky, které se stěží mohou zastupovat. Něco málo jsi ušetřil. Měl jsem na mysli jeden jazyk na všechno. Bohužel dnešní prohlížeče na to stavěny nejsou.

CSS se dneska da psat (a pise se) v JavaScriptu jako funkcionalni komponenty. Viz treba Reacti svet a Fela. Databaze jako Mongo uklada do JSON stromecku, coz je format totoznej s JS objektama. REST ti v mnohapripadech uplne odpada s pouzitim GraphQL, ktery ma sice svoje query, ale sou zase zapsany v js. V ramci jednoho komplexniho kusu komponent se da napsat mobilni apka (React Native) i web. V JS uz je napsana i spousta desktopovejch veci. HTML uz je spis jen takovej talir, na kterym se jidlo podava.


caps

Re:Node.js vs PHP vs ASP.NET
« Odpověď #68 kdy: 23. 09. 2017, 16:59:14 »
Nevyhoda NodeJS je zase v onom callback hellu, ktery generuje a ve kterem je vyzva implementovat i blby for cyklus...
Ano, je pravda, ze menej sikovny programator bude mat s nodeJs problem kvoli callback hell. Ale, ze by sa v nom nedali implementovat jednoduche veci ako for cyklus... To urcite nie. Mimo toho for cyklus nema nic spolocne s asynchronnym procesom a aj ked vo for cykle spustam asynchronne metody, tak sa ich zosynchronizovanie vzdy da vyriesit bud cez promisy alebo pomocou niecoho ako async modul a podobne.

Jo, je to vyzva, pre toho kto s nodeJs zacina. Ale ten kto sa v tom rozkuka uz problem nema.

alebo krajsie a modernejsie pomocou async / await


let result = [];
for (let url of ["/adresa1", "/adresa2", "/adresa3"]) {
     result.push(await download(url));
}

David

Re:Node.js vs PHP vs ASP.NET
« Odpověď #69 kdy: 24. 09. 2017, 18:02:01 »
    Já dělam v PHP a poohlížim se po C#/Java. Celkově bych to shrnul:

    PHP
    - horší výkon, protože je to skriptovací jazyk
    - slabý typování - u větších projektů průser
    - nekonzistence - něco je objekt, něco resource, nesrovnalosti v názvech atd.
    - některý věci se dělaj krmolomně, např. asynchronní operace
    - na nic kromě webu/skriptů se nedá použít

    C#
    - moderní
    - s restartem .NETu by to mohla bejt do budoucna nejlepší technologie

    Java
    - programuje se mi v ní hůř než v C#
    - přijde mi víc těžkopádná než ASP.NET a psaní je zdlouhavější

    Node.JS
    - JS obecně nemám rád, spatlanina jako PHP
    - alspoň se dá použít na více místech, např. na mobilu je to jedna z mála multiplatformních alternativ, ale dělat v něm desktopovou aplikaci je utopie
    - vše defaultně asynchronní se mi nelíbí, přijde mi to nepřirozený na serveru (možná někdo nesouhlasí)
    - někdy bych si v něm chtěl vyzkoušet udělat webovou aplikaci, ale jedinně (!) s využitim Typescriptu, jinak je to krok vzad

    Python
    - výkonem je na tom podle benchmarků hůř než nový PHP
    - líp navržený než PHP
    - univerzální
    - ale žádnej mega boom oproti PHP (je to taky jen skriptovací jazyk), při přechodu z PHP bych spíš udělal větší krok šel do C#/Javy

Aoidhghean

Re:Node.js vs PHP vs ASP.NET
« Odpověď #70 kdy: 24. 09. 2017, 18:09:35 »
Nevyhoda NodeJS je zase v onom callback hellu, ktery generuje a ve kterem je vyzva implementovat i blby for cyklus...
Ano, je pravda, ze menej sikovny programator bude mat s nodeJs problem kvoli callback hell. Ale, ze by sa v nom nedali implementovat jednoduche veci ako for cyklus... To urcite nie. Mimo toho for cyklus nema nic spolocne s asynchronnym procesom a aj ked vo for cykle spustam asynchronne metody, tak sa ich zosynchronizovanie vzdy da vyriesit bud cez promisy alebo pomocou niecoho ako async modul a podobne.

Jo, je to vyzva, pre toho kto s nodeJs zacina. Ale ten kto sa v tom rozkuka uz problem nema.

alebo krajsie a modernejsie pomocou async / await


let result = [];
for (let url of ["/adresa1", "/adresa2", "/adresa3"]) {
     result.push(await download(url));
}
Ještě “hezčí” jsou korutiny.

Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #71 kdy: 24. 09. 2017, 18:47:59 »
Já dělam v PHP a poohlížim se po C#/Java. Celkově bych to shrnul:

PHP
- horší výkon, protože je to skriptovací jazyk
- slabý typování - u větších projektů průser
- nekonzistence - něco je objekt, něco resource, nesrovnalosti v názvech atd.
- některý věci se dělaj krmolomně, např. asynchronní operace
- na nic kromě webu/skriptů se nedá použít

C#
- moderní
- s restartem .NETu by to mohla bejt do budoucna nejlepší technologie

Koukám, že je nejvyšší čas, abys opustil PHP, se kterým si evidentně nerozumíš, a přešel k C#.

  • PHP je kompilovaným jazykem, který není pomalý. Benchmarky lžou
  • Slabé typování nevadí, když s ním umíš zacházet
  • Případnou nekonzistenci si snadno zapouzdříš do objektu a pak je ti zcela fuk
  • PHP není stavěné na asynchronní operace, ale i tohle se dá zvládnout vcelku snadno
  • PHP se dá použít jako generátor/kompilátor čehokoli. Desktop bych v něm opravdu nedělal

Milfaus

Re:Node.js vs PHP vs ASP.NET
« Odpověď #72 kdy: 24. 09. 2017, 19:08:01 »
  • PHP je kompilovaným jazykem, který není pomalý. Benchmarky lžou
  • Slabé typování nevadí, když s ním umíš zacházet
  • Případnou nekonzistenci si snadno zapouzdříš do objektu a pak je ti zcela fuk
  • PHP není stavěné na asynchronní operace, ale i tohle se dá zvládnout vcelku snadno
  • PHP se dá použít jako generátor/kompilátor čehokoli. Desktop bych v něm opravdu nedělal

Kompilovaný jazyk? To jako fakt? Gcc -o index index.php jo? :-D
LOL? Nebo myslíš opuštěný a vypuštěný HipHop?
Slabé typování nevadí? :-D ?
Asi nejvíc mě rozsekala část: "nekonzistenci si snadno zapouzdříš do objektu"!
To asi nejvíc vystihuje styl práce v PHP!
Prostě to čuně prasí a když je to už dostatečně doprasené, "zamete se to pod koberec", aby tu prasárnu vůbec šlo použít.
Velký dílek skládačky právě zapadl :-D

jpu

Re:Node.js vs PHP vs ASP.NET
« Odpověď #73 kdy: 24. 09. 2017, 19:08:42 »
Kit-e my vieme, ze php je svaty gral pre teba :)

Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #74 kdy: 24. 09. 2017, 19:17:10 »
Pokud se někomu PHP nelíbí, ať v něm nedělá.