Node.js vs PHP vs ASP.NET

Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #45 kdy: 21. 09. 2017, 23:18:53 »
Žádný z nich nepotřebuje HTTP server, neboť každý má svůj. Python také.

Jakyzeto httpserver ma PHP nebo ASP ?

Nemyslím si, že by ASP zůstalo pozadu za ostatními.

PHP má svůj vlastní webserver od verze 5.4. Používám ho denně. Občas mi na desktopu běží současně i 5 PHP serverů, každý na jiném portu. Je to skvělé pro testování, neboť logy běží přímo v konzoli a dají se libovolně přesměrovat do vyhodnocení testu.


Aoidhghean

Re:Node.js vs PHP vs ASP.NET
« Odpověď #46 kdy: 21. 09. 2017, 23:37:12 »
Fortran žádné výhody oproti jiným jazykům nepřináší.

Fortran je rychlejší než C
Není rychlejší, když se použije restrict.
Když použiješ restrict, výrazně se tím sníží spolehlivost aplikace
Bude tak spolehlivá jako verze ve Fortranu. Vygenerovaný kód bude zhruba stejný co do struktury i výkonu.

Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #47 kdy: 22. 09. 2017, 00:02:35 »
Fortran žádné výhody oproti jiným jazykům nepřináší.

Fortran je rychlejší než C
Není rychlejší, když se použije restrict.
Když použiješ restrict, výrazně se tím sníží spolehlivost aplikace
Bude tak spolehlivá jako verze ve Fortranu. Vygenerovaný kód bude zhruba stejný co do struktury i výkonu.

V tom případě opět vítězí Fortran, neboť má mnohem čitelnější zdrojový kód než C. Plus zmíněný bonus ve formě práce s poli a komplexní aritmetikou.

Jazyk C se možná hodí pro psaní operačních systémů, ale na aplikace už tolik vhodný není. Má takové množství nešvarů, že je v dnešní době už téměř nepoužitelný, pokud chceme mít aplikaci hotovou v nějakém rozumném čase.

Milfaus

Re:Node.js vs PHP vs ASP.NET
« Odpověď #48 kdy: 22. 09. 2017, 00:15:54 »
C se možná hodí pro psaní operačních systémů, ale na aplikace už tolik vhodný není.

Máš pravdu.
Cčko se hodí na vážně low level věci nebo na výpočty.
Ostatně OpenCL/Cuda jsou v Cčku a je jen dobře, že jsou v Cčku.

Produktivita práce v C# je proti C nesrovnatelně vyšší, nemusíš se prakticky vůbec o nic starat a myslíš jen na vyřešení problému.

Nicméně jsem uvažoval o tom, že bych se asi měl naučit i funkcionální programování.
Ostatně jsem tady někde na Rootu viděl docela pěkný článek, řekl bych poměrně přesvědčivý.

Aoidhghean

Re:Node.js vs PHP vs ASP.NET
« Odpověď #49 kdy: 22. 09. 2017, 00:31:29 »
Nicméně jsem uvažoval o tom, že bych se asi měl naučit i funkcionální programování.
Tak hodně štěstí s kategoriemi a triádami ;)


Milfaus

Re:Node.js vs PHP vs ASP.NET
« Odpověď #50 kdy: 22. 09. 2017, 01:17:57 »

Hmmm

Re:Node.js vs PHP vs ASP.NET
« Odpověď #51 kdy: 22. 09. 2017, 14:14:13 »
Pro mě je náhodou informace, že autor node.js přešel na GO, docela zajímavá a podstatná.
Ani nie. Tak ako vo vsetkom je dolezity kontext. Pretoze, ako uz bolo stokrat povedane, kazdy jazyk sa hodi na nieco ine a pristup roky programovat vsetko v jednom jazyku je proste volovina. Preto tato informacia nema prakticky ziaden vyznam.
A pokial autor node.js presiel na GO len tak lebo hipsterina, tak ta informacia uz duplom nema ziaden vyznam.

Jazyk nie je manzelka.

Youda

Re:Node.js vs PHP vs ASP.NET
« Odpověď #52 kdy: 22. 09. 2017, 15:19:06 »
Pro mě je náhodou informace, že autor node.js přešel na GO, docela zajímavá a podstatná.
Ani nie. Tak ako vo vsetkom je dolezity kontext. Pretoze, ako uz bolo stokrat povedane, kazdy jazyk sa hodi na nieco ine a pristup roky programovat vsetko v jednom jazyku je proste volovina. Preto tato informacia nema prakticky ziaden vyznam.
A pokial autor node.js presiel na GO len tak lebo hipsterina, tak ta informacia uz duplom nema ziaden vyznam.

Jazyk nie je manzelka.

Hlavni duvod proc NodeJS vubec vznikl je jeho vyhoda v async/callback zpracovani requestu, kde ziskas velice slusny throughput pro velke mnozstvi malych (neobsahujicich slozite vypocty) requestu. Napr. oproti enterprise Jave, ktera na kazdy request vyrabi hromadu objektu v ulozenych v RequestContextu a simultanni thread.
Nevyhoda NodeJS je zase v onom callback hellu, ktery generuje a ve kterem je vyzva implementovat i blby for cyklus... A dale ze request loop bezi v jednom threadu.

Dneska v GO dosahnes vyhod NodeJS prostym vytvorenim poolu gorutin, (zajistuje go package net/http ani by se koder nejak staral), pricemz gorutiny (lightweight thready ktere scheduluje primo go runtime) se automaticky mapuji na OS thready/procesy.

Podrobne je to popsano zde:
https://www.toptal.com/back-end/server-side-io-performance-node-php-java-go

S prichodem GO uz NodeJS nema smysl, GO implementuje vyhody NodeJS ale nezavadi jeho nevyhody. Programuje se v nem velice dobre, slozitost neco mezi Ceckem a za ruku vedouci Jawou.

Honza

Re:Node.js vs PHP vs ASP.NET
« Odpověď #53 kdy: 22. 09. 2017, 15:21:38 »
Pretoze, ako uz bolo stokrat povedane, kazdy jazyk sa hodi na nieco ine a pristup roky programovat vsetko v jednom jazyku je proste volovina.
To, že to bylo řečené stokrát, ještě neznamená, že to tak je. Programovací jazyk je univerzální nástroj (měl by být). Pokud se na něco konkrétní jazyk nehodí (ať už z jakéhokoliv důvodu), tak má problém ten jazyk resp. jeho implementace, není to možné říct obecně o všech! Tak například se dá říct, že PHP se nehodí pro programování aplikací jako je Facebook, a ejhle..
Navíc pak by se dalo říct, že všichni programátoři, kteří programují v jednom jazyce jsou volové, no to snad ne...?

Milfaus

Re:Node.js vs PHP vs ASP.NET
« Odpověď #54 kdy: 22. 09. 2017, 15:29:28 »
S prichodem GO uz NodeJS nema smysl, GO implementuje vyhody NodeJS ale nezavadi jeho nevyhody. Programuje se v nem velice dobre, slozitost neco mezi Ceckem a za ruku vedouci Jawou.

+1 za velmi dobré vysvětlení

Já to právě tak pochopil, že NodeJS ztratilo smysl.

Archie

Re:Node.js vs PHP vs ASP.NET
« Odpověď #55 kdy: 22. 09. 2017, 15:39:11 »
Zalezi v prvni rade co v tom chces psat.

Jestli chces po staru kombinovat nejakej JavaScript na klientu, do nejaky sablony renderovat data na serveru a pak to spolu chroustat dohromady, pouzij treba ASP.NET. Pravdepodobne skoncis u nejakeho REST API, nejakeho nosql provider ala Elastic a Razoru s jQuery.

OK, ale uz to neni cool, pokud nepises jenom velky nudny databazovy systemy.

Ja doporucuju JavaScript na serveru i klientu. Za nejvic cool momentalne povazuju kombo NextJS, React,  GraphQL, Relay Modern/Apollo, nejakej type check a CSS in JS. JS renderujes na serveru, data ti poskytuje GraphQL, programujes funkcionalne, data tecou jednim smerem, a je to zabava. 

Hmmm

Re:Node.js vs PHP vs ASP.NET
« Odpověď #56 kdy: 22. 09. 2017, 15:54:41 »
Pretoze, ako uz bolo stokrat povedane, kazdy jazyk sa hodi na nieco ine a pristup roky programovat vsetko v jednom jazyku je proste volovina.
To, že to bylo řečené stokrát, ještě neznamená, že to tak je. Programovací jazyk je univerzální nástroj (měl by být). Pokud se na něco konkrétní jazyk nehodí (ať už z jakéhokoliv důvodu), tak má problém ten jazyk resp. jeho implementace, není to možné říct obecně o všech! Tak například se dá říct, že PHP se nehodí pro programování aplikací jako je Facebook, a ejhle..
Navíc pak by se dalo říct, že všichni programátoři, kteří programují v jednom jazyce jsou volové, no to snad ne...?
V prvom rade je naivne hovorit, ze Facebook je napisany v PHP, pretoze je to velmi zjednodusene povedane. Facebook si PHP ohol podla seba a je to v skutocnosti mix Javascriptu, XHP a HipHop for PHP. Vanilla PHP by som tam velmi nehladal. A to sme len pri frontende.

Ano, programovaci jazyk by mal byt univerzalny nastroj, ale nie je nim. A preto sa ani ziaden programovaci jazyk nehodi na vsetko. A to dokonca plati aj o PHP a Javascripte pri tvorbe webovych stranok.

Hmmm

Re:Node.js vs PHP vs ASP.NET
« Odpověď #57 kdy: 22. 09. 2017, 15:58:04 »
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.

Kit

Re:Node.js vs PHP vs ASP.NET
« Odpověď #58 kdy: 22. 09. 2017, 17:17:13 »
Programovací jazyk je univerzální nástroj (měl by být). Pokud se na něco konkrétní jazyk nehodí (ať už z jakéhokoliv důvodu), tak má problém ten jazyk resp. jeho implementace, není to možné říct obecně o všech!

Přečti si něco o doménově specifických jazycích. Snad změníš názor.

Univerzální prostředek neexistuje.

Honza

Re:Node.js vs PHP vs ASP.NET
« Odpověď #59 kdy: 22. 09. 2017, 17:24:59 »
V prvom rade je naivne hovorit, ze Facebook je napisany v PHP, pretoze je to velmi zjednodusene povedane. Facebook si PHP ohol podla seba a je to v skutocnosti mix Javascriptu, XHP a HipHop for PHP. Vanilla PHP by som tam velmi nehladal. A to sme len pri frontende.

Ano, programovaci jazyk by mal byt univerzalny nastroj, ale nie je nim. A preto sa ani ziaden programovaci jazyk nehodi na vsetko. A to dokonca plati aj o PHP a Javascripte pri tvorbe webovych stranok.
Ok, nemusí to být čisté PHP (upřímně, nevím), spíš mi šlo o to, že si pro své účely ke stávajícímu jazyku napsal ten překladač.

Mně stačí, že je programovací jazyk univerzální formálně (zdravíme pana Turinga). Pokud mi chybí nějaká knihovna, tak to je přece úplně jiná věc. To nelze dávat za vinu jazyku. Někdo tady dával příklad GUI pro desktop v PHP, třebaže ta knihovna pro to existuje, možná nestojí za nic, ale to zase není chyba PHP. Takhle to myslím.

Ale i když jsem 100% zastánce toho, aby bylo vše v jednom jazyku, tam nemám problém použít stávající knihovnu odjinud, pokud mi chybí, a nepíšu si ji sám. To ale znamená, že nějaké funkce pouze volám, nic nepíšu v jiném jazyce.

Programovací jazyk je univerzální nástroj (měl by být). Pokud se na něco konkrétní jazyk nehodí (ať už z jakéhokoliv důvodu), tak má problém ten jazyk resp. jeho implementace, není to možné říct obecně o všech!

Přečti si něco o doménově specifických jazycích. Snad změníš názor.

Univerzální prostředek neexistuje.
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.