[webdev] Prezentări și prezentatori

Răzvan Botea razvanb at rosedu.org
Mon Jan 9 22:24:15 EET 2012


On 1/9/2012 9:25 PM, "Ionuț G. Stan" wrote:
> On Jan/09/2012 10:57, Răzvan Botea wrote:
>> Nu se face niciun workshop pentru fiecare, fiindcă nu se predă limbajul,
>> ci doar implementarea, conceptele, etc. Altfel puteam simplu să
>> redenumim cursul în "Limbajul X în mediul de dezvoltare Web". But if
>> it's too much of hassle to give freedom of choice (eu știu PHP, poate
>> vroiam să mă înscriu și eu, dar la ruby nu ma pricep și parcă nu prea
>> mai am timp să învăț Ruby, nu știu cat de ușor e de învățat, nu prea am
>> interacționat cu el).
>
> Eu sunt total de acord cu Andrei Maxim, ba chiar mai mult. Aș obiecta că
> se vrea ca partea de modele să se facă cu Sinatra iar cea de view +
> controllers cu Rails. Adică două framework-uri.
>
> Nu am înțeles un lucru în ceea ce ai spus. Ai fi vrut să te înscrii ca
> și cursant sau ca și prezentator?
>

Am avut o lipsă de concizie în exprimare. Am spus totul ipotetic (în 
ultima paranteză), eu aș fi vrut să fiu și prezentator dar experiența 
mea limitată nu-mi permite, în schimb îmi pot dedica timp pentru alte 
activități în cadrul workshopurilor. Eu mi-am exprimat acel punct de 
vedere din perspectiva unui viitor participant (student la curs).

Maybe I misunderstood, dar eu am înțeles prin punctele 4,5,6 că vom 
învăța să dezvoltăm o aplicație web în Ruby thus același limbaj îl vom 
folosi și la proiectul final.

>> For another +1: noi dacă îi învățăm să dezvoltăm aplicații web o mare
>> parte din această activitate se rezumă pe citit și pe research, noi nu
>> trebuie să le dăm: uite așa se definește o clasă statică in python, uite
>> așa se scrie un switch in python (uh oh, nu are, my bad). Noi le arătăm
>> cum se dezvoltă o aplicație web, independent de limbajul ales, poate că
>> unele sunt mai bune la o anumită chestie decât altele, but that's not
>> the point. Trebuie să muncească și ei nu ? PHP are o documentație super,
>> python are documentație, despre ruby/asp.net nu am citit. În cadrul
>> aplicației lor dacă vor să folosească o bază de date pur și simplu se
>> uită pe documentația respectivă și învață, și să dau un exemplu concret,
>
> Total de acord. Oricum nu va fi timp de citit referințe. Eu unul însă
> voi pleca de la premiza că ei vor ști doar C (așa mi-a sugerat Dan, dacă
> e altfel atunci corectați-mă). Inevitabil va trebui să explici câteva
> chestii de sintaxă și semantică.
>
>> eu știu PHP și pot să-i îndrum să nu folosească funcțiile banale mysql_*
>> ci să folosească PDO instead.
>
> Dar ăsta nu e un sfat care ține de programarea web în general, ci de
> PHP. Nu cred că e ok să spui unor începători despre idiomuri/best
> practices aparținând de 3,4,5 platforme diferite. Nici mie nu mi se pare
> "corect" să le ascunzi atâtea alte posibilități (Ruby nu se numără
> printre limbajele care-mi gâdilă entuziasmul), dar... trebuie să
> pornești de undeva. Nu poți să construiești din nimic.
>

Am dat un exemplu, cod STUPID vs cod "curat" (în orice limbaj există bad 
practices specifice numai acelui limbaj and they need to be pointed out, 
cele mai importante). Și eu sunt de acord cănu ok să le spunem 
începatorilor, dar "beginner's best practices" sunt welcomed :).

>
>> Până la urmă mă puteți întreba și pe mine cum aș vrea să văd un curs ca
>> acesta. Eu am învățat singur web dev (and i still do), nu prea am avut
>> pe nimeni să-mi spună să folosesc PDO, și așa am stat cu chestia asta
>> mult timp până am aflat că funcțiile alea sunt "nașpa", pe scurt.
>>
>> Să spunem că eu nu prea știu OOP în web dev (dar știu de la facultate în
>> java/c++), și mie la cursul ăsta mi se predă în Ruby/Python/PHP/wtv. Păi
>> nu prea s-a rezolvat nimic, eu știu în php spre exemplu cum să definesc
>> o clasa abstractă și s-o moștenesc. Dar altu-i scopul: să înțelegem
>> esența, de ce se face așa, vreau de exemplu să înțeleg de ce nu e bine
>> patternul singleton, vreau să văd niște use case-uri mai ample pentru
>> factory pattern să-i înțeleg folosința. Asta, zic eu, se poate preda cel
>> mai bine de la cei cu experiență practică (job, și chiar și proiecte
>> foss acasă cu o pregătire mai amplă), fiindcă până la urmă pot să citesc
>> și eu documentația să aflu cum se extinde o clasă abstractă în orice
>> limbaj.
>
> Există o premiză implicită în ceea ce ai spus, și anume că OOP e la fel
> în toate limbajele, lucru pe care eu nu îl consider adevărat. Ca să nu
> mai vorbim de faptul că poate OO nu mai e de ajuns și că ar trebui să
> știe și despre Functional Programming (FP). Cel puțin :)

Am dat doar un exemplu. OOP nu e la fel în toate limbajele (take 
javascript and PHP for instance). Tot ce-am vrut să spun în postul 
original este că aș vrea să se predea la nivel independent de limbaj 
(numai că exemplele sunt dependent), și într-adevar chestia cu multiple 
languages nu prea e fezabilă, iar noi vrem exemple practice, plus de 
asta multe persoane care nu au avut niciun contact cu web dev (de la 
premiza asta pornim) nu vor știi ce limbaj să aleaga, if they were to 
choose one.

Cu ocazia asta o să învăț și eu ruby :D (pity, vroiam python).

>
> Ceea ce cred că ar fi util pentru ei, ar fi ca în toate prezentările,
> indiferent de ceea ce se explică să se urmărească trei lucruri "în
> background":
>
> - separarea responsabilităților
> - eliminarea codului duplicat
> - îmbunătățirea numelor folosite pentru variabile, funcții, selectori
> CSS, etc.
>
> Lucrurile astea chiar sunt cross-language/paradigm și din punctul meu de
> vedere mult mai utile decât orice discuție despre OO design patterns.
>

Complet de acord :). Nu am vrut să mă axez sau să impun OO design 
patterns, cred că am exemplificat eu prost.

-- 
Răzvan Botea


More information about the webdev mailing list