[ DOGMA @ 07.02.2004. 22:47 ] @
Da li Python kao prvi jezik moze da bude pravi uvod za programiranje u PHP i C++ sobzirom da perl vec pocinje bit mijenjan u velikim razmjerama?

Da li je to pravi program sa kojim mozemo zamijeniti perl a ujedno napraviti odlican uvod za PHP i C++?

Ako ne, koji je to programski jezik koji je pravi za uvod ova dva, tri programska jezika?

DOGMA
[ HogarStrašni @ 07.02.2004. 23:27 ] @
Pa nekako mi logicnije zvuci da krenes prvo sa PHP-om, sto bi ti bilo uvod u Python i C++ :)
[ Dragi Tata @ 07.02.2004. 23:36 ] @
Ukratko: Da. Python je po meni najbolji izbor za početnike.
[ filmil @ 08.02.2004. 00:24 ] @
Imali smo svojevremeno temu o tome da li Python ili nešto drugo i zašto,
mislim na forumu C/C++.

Dobar je Python. Nekada su ljudi morali da počnu učeći BASIC ali sada ne
moraju. Može se i štošta lepo napisati u tom Pythonu, tako da nije samo
za izlog (ko recimo paskal).

Od PHP-a treba bežati koliko je god moguće. To je odvratni ružni ad hoc
jezik za mrdalice po webu, od toga nikada nikakve prave vajde.

Sve u svemu dobar je Python. A, da, to sam već rekao... ponavljam se.
Ali je istina.

f
[ alex @ 08.02.2004. 02:32 ] @
100% se slazem sa filmil-om - PHP treba izbegavati u sirokom luku. Gomila pocetnika je i glavni krivac tolike popularnosti tog jezika.

Python je odlican za pocetnike zbog svoje krajnje jednostavne sintakse i sa svojim OOP modelom znatno olaksava shvatanje objektnog programiranja. Jednom recju, prava stvar za pocetnike.

U vecini slucajeva kasnije nije potrebno ni prelaziti na neki drugi jezik.

Pozdrav,
alex.
[ Gojko Vujovic @ 08.02.2004. 03:14 ] @
Takođe glas protiv PHP-a. Ako baš NE MORAŠ, nemoj to sebi raditi i uopšte učiti taj jezik. Pokvariće ti sve dobre programerske navike koje eventualno stekneš do tada.

Mada i python ima nekih svojih nebuloza preko kojih nikako ne mogu da pređem, niti da shvatim zašto su uvedene. Navikavanje na to može da smeta pri prelasku na neki drugi jezik kasnije.
[ markom @ 08.02.2004. 10:27 ] @
Uz potpunu svest da će ovo da ude iskra za vatru ...

