» »

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?

Pegaz ::

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 ::

enadiz je izjavil:

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?

Objektno usmerjeno programiranje, imaš v knjigi, se splača.

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

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://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.
"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.
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), ...)
"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.
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:)

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.
"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.

napsy je izjavil:

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.

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Učenje programiranja (strani: 1 2 )

Oddelek: Programiranje
8518186 (14789) Spura
»

Kateri programski jezik?

Oddelek: Programiranje
494541 (3154) kopernik
»

PHP OOP

Oddelek: Izdelava spletišč
162188 (1659) Pegaz
»

Java je OOP ??

Oddelek: Programska oprema
122300 (2003) Voyager
»

PHP - objektno programiranje

Oddelek: Izdelava spletišč
344188 (3576) Trubadur

Več podobnih tem