- tombenko blogja
- A hozzászóláshoz be kell jelentkezni
- 1103 megtekintés
Hozzászólások
A természettudományok nem feltétlenül szépek, de leginkább praktikusak: arra hivatottak, hogy meg tudd magyarázni, meg tudd érteni, hogy működik körülötted a világegyetem, majd ezt a tudást felhasználva jobbá tudd tenni a sajátod és mások életét. A világegyetem pedig önmagában gyönyörű! (tipp: http://apod.nasa.gov/apod/astropix.html erősen ajánlott elolvasni a magyarázatokat is, néhány igazán pofaleszakító is szokott lenni!)
Persze a szépség és praktikusság nem zárja ki egymást, de ahhoz már kell egy bizonyos szintű perverzió (vagy hivatástudat?), nem halmozni az élvezeteket, hanem élvezni a halmazokat :D
Az informatikában a szépség pedig szvsz valahol a matematika és a logika szépségében rejlik, hogy egy-egy változónak, vagy konstansnak a létrehozására, tárolására és visszakérdezésére több lehetőséged is van, kihasználva az adott programnyelv előnyeit, hátrányait. Mutass neki demoscene demokat, és rá fog jönni, miről is van szó.
----------------------------------------------------------
"One should strive to achieve; not sit in bitter regret."
www.xonotic.org
- A hozzászóláshoz be kell jelentkezni
Az az érdekes, hogy praktikusságtól függetlenül szokták egyes részeiket a "szép" jelzővel illetni.
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
Szerintem a matematika nem természettudomány.
Lányom (az 5 éves) minap magyarázta a nagypapájának: a kanyargós betűt finnül essznek, magyarul essnek hívják.
Csaba
- A hozzászóláshoz be kell jelentkezni
“Hiszem, hogy a matematikai valóság rajtunk kívül van, hogy a mi feladatunk felfedezni vagy megfigyelni azt, és hogy a tételek, amelyeket bebizonyítunk, vagy nagyképűen fogalmazva “megalkotunk”, egyszerűen megfigyeléseink jegyzőkönyvei." (G.H.Hardy)
- A hozzászóláshoz be kell jelentkezni
Szerintem sem, de ez most mellékes.
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
Szerintem itt is ervenyes: szep mindaz, mi erdek nelkul tetszik. Viszont az, hogy kinek mi tetszik, az meglehetosen egyenfuggo. Nekem peldaul tetszik a kulonfele programokkal valo butykoles, de mast esetleg halalra idegesit a dolog. En nem kulonosebben kedvelem a feszitett munkatempot, mig mast esetleg eppen ez mozgat, ez tart a palyan.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
No jó, de hol jelenik meg a "szép" fogalma? A program működésekor? A kód létrehozásakor? Az eljárásokban? Vagy máshol?
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
A programok jellemzően egy problémákat oldanak meg.
Szerintem a programok szépsége abban rejlik, hogy a problémákat, amelyek megoldására vállalkoznak, hogyan oldják meg. A szép programok jellemzően elegánsak, a problémákat sokszor váratlan, nem triviális összefüggések mentén oldják meg. Sokszor meglepően kevés erőforrással tudnak összetett problémákat megoldani. Más szóval: a szép program kicsit mindig az írója/tervezője eszét dicséri.
Ahová pedig példákért mehetünk: Demoscene - a műszaki ügyesség, a váratlan fordulatok tárháza, ahol a legkevesebb erőforrásból/program kódból igyekeznek a legtöbbet kihozni. Elosztott nagyvállalati infrastruktúrák: ahol a magas szintű tervezés és absztrakció szépségeit lehet megfigyelni. (Persze mindkét kategóriában van rengeteg ijesztő hulladék is, de rengeteg elegáns megoldással lehet találkozni bennük)
Zavard össze a világot: mosolyogj hétfőn.
- A hozzászóláshoz be kell jelentkezni
Nem tudom, hogy pontosan kiknek szeretnéd ezt elmagyarázni, de maga a kérdés filozofikus.
Ha a gyerekek szintjén akarod ezt megfogalmazni, akkor azt hiszem, hogy itt maga a varázslat a lényeg. Az, hogy fogsz egy editort, belemormolsz jó sok varázsigét, és a gép ezeket értelmezi és végrehajtja. Valami olyanra tanítod a gépet, amit előtte nem tudott. Amikor az ember megalkotta a számítógépet, valójában "életre" keltett egy kupacnyi élettelen anyagot, és azt "tudással" látta el. Ha gyereknek kell magyarázni a programozás szépségét, akkor én ebbe az irányba indulok. Ez a gondolat meg szokta fogni őket.
Egyébként ha már forráskód: a szép forráskódban van valami minimalizmus, valami nemes visszafogottság. Hogy vadulhatnék kódírás közben, de mégsem vadulok. A szép kód úgy viszonyul a csúnya kódhoz, mint egy letisztult művészi alkotás a giccshez. Amikor a giccsből kiszedsz mindent, ami fölösleges, akkor jutsz el a művészethez. Ha úgy általában kamaszoknak/felnőtteknek mondom el egy gyors válasz keretében, hogy mi a szép a programozásban, akkor ebbe az irányba szoktam elindulni. Ezt ugyanúgy nem értik, mintha függvényekről és programtervezési eljárásokról beszélnék nekik, de legalább megéreznek belőle valamit.
Egyébként amit szeret az ember, azt mindentől függetlenül képes szépnek látni. A forráskód nekem például olyan, mint egy vers. De nem csak a forráskód gyönyörű. Szép egy alaplap is, maga a processzor is, csak gondolj bele, hogy miféle komplex, láthatatlan élet zajlik ott belül! És a számítógép hálózatok, igen, a klaszterek is például. Hátborzongató az a komplexitás, amit ma egy számítógép, vagy akár sok számítógép ma művelni képes. Akár a hardver, akár a szoftver komponenseket nézem, milyen ember alkotta tárgy képes ezt a komplexitást felülmúlni?
Ilyesmit szoktam válaszolni, ha kamaszok teszik föl ezt a kérdést. Egyetemen, főiskolán vagy programozó szakközépben bele lehet menni a különféle algoritmusok, a kódoptimalizálás, a programozási nyelvek vagy a programtervezés szépségeibe. Például amikor bemutatsz egy algoritmust, egy mintát, egy tervet, ne csak azt mutasd meg, hogyan kéne ezt csinálni, hanem azt is, hogyan ne. Ez jó út szerintem a szépség részleteinek megértése felé. Bár alacsonyabb szinten a kevesebb "magyarázat" úgy vélem, többet ér.
Mondjuk egy általános tantervű gimiben mindegy mit mondasz nekik tulajdonképpen. Mert piszkosul nem az érdekli őket, hogy mit válaszolsz, megfelelő háttértudás híján úgyis két perc múlva elfelejtik. Sokkal inkább az fog rájuk hatni, hogy te magad szépnek látod-e, amiről beszélsz.
De hogy válaszoljak is: a szépséget ott látom például egy szoftver elkészítésében, hogy minden apró részletében egyszerűen és letisztultan kell megtervezned, megfogalmaznod valamit, ami végül egy komplex, szinte átláthatatlan kerek egészet fog adni eredményül. Vhoá! Ez elég jó érzés, hogy ezt tudjuk szépnek látni. Nem? :-)
- A hozzászóláshoz be kell jelentkezni
Tehát ha kapsz néhány forráskódot, akkor tudod mondjuk rangsorolni őket az alapján, melyik mennyire "szép"? A választ viszont köszönöm.
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
Rangsorolni? Elég szubjektív műfaj, de miért ne lehetne. A rajzverseny meg a versmondó verseny is szubjektív műfaj, aztán mégis él és virul. Például már csak a szakma szabályai szerint is van jónéhány szempont, ami alapján gond nélkül pontozható egy program jósága. Például a benne lévő ötletek, a bővíthetőség, a részletek és a hibakezelés kidolgozottsága, a kommentek minősége, a kód egységessége, olvashatósága.
A Tiszta kód című könyvben van egy jópofa kép. Remek pontozási alap lenne. :-)
A szokásos versenyeken nem nézik a kódszépséget, csak a működést. Az az elmélet, hogy a csúnya kóddal az ember önmagát bünteti. Én ezzel nem értek egyet. Egy versenyen sokszor gyorsabb összegányolni valamit, ami minden szélsőértéknek megfelel, mert a feladatok rövidek, átláthatók. Míg egy nagy projetben nem igazán lehet gányolni, mert fejbevágnak a többiek.
A szépség fogalma azonban nemcsak egyénenként, de az időben is változik. Míg régen a gyors, hatékony kód volt a menő, mert szűkösek voltak a gépek erőforrásai (kímélni kellett a processzort, és a tárakat), és a tömör, trükkös kód volt a nyerő, most inkább az emberi erőforrások a szűkösek, emiatt jobban számít az áttekinthetőség.
De hogy válaszoljak is. Igen, lehet látni, hogy melyik kód mennyire szép, csak felülről nézve. Egy profi bármelyik tanítványod kódját simán lepontozza, míg ez fordítva értelmetlen feladat volna.
- A hozzászóláshoz be kell jelentkezni
Azt sejtettem, hogy felülről lehet megítélni egy kód szépségét, ha meg lehet. De a versenyeket említve eszembe jutott, milyen vicces lenne egy kód-szépségverseny. :)
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
Csak aztán nehogy valaki félreértse, és ilyen forrást adjon be. :)
- A hozzászóláshoz be kell jelentkezni
Elsôre valami egzotikus nyelvnek véltem... :) Végsô soron van benne valami bájos... :)
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
Egy tehén mióta csinál ilyet? Legfeljebb csattanó maszlagot fal be, amitől felfúvódik. :)
- A hozzászóláshoz be kell jelentkezni
Néha sajnos rádiót kell hallgatnom. Utána ilyenek jönnek belőlem.
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni