Diskuze: asp.net

C# .NET .NET (C# a Visual Basic) asp.net American English version English version

Avatar
Amomym
Člen
Avatar
Amomym:

ahoj, proč se začalo používat hodně asp.net, jako že soubory mají koncovku .aspx? jakou to má výhodu?

 
Odpovědět 23.5.2013 13:48
Avatar
Kit
Redaktor
Avatar
Odpovídá na Amomym
Kit:

Je úplně jedno, jakou má soubor příponu. Podle přípony se však dá udělat asociace na aplikace, které se mají použít pro defaultné spouštění. Microsoft zřejmě nechtěl, aby se nové skripty spouštěly starým interpretrem a proto udělal novou příponu, na kterou asocioval nový interpretr.

Nahoru Odpovědět 23.5.2013 13:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Amomym
Člen
Avatar
Odpovídá na Kit
Amomym:

no, spíše jsem myslel, což jsem neuvedl, proč se to využívá než php?

 
Nahoru Odpovědět 23.5.2013 14:05
Avatar
Kit
Redaktor
Avatar
Odpovídá na Amomym
Kit:

Jsou to konkurenční produkty. To je stejné, jako kdyby ses ptal, proč se na webu používá Python nebo Java. Každý má nějaké výhody a nevýhody. ASP.NET má podle mne výhodu v přímé vazbě na Windows. Vývojáři, kteří běžně ladí pro Windows, k tomu mají blíž.

Nahoru Odpovědět 23.5.2013 14:20
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Michal Žůrek (misaz):

ASP.NET je modernější než PHP.

Nahoru Odpovědět 23.5.2013 14:38
Nesnáším {}, proto se jim vyhýbám.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:

S tím Windows bych to co píšeš dal až na poslední místo. Hlavní rozdíl je v technologiích samotných. Misaz - najdi si definici PHP a ASP. (ASP.NET nahradilo ASP - ale funguje na společných principech) ASP.NET je kompilované do polotovaru - stránky jsou jako v PHP dynamické avšak kód statický, silně typovaný atd. Zatímco PHP je vyloženě dynamický jazyk. (ASP.NET je jen webová technologie - jazyk jako takový se musí použít nějaký z .NET - C#, VisualBasic.NET,­...) A to je hlavní úskalí ASP.NET - jak píšeš - je to nová technologie, zatímco PHP nasbíralo neuvěřitelnou sumu uživatelů. Kdo by se chtěl od základů přeučovat? A to v obrovském měřítku - syntax, myšlení, statika,... Dále s ASP.NET musí pracovat vyloženě programátor - k tvoření v PHP není třeba být přímo programátor.

Editováno 23.5.2013 17:30
 
Nahoru Odpovědět 23.5.2013 17:29
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:

"...k tvoření v PHP není třeba být přímo programátor..."

Bohužel tohle je hodně rozšířený mýtus. Pak ty skripty vypadají jak vypadají.

Nahoru Odpovědět 23.5.2013 17:34
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kit
matesax:

Pokud chce dělat v PHP profesionálně, to je jiná... Ale jinak je pro běžného člověka PHP rozhodně otevřenější...

 
Nahoru Odpovědět 23.5.2013 17:39
Avatar
exyi
Redaktor
Avatar
Odpovídá na matesax
exyi:

A hlavne je ASP.NET (Web Forms) stranka slozena z komponent - objektu, coz dela kod prehlednejsi a snadno rozsiritelny.

 
Nahoru Odpovědět  +1 23.5.2013 17:40
Avatar
Kit
Redaktor
Avatar
Odpovídá na exyi
Kit:

PHP také, ale programátora k tomu nenutí.

Nahoru Odpovědět 23.5.2013 17:43
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na exyi
matesax:

To i MVC - všechno je to objektové... :)

Kit

Ať je to mýtus či nikoliv - nesejde na pravdě, ale na tom, co si lidé myslí - a pokud si myslí většina, že PHP je schůdnější, co asi použijí...

 
Nahoru Odpovědět 23.5.2013 17:48
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:

PHP je o něco schůdnější, ale jen co se týká psaní kódu. Ladění je o dost problematičtější, proto by se daleko důsledněji mělo provádět testování. Mimo jiné i proto, že každá verze PHP má mírně odlišné chování a není nic jednoduššího, než po upgrade spustit testy...

Testování v PHP dělá málokdo. Kdekdo si myslí, že k tomu potřebuje PHPUnit, které však na free serverech nebývá dostupné.

Editováno 23.5.2013 17:54
Nahoru Odpovědět 23.5.2013 17:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Luboš Běhounek (Satik):

Delat weby v asp.net je oproti php rychlejsi a prijemnejsi, jsou pro to lepsi vyvojove nastroje (MSVS), lepe se to ladi, treba PHP prakticky moc debugovat nejde.

Nahoru Odpovědět 23.5.2013 19:57
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Když máš kvalitní textový editor, tak je to jedno.

Nahoru Odpovědět 23.5.2013 21:47
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
matesax:

Zajímalo by mne, jak může být pevné typování a celková statika .NET rychlejší, než dynamický PHP... Mezitím co v .NET budu psát typy, v PHP už budu mít půlku aplikace... :)

Editováno 23.5.2013 22:10
 
Nahoru Odpovědět  +1 23.5.2013 22:08
Avatar
Odpovídá na matesax
Luboš Běhounek (Satik):

Kit: jedno to neni, uz z principu jak oba jazyky funguji. Navic jsem jeste poradny PHP editor nepotkal :)

matesax: Tohle muze napsat jen nekdo, kdo v ASP.NET poradne neprogramoval.
V .NET mas spoustu komponent hotovych, takze ty bezne veci se delaji samy za tebe (ale muzes je i lehce upravit, takze te to neomezuje).
Takze zatimco ty se budes v PHP placat s loginem, ja uz budu mit pulku aplikace :) .

A rozdil v rychlosti kodu zase tak velky neni, ja sice musim pred promenne psat, jakeho typu jsou, ale ty ten cas zase ztratis psanim znaku $ a zjistovani, jaky zhruba typ dat ti dana funkce vraci... :)

Nahoru Odpovědět 24.5.2013 0:00
:)
Avatar
matesax
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
matesax:

Tohle může napsat jen někdo kdo v ASP.NET nikdy nedělal. Je mnohem výhodnější začínat s prázdným projektem... UAC je katastrofa - než to předělávat... Dále - v čem to žiješ? To právě v PHP existuje spousty a spousty šablon... A .NET je jen jeden Framework - PHP jich má víc...

 
Nahoru Odpovědět 24.5.2013 5:45
Avatar
matesax
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
matesax:

Syntax je naprosto odlišný - už jen funkčnost stringu, zkrácené zápisy atd...

 
Nahoru Odpovědět 24.5.2013 5:48
Avatar
Odpovídá na matesax
Luboš Běhounek (Satik):

Ja v ASP.NET delal, zivim se tim, programuju v tom ve firme, zivil jsem se i PHP ve firme... :)

Pokud pod pojmem UAC chapeme oba to same - ty otravny potvrzovaci okynka pri instalaci/zmene nastaveni neceho ve win, tak ty se daj vypnout, ale nevim, jak se to tyka ASP.NET.

.NET je jen jeden, coz je dobre, nemusim se ucit milion ruznych frameworku, kdyz prijdu nekam do firmy :)
Ale existuje spousta baliku komponent, ktere ti muzou praci jeste vic ulehcit (pokud by ti treba nestacily ty zakladni).

BTW rychlost vyvoje aplikace neni jenom o rychlosti psani kodu.

Nahoru Odpovědět 24.5.2013 9:44
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na matesax
Kit:

Můj editor píše datové typy za mne, takže mě to nezdržuje. To spíš trvá déle napsání toho "$" před každou proměnnou a vzpomínání, jak se jmenuje funkce, kterou zrovna potřebuji.

Nahoru Odpovědět 24.5.2013 9:51
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Srovnáváte agilní a korporátní přístup. Každý se hodí na něco jiného, obvykle se na menší projekty více hodí agilní přístup (dynamické jazyky jako PHP) a na větší, korporátní jazyky silně typované (C#). Rychlost psaní kódu je stejná, jelikož v ASP díky typové kontrole odpadá část debuggování.

Nahoru Odpovědět  +1 24.5.2013 9:55
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Pokud u obou přístupů použiješ testování, odpadá debugování u obou.

Nahoru Odpovědět 24.5.2013 9:58
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Souhlasím, jen jsem narážel na častý omyl, že psaní datových typů prodlužuje dobu vývoje.

Nahoru Odpovědět 24.5.2013 10:03
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Kvalitní editory existují, dokonce nejen pro PHP. Jen u nich v základní sestavě není patrná převaha nad ostatními, protože nemají žádné ikony ani menu. Prostě na první pohled vypadají jako Notepad s obtížnějším ovládáním, ale uvnitř jsou nabušené vším, co si dovedeš představit.

Nahoru Odpovědět 24.5.2013 10:04
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Je zvláštní, jak autoři videotutoriálů na psaní programů v IDE píší poctivě každé písmenko. Nemají udělané žádné zkratky, žádné automatické opravy. Celé IDE používají vlastně jen jako kontextový slovník, jako by intellisense bylo vrcholem efektivnosti editorů. Maximálně si nechají vygenerovat nějaký stub.

Psaní datových typů vůbec nezdržuje, i když jsem to zpočátku tak vnímal. Vlastně to zdržuje jen ty, kteří ten jazyk neovládají.

Nahoru Odpovědět 24.5.2013 10:48
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
matesax:

Já teže dělám ve firmě - ale weby dělám i mimo. Používám přitom obě technologie. UAC = Users Account Control -> systém uživatelů

S tím psaním typů jsem to vzal s nadsázkou - zahalil jsem tím obsáhlejší problém. Každopádně jak už tu bylo řečeno - PHP je rychlejší, ale jen v určitém měřítku... Asi to tedy nebudu šířit jako obecný fakt, jelikož jinak si to každý přebere po svém.

 
Nahoru Odpovědět 24.5.2013 14:09
Avatar
Odpovídá na matesax
Luboš Běhounek (Satik):

Souhlasím s tím, že psát v PHP je rychlejší pro malé skripty nebo jednoduché weby, ale čím je web složitější, tím více se projevují výhody v ASP.NET.

Nahoru Odpovědět 24.5.2013 14:17
:)
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:

Jak může být PHP (interpret) rychlejší než C# (virtuální stroj)? To by mě zajímalo.

Nahoru Odpovědět 24.5.2013 14:44
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

Může. PHP totiž skripty nejprve kompiluje do bajtkódu. Hromada funkcí v PHP je napsána v C/C++, takže pokud je někdo umí využívat, může z PHP vyždímat i větší výkon, než z C#. Záleží však na řešené úloze, bývá to i obráceně.

Nahoru Odpovědět 24.5.2013 14:51
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka:

Co jsem se díval, tak lépe vychází C#. Je ale pravda, že stejně 90% času skriptu zabere práce s databází. Na druhou stranu konkurovat MySQL není těžké.

Nahoru Odpovědět 24.5.2013 14:57
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
Kit:

To opravdu není. SQLite mi vychází cca 5× rychlejší než MySQL a DB4 dokonce 70× rychlejší.

C# je na rozdíl od PHP univerzální jazyk. Proto pro určité typy úloh je výkonnější jeden, pro jiný typ úloh druhý. Octave to v hrubých výpočtech natře C# na plné čáře, ale nedá se použít jako univerzální jazyk, i když je úplný. Octave je čistý interpretr.

Nahoru Odpovědět 24.5.2013 15:07
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

Nenapada me moc uloh, kde by provadeni PHP kodu mohlo byt rychlejsi, co jsem koukal na ruzne grafy a benchmarky, tak byl c# temer vzdy nekolikrat rychlejsi.

Je to i docela logicke, treba:

  • V c# jsou primitivni typy
  • Pole je v php vlastne ve skutecnosti hashtable, coz je vzdy pomalejsi nez obycejne pole
  • c# kod je ve vysledku zkompilovan v podstate na nativni kod, jak je to presne u php netusim, ale ten tedy je predpokladam jen interpretovany, pripadne zkompilovany do bajtkodu (ale ten bajtkod je pak take interpretovan)
  • staticka typova kontrola u c#, pri vypoctech nemusi c# zjistovat, jak ma s promennou pracovat, proste uz to vi od kompilace
Nahoru Odpovědět 24.5.2013 15:59
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Pokud v PHP použiješ funkci, která v C# není, tak bude zpravidla rychlejší. Připouštím, že ve většině případů bude C# rychlejší. Jen se C# nedá použít všude, stejně jako PHP se také nedá použít všude.

Nativnost kódu C# a PHP je v podstatě srovnatelná. PHP není čistý interpretr, C# není čistý kompilátor. Oba kompilují do bajtkódu, který je následně interpretován.

Primitivní datové typy v PHP téměř nejsou potřebné. Stejně tak je nepotřebné pole. V PHP se pracuje hlavně se seznamy a slovníky. Statická typová kontrola v C# také není a ani není u OOP možná.

Nahoru Odpovědět 24.5.2013 16:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Luboš Běhounek (Satik):

"Oba kompilují do bajtkódu, který je následně interpretován."

Omyl, C# kód není interpretován, tam, kde ho spouštíš, je normálně zkompilován do strojových instrukcí, tam už žádná interpretace neprobíhá.

Nahoru Odpovědět 24.5.2013 16:23
:)
Avatar
Kit
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Kit:

Kompilace JIT, která v PHP není. PHP to dohání tím, že má víc knihoven zkompilovaných do nativního kódu běhového prostředí PHP.

Pokud budeš v PHP používat cykly, bude výrazně pomalejší, než C#, protože se bude hodně interpretovat bajtkód. Pokud však místo nich budeš používat knihovní funkce, které jsou optimalizovány, PHP může být rychlejší.

Většina programátorů na to však kašle, látají skripty v PHP jak se dá a proto vychází programy v PHP výrazně pomalejší, než v C#.

Nahoru Odpovědět 24.5.2013 16:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 35 zpráv z 35.