Forum » Programiranje » Naprednješa knjiga o programiranju (koncepti, ...)
Naprednješa knjiga o programiranju (koncepti, ...)
PrimozBo ::
Naveličan sem knjig o programiranju, ki se berejo kot knjige z kuharskimi receptiin bi rad izvedel malo več o zakulisju programskih jezikov principov itd.
Rad bi vedel recimo kako v resnici so zgrajeni objekti v pomnilniku, kako deluje overloadanje metod, kaj so funkcije kot 1st class objekti in pododbno.
Nočem še ene knjige, ki me bo poskušala naučiti določenega jezika (po moćnosti v 24h) ampak želim razumeti bolj splošno ozadje in koncepte.
Se mi zdi, da če bi to res poznal potem je učenje vsakega jezika res keks.
Torej obstaja kaj takega pa, da ni preveč zahtevno, ker so to moji prvi koraki v to smer. Znam pa sedaj nekaj C in Java pa dosti Delphi in Python.
Rad bi vedel recimo kako v resnici so zgrajeni objekti v pomnilniku, kako deluje overloadanje metod, kaj so funkcije kot 1st class objekti in pododbno.
Nočem še ene knjige, ki me bo poskušala naučiti določenega jezika (po moćnosti v 24h) ampak želim razumeti bolj splošno ozadje in koncepte.
Se mi zdi, da če bi to res poznal potem je učenje vsakega jezika res keks.
Torej obstaja kaj takega pa, da ni preveč zahtevno, ker so to moji prvi koraki v to smer. Znam pa sedaj nekaj C in Java pa dosti Delphi in Python.
DavidJ ::
Konkretne knjige ne poznam. Lahko pa rečem, da bi k razumevanju tega lahko pomagalo znanje s področij organizacije in arhitekture računalnikov ter prevajalnikov. Zato priporočam, da poiščeš kaj v tej smeri.
"Do, or do not. There is no 'try'. "
- Yoda ('The Empire Strikes Back')
- Yoda ('The Empire Strikes Back')
Pegaz ::
Effective Java - kako programirat v Javi, OO, design patterni
The Pragmatic programmer - dobre prakse v programiranju na splošno
PHP 5 Objects, patterns and practise - o design patternih, sicer za PHP, vendar ti vseeno priporočam, ker je PHP podoben Javi, dobil boš pa nek vpogled v nov jezik, kar nikoli ne škodi
Edit: Sem prehitro prebral, vidim da iščeš, kako programski jeziki delujejo. Morda kakšna knjiga o assemblerju?
The Pragmatic programmer - dobre prakse v programiranju na splošno
PHP 5 Objects, patterns and practise - o design patternih, sicer za PHP, vendar ti vseeno priporočam, ker je PHP podoben Javi, dobil boš pa nek vpogled v nov jezik, kar nikoli ne škodi
Edit: Sem prehitro prebral, vidim da iščeš, kako programski jeziki delujejo. Morda kakšna knjiga o assemblerju?
Zgodovina sprememb…
- spremenil: Pegaz ()
keworkian ::
PHP 5 Objects, patterns and practise - o design patternih, sicer za PHP, vendar ti vseeno priporočam, ker je PHP podoben Javi, dobil boš pa
Prosim? Kako podoben pa?
Obscenities in B-Flat
blaz_ ::
Kot DavidJ tut jest predlagam, da pregledaš kkšno knjigo o prevajalnikih.
Na FRI-ju smo pri implementaciji prevajalnika za jezik Tigr uporabljal eno knjigo od Appel-a (nekj tazga: modern compiler implementation in Java od Andrew W. Appel).
Dons mislm da na FRI-ju ne impementirajo več tega jezika ampak kkšno miniJavo al pa kj tazga.
Na FRI-ju smo pri implementaciji prevajalnika za jezik Tigr uporabljal eno knjigo od Appel-a (nekj tazga: modern compiler implementation in Java od Andrew W. Appel).
Dons mislm da na FRI-ju ne impementirajo več tega jezika ampak kkšno miniJavo al pa kj tazga.
Ko tehnologija odpove, uporabi macolo.
Pegaz ::
overlord_tm ::
Mogoce od Robert Harper: Practical Foundations for Programming Languages (knjiga se ni izdana, draft je na njegovi spletni strani).
Ni cisto tisto kar si zelis, ampak pomoje je to cemer pise ta knjiga, ena od stvari, ki loci code monkeys od programerjev. Kratek povzetek te knjige (za potrebe predmeta teorija programskih jezikov) v slovenscini ima tudi prof. Andrej Bauer na svoji spletni strani.
TAOCP je tudi definitivno naprednejsa knjiga o programiranju, ki ne poucuje tocno dolocenega jezika.
se ti zdi podobno kot
Meni je PHP veliko bolj C++ po sintaksi. Razen ce se je zelo spremenil od takrat ko sem se ga nazadnje dotaknil :)
Ni cisto tisto kar si zelis, ampak pomoje je to cemer pise ta knjiga, ena od stvari, ki loci code monkeys od programerjev. Kratek povzetek te knjige (za potrebe predmeta teorija programskih jezikov) v slovenscini ima tudi prof. Andrej Bauer na svoji spletni strani.
TAOCP je tudi definitivno naprednejsa knjiga o programiranju, ki ne poucuje tocno dolocenega jezika.
Prosim? Kako podoben pa?
PHP ima podobno sintakso in OO model, ker so se avtorji zgledovali po Javi.
Kaj te pravzaprav zanima?
$this->some_method()
se ti zdi podobno kot
this.someMethod()
Meni je PHP veliko bolj C++ po sintaksi. Razen ce se je zelo spremenil od takrat ko sem se ga nazadnje dotaknil :)
Zgodovina sprememb…
- spremenilo: overlord_tm ()
Pegaz ::
Tole se mi zdi zelo podobno, ja. :) Oz. je razlika le v (nepomembnih) detajlih.
Večja razlika med PHP in Java je npr., da v PHP ni treba deklarirat tipa spremenljivke.
Smo pa offtopic.
Večja razlika med PHP in Java je npr., da v PHP ni treba deklarirat tipa spremenljivke.
Smo pa offtopic.
napsy ::
S. Skiena - Algorithm Design Manual
"If you die, you die. But when you live you live. There is no time to waste."
kopernik ::
Predlagam klasiko SICP - Wizard book, imaš celoten tekst zastonj tukaj.
Zgodovina sprememb…
- spremenil: kopernik ()
noraguta ::
za same koncepte , bi se človek najprej pomislil na diskretne strukture, mi smo imeli skripte od batagela , katere so prav solidno branje na temo teorij in jezikov.
kodekova knjiga za ars tudi ni za odmet , ker daje osnoven vpogled na trdnino.
sicer pa vsaj delno se splača posilit z knuth-ovo
The Art of Computer Programming @ Wikipedia
paperji kateri so se pojavlali na OOPSLA @ Wikipedia , so bolj ali manj z nekaj iskanja dostopni na spletu , kvaliteta pa ni vprašljiva.
se pa splača pogledati tudi kak video od erik meijera na channel9
http://channel9.msdn.com/tags/Erik+Meij...
kodekova knjiga za ars tudi ni za odmet , ker daje osnoven vpogled na trdnino.
sicer pa vsaj delno se splača posilit z knuth-ovo
The Art of Computer Programming @ Wikipedia
paperji kateri so se pojavlali na OOPSLA @ Wikipedia , so bolj ali manj z nekaj iskanja dostopni na spletu , kvaliteta pa ni vprašljiva.
se pa splača pogledati tudi kak video od erik meijera na channel9
http://channel9.msdn.com/tags/Erik+Meij...
Pust' ot pobyedy k pobyedye vyedyot!
Zgodovina sprememb…
- spremenilo: noraguta ()
alexa-lol ::
za same koncepte , bi se človek najprej pomislil na diskretne strukture, mi smo imeli skripte od batagela , katere so prav solidno branje na temo teorij in jezikov.
ker del diskretnih?
dvomim, da si z izjavnim in predikatnim racunom lahko kaj pomagas ce ze prej ne ves za kaj priblizno se gre
DavidJ ::
> Se mi zdi, da če bi to res poznal potem je učenje vsakega jezika res keks.
Res je. Vendar je tak način učenja programskega jezika oz. programiranja enakovreden temu, da rečeš, da če se "naučiš" teči na 1000 metrov, boš znal tečt tudi na 100 metrov. Namreč ideje in predlogi knjig, ki smo ti jih podali, so precej napredne in ne spadajo v isto težavnostno kategorijo kot Naučimo se [nečesa] v 24 urah. (Po možnosti ima takšna knjiga vsaj 400 strani, kar se mi je vedno zdelo smešno, saj to za normalnega človeka nikakor ni izvedljivo.)
Če bi se rad naučil splošnosti, je po mojem mnenju najboljše, da se naučiš enega jezika, nato še kakšnega drugega in boš kmalu sam občutil splošnost. Da bi šel kar neposedno v teoretične osnove, je po mojem mnenju overkill. Programiranje je veščina, ki jo osvojiš s prakso, piljenje in teorija naj nastopita kasneje.
Res je. Vendar je tak način učenja programskega jezika oz. programiranja enakovreden temu, da rečeš, da če se "naučiš" teči na 1000 metrov, boš znal tečt tudi na 100 metrov. Namreč ideje in predlogi knjig, ki smo ti jih podali, so precej napredne in ne spadajo v isto težavnostno kategorijo kot Naučimo se [nečesa] v 24 urah. (Po možnosti ima takšna knjiga vsaj 400 strani, kar se mi je vedno zdelo smešno, saj to za normalnega človeka nikakor ni izvedljivo.)
Če bi se rad naučil splošnosti, je po mojem mnenju najboljše, da se naučiš enega jezika, nato še kakšnega drugega in boš kmalu sam občutil splošnost. Da bi šel kar neposedno v teoretične osnove, je po mojem mnenju overkill. Programiranje je veščina, ki jo osvojiš s prakso, piljenje in teorija naj nastopita kasneje.
"Do, or do not. There is no 'try'. "
- Yoda ('The Empire Strikes Back')
- Yoda ('The Empire Strikes Back')
Spura ::
Naveličan sem knjig o programiranju, ki se berejo kot knjige z kuharskimi receptiin bi rad izvedel malo več o zakulisju programskih jezikov principov itd.
Rad bi vedel recimo kako v resnici so zgrajeni objekti v pomnilniku, kako deluje overloadanje metod, kaj so funkcije kot 1st class objekti in pododbno.
Nočem še ene knjige, ki me bo poskušala naučiti določenega jezika (po moćnosti v 24h) ampak želim razumeti bolj splošno ozadje in koncepte.
Se mi zdi, da če bi to res poznal potem je učenje vsakega jezika res keks.
Torej obstaja kaj takega pa, da ni preveč zahtevno, ker so to moji prvi koraki v to smer. Znam pa sedaj nekaj C in Java pa dosti Delphi in Python.
Te stvari so dost language specific in niso splosne. Pomaga pa, da ves kako delujejo prevajalniki ter assembler. Objekti so v pomnilniku v dveh kosih. Instance memberji so na heapu alocirani. Ni nobene posebne strukture, pac podatki zlozeni skupaj, isto kot struct v Cju. Poleg tega imas drugje v pomnilniku se staticne memberje ter metode.
Isotropic ::
kje pa izves take zadeve kot so bisect_left in podobne zadeve? (ta bisect naj nebi bil specificen za py)? to so za moje pojme advanced koncepti.
overlord_tm ::
kje pa izves take zadeve kot so bisect_left in podobne zadeve? (ta bisect naj nebi bil specificen za py)? to so za moje pojme advanced koncepti.
V soli? bisekcija je eden najbolj osnovnih algoritmov. Java ima funkcijo binarySearch pomoje, ki ti vrne indeks elementa v arrayu, ce ga pa ne najde pa index (negativen), na katerega bi moral biti element vstavljen, da array ostane urejen.
keworkian ::
Tole se mi zdi zelo podobno, ja. :) Oz. je razlika le v (nepomembnih) detajlih.
Večja razlika med PHP in Java je npr., da v PHP ni treba deklarirat tipa spremenljivke.
Smo pa offtopic.
hm... potem sta si po tej logiki, krava in prasic podobna? Hudo, danes bom pil svinjsko mleko.
Seveda da smo offtopic, ce ne ves kaj blebeces.
Obscenities in B-Flat
Zgodovina sprememb…
- spremenil: keworkian ()
Pegaz ::
Najprej, jaz sem mu dal par knjig o tem, kako kodo pisat in ne o delovanju programskih jezikov, ker sem se zmotil in sem to tudi napisal. Ni točno kar on išče, mogoče bo pa prišlo komu prav.
Drugič, če nisi sposoben iz PODOBNEGA jezika razbrat, kaj je namen neke kode, ti jaz ne morem pomagat. Sintaksa je seveda malo drugačna, ampak principi so enaki. Singleton je singleton v Javi, PHP, Actionscriptu ... Ponavadi se o takih temah gleda predvsem na kvaliteto knjige, ne pa točno določen jezik v katerem je napisana knjiga. Tebi bi očitno cormanov Introductions to algorithms povzročal velike težave, glede na to, da je napisan v psevdoju.
Drugič, če nisi sposoben iz PODOBNEGA jezika razbrat, kaj je namen neke kode, ti jaz ne morem pomagat. Sintaksa je seveda malo drugačna, ampak principi so enaki. Singleton je singleton v Javi, PHP, Actionscriptu ... Ponavadi se o takih temah gleda predvsem na kvaliteto knjige, ne pa točno določen jezik v katerem je napisana knjiga. Tebi bi očitno cormanov Introductions to algorithms povzročal velike težave, glede na to, da je napisan v psevdoju.
Invictus ::
Definitivno kaka knjiga avtorja Donalda Knutha.
Tam notri so sicer primeri v Pascalu, ampak jih ni problem predelat na nek drug jezik.
Veliko teorije o algoritmih.
LP I.
Tam notri so sicer primeri v Pascalu, ampak jih ni problem predelat na nek drug jezik.
Veliko teorije o algoritmih.
LP I.
noraguta ::
Definitivno kaka knjiga avtorja Donalda Knutha.
Tam notri so sicer primeri v Pascalu, ampak jih ni problem predelat na nek drug jezik.
Veliko teorije o algoritmih.
LP I.
bi pa rad videl knutha v pascalu , tist je wirt.
Pust' ot pobyedy k pobyedye vyedyot!
Spura ::
kje pa izves take zadeve kot so bisect_left in podobne zadeve? (ta bisect naj nebi bil specificen za py)? to so za moje pojme advanced koncepti.
Hahaha. Vstavljanje v urejen seznam z bisekcijo je po novem advanced koncept? Potem ti pa priporocam Algoritmi in Podatkovne Strukture 1 in 2, ki jih lahko dobis na FRI.
noraguta ::
kje pa izves take zadeve kot so bisect_left in podobne zadeve? (ta bisect naj nebi bil specificen za py)? to so za moje pojme advanced koncepti.
Hahaha. Vstavljanje v urejen seznam z bisekcijo je po novem advanced koncept? Potem ti pa priporocam Algoritmi in Podatkovne Strukture 1 in 2, ki jih lahko dobis na FRI.
saj ni prvotno vprašanje o tem. bisekcija je tema izvedbe.
nekeko kopernikov predlog je ze prvo silo še najbolj ajnfoh. ap hitrerem preletu bookve je vrededna svojega branja.
Pust' ot pobyedy k pobyedye vyedyot!
Isotropic ::
kje pa izves take zadeve kot so bisect_left in podobne zadeve? (ta bisect naj nebi bil specificen za py)? to so za moje pojme advanced koncepti.
Hahaha. Vstavljanje v urejen seznam z bisekcijo je po novem advanced koncept? Potem ti pa priporocam Algoritmi in Podatkovne Strukture 1 in 2, ki jih lahko dobis na FRI.
nisem bil na fri, tko da ne poznam tega od prej. kaj vse ste pa jemali pri tem predmetu A. in PS 1, 2, se ti da okvirno nastet?
da ste mel quicksort, bubble sort ipd. ze vem.
Zgodovina sprememb…
- spremenil: Isotropic ()
HairyFotr ::
Na FRI-UNI je tole:
APS1 vglavnem podatkovne strukture (seznam, množica, hash tabela, binarna drevesa(optimalna iskalna, B, AVL, red-black,..), grafi) in par algoritmov bolj nahitro (Kruskalov, Primov, Dijkstrov, kritična pot), časovna zahtevnost algoritmov, hiter pregled pogostih načinov načrtovanja algoritmov.
APS2 algoritmi za sortiranje(tudi ogromnih tabel iz diska), iskanje max. pretokov skozi omrežje, množenje matrik in polinomov, DFT, linearno programiranje, problem nahrbtnika, algoritmi za iskanje najkrajše poti (Dijkstrov, Floyd-Warshallov, Bellman-Fordov).
Mislm, da nisem nč večjega spustil...
APS1 vglavnem podatkovne strukture (seznam, množica, hash tabela, binarna drevesa(optimalna iskalna, B, AVL, red-black,..), grafi) in par algoritmov bolj nahitro (Kruskalov, Primov, Dijkstrov, kritična pot), časovna zahtevnost algoritmov, hiter pregled pogostih načinov načrtovanja algoritmov.
APS2 algoritmi za sortiranje(tudi ogromnih tabel iz diska), iskanje max. pretokov skozi omrežje, množenje matrik in polinomov, DFT, linearno programiranje, problem nahrbtnika, algoritmi za iskanje najkrajše poti (Dijkstrov, Floyd-Warshallov, Bellman-Fordov).
Mislm, da nisem nč večjega spustil...
overlord_tm ::
kaj ste pa imeli glede geometrije?
Tole naj bi imeli mi pri predmetu racunska geometrija (program FRI-ISRM):
# Presečišča daljic v 1d in 2d. Algoritmi pometanja (sweep algorithms).
# Mnogokotniki in triangulacije mnogokotnikov.
# Konveksnost in konveksna ovojnica. Računanje konveksne ovojnice v 2d.
# Območna drevesa (range trees) in kd-drevesa.
# Ravninske razdelitve in DCEL. Razporeditve premic in hiperravnin.
# Dualnost.
# Linearno programiranje v 2d in 3d.
# Problemi določanja položaja.
# Voronievi diagrami in Delaunayeva triangulacija.
# Fortunjev algoritem za VD in RIC algoritem za DT.
# Gibanje.
Spura ::
Predmeti so misljeni za predstavitev splosnih algoritmov, ki delajo na drevesih, seznamih in grafih.
Kot sm napisal, ce se ti vstavljanje elementov z bisekcijo zdi advanced topic, potem so te knjige s faksa precej dober in dovolj kompakten vir informacij zeljenega tipa.
Kot sm napisal, ce se ti vstavljanje elementov z bisekcijo zdi advanced topic, potem so te knjige s faksa precej dober in dovolj kompakten vir informacij zeljenega tipa.
Zgodovina sprememb…
- spremenil: Spura ()
noraguta ::
evo še ena kar precej kvalitetna
http://mitpress.mit.edu/catalog/item/de...
http://mitpress.mit.edu/catalog/item/de...
Pust' ot pobyedy k pobyedye vyedyot!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Programer-php, pythonOddelek: Loža | 8709 (5600) | Red_Mamba |
» | Uporabni ALGORITMI - kje dobitiOddelek: Programiranje | 3169 (2630) | Joze_K |
» | Kje/kako ste se naučili programiranja? (strani: 1 2 3 4 5 )Oddelek: Programiranje | 59389 (44065) | DaMachk |
» | Paradoks iskanja zaposlitve in možne rešitveOddelek: Programiranje | 8853 (6635) | Smurf |
» | Programiranje na FRIOddelek: Šola | 11210 (9422) | lebdim |