Python je divan jedan jezik, zaista. Deluje zanimljivo i korisno za učenje, ali sintaksa... Ja sam mislio da sam se fortrana ratosiljao kad sam ga eskivirao u 3. razredu srednje škole. Ono sa indentacijom je stvarno bezveze :-(

Marko.
[ filmil @ 08.02.2004. 11:10 ] @
Citat:
Uz potpunu svest da će ovo da ude iskra za vatru ...


Markom,

otkud ti ideja da bi to bilo iskra za vatru? Odluka da se blokovi
označavaju posebnom indentacijom koda, umesto sa parom begin/end, jeste
najkretenskija odluka u istoriji razvoja programskih jezika.

Dugo sam se pitao šta je autora ovog, inače fenomenalnog, jezika,
nagnalo da usvoji najgoru moguću od svih poznatih i nepoznatih
konvencija za strukturiranje koda. Da li bi sa dodatim parom begin/end
jezik bio suviše savršen pa je morao da se naruži nečim? Da li se neko
tajno dokopao specifikacije jezika i dopisao taj deo u šali ili zloj nameri?

I onda mi je sinulo: Guido van Rossum, autor jezika, verovatno je tog
dana, s obzirom da je u rečeno vreme obitavao u Amsterdamu, na posao
došao malko „veseliji“ i... eto.

S druge strane zahtev za indentacijom na neki, aj da kažem
nesvakidašnji, način tera programera da uvek nazubljuje kod, tako da u
krajnjoj liniji nije baš toliko katastrofalno loše. Ali da, moglo je to
mnogo bolje.

E sad pitanje je šta zapravo koristiti za programerske početke? Idealan
jezik po meni je, ako ćete verovati, Modula 3. Pre nego što me spalite
na lomači kao mistifikatora koji stalno izmišlja koješta kako bi lupao,
dozvolite da kažem da je Modula 3 naslednik Module 2, jezika kog je
dizajnirao Niklaus Wirth, a Modula 2 opet naslednik Pascala — sa svim
onim lepim stvarima koje Pascal nikada nije imao a strašno su potrebne
za moderno programiranje: moduli, interfejsi, objekti, niti (ugrađene u
sam jezik!), neprovidni tipovi, sve to čisto, lepo, jednostavno i
odlično dokumentovano (http://www.m3w.org). Modula 3 ima sve ono što ste
poželeli da ima Paskal, što je Turbo Pascal naslutio, što je Delphi
pokušao i delimično uspeo jer na žalost nije novi jezik već samo
ekstenzija objektnog paskala. Modula 3 takođe već nekih 20-tak godina
ima sve ono što je početkom 90-tih prošlog veka JAVA ponudila kao
„otkrovenje“.

E sad naravno problem je što Modula 3 nije mainstream jezik i što niko
aj da kažem „normalan“ u tome ne radi. To je, ako ćete verovati mom
višegodišnjem iskustvu sa kojekakvim programskim jezicima, jedna teška i
neoprostiva greška što se uopšte dozvoljava da početnici u programiranju
tupe zube sa C-om, C++-om, JAVOM i sličnim užasima.

Jeste, tako je, pravi programeri treba da poseduju razumevanje
programskog koda na više nivoa apstrakcije (nisam to sam smislio,
parafraziram DEK-a), ali je teško zamislivo da početnik programiranje
nauči tako što od prvog dana mora forsirano da razmišlja o svim tim
nivoima. Ko se seti mallociranja memorije u Hello world programu u C-u
znaće na šta sam mislio.

Dodatni razlog više za Modulu 3 jeste što interpretiranu verziju M3
razvija ekipa HoNeta koja je samo malo s „onu stranu Drine“, u Zvorniku.
I napokon kako biste se uverili da je Modula 3 prava stvar, evo isečka
iz izvornog koda dotičnog interpretera

Code:

PROCEDURE Parse(t: T; p: XLParser.T): T RAISES { SyntaxError } =
BEGIN
t.name:=p.expectName();
IF p.curr() = Symbol.Colon THEN
p.next();
IF p.curr() # Symbol.Equal THEN
t.type:=NEW(XLType.T).parse(p);
IF (p.curr() = Symbol.Keyword) AND (p.valueKeyword() =
KW.Strict) THEN
p.matchKeyword(KW.Strict);
t.strict:=TRUE;
END;
IF p.curr() = Symbol.Keyword THEN
p.matchKeyword(KW.Const);
t.const:=TRUE;
END;
IF p.curr() = Symbol.Colon THEN
p.next();
p.expect(Symbol.Equal);
t.default:=NEW(XLExpr.T).parse(p);
END;
ELSE
p.expect(Symbol.Equal);
t.default:=NEW(XLExpr.T).parse(p);
END;
END;


IF NOT p.currScope().add(t.name, t, t.slot) THEN
p.error("Duplicated name '" & t.name & "'.");
END;


RETURN t;
END Parse;


f
[ dragisha @ 08.02.2004. 12:33 ] @
Citat:
filmil:
E sad pitanje je šta zapravo koristiti za programerske početke? Idealan
jezik po meni je, ako ćete verovati, Modula 3. Pre nego što me spalite
na lomači kao mistifikatora koji stalno izmišlja koješta kako bi lupao,
dozvolite da kažem da je Modula 3 naslednik Module 2, jezika kog je
dizajnirao Niklaus Wirth, a Modula 2 opet naslednik Pascala — sa svim
onim lepim stvarima koje Pascal nikada nije imao a strašno su potrebne
za moderno programiranje: moduli, interfejsi, objekti, niti (ugrađene u
sam jezik!), neprovidni tipovi, sve to čisto, lepo, jednostavno i
odlično dokumentovano (http://www.m3w.org). Modula 3 ima sve ono što ste
poželeli da ima Paskal, što je Turbo Pascal naslutio, što je Delphi
pokušao i delimično uspeo jer na žalost nije novi jezik već samo
ekstenzija objektnog paskala. Modula 3 takođe već nekih 20-tak godina
ima sve ono što je početkom 90-tih prošlog veka JAVA ponudila kao
„otkrovenje“.

E sad naravno problem je što Modula 3 nije mainstream jezik i što niko
aj da kažem „normalan“ u tome ne radi. To je, ako ćete verovati mom
višegodišnjem iskustvu sa kojekakvim programskim jezicima, jedna teška i
neoprostiva greška što se uopšte dozvoljava da početnici u programiranju
tupe zube sa C-om, C++-om, JAVOM i sličnim užasima.

Jeste, tako je, pravi programeri treba da poseduju razumevanje
programskog koda na više nivoa apstrakcije (nisam to sam smislio,
parafraziram DEK-a), ali je teško zamislivo da početnik programiranje
nauči tako što od prvog dana mora forsirano da razmišlja o svim tim
nivoima. Ko se seti mallociranja memorije u Hello world programu u C-u
znaće na šta sam mislio.

Dodatni razlog više za Modulu 3 jeste što interpretiranu verziju M3

razvija ekipa HoNeta koja je samo malo s „onu stranu Drine“, u Zvorniku.
I napokon kako biste se uverili da je Modula 3 prava stvar, evo isečka
iz izvornog koda dotičnog interpretera


o Link je http://www.m3.org, za "oficijelni" Modula-3 sajt.

o Programer bi trebalo da posjeduje razumijevanje programskog koda u više nivoa apstrakcije ali to ne znači da proizvoljnih 20 linija koda mora da se prostire preko 5 različitih nivoa apstrahovanja. To ima 99% C* programa koji mogu da se vide po netu.

o Programiranje je počelo da se uči kao zanat, unazad 10ak godina. (Zanat == trogodišnja škola učenika u privredi :). Kako drugačije objasniti školovanje za programiranje u jeziku X? U moje doba (kh, kh) studenti su učili da programiraju i za to su korišćeni različiti jezici (u srednjoj Pascal i BASIC, na faksu Fortran, PDP asembler, Modula-2 (i C, kod profesora koji je držao predmet drugoj liniji :), Pascal...) za različite aspekte te obuke. Objašnjenje "pa u tom jeziku će raditi kad završi fakultet" je upravo u korijenu mog mišljenja da su moderni računarski fakulteti sve više ŠUP a sve manje fakultet.

o Interperetirana verzija M3 je naravno m3/xl, skraćeno XL - naš GPLovani eXtensible extension Language. http://home.rstel.net/~stomic/, ako se dobro sjećam.

Poz,
dd
[ DOGMA @ 08.02.2004. 12:52 ] @
Sad je malo otislo OFF TOPIC..

Al' samo nesto da pripitam.. Sobzirom da se dosta izjasnilo da treba bjezat od PHP.. To bi trebalo da znaci da radite stranice sa perlom, pythonom, html.. Il' da bjezim od toga posla uopste..?

I znaci Python je odlican uvod za recimo C++ i Perl?

DOGMA
[ leka @ 08.02.2004. 13:10 ] @
Svaki jezik koji daje struktuirano programiranje je dobar za pocetnike, tu spada i Python. Stvar je navike (i ko zna cega drugo) sto se covek odluci za jedan, a ne za drugi. Ja licno ne ucim Python zato sto je izvikan, PHP sam naucio mnogo pre nego je postao popularan - da je malo kasnije trebalo da razmisljam o svemu tome ko zna za sta bih se odlucio... Ovo sto sam rekao o sebi je prosto primer tih "drugih razloga". Neko ce imati neke trece razloge da ne uci neki jezik. Ja niti jedan od tih razloga ne opravdavam, to je tako i to je prirodno (po meni) da bude tako.
Ima zaista puno jezika koji su bolji od drugih, a mnogo manje popularni. Sta je razlog njihovoj nepopularnosti moze da bude jedna dobra tema za raspravu ovde na ES-u.
[ dragisha @ 08.02.2004. 13:23 ] @
Citat:
DOGMA:
Sad je malo otislo OFF TOPIC..

Al' samo nesto da pripitam.. Sobzirom da se dosta izjasnilo da treba bjezat od PHP.. To bi trebalo da znaci da radite stranice sa perlom, pythonom, html.. Il' da bjezim od toga posla uopste..?

I znaci Python je odlican uvod za recimo C++ i Perl?

DOGMA


Python je (izvinjenje za) programski jezik koje se koristi upravo za bježanje od Perl :).

Od C* jezika najpristojniji je Java. Većina razloga za to su dobri uzori Jave i to što je samo sintaksu uzeo od C i C++. Doduše, uzeli su i private/protected/... kamo sreće da nisu i da su se ugledali na jezike koji imaju odvojene definicije od implementacija.

dd
[ filmil @ 08.02.2004. 13:35 ] @
Citat:
Sad je malo otislo OFF TOPIC..

Al' samo nesto da pripitam..

Sobzirom da se dosta izjasnilo da treba bjezat od PHP.. To bi trebalo da
znaci da radite stranice sa perlom, pythonom, html.. Il' da bjezim od
toga posla uopste..?

I znaci Python je odlican uvod za recimo C++ i Perl?


Nije otišlo previše u offtopic. Pitao si: Python, da ili ne i dobio si
odgovor: da. Još su ti rekli: PHP — ne, a dodajem ovde Perl — ne.

Zašto? Zato što je perl, prema rečima autora jezika „utočište za one
koji su preko leđa preturili sve i svašta i uvek im je nešto falilo.“
Dakle perl programeri i to oni najbolji stigli su do perla preko bogatog
praktičnog, i valjda i teorijskog iskustva a to nešto govori o ciljnoj
grupi. Perl služi da se stvari urade na brzinu, a kao što je opšte
poznato samo veliki majstori mogu u isto vreme da rade i brzo i dobro.
Ostali proizvode gomile neshvatljivih užasa za koje se nikad ne može
reći rade li uvek, ponekad ili nikad, mogu li se ponovo koristiti i
slično. Ne.

I još jedna stvar: programiranje web!

Web je zanat koji je zlatan kao i svaki drugi, ali je ipak zanat.
Programiranje ne stanuje tu.

f
[ alex @ 08.02.2004. 16:38 ] @
Citat:
filmil:
otkud ti ideja da bi to bilo iskra za vatru? Odluka da se blokovi
označavaju posebnom indentacijom koda, umesto sa parom begin/end, jeste
najkretenskija odluka u istoriji razvoja programskih jezika.


Ovo samo moze da izjavi neko ko nikad nije preuzeo razvoj tudjeg projekta, gde posle nekoliko meseci shvatanja programerskog stila i sta je programer hteo da kaze obicno ili poludis ili radis kompletan rewrite.

Kod python programa dovoljan je samo jedan pregled kôda na brzinu pa da se shvati o cemu se radi. Posto dosta pocetnika uci na principu shvatanja tudjeg kôda, Python svojom sintaksom omogucuje znatno lakse ucenje.

Takodje, razvoj velikih projekata sa timom programera obicno pocinje pitanjem "koji programerski stil koristiti" - kod razvoja python programa nema tih problema.

Da ne drvim dalje, postoji mnogo veoma dobrih razloga zbog cega je Python uzeo takvu sintaksu koje su napisali ljudi mnogo pametniji od mene - posetite http://www.python.org/ pa potrazite informacije.


Pozdrav,
alex.
[ srki @ 08.02.2004. 17:39 ] @
Citat:
alex:
Ovo samo moze da izjavi neko ko nikad nije preuzeo razvoj tudjeg projekta, gde posle nekoliko meseci shvatanja programerskog stila i sta je programer hteo da kaze obicno ili poludis ili radis kompletan rewrite.

alex, ne slazesm se sa tobom jer ako ti je toliko bitna indentacija uvek mozes da automatski indentiras kod. Za c postoji gomila programa koji to rade pa bi verujem postojalo i za python. Zato se slazem sa filmilom da je to kretenska odluka.

Citat:
Python svojom sintaksom omogucuje znatno lakse ucenje.

Pa neka ostane ista sintaksa osim te jedne stvari. Mislim da je bolje da su uveli begin i end.

Citat:
Takodje, razvoj velikih projekata sa timom programera obicno pocinje pitanjem "koji programerski stil koristiti" - kod razvoja python programa nema tih problema.


Pa programski stil ne cini samo indentacija. Ostale stvari u pythonu treba da ostanu kako su bile ali ovo je totalno nebitno ako radim u timu programera. Nek se IDE brine o indentaciji i neka ima opciju autoindent i nista ti onda nece smetati sto se blokovi oznacavaju sa begin i end.
[ filmil @ 08.02.2004. 17:42 ] @
Citat:
Ovo samo moze da izjavi neko ko nikad nije preuzeo razvoj tudjeg projekta,


Kao što rekoh, možeš da me spališ kao jeretika. :) Ali eto, stvarno ne mogu da shvatim zašto se element sintakse jednog jezika tako naprasno preselio u dužnost editora. Jedan space manje više i smisao se potpuno menja. Da je Python nastao u vreme FORTRAN-a kada ljudi nisu bili baš načisto kako to treba dizajnirati jezik, pa i da razumem nekako.

Citat:
Da ne drvim dalje, postoji mnogo veoma dobrih razloga zbog cega je Python


Uz dužno poštovanje Alexe, jedini „razlog“ ovoj odluci stoji u ovom kratkom linku iz FAQ-a: http://www.python.org/doc/faq/...ion-for-grouping-of-statements
koji me nije posebno ubedio. U svakom slučaju glavno je da je Python odličan za prve korake, thumbs up itd. Uz malo pažnje se dosta može postići. Opet se ponavljam. :)

f

[ markom @ 08.02.2004. 17:58 ] @
Citat:
Mislim da je bolje da su uveli begin i end.


Da stvar bude gora, "begin" postoji u većini izraza -- ":".

Marko.
[ alex @ 08.02.2004. 22:25 ] @
Ne brinite, necu nikoga da spalim kao jeretika niti sam iskljuciv da je samo moje misljenje tacno. Moje misljenje je moje misljenje.

Pre svega da napomenem da je begin-end kombinacija najjadnije resenje od svih. Zamisli kôd od 10000+ linija - koliko puta bi kucao begin-end? Koji bi to procenat napisanog kôda bio? Viticaste zagrade "{,}" su beskrajno bolje resenje. Zbog begin-end sam i pobegao od Paskala i srecom nisam zavrsio u Delphi vodama.

Filipu da odgovorim za spejsove i indentaciju - zasto ne koristiti TAB? Kada je TAB oznaka za indentaciju svako moze sa lakocom da radi na zajednickom kôdu. Upotreba space znaka (jednog ili vise) za indentaciju je bas bezveze.

Meni je python na prvi pogled bio grozan. Ali, radeci paralelno na nekoliko C++, Perl i Python projekata, dosao sam do zakljucka da je Python programiranje ne samo najefikasnije vec i nekako najcistije. (ponavljam jos jednom da je to moje misljenje).

srkiju da napomenem da je potpuno tacno da programerski stil ne cini samo indentacija. Ali, pogledaj samo koliko razlicitih stilova pisanja ima za, recimo, C++? Ne pricam o nazivu promenljivih i slicno, vec o stilovima pisanja. Kod pythona ima samo jedan.

Pozdrav,
alex.
[ Dragi Tata @ 09.02.2004. 03:37 ] @
Mislim da je Alex u pravu za identaciju. Kod mene u firmi je bilo "klanja" oko toga da li ćemo da koristimo

Code:

if (uslov) {
  RadiNesto();
}

,

Code:

if (uslov)
{
  RadiNesto();
}


ili

Code:

if (uslov)
  {
  RadiNesto();
  }


Ja lično koristim 3-ći stil, ali nemam ništa protiv ni drugog, a mogu da radim i sa prvim mada ga ne volim. Međutim, ima takvih manijaka koji čim vide kod koji nije po njihovom ukusu, odmah ga izmene bez saglasnosti originalnog autora, pa posle nastane hvatanje za gušu... užas.
[ -zombie- @ 09.02.2004. 04:32 ] @
nisam baš siguran da su jezici bez striktne deklaracije promenjivih pogodni za početnike.. programer od karijere će kad-tad morati da nauči neki pravi jezik, a to mu sigurno neće olakšati učenje..


i samo još kratko, slažem se da web nije neko programiranje, ali je php trenutno najbolje rešenje za web. naravno, to je prilično sklepan jezik, i nije baš preporučljiv za početnike, ali je bar mnogo manje ružan od perla.

što se module tiče, prilično se slažem sa filipom, ali je možda ipak bolje (lakše? korisnije?) krenuti od paskala, ili direktno od delphija, koji je na sličnom nivou sa modulom, ali je nasuprot njoj, i danas prilično upotrebljiv i u komercijalne svrhe..

oko indentacije, ovako izdaleka (nisam skoro ništa, pa ni neozbiljno još radio sa pythonom) mi se ideja pomalo sviđa, jer mi totalno odgovara (uklapa se u moj stil pisanja), ali ne znam kako bi to moglo da izgleda u praxi (a nije mi ni jasno zašto postoji : za begin kada se isti može zaključiti na osnovu sledeće linije).

a po pitanju begin/end {/}, moraću da se (po prvi put?) ne složim sa alexom. čitanje nepropisno indentovanog C/C++/Java/... koda sa razbacanim zagradama je ravno kineskom mučenju kapljicama vode. :-P
[ srki @ 09.02.2004. 10:51 ] @
Citat:
alex:
Ne brinite, necu nikoga da spalim kao jeretika niti sam iskljuciv da je samo moje misljenje tacno. Moje misljenje je moje misljenje.

