Dne Sun, 06 Feb 2011 15:58:15 +0100 Pecinovský Rudolf
<rudolf.pecinov...@i.cz> napsal/-a:


dotyčný naučil jako první, je v jeho programech (v libovolném jazyce) k vysledování ještě dlouhou dobu.

Souhlasim, ale...

kdyz by napr. nekdo cetl muj kod, mohl by si myslet,
ze jsem se ani po 20+ letech nezbavil assemblerovskych
navyku, kdyz vyhodnocuju podminky stylem, odpovidajicim
v podstate vetvi posit v Jacksonove backtrackingu misto
abych je hnizdil do sebe. Ale ja to delam umyslne, ac
se to quitovani jiste strukturovanym puristum nelibi,
protoze to povazuji za citelnejsi a udrzovatelnejsi kod
s mensi nachylnosti k chybam.


A v tom je právě problém. Přecházíš-li na jazyk postavený na jiném paradigmatu, může ten přechod docela dlouho trvat.

Souhlasim, ale ja v tomto pripade nemluvim o zasadni zmene
paradigmatu jako napr. pri prechodu z proceduralniho jazyka
na deklarativni.
Pro tuto diskuzi jsem predpokladal, ze zustavame v OO svete.


zkušeného programátora 12 až 18 měsíců, přičemž čím zkušenější, tím déle mu trvá, než se zbaví starých zvyků a začne programovat opravdu podle nového paradigmatu.

To se udava, ale osobne s tim mam problem:

- Kdo je to ten programator? Co predstavuji ty jeho zkusenosti?
  Umel napr. nejakou (strukturovanou) metodiku? Jestli ano, mohou se mu
  ukazat rozdily s novou ev. se da ukazat, co ze stavajicich znalosti
  muze zuzitkovat a treba vlozit jako uvod Jacksonovo JSD s JSP...

  Umel psat reusable kod? Bude to umet i v Jave a kdekoli jinde.
  Zna svet XML+XSD+XSL? Urcite to zuzitkuje.
  Umel pouzivat spravne exceptions napr. v ADA? Bude je umet
  pouzivat s minimalnim usilim i v Jave, Pythonu  a kdekoli jinde,
  totez regexy, DB connectivita, persistence, marhshalling/unmarshalling,
  multithreading/multitasking a ja nevim co jeste.

- Co v tech 12-18 mesicich ma zvladnout? Napr. pri prechodu
  do OO sveta nejakou metodiku? Jacobsonovu OOSE, Coad/Yourdanovu OOAD,
  Rumbaughtovu OMT, Jacksonovu JSD, nejakou jinou? Nebo vsechny
  dohromady vcetne jejich pros&cons? UML nebo neco jineho pro modelovani,
  nejaky konkretni OO jazyk a nejake fasady, nebo nekolik OO
  jazyku soucasne?
  Kde a jak si to tech 12-18 mesicu bude osvojovat? atd. atd.



Program zpravidla navrhuje nekdo, kdo zna odpovidajici metodiku
pro dane paradigma a kdyz ji nezna, tak tezko bude v roli nekoho,
kdo ma zasadni vliv na to, jak bude reseni vypadat.

A kdyz nastoupi do teamu, kde takoveho analytika maji, tak
v pripade OOD v podstate dostane tridy s metodami navrzene,
dostane radu hotovych knihoven, nekdo tam bude nejspis dohlizet
na kvalitu kodu atd., takze neni ponechan s novym paradigmatem
svemu osudu a nema prilis velky prostor pro matlani nejakym
neslucitelnym stylem...

Naopak ma docela dobrou sanci rychle vstrebat, jak to ma
spravne vypadat, zejmena kdyz si k tomu studoval odpovidajici
metodiku.


Řekl bych, že přechod ze staticky typovaného a dynamicky typovaný jazyk bude někde uprostřed. Asi jej dostaneš pod kůži dříve než za uvedených 12 měsíců, ale za týden to nebude.

Viz vyse: pokud ten clovek mel odpovidajici znalosti z OO sveta
v prostredich se silnou typovou kontrolou, vlastni
dynamicky OO jazyk by mu IMHO nemel delat problemy
(a proto jsem psal ten puvodni prispevek).

Jestli si to pamatuju, tak kdyz jsme vybirali Python,
precetli jsme 2 prirucky a kodovaci standard, abychom
psali stejne jako Pythomci - dohromady 500+ stranek
- cili par hodin.

Trochu jsme jako proceduralni hlavy plavali ve
funkcionalnim programovani a krev nam hodne pilo,
kdyz se clovek pri prirazovani hodnoty spletl
v nazvu atributu, tak misto chyby obohatil tridu
o novy atribut :-((((
(tuhle vlastnost bych z jazyka vykopal a zavedl pro to
explicitni prikaz - to se strasne spatne hledalo).
Jinak s kontrolou datovych typu az za behu to nebylo
tak zle.


Co nam zabralo dost casu bylo zvladnout framework
Django, abychom v nem dokazali udelat, co jsme potrebovali
- to byly tydny.

Taky prohrabat se knihovnama byl obcas problem
(tam by se docela hodila nejaka kucharka programatora
jako napsal Darwin javistum).


No to jsem toho naslintal...
Uz radsi skoncim a jdu delat neco uzitecneho ;)


pf

Odpovedet emailem