Forum » Programiranje » Kaj, kako se učiti?
Kaj, kako se učiti?
enadiz ::
Začel sem z učenjem programiranja v javi, naučil se se že tipe podatkov(int, double), razne loope(while, for, ...), if, switch stavke, arrays, string, ... Kje naj nadaljujem? Imam knjigo Java2, zanima me če so notri resnično uporabni podatki ter če se mi splača učiti po tej knjigi ali naj se raje učim z vodičev na internetu?
Poznate kakšna dobro stran z vodiči?
Poznate kakšna dobro stran z vodiči?
Spura ::
Odvisno kaj te zanima. Bos moral malo bolj opredelit smer svojega ucenja. Lahko se ucis vec jezika, potem naprimer razlicne tehnologije (tle imas 1000000 opcij) ali pa algoritme in podatkovne strukture.
boogie_xlr ::
Mitja Bonča ::
Nisi zastavil lahkega vprašnaja. Jaz sem se isto spraševal leto in pol nazaj, ko sem se začel učiti z popolne ničle C#.
Malo sem bral knjige in zraven delal primere (ker le na samostojnih primerih se učiš, od samega branja knjig nimaš praktično nič, ker si ne moreš vsega zapomniti, tako da le vaja, vaja, vaja dela mojstra). Nato pa sem se lotil konkretnih projektov. Naredil sem npr. telefonski imenik, pa nek program za šefe blokov, kateri morajo printati položnice vsem stanovalcem (na položnico BN02), pa neko podatkvno bazo za tehnične preglede AvtoKrka, pa še....
Hočem reči, da se z samim učenjem ne pride daleč, pač moraš delati določen projekt (ki te po možnosti celo veseli, in najpomembneje je da veš točno kaj boš naredil) in zraven vsega se še veliko naučiš - ker vedno naletiš na kaj novega.
Tudi jaz vsak dan naletim na kakšen nov problem, ampak sedaj to dosti lažje in hitreje odpravim kot pred letom dni nazaj.
Mitja
Malo sem bral knjige in zraven delal primere (ker le na samostojnih primerih se učiš, od samega branja knjig nimaš praktično nič, ker si ne moreš vsega zapomniti, tako da le vaja, vaja, vaja dela mojstra). Nato pa sem se lotil konkretnih projektov. Naredil sem npr. telefonski imenik, pa nek program za šefe blokov, kateri morajo printati položnice vsem stanovalcem (na položnico BN02), pa neko podatkvno bazo za tehnične preglede AvtoKrka, pa še....
Hočem reči, da se z samim učenjem ne pride daleč, pač moraš delati določen projekt (ki te po možnosti celo veseli, in najpomembneje je da veš točno kaj boš naredil) in zraven vsega se še veliko naučiš - ker vedno naletiš na kaj novega.
Tudi jaz vsak dan naletim na kakšen nov problem, ampak sedaj to dosti lažje in hitreje odpravim kot pred letom dni nazaj.
Mitja
roli ::
Če se želiš učiti jave potem vrzi to knjigo na polico . Po mojem mnenju je zanič. Veliko bolj prijazna je za začetnika tale zadevica:
http://java.sun.com/docs/books/tutorial/
Vsekakor se moraš naučit OOP (Objektno orientirano programiranje) - tale tutorial je čist dober zato.
Pol se boš pa počasi moral lotit delat neke svoje programčke. Od simpl do naprednih. Morda se lahko potem lotiš kakih simpl iger, če ti naprimer "pisarniško programiranje" ne diši. Lahko se lotiš kakih mobilnih platform...
http://java.sun.com/docs/books/tutorial/
Vsekakor se moraš naučit OOP (Objektno orientirano programiranje) - tale tutorial je čist dober zato.
Pol se boš pa počasi moral lotit delat neke svoje programčke. Od simpl do naprednih. Morda se lahko potem lotiš kakih simpl iger, če ti naprimer "pisarniško programiranje" ne diši. Lahko se lotiš kakih mobilnih platform...
http://www.r00li.com
napsy ::
rolihandrej: OOP ni edina paradigma za programiranje še zdaleč pa ne najboljša.
Na začetku se izogibaj OOP in se nauči pravilno proceduralno programiranje.
Na začetku se izogibaj OOP in se nauči pravilno proceduralno programiranje.
"If you die, you die. But when you live you live. There is no time to waste."
phyro ::
jaz pa mislim da OOP začet sploh ni slaba stvar (seveda po tem, ko obvladaš osnove -> arrays, strings, if,for,while itd.). Namreč zdi se mi objektno razmišljanje koristnejše in lažje kot proceduralno, ker je bližje našemu razmišljanju ^^
roli ::
Ni edina. Samo se pa v veliki večini uporablja. Razen, če delaš za kake mikrokontrolerje - tukaj se pač ne. Čeprav se tudi tukaj že pokaže. Na splošno pa je večino stvari dandanes narejenih z objekti. Seveda moraš znat tudi procedualni način ampak ne tako natančno.
http://www.r00li.com
MrBrdo ::
rolihandrej glede na to da je objektno programiranje nadgradnja proceduralnega moraš tudi proceduralno obvladat... če niti proceduralnega ne razumeš nimaš z objekti kaj delat
drgač pa ena varianta je tudi, če mate čas, da upadete na kakšno predavanje/vaje na fakulteto (npr. FRI). predavanja so načeloma javna tako da noben ne bo kaj težil če si tam (niti ne bo noben opazil, prostora je pa itak vedno dovolj), za vaje je pa malo bolj problem ker ponavadi ni prostora.
drgač pa ena varianta je tudi, če mate čas, da upadete na kakšno predavanje/vaje na fakulteto (npr. FRI). predavanja so načeloma javna tako da noben ne bo kaj težil če si tam (niti ne bo noben opazil, prostora je pa itak vedno dovolj), za vaje je pa malo bolj problem ker ponavadi ni prostora.
MrBrdo
napsy ::
rolihandrej: v veliki večini se uporablja zaradi tega, ker je OOP v 90-tih postal precej popularen preko jezikov, kot so Java.
Sedaj pa na površje prihajajo še druge paradigme npr. porast uporabe funkcijskih jezikov. En dober zgled, kako bi moralo zgledat OOP je jezik Go, ki ga je pred kratkim naznanil Google.
Problem OOP je ta, da ponavadi preveč časa gre za sam dizajn programa namesto da prakticiraš "write as you go". In kadar ugotoviš, da dizajn programa potrebuje spremembe, je potrebno precej več dela za spremembo le-tega.
OOP še ima en problem, da ni jasno definiran. Načeloma velja konsenz, da če jezik pozna razrede in dedovanje, da je jezik OOP. Kar pomeni da tukaj zraven ne spadajo ostali "featuri" jezikov (interafces, generics, closures (kar je dejansko lastnost, ki je prevzeta iz funkcijskih jezikov), ...)
Sedaj pa na površje prihajajo še druge paradigme npr. porast uporabe funkcijskih jezikov. En dober zgled, kako bi moralo zgledat OOP je jezik Go, ki ga je pred kratkim naznanil Google.
Problem OOP je ta, da ponavadi preveč časa gre za sam dizajn programa namesto da prakticiraš "write as you go". In kadar ugotoviš, da dizajn programa potrebuje spremembe, je potrebno precej več dela za spremembo le-tega.
OOP še ima en problem, da ni jasno definiran. Načeloma velja konsenz, da če jezik pozna razrede in dedovanje, da je jezik OOP. Kar pomeni da tukaj zraven ne spadajo ostali "featuri" jezikov (interafces, generics, closures (kar je dejansko lastnost, ki je prevzeta iz funkcijskih jezikov), ...)
"If you die, you die. But when you live you live. There is no time to waste."
roli ::
Hja no samo, če se učiš jezika in ne samo koncepta, ti bo počasi jasno kaj in kako - in se boš nevede naučil tudi procedualnega programiranja. Jaz sem sicer začel z procedualnim programiranjem (jezik kot tak je OOP podpiral) samo kaj velike prednosti v tem ne vidim. Naučil sem se funkcije (ki so itak praktično enake metodam), strukture in to je nekje to. Pa seveda ni treba pisat raznih objektov za vsako malo bedarijo, ki jo hočeš ampak zadevo napišeš direktno oziroma napišeš funkcijo. Glede na to, da je začel v Javi se je z objekti zagotovo že srečal tako, da nebo nič škodilo, če razširi znanje. Konec koncev se procedualnega programiranja niti nima kaj učit.
Sicer pa tudi sam, ko delam kak projekt ne delam za vsako bedarijo objektov. Preprosto naredim nek "general" objekt in potem nadaljujem not z neko zmešanico procedualnega in objektnega programiranja.
Sicer pa tudi sam, ko delam kak projekt ne delam za vsako bedarijo objektov. Preprosto naredim nek "general" objekt in potem nadaljujem not z neko zmešanico procedualnega in objektnega programiranja.
http://www.r00li.com
dolenc ::
Če imaš knjigo Java2: temelji... Je bolše za začetek dobit kako drugo.
Tale je bolj uvod v javo, če ti je že koker tolk jasno programiranje, ne pa toliko uvod v programiranje.
Meni osebno so najbolši tutorijali od suna, klik, tudi če ti kaj ni jasno, nadaljuješ in ti čez čas potegne
Tale je bolj uvod v javo, če ti je že koker tolk jasno programiranje, ne pa toliko uvod v programiranje.
Meni osebno so najbolši tutorijali od suna, klik, tudi če ti kaj ni jasno, nadaljuješ in ti čez čas potegne
Isotropic ::
huh, katere paradigme so pa se? proceduralno, objektno in funkcijsko je meni poznano. prvi dve razumem, lahko se kdo pojasni funkcijsko? se da tako delat tudi z cpp recimo?
napsy ::
Večina jezikov se deli na deklerativne in imperativne. V deklerativne tudi spadajo funkcijski jeziki. V imperativne pa večina industrijskih jezikov. Kaj več pa lahko zveš na Wikipediji.
Funkcijsko programiranje je tudi možno v nefunkcijskih jezikih vendar je težje, ker sintaksa ne podpira pravega funkcijskega pristopa.
Funkcijsko programiranje je tudi možno v nefunkcijskih jezikih vendar je težje, ker sintaksa ne podpira pravega funkcijskega pristopa.
"If you die, you die. But when you live you live. There is no time to waste."
Zgodovina sprememb…
- spremenil: napsy ()
Pegaz ::
Primeri funkcijskih jezikov sta Haskell, Scheme.
Weeks of programming can save hours of designing!
Čim nimaš več mini projektov, je design še kako pomemben. Refactoring se dogaja prav zaradi tega, ker dizajn ni bil dovolj dober.
Lepota OOP je, da imaš čim bolj reusable komponente in jih lahko uporabiš tudi nekje drugje, čeprav tisti trenutek za to porabiš nekaj več časa.
Problem OOP je ta, da ponavadi preveč časa gre za sam dizajn programa namesto da prakticiraš "write as you go". In kadar ugotoviš, da dizajn programa potrebuje spremembe, je potrebno precej več dela za spremembo le-tega.
Weeks of programming can save hours of designing!
Čim nimaš več mini projektov, je design še kako pomemben. Refactoring se dogaja prav zaradi tega, ker dizajn ni bil dovolj dober.
Lepota OOP je, da imaš čim bolj reusable komponente in jih lahko uporabiš tudi nekje drugje, čeprav tisti trenutek za to porabiš nekaj več časa.
napsy ::
Za velike projekte lahko traja mesece preden se ekipa odloči za pravi dizajn.
Komponente so toliko reusable, kakor jih napišeš da so. To OOP zagotavlja samo v teoriji. V praksi pa se izkaže, da je to precej težje.
Lepota OOP je, da imaš čim bolj reusable komponente in jih lahko uporabiš tudi nekje drugje, čeprav tisti trenutek za to porabiš nekaj več časa.
Komponente so toliko reusable, kakor jih napišeš da so. To OOP zagotavlja samo v teoriji. V praksi pa se izkaže, da je to precej težje.
"If you die, you die. But when you live you live. There is no time to waste."
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Učenje programiranja (strani: 1 2 )Oddelek: Programiranje | 18155 (14758) | Spura |
» | Kateri programski jezik?Oddelek: Programiranje | 4540 (3153) | kopernik |
» | PHP OOPOddelek: Izdelava spletišč | 2185 (1656) | Pegaz |
» | Java je OOP ??Oddelek: Programska oprema | 2299 (2002) | Voyager |
» | PHP - objektno programiranjeOddelek: Izdelava spletišč | 4185 (3573) | Trubadur |