👋 Nový obsah na borekb.cz

Info Tento blog je v "read-only módu" a nový obsah již nebude přibývat. O vývoji píšu na DevBlog.

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.

Zkušenost mě naučila, že jazyk není problémem. Objektová orientace, známá trojka „sekvence-selekce-iterace“, prostě nic, co by člověka mohlo překvapit.

Určitý první náznak toho, že by můj světonázor nemusel být tak úplně správný, bylo setkání s Ruby. Některé věci se mi velmi líbily (jako třeba "Nice Day Isn't It?".split(//).uniq.sort.join), ale některé jsem prostě na první pohled nepochopil (třeba closures). Uklidňoval jsem se tím, že dynamické jazyky jsou pro mě velkou neznámou a že v jazyku typu C# mě podobné překvapení čekat nemůže…

Cha cha. Právě jsem shlédnul track TLN307: C#: Future Directions in Language Innovation (budete potřebovat IE nebo se spokojte s PPT prezentací, ačkoliv Anderse stojí za to vidět) a to mě zcela zbavilo iluzí. Doposud jsem C# 3.0 vnímal jen jako „2.0+LINQ“, ale takové věci jako lambda výrazy, extension methods, detaily fungování anonymních typů nebo komplikované compile-time odvozování typů v LINQ výrazech mě prostě vyrazily dech.

Jazyk hraje roli. Nové konstrukty sice „jen“ ulehčují práci, kterou by šlo zařídit i nějak jinak, ale o vývojářskou efektivitu jde přece až v první řadě :)

Zařazeno do kategorií |
B. Stanik T. (Pá, 2006-04-28 05:34):

S C# 3.0 si hraju už delší dobu a docela se mi líbí. Bude to opravdu něco jiného, než Java a kolegové v práci se C# 3.0 posmívají ;-).

Komentáře jsou uzavřeny (blog je v read-only módu). Pokud mě chcete kontaktovat, můžete mailem.