Isto tako i ja mislim. Meni se python svidja ali mi se samo ta fora sa indentacijiom ne svidja ali to nije toliko strasno i mozda je zaista bolje. A i kada sam rekao da bih voleo da ima begin-end nisam mislio bukvalno to, vec bih bio zadovoljan i sa { }

Mada ja uopste ne tvrdim da nije bolje ovako kako jeste i zato nema ni potrebe voditi neku glomaznu diskusiju oko toga jer se ionako slazemo oko ostalih stvari a ovo je ionako samo moje misljenje koje nece nista promeniti (a i nemam neku zelju da menjam).

Citat:
srkiju da napomenem da je potpuno tacno da programerski stil ne cini samo indentacija. Ali, pogledaj samo koliko razlicitih stilova pisanja ima za, recimo, C++? Ne pricam o nazivu promenljivih i slicno, vec o stilovima pisanja.

Znam, grozno!

Citat:
Kod pythona ima samo jedan.

E pa bas zbog toga mislim da slobodna indentacija ne bi mnogo promenila stvari jer su ostale stvari dosta striktne pa ne moze neko bas toliko da naruzi kod da bude toliko zeznut za citanje. Mada verovatno ste u pravu da je ovako bolje za pocetnike i meni se python svidja cak iako nije sve po mom ukusu.
[ caboom @ 09.02.2004. 11:14 ] @
ne znam zasto se toliko koljete oko indentacije kada je to jedna od onih stvari koje se u timu ili na projektu definisu u samom pocetku, a svakako nije problem propustiti "lose indent-ovan" (navodnici su tu samo zbog toga sto je cesto pitanje lose/dobre indentacije stvar ukusa) nasledjeni kod kroz neki od alata za indentaciju (npr. indent?).
[ alex @ 09.02.2004. 11:58 ] @
Citat:
srki:
...zato nema ni potrebe voditi neku glomaznu diskusiju oko toga jer se ionako slazemo oko ostalih stvari...


Apsolutno tacno. Necemo dalje ici u diskusiju oko indentacije, jer je to i stvar ukusa a i malo offtopic za ovu temu :)

Znaci, zakljucili smo da je Python daleko najbolje resenje za pocetnike u programerskim vodama.

Da ne bude skroz offtopic, evo i jednog zanimljivog linka: Python Cookbook - veoma interesantni nacini resavanja nekih problema. Zgodno za uporediti sa resenjima iz Perl Cookbook.



