Jump to content
IGNORED

Hoću da budem programerka


Recommended Posts

Lambda racun je nesto sasvim drugo, pricam po secanju radio sam pre 25-30 godina: Imas skup simbola koji se sastoji od lambde, tacke, zagrada i oznaka promenljivih, pravila po kojima se formiraju ispravni lambda izrazi i pravila (redukcije) po kojima se trenasformisu ovi izrazi. I onda se dokazuje da je ovaj foralizam podjednako snazan kao tjuringova masina. Pri tome u formalizmu nemas pojam cak ni prirodnog broja, nego moras sam da odredjenim lambda izrazima dodelis znacenje brojeva pa onda kazes sta je sabiranje... 

 

Ova prica za multitreding mi je jasno odakle potice - closure evandjelizam. Uzgred closure nije bas tipican primer modernog funkcionalnog programskog jezika. FP jezici sada po pravilu eksploatisu ideje algebarske terije tipova podataka (sto je u osnovi i u OO prog.), a posebno Hindley–Milner sistem tipova, sto takodje polako prodire u strogo tipizirane OO jezik.

 

Sto se ostalog tice, potpuno se slazem. Preko 20 godina imam skoro potpunu slobodu izbora tehnologija za projekte, ni u jednom trenutku mi nije palo na pamet da za bilo sta ozbiljno radim izaberem nesto sto nije u osnovi OO.

Link to comment

@Host

 

Ovakav tip šaljenja (koji strašno gotivim) je uobičajen medju ljudima koji imaju minimum poštovanja jednih za druge. U odsustvu toga, u pitanju je prilično čudan manir.

Link to comment

Zar nije ocigledno da je drugarsko peckanje u pitanju? Mozda imate neku istoriju pa da se ne mesam, ali kontam da moze i kul ovo...

 

@Aion:

Ma kul, sada odlazimo vec predaleko, mada ja generalno volim da kenjam o ovim stvarima odosmo u matematicku teoriju (a to ce biti interesantno mozda jedino MayDay :D ). Recimo da sam ja pojmom 'lambda' bio nesto neprecizan i ostavimo to na tome (mada nisam x( ). Jedino sto mi tu nikako ne lezi je ideja kako FP nije idealno za multithreading i da je moje misljenje o tome posledica hajpa (btw, closure i clojure nisu pojmovi koji oznacavaju istu stvar, ne znam da li si mistajpovao ili mislis uopsteno na jezike koji se mogu opisati kao oni cija je osnova closure - u tom slucaju ne mogu da se slozim da to nije tipicno).

Jednostavno je teorijski funkcionalan jezik savrsen za multithreading i OO jezik ako zeli da isprati takvu moc mora efektivno prestati biti OO (da za trenutak zanemarimo sto je definicija OO siroka i zavisi od toga ko je pise - uzmimo za primer klasican knjiski OOP). Na primer pomenuti Go bas i nije skroz OO, cak i ako 'skroz' ne koristimo u najekstremnijem obliku. Moze se reci da se OO jezici razvijaju u smeru u kome se sve lakse implementiraju neke od strategija tipicnih za funkcionalno programiranje i samim tim gube neke od tradicionalnih OO karakteristika.

Link to comment

Jesu li bili OK oni letovi?

Sve je bilo idealno. Lejoveri vremenski ni prekratki, ni predugi da bih poludela. Sletela u Dubrovnik, a prijatelj poslao mečku i vozača koji zna za prelaz Kobilu, pa sam glatko prošla i sa ludnicama sa graničnim prelazima ovde.

 

Hvala ti, Džejmse, stoti put mi već olakšavaš život. :-)

Link to comment

Zar nije ocigledno da je drugarsko peckanje u pitanju? Mozda imate neku istoriju pa da se ne mesam, ali kontam da moze i kul ovo...

 

Nije se ništa prestrašno dogodilo, Kudravi. Nothing to be bothered about, možemo da nastavimo sa mojim pissing contest topikićem. :D

 

Strava mi je topik. Dovoljno gikovski za moj ukus. :D

Link to comment

Hm, složiću se sa Hostom. U ovom trenutku, za tebe je potez "sad moram i to da proučim" po mom mišljenju pogrešan, jer ako kreneš sad da proučavaš razne paradigme, a nisi ni ovu prvu savladala - rasipaš se previše. Uradi ti prvo ovo šta si sebi zacrtala, pa kad budeš dobro baratala time, a i budeš imala prakse sabijene u tastaturu (jer ovo, na žalost, ipak ne može da se proučava samo kao teorija), onda možeš da proučavaš razne paradigme, jer ćeš imati neki "referentni sistem" sa kojim možeš to da uporediš gledajući kroz prizmu praktične primene. Nema to veze sa nipodaštavanjem, nego prosto sa principom građenja sistema znanja. Ni ja ne bih mogao da se bacim na neurohirurgiju, a da nisam prošao kroz anatomiju ili da znam osnove biohemije.

 

 

A i ovi našli sad ovaj topik "hoću da postanem..." za puvanje i filozofiju, a imaju ceo podforum na raspolaganju u kojem se godinama skuplja prašina.

Link to comment

Ni ja ne bih mogao da se bacim na neurohirurgiju, a da nisam prošao kroz anatomiju ili da znam osnove biohemije.

 

Zato što imaš obraza, savesti i zdravog razuma. Znam neke kojima to nije prepreka.

Link to comment

Ukratko, ako je pitanje 'kad ce funkcionalni jezici postati mainstream', po meni je odgovor nikad. Razlog za to je sto je coveku konceptualno tesko da razmislja na taj nacin, kao sto mislim da mu je intuitivno da razmislja na OOP nacin i tu ne mislim samo na nasledjivanje. Zbog svega ovoga mislim da ce se ogromna vecina ljudi odluciti za laksi put na pocecima svojih karijera sto ce samo po sebi uticati na trziste da mainstream ostane tu gde je i sada.

 

po onome što sam čuo FP ne izgleda ni malo lako za početnike sve do onog ''aha'' momenta kada ukapira neke osnovne stvari (functore, monade i ostalo) i da je onda mnogo lakše kada se desi to ''otkrovenje''.

Meni je tu još jedna stvar zanimljiva: matematički aparat koji stoji iza FP je nenormalno moćan (ovde mislim na category theory i intuitionistic logic), samo nebo je granica sa takvim oruđima. Mislim da iza OOP-a ne stoji ništa tako jako.

Link to comment

@pdj, 

 

greska, naravno da sam mislio na clojure, ali kad krene prica o lambda izrazima nekako se automatski presvicujem na closures...

 

Tako sam i mislio, nego reko da ti ne trpam reci u usta.

 

po onome što sam čuo FP ne izgleda ni malo lako za početnike sve do onog ''aha'' momenta kada ukapira neke osnovne stvari (functore, monade i ostalo) i da je onda mnogo lakše kada se desi to ''otkrovenje''.

Meni je tu još jedna stvar zanimljiva: matematički aparat koji stoji iza FP je nenormalno moćan (ovde mislim na category theory i intuitionistic logic), samo nebo je granica sa takvim oruđima. Mislim da iza OOP-a ne stoji ništa tako jako.

 

Pa moze i tako da se gleda. Taj aha momenat mora da se desi cime god odlucis da se bavis, samo "aha" dolazi mnogo kasnije ako se bavis monadama u haskelu nego recimo MVC paternom u javi. U stvari, mada to nije nemoguce, ja zaista ne znam da li u realnom zivotu ima iole bitan broj ljudi koji uzmu pa uce haskel i lisp kao svoj prvi jezik. Obicno ljudi nauce nekoliko jezika, rade realne stvari s njima, osete razne pristupe i onda tek primete prednosti FPa.

Ja sam licno dosta nalozen na sve to i slazem se da se onaj ko voli matematiku najprirodnije oseca sa FPom. Samo eto i ja sam ti gore priznao da se ni za licni projekat nisam odlucio za to. Ima tu i jos jedna prakticna stvar koju mozda nismo pomenuli ranije - malo je onih koje boli kurac za mocni matematicki aparat. U stvari, recimo to ovako - procenat onih kojima je to bitno je mali. Aplikativni, specijalno web i mobile softver cini ogroman procenat softvera koji se trenutno pise, a hardver je sve jeftiniji (i nastavice taj trend). Najskuplji deo pravljenja bilo cega je programersko vreme (i to ne samo pisanje, nego odrzavanje - menjanje, popravljanje, unapredjivanje vec napisanog). Tu ja vidim prostora samo za dinamicnije OO jezike, nikako za neki veliki shift i menjanje celog koncepta. Jedini nacin na koji se moze uci je ono sto je Clojure uradio (zato ga toliko i pominjem kad pricamo o FP), da se napravi jezik koji koristi vec postojece biblioteke iz nekog mocnijeg ekosistema i tako preskoci ogroman prag. Oni su tako odskocili jer je sve sto je ikad pisano na Javi dostupno iz samog jezika, pa opet ne cujes za neku veliku seobu na tu stranu, mada ima dosta prednosti. Skala ima slicnu stvar, samo je starija, pa opet ne moze da se kaze da je mainstream iako joj je reklama da je OO ako zelis da bude OO.

Znaci - videli smo da moze da se udje s FP strane, ali i da je reach relativno mali i ogranicen. Uostalom nije ovo prvi put da se pitamo ovakve stvari, mozda je najpravilnije reci da FP jednako postoji u svim vremenima i vozi paralelno s mejnstrimom i to ce se verovatno i nastaviti tako. Ovde ponovo moram da stavim prejak stripic koji oslikava kako ja to vidim:

 

https://xkcd.com/297/

Link to comment

Hm, složiću se sa Hostom. U ovom trenutku, za tebe je potez "sad moram i to da proučim" po mom mišljenju pogrešan, jer ako kreneš sad da proučavaš razne paradigme, a nisi ni ovu prvu savladala - rasipaš se previše. Uradi ti prvo ovo šta si sebi zacrtala, pa kad budeš dobro baratala time, a i budeš imala prakse sabijene u tastaturu (jer ovo, na žalost, ipak ne može da se proučava samo kao teorija), onda možeš da proučavaš razne paradigme, jer ćeš imati neki "referentni sistem" sa kojim možeš to da uporediš gledajući kroz prizmu praktične primene. Nema to veze sa nipodaštavanjem, nego prosto sa principom građenja sistema znanja. Ni ja ne bih mogao da se bacim na neurohirurgiju, a da nisam prošao kroz anatomiju ili da znam osnove biohemije.

 

 

A i ovi našli sad ovaj topik "hoću da postanem..." za puvanje i filozofiju, a imaju ceo podforum na raspolaganju u kojem se godinama skuplja prašina.

Znam, Bato, znam. :-) Nisam ja više u godinama da imam široke zahvate u učenju, ali sam radoznale duše, pa to radim iz plezira. Onda briefly bacim pogled na opis paradigme i shvatim da to nije ništa drugo nego ono što radimo u Mathematici koja je zapravo veliki car za simbolička izračunavanja. I sad ti meni ne daš da ja posložim znanja. :cry:

 

Dakle, meni manjkaju fundamenti. Meni i mojim peers niko nije predavao bilo kakvo programiranje, nego je samo bilo da imaš do kraja perioda da uradiš taj i taj projekat, pa se ti posluži čime hoćeš. Ja sam sela sa nula znanja ispred Matlaba i Mathematice, neki moji drugari ispred R-a i na kraju uvek uradiš šta treba. Najbolja stvar je što je kriva učenja stvarno cool.

 

Što se tiče Hostove šale, stvarno ništa tu nije problematično. Rekoh već da bi u drugim okolnostima meni to bilo super fun. Pre toga smo imali interakciju u kapacitetu korisnika i prvog čoveka foruma, koja je bila prilično bezveze i onda sam ja sada reagovala emotivno, impulsivno i neprofesionalno. Sorry about that.

 

....………

 

Nego, znate šta sam pročitala u jednoj knjizi o HFT. Pošto je brzina kriterijum broj jedan, kažu iz svedočenja ljudi iz fondova kako se preferiraju istočnoevropski (sovjetski) programeri. Fora je u tome što za razliku od US diplomaca, nisu imali resurse, pa su kodove pisali na papiru i proizvodili najelegantnije kodove. Jesi ti, Bato, takav mučenik? :D

Link to comment

Nego, znate šta sam pročitala u jednoj knjizi o HFT. Pošto je brzina kriterijum broj jedan, kažu iz svedočenja ljudi iz fondova kako se preferiraju istočnoevropski (sovjetski) programeri. Fora je u tome što za razliku od US diplomaca, nisu imali resurse, pa su kodove pisali na papiru i proizvodili najelegantnije kodove. Jesi ti, Bato, takav mučenik? :D

 

evo ti ovde, ako nisi citala, sergey aleynikov kaze isto, ali beside that, vrlo zanimljiv tekst

 

http://www.vanityfair.com/news/2013/09/michael-lewis-goldman-sachs-programmer

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...