[so] my feedback
Alin Popescu
alinpopescu at live.com
Fri Jun 26 03:33:23 EEST 2009
True, so true. :)
Si sa se prezinte instructiunile de asm in sintaxa intel care este mai
usor de citit si vine de la tatal lor: Intel, nu At&t.
PS: Windows rules. Glumesc. Ma bucur ca mai exista fani windows la
facultatea de cs.
Probabil ca sunt singurii care au inteles cat de cat windows si nu au avut
probleme in a urmari conceptele sau a invata singuri.
On Fri, 26 Jun 2009 03:09:41 +0300, Daniel Flamaropol
<raptorclw at gmail.com> wrote:
> Pentru cine nu are rabdare sa citeasca interminabila tirada care va
> urma, am
>
> scris un scurt sumar la sfarsit :).
>
> Majoritatea ideilor expuse de Alex mi se par foarte pertinente. A reusit
> sa
> rezume destul de bine cursul de SO de anul asta. As vrea totusi sa fac
> niste
> mentiuni care ma rod de mult (cam de cand a inceput semestrul) si se
> leaga
> de urmatorul pasaj :
>
> Last but not least, Windows sucks... cred că partea de Windows nu ne
>> testa cunoștințele despre Sisteme de Operare ci răbdarea nostră :| But
>> seriously, e important să fie Windows și Linux în laboratoare
>> (probabil e mai justificat să fie Windows decât Linux la nivel de User
>> Space pentru că, totuși, e mai răspândit), dar, ar fi frumos dacă am
>> avea 1-2 cursuri/laboratoare în care să ne atingem de MacOS de
>> exemplu...sau Minix (că este mai didactic) sau BSD.
>>
>
> A. Cursul de Sisteme de Operare (vasta lume a SO) s-a redus la Linux si
> Windows.
> E pana la urma normal, avand in vedere extinderea acestora, dar cred ca
> tuturor ne-ar fi
> facut placere sa vedem macar cum arata un program de Mac sau unul de
> Solaris, etc.
> Astea sunt genul de curiozitati foarte greu de satisfacut in afara
> facultatii.
>
> Si mult mai pe larg :
>
> B. Windows doesn't suck.
>
> Inteleg ca majoritatea studentilor au intrat in facultate fara experienta
> extensiva de
> programare, sau cu multiple ore de Pascal, Turbo C++ sau ce alte limbaje
> le-au irosit
> timpul prin liceu, si de aceea au avut un contact indelung cu mediul
> Linux.
> Multi dintre
> noi habar nu aveau ce e aia Win32 sau Windows ("ferestre") atunci cand a
> inceput
> acest curs. Situatia nu s-a schimbat cu mult in bine.
>
> Obisnuinta cu Linux se poate observa si in modul in care este
> alcatuit/predat cursul.
> Majoritatea laboratoarelor (si nu pot sa accentuez suficient acest
> lucru),
> sunt alcatuite
> pe Linux si apoi PORTATE pe Windows. (exemplul cel mai bun este
> laboraturl
> de
> semnale si cel de introducere).
>
> Am cateva sugestii extrem de importante, care nu tin de un laborator
> anume,
> ci mai degraba
> de modul in care este privit acest sistem de operare in cadrul intregului
> curs :
>
> 1. Problema : Windows nu functioneaza in linie de comanda. Nu a fost
> gandit
> pentru asta, si nu contine
> uneltele necesare. Orice incercare de a emula functionarea unei linii de
> comanda complete
> ( cygwin, nmake, etc ) reprezinta o _indepartare_ de conceptele care
> stau la
> baza shell-ului
> de windows.Practic nu invatati studentii decat cum arata functiile, nu
> cum
> este gandit SO-ul.
>
> 2. Problema : API-ul de Windows nu a fost proiectat pentru a fi
> folosit/compilat din editoare
> de text simple (fara autocomplete+alte facilitati). In consecinta,
> laboratoarele au fost o tirada
> de copy-paste la functii cu zeci de parametri care ii sperie pe
> studenti, si
> care uzeaza teribil
> tastaturile.
>
> 1+2. Solutie : Folositi Visual Studio. Orice slujba Windows-related din
> industrie va folosi cel putin
> o instalare Professional de Visual Studio. Invatati studentii sa faca
> debugging, profiling, sa foloseasca
> msdn-ul integrat. Invatati-i sa foloseasca macro-urile predefinite si
> snippet-urile automate. Asa cum
> sunt sectiuni anexa despre modalitati de cautare in fisiere multiple pe
> Linux, sa fie anexe despre
> proiecte si solutii pe Windows.
>
> 1+2. Impact asupra studentilor :
> - De la primele laboratoare, se instaureaza o frica de parametrii..
> cati sunt, ce fac,
> unde ii pun? Un simplu open de fisier (CreateFile) se poate transforma
> intr-un calvar de a cauta codul
> pe msdn/cs.pub.ro si de a il adapta corespunzator.
> - Daca vor avea ocazia sa lucreze in industrie, se vor uita "Ca
> vitelul
> la poarta noua" la IDE si la
> facilitatile lui. La EGC cand s-a intrebat "cine nu a creat vreodata un
> .sln" 3/4 din grupa mea a ridicat
> mana. Cursul de SO nu a schimbat nimic in aceasta privinta
>
> 3. Problema : Nu s-a facut nimic legat de HWND si Message Pump. Am mai
> scris
> in diverse mesaje,
> dar acestea 2 sunt concepte _vitale_ in modul in care functioneaza
> procesele
> intr-un sistem Windows.
> In opinia mea sunt la fel de importante ca semnalele de pe Linux. Orice
> program care se vrea serios
> contine un message pump cu interpretari ale diverselor semnale (pardon,
> mesaje).
>
> {{Exemplu pentru cine nu stie : Daca preiei HANDLE-ul ferestrei care
> contine
> Winamp-ul, si ii trimiti prin
> Windows Messages (este un fel de MPI, dar implementat in Win32) valoarea
> 14, incepe sa cante :
>
> HANDLE hwnd = FindWindow("Winamp",NULL); // cod scris din amintiri,
> probabil
> lipsesc parametri :)
> SendMessage(hwnd,0,14,NULL); }}
>
> Mi se pare mult mai important decat interceptarea CTRL-C. De cate ori ati
> dat CTRL-C in Windows, sa fim
> seriosi..
>
> 4. Problema : Nu s-a facut nimic legat de profiling pe Windows. Probabil
> studentii au ramas cu impresia ca
> nu se poate, sau ca nu exista astfel de unelte. Bineinteles ca exista, si
> sunt integrate in Visual Studio.
>
> 5. Problema : Nu s-a facut nimic legat de debugging pe Windows. Cele mai
> importante aspecte (si deloc
> triviale) sunt pentru mine cele care privesc debugging-ul
> multi-threaded, in
> care urmaresti un anumit
> thread pe parcursul executiei, sau repornesti anumite thread-uri desi
> s-au
> blocat.
>
> 6. Problema : Nu s-a facut nimic legat de ferestre pe Windows. Spre
> deosebire de Linux, unde X-server-ul
> este doar o alta aplicatie, in Windows ferestrele stau la baza sistemului
> (dupa cum ii spune si numele).
> Shell-ul este atat de integrat de partea de ferestre incat pentru multe
> functii de sistem, daca nu ai deja o
> fereastra deschisa, trebuie sa iti creezi una (fie ea si una invizibila),
> doar pentru a aloca resursele necesare.
>
> 7. Etc.. cred ca v-ati prins deja care este ideea. Tot ce am scris, am
> scris
> din proprie experienta. Avand in
> vedere ca partea de Linux a laboratorului mi-a depasit cu mult expertiza,
> presupun ca exista aspecte de
> Windows care ar fi utile studentilor, dar despre care habar nu am si pe
> care
> nu le pot mentiona.
>
> As sugera asistentilor sa orienteze partea de Windows catre dezvoltarea
> de
> programe care fac ceva, mai clar
> de programe care fac lucrurile asa cum _ar trebui_ sa fie facute.
> Exemplu:
> thread-pooling-ul a fost modificat
> extensiv de Windows Vista.. de ce invatam notiuni care vor fi in curand
> desuete.
>
>
> Sumar :
>
> Partea de Windows se face "asa cum s-ar face pe Linux". Asta da impresia
> ca
> Windows-ul este un sistem greoi,
> ciudat, si prost adaptat pt majoritatea task-urilor. De fapt, problema
> sta
> in abordare si in faptul ca asistentii
> sunt mult mai obisnuiti (poate chiar pasionati) de Linux, si fac
> Windows-ul
> doar "pentru ca trebuie".
>
> Multi dintre studentii care vor iesi din facultate vor lucra in medii
> Windows-based. Acest curs nu i-a invatat
> aproape nimic despre realitatea lucrului pe Windows, nimic despre
> debugging
> sau profiling, nimic despre
> link-are multipla intr-o solutie de dimensiuni mari, nimic despre cum
> arata
> DE FAPT un program de Windows.
> Aici includ chiar si miile de linii de cod pe care ti le genereaza Visual
> Studio in mod _automat_ atunci cand
> creezi o aplicatie Win32.. si ce fac ele.
>
> Multi studenti vor ramane cu o impresie profund gresita despre Windows si
> modul in care se programeaza pe
> acest sistem de operare. Avand in vedere ostilitatea cu care multi
> dintre ei
> abordeaza sistemul de operare,
> ar trebui ca asistentii, in consecinta, sa incerce sa proiecteze o
> imagine
> realista.
>
> Solutie :
>
> Interes pentru Windows. Acceptarea necesitatii unei pregatiri eficiente
> si
> profunde in acest sistem de operare.
> Folosirea _tuturor_ uneltelor puse la dispozitie de Microsoft, si a
> sistemelor de operare la zi. ( Server 2003 are
> 6 ani vechime.. la multe dintre teme gaseam referinte la API-ul cel nou,
> care are apeluri si functionalitati diferite).
>
> Dar cel mai important, cred eu, este aplicarea aceleiasi pasiuni si
> aceluiasi entuziasm pentru laboratoarele/temele
> de Windows, de care se da dovada la cele de Linux. Impresia actuala este
> ca
> acestea se fac doar ca sa
> se faca, si nimanui nu ii convine atunci cand trebuie sa se ocupe de ele.
>
>
>
> Multumesc daca ati citit pana aici si pentru dedicatia cu care va
> ocupati de
> aceasta materie!
>
> Daniel Flamaropol
> 332CA
--
More information about the so
mailing list