Pozdrav,
alex.
[ caboom @ 09.02.2004. 12:44 ] @
bez namere da rushim temu ili kvarim diskusiju, naveo bih i ruby kao dobar izbor:
http://www.ruby-lang.org/en/
cini mi se da mu je sintaksa cistija i nekako prigodnija za pocetnike koji ce jednog dana preci u c++ vode.
jos jedna mala digresija, kada bi prevrteli malo film (ovo se odnosi na generaciju koja je odrasla sa commodore-om i spectrum-om kao omiljenom igrackom) videli bi da programski jezici sa kojima smo poceli nisu bili narocito "pohvalni" sa aspekta ove diskusije. naime, uobicajen redosled je bio basic -> asm -> ...
ono sto zelim da kazem je da nisam siguran koliko ce odredjeni programski jezik napraviti od nekoga dobrog ili loseg programera, a jos manje sam siguran sta znaci dobar ili los programer.
[ filmil @ 09.02.2004. 13:10 ] @
Citat:

igrackom) videli bi da programski jezici sa kojima smo poceli nisu bili
narocito "pohvalni" sa aspekta ove diskusije. naime, uobicajen redosled
je bio basic -> asm -> ...


Sasvim si u pravu. Međutim tada (npr. '85) nije moglo bog zna kako da se bira, a svakako nije bilo nekog ko bi mogao da da savet i da usmeri. Gledajući međuvreme od tada do sada i sećajući se zidova o koje sam lupao glavu, čini mi se da (sada) znam kako bih istih problema poštedeo nekog ko tek planira da se upusti u celu stvar. Otud su i saveti ispali takvi kakvi su ispali.

Citat:

sta znaci dobar ili los programer.


To ne znam, ali svakako ćeš se složiti da postoje bolji i gori načini učenja programiranja, ekonomičniji i manje ekonomični, manje ili više smisleni. Mislim da nije problem kada se to već zna da se od dva puta odabere (lično) bolji.

f



[ caboom @ 09.02.2004. 14:00 ] @
slazem se, ali kada sam mislio na bolji ili losiji programer, mislio sam na nesto drugo. imao sam prilike da upoznam dosta zanimljivih ljudi, neki pisu jako cist kod, neki pisu veoma prljav kod ali sa fantasticnim performansama, neki pisu sporo i veoma pedantno, neki uopste ne vole OOP, neki se razbacuju template-ovima gde stignu itd. i svi su u sustini zaista dobri u svom poslu (zavrsavaju ga), ali bi se verovatno potukli da ih stavis na jedno mesto i zapocnes diskusiju na temu dobrog ili loseg koda.
takodje sam primetio jednu zanimljivu tacku u kolektivnoj svesti programera. u bar 70% slucajeva kada programer nasledi neciji kod, dakle ne krece od mrtve tacke vec je upao usred razvoja ukoliko ovaj drugi nije prisutan, bez obzira da li je kod dobar ili los (sa bilo kojeg stanovista), krenuce price sa konotacijom "uff... kakav je ovo kod...".
[ jablan @ 09.02.2004. 16:36 ] @
Citat:
caboom:
takodje sam primetio jednu zanimljivu tacku u kolektivnoj svesti programera. u bar 70% slucajeva kada programer nasledi neciji kod, dakle ne krece od mrtve tacke vec je upao usred razvoja ukoliko ovaj drugi nije prisutan, bez obzira da li je kod dobar ili los (sa bilo kojeg stanovista), krenuce price sa konotacijom "uff... kakav je ovo kod...".


Heh pa barem u 70% slučajeva, nasleđuje se kood od loših programera.

Šalu na stranu, po mom mišljenju kvalitet programera je najčešće obrnuto proporcionalan prosečnom broju linija u njegovim metodama (funkcijama, procedurama).

A što se tiče učenja programiranja, jedan jezik nikako nije rešenje. Treba učiti što više što različitijih jezika (platformi, okruženja). I, najbitnije, treba voleti to što se radi. Džaba tebi (ne tebi, caboom ) najbolji jezik na svetu ako sve to radiš samo zbog para.
[ Ivan Dimkovic @ 09.02.2004. 17:45 ] @
Citat:
jablan:
po mom mišljenju kvalitet programera je najčešće obrnuto proporcionalan prosečnom broju linija u njegovim metodama


Dakle.. Najbolji programer je onaj koji pise nula linija koda - onda je beskonacno dobar :)) Salu na stranu.. ova recenica je malo uzeta iz konteksta nekih osnovnih pravila o programiranju gde se duge f-je ne preporucuju >generalno< jer stvaraju nepregledan kod, sto jeste tacno - ali ne moze da oceni kvalitet programera.

Meni su u timu bitniji tzv "problem solving" skills, tj. mogucnost resavanja problema ako dodje u situaciju da treba da smisli neki algoritam ili da optimizuje neko resenje - obicno se da promeniti stil pisanja ako projekat to zahteva.

Citat:
Džaba tebi (ne tebi, caboom ;)) najbolji jezik na svetu ako sve to radiš samo zbog para.


Sto da ne :)
[ caboom @ 09.02.2004. 17:48 ] @
Citat:
jablan:
Šalu na stranu, po mom mišljenju kvalitet programera je najčešće obrnuto proporcionalan prosečnom broju linija u njegovim metodama (funkcijama, procedurama).


stoji da sa aspekta dizajna i citljivosti metodi ne trebaju da budu veliki (neko to voli da meri "ekranima"), ali to je "kvalitet" koji je lako staviti van konteksta.

Citat:
A što se tiče učenja programiranja, jedan jezik nikako nije rešenje. Treba učiti što više što različitijih jezika (platformi, okruženja). I, najbitnije, treba voleti to što se radi. Džaba tebi (ne tebi, caboom ;)) najbolji jezik na svetu ako sve to radiš samo zbog para.


opet nije resenje ni rasipati se na 20 platformi i 20 programskih jezika u istom trenutku. znam da barem licno nisam nikada nista nisam postigao kada bih pohlepno krenuo na veliku "bazu znanja", tako da pretpostavljam da za sve postoji vreme i mesto. nisam pristalica preskakanja logicnih koraka u ucenju, a "poliglotstvo" dolazi vremenom. znam veoma malo programera koji su se zadrzali na samo jednom jeziku i samo jednoj platformi, zapravo ne znam ni jednog.
[ NikolaVeber @ 09.02.2004. 18:32 ] @
Citat:
caboom:
takodje sam primetio jednu zanimljivu tacku u kolektivnoj svesti programera. u bar 70% slucajeva kada programer nasledi neciji kod, dakle ne krece od mrtve tacke vec je upao usred razvoja ukoliko ovaj drugi nije prisutan, bez obzira da li je kod dobar ili los (sa bilo kojeg stanovista), krenuce price sa konotacijom "uff... kakav je ovo kod...".


Posto iskustvom i znanjem ne spadam u one koji mogu da daju savete, samo bih da ovo potvrdim.
Cak mislim da su onih 70% premalo. Ne znam kako je kod drugih programskih jezika, ali sa PHP-om u kojem trenutno najvise radim nasledjivanje tudjeg koda je prava nocna mora.
Cesto mi je lakse da napisem nesto od nule nego da provaljujem kako nesto vec gotovo radi. Srecom pa su tu ljudi koji su to pisali
[ spartak @ 22.02.2004. 12:29 ] @
:-) Velicina metoda...

ahm, ja to gledam sa druge strane. Svaki kod koji bi se pojavio vise puta na razlicitim mestima stavim u odvojen metod. Ukoliko se tokom rada pokaze da su potrebni samo odredjeni delovi koda tog metoda a negde ceo kod, izdvojim ih u jos jedan...

Mislim da velicina metoda ne bi trebala da ima veze sa sminkerajem vec sa logikom koju treba da "zatvori" u sebe? Ako je logika kompleksna, to jest iz vise koraka - velik je i metod. Da ne bi baba zvala dedu, deda pustio email psu, pas sms macki a macka... da bi se iscupala repa :-)
[ nebjak @ 28.05.2005. 18:14 ] @
Mozda se kasno ukljucujem, ali evo mog odgovora:

Relativno skoro sam poceo da ucim programiranje, ali od coveka koji je iskusni programer sam cuo da PHP je mnogo los jezik, a python mi se svidja neograniceno!!! Takodje se smaramo PASCAL -om u skoli, jbg malo se uci!!!