PHP vs. ASP.NET - pokus o seriózní srovnání
Dávám ke stažení svoji bakalářku, která srovnává PHP a ASP.NET.
Stáhněte si Mono a vývojářské nástroje jako VMware image
Pokud vás zajímá projekt Mono (třeba proto, že vás navnadil Tomáš Petříček), nejjednodušší cestou, jak začít, je stáhnout si VMware image, kde je na operačním systému SUSE Linux Enterprise Desktop 10 předinstalované Mono, PostgreSQL, MySQL a potřebné vývojářské nástroje. Pak už jen stačí mít dost RAMky a VMware player.
Může to být ještě jednodušší?
Woohooo! MSDN wiki!
Tak na tohle jsem se opravdu těšil. Microsoft zpřístupnil MSDN wiki (betu, jak jinak), takže se odteď může na dokumentaci k Visual Studiu, .NET Frameworku a dalším věcem podílet kdokoliv.
Úplná wiki to není a asi ani nebude, protože obsah dokumentace jako takový editovat nelze. Pod ním se však nově objevuje sekce „Community Content“, která umožňuje k jednotlivým tématům přidávat komentáře podobně jako třeba v PHP manuálu. Oproti němu však navíc každý uživatel může editovat komentář každého uživatele, takže název „wiki“ aspoň trochu na místě je.
Co říkáte přehlednosti zápisu delegátů v C# 3.0?
Dnes večer se v Microsoftu koná přednáška o C# 3.0 a při té příležitosti bych se rád zeptal, jak se vám líbí nebo nelíbí následující zápisy delegátů. (Takto se sice delegáti většinou nepoužívají, ale jde mi čistě o syntaxi.)
C# 1.x:
public delegate int IntOperation(int x);
public static int DoubleMe(int x) {
return x * 2;
}
public static int InvokeNormal1x() {
// základní zápis:
IntOperation del = new IntOperation(DoubleMe);
return del(5);
}
C# 2.0:
/--- code csharp public delegate int IntOperation(int x);
Je ASP.NET příliš komplikované?
Karl Seguin, odborník na ASP.NET, v článku „ASP.NET isn't always the right tool“ doporučuje PHP. Jak se to se složitostí ASP.NET vlastně má?
Programovací jazyk hraje roli aneb C# 3.0 mě dostal
Jsem mladý a naivní, ale lepší se to :)
Programovacích jazyků znám jen hrstku – reálně jsem pracoval s Pascalem, Javou, PHP a C#, nějakou tu knížku jsem prolistoval o Visual Basicu .NET, Pythonu a tak, ale že bych byl teoretický znalec jazyků, tak to ani náhodou. Přes svou malou zkušenost jsem postupem času sám sebe přesvědčil, že jazyk nehraje roli a že vždy záleží na „frameworku“. Posuďte sami:
Pascal jsem opustil ve prospěch Javy a její syntaxe byla intuitivní a snadná, ačkoliv podoba s Pascalem není tak úplně blízká. Pravý problém byl naučit se Javovskou class library, aby se taky dalo naprogramovat něco jiného než hello world. „Krok stranou“ z Javy do světa PHP byl rovněž snadný, syntaxe je velmi podobná a tak jediným reálným úsilím bylo naučit se novou sadu funkcí. Z Javy do C# to byla po syntaktické stránce úplná pohádka, některé věci by šly skoro 1:1 zkopírovat a spustit. Opět jsem však musel investovat čas do učení Frameworku, tentokrát s velkým F.
Ruby je větší konkurent než Java, říká Don Box
Don Box v zápisku Gosling on Ruby po delší době upozornil na určité ignorantství Jamese Goslinga, duchovního i „biologického“ otce Javy, který rozhovorem Java Is Under No Serious Threat From PHP, Ruby or C# zahrál mnoha příznivcům dynamických jazyků na jak na city, tak na vášně :) Asi nejlepší reakcí, jakou jsem viděl, je Gosling Didn’t Get The Memo.
Zaujalo mě (6)
- Andi Gutmans, jeden ze zakladatelů firmy Zend, upozornil na to, že po zadání slova ‚framework‘ do MSN Search se na prvním místě objeví Zend Framework před .NET Frameworkem. Kde udělali inženýři z Microsoftu chybu? :) (V Googlu se přitom .NET Framework „správně“ objevuje na prnvím místě a ZF není ani na první stránce.)
- Každá technologie má několik typů uživatelů, od „early adopterů“ přes „brzkou většinu“, „pozdní většinu“ až po ty, co technologii zarytě odmítají. Larry O'Brien však upozornil, že se často zapomíná na velkou díru, která je mezi early adoptery a brzkou většinou. Zatímco nadšence zajímá nová technologie a jsou ochotni strávit mnoho času jejím učením, brzká většina potřebuje věci jako snadnost použití, produktivitu, integraci s jinými technologiemi apod. Článek říká, že Ruby má mnoho nadšených early adopterů, ale není jisté, jestli se mu podaří přeskočit onu propast. Uvidíme…
Slabá podpora pozdní vazby v C#
Polymorfismus je jedním ze základních konceptů objektově orientovaného programování. Na rozdíl od ostatních principů (zapouzdření, dědičnost, abstrakce apod.) se v případě polymorfismu jedná o poměrně komplikovanou záležitost (podívejte se třeba na Wikipedii), ale v podstatě se vše točí kolem jednoho pojmu, kterým je pozdní vazba.
Mým oblíbeným příkladem je zvířecí seznamka: objekt typu
Zvíře
má metodu představSe
, která sama
o sobě nevypisuje nic užitečného (např. „Jsem obecné
zvíře“). Odvozené třídy ale mohou s výhodou tuto metodu
překrýt a vypsat krátké představení sebe sama, např. „Jsem pes
Alík“ nebo „Jsem kočka Micka“. Metoda
PřidejDoSeznamky
pak může díky pozdní vazbě přijímat
obecný typ Zvíře
a spolehnout se, že volání metody
představSe
bude fungovat podle konkrétního zvířete a vypíše
se tedy smysluplná hláška namísto nicneříkajícího „Jsem obecné
zvíře“. Teoreticky řečeno, pozdní vazba (late binding) odkládá
rozhodnutí o konkrétní volané metodě až na dobu běhu, zatímco
brzká vazba (early binding) o volané metodě rozhoduje už při
kompilaci.

před 6 let 15 týdnů
před 6 let 15 týdnů
před 6 let 36 týdnů
před 6 let 51 týden
před 7 let 11 týdnů
před 7 let 20 týdnů
před 7 let 21 týden
před 7 let 24 týdny
před 7 let 30 týdnů
před 7 let 39 týdnů