ko mene spominje??? :oops:
izvinjavam se gosp. haver, bez ljutnje
ko mene spominje??? :oops:
izvinjavam se gosp. haver, bez ljutnje
"Jer, iako nevolim one ruzne komande asemblera, poznam ih sve, i dok pisem kod u C-u u svojoj glavi za 0,2s sklopim sliku kako ce taj kod izgledati kada se brebaci u assembler i trazim sto vise da je optimizujem to slobodno mozete zvati “high level optimizacija”
emiraga, ovu vrstu ‘hvaljenja’, mozes vjerovatno prosipati samo na ovom forumu.
Jedno je samo tacno, ili se foliras bezze ili veze nemas o cemu govoris. Vjerovatno kombinacija ove dvije stvari. :lol:
Fataj se ‘cc -O2/-O3’ i mojne mi ovakvih folova.
Cuj ‘High level optimizacija’; from C to assembler in 0.2s. Ne da poznajes sve instrukcija masinskog jezika, nego i arhitekturu svakog CPU ikad proizvedenog?
Haj kad si takav hacker, de sredi gcc 3.X seriju da nije duplo sporija od 2.95 i da nije nije tako i386 centricna. Ima jos uvijek ljudi sto koriste !=i386 arhitekture.
[quote]Pretpostavljam da ne govoris o meni, jer se i ne poznajemo, osim ovako forumski
Meni je posebno drago sto se ni moji ucenici se ne bave trivijalnim stvarima, je l’ tako emiraga? [/quote]
Pa što nas ne biste prosvijetlili obojica kakvim se to netrivijalnim stvarima bavite?
Volio bih vidjeti tu ozbiljnu programersku firmu koja razvija kod u Cu (umjesto npr. u C++).
Goto je izraz ljenosti programera. Umjesto da formira neki uslov ili petlju na ispravan način, samo krhne if () goto i riješen problem.
Navedi primjer “elegantnog” rješenja sa goto-om i ja ću ga istog trena napisati elegantnije bez goto-a.
Kao što rekoh, interesuju me te vremenski kritične operacije kojima se ti i tvoji učenici profesionalno bavite. Možda kao hobi, u stvarnom životu takvi problemi se rješavaju korištenjem jačeg procesora 8) jeftinije
ma vidiš haveru da su ovi “akeri” jaki samo na riječima.
Prospu par folova pokupljenih sa neta i misle da su glavni. A na moj BF izazov nisu u stanju da odgovore. Šta ćeš, nije to za njih, nisu dorasli… još je puno učenja pred njima… za 10ak godina će programirati u Javi i govoriti o prednostima XMLa (odnosno, šta već tada bude moderno).
'akeri: želim da vidim jednu korisnu stvar koju ste uradili u svom životu. Pod “korisno” mislim nešto što koristi još neko osim vas.
[quote]emiraga, ovu vrstu ‘hvaljenja’, mozes vjerovatno prosipati samo na ovom forumu.
Jedno je samo tacno, ili se foliras bezze ili veze nemas o cemu govoris. Vjerovatno kombinacija ove dvije stvari.
Fataj se ‘cc -O2/-O3’ i mojne mi ovakvih folova.
Cuj ‘High level optimizacija’; from C to assembler in 0.2s. Ne da poznajes sve instrukcija masinskog jezika, nego i arhitekturu svakog CPU ikad proizvedenog?
Haj kad si takav hacker, de sredi gcc 3.X seriju da nije duplo sporija od 2.95 i da nije nije tako i386 centricna. Ima jos uvijek ljudi sto koriste !=i386 arhitekture.[/quote]
hm… dalje…
[quote]ma vidiš haveru da su ovi “akeri” jaki samo na riječima.
Prospu par folova pokupljenih sa neta i misle da su glavni. A na moj BF izazov nisu u stanju da odgovore. Šta ćeš, nije to za njih, nisu dorasli… još je puno učenja pred njima… za 10ak godina će programirati u Javi i govoriti o prednostima XMLa (odnosno, šta već tada bude moderno).
'akeri: želim da vidim jednu korisnu stvar koju ste uradili u svom životu. Pod “korisno” mislim nešto što koristi još neko osim vas.[/quote]
dalje…
Ja ne zelim da vodim bespredmetne rasprave u nedogled, i stvarno mi je zao ako me je neko pogresno razumio. Ne vidim nikakvu potrebu da se nekom pravdam, niti da iznosim sta to ja u svom zivotu radim, kao ni da odgovaram na bilo kakve izazove. Meni je zelja da saradjujem sa nasim ljudima koji koriste Linux ovdje u BH i u inostranstvu i da pomognem onoliko koliko sam u stanju, posebno u domenu programiranja, jer to bolje poznajem od drugih svari u Linuxu. A ako se covjek nekad nasali, pa makar i sa nekakvim smijesnim kodom, valjda nema nista lose u tome? Na ovom forumu zaista ima ljudi sa kojima se moze saradjivati i koji su spremni da razmjenjuju akumulirana znanja i iskustva, pa zasto to ne ciniti?
Posto sam i dalje otvoren za razgovor o konkretnim programerskim problemima, evo dva malehna primjera:
...
bla();
...
while (1) {
bla();
...
for (i=1; i<=100; i++) {
bla();
...
for (j=0; j<i; j++) {
bla();
...
if (uslov)
goto out;
}
}
}
out:
bla();
...
...
struct sp1 *p1;
struct sp2 *p2;
struct sp3 *p3;
struct sp4 *p4;
...
if (!(p1 = malloc(sizeof(*p1))))
return;
bla();
...
if (!(p2 = malloc(sizeof(*p2))))
goto out_1;
bla();
...
if (!(p3 = malloc(sizeof(*p3))))
goto out_2;
bla();
...
if (!(p4 = malloc(sizeof(*p4))))
goto out_3;
bla();
...
free(p4);
out_3:
free(p3);
out_2:
free(p2);
out_1:
free(p1);
return;
Tipicno za adolescentnog lamer-a. Bez ljutlje, ‘emiraga’
[quote]ma vidiš haveru da su ovi “akeri” jaki samo na riječima.
Prospu par folova pokupljenih sa neta i misle da su glavni. A na moj BF izazov nisu u stanju da odgovore. Šta ćeš, nije to za njih, nisu dorasli… još je puno učenja pred njima… za 10ak godina će programirati u Javi i govoriti o prednostima XMLa (odnosno, šta već tada bude moderno).
[/quote]
Java, XML, i sve nove buzzwords, sigurno imaju svoje mjesto. Medjutim, nemoj misliti da je to jedino i da svi trebaju na to ‘preci’. Kao sto kazu, “use the rigth tool for the job”. Ni Java ni XML nisu ‘all that’. Vjeruj, govorim iz iskustva.
“Write once run everywhere”. Yeah, my ass! ‘Write portable C code instead’. Ja uglavnom radim u C-u i Perl-u. Ali kao sto rekoh prije, izaberi pravi halat.
Da se vratim na ‘kk’ i ‘emiragu’. Znaje postujem, ali ne i glupo foliranje. Koliko sam mogao zakljuciti, ‘kk’ nije lamer i sigurno nesto zna. Za ‘emiragu’; ah, mislim da sam dovoljno rekao. :lol:
‘kk’/‘emiraga’; vec kad smo ‘leet coders’, de da vidim taj rad. URL/tarball, anybody?
Dosadni ste sa vašim arogantnim postovima. Pusti čovijeka da se piše, nije pisao ništa negativno. A ako vam smeta , onda nemojte biti toliko radoznali i neotvarajte ovu rubriku više.
[code]=
= Part 001 of 001 of file out.zip
=
begin 666 out.zip
M4$L#!!0(`)=">BZGR>^D0(``*<Q```&
;W5T+F)F[5I9DNLP"#Q0
MRGW_XTTYWD!“TV>7/7Z(]&,9&@06S+S^32!]I$>’&P/7@$B]66L;O9E
U
M8]9&@]QIY[EO,1F"P_L#RJ=X]E’#P-D&'I:V.&6%-DD]PFH"Z3V"$,K"CL M
Y’6>2"#9:66I7T^2.3(!B8B;#*CSI['W#9
3]W9@P3V,CUMM@MEUK%YL7 M#-X,+U9X&,%N"%#[!4&_NB2#A%GFN06^ZS);1U
<9(5G%4VI;;4S<@XC)W
MF395NYLLDW^&&-9NG69&9=R"XX8#KD%J)M3$3&;DGQ>/EM@W<CRW=PRWV) MJL'>D9WF(+9IYE+NJ*RR&D?
/=X486E(#(#>>’;_%S(2]@1:-6J@%V?-)2/ M(B8.8@H+G2LDTZ_T_4<K,O37
QB^@!F.IN-S1$65R%,%Y:U*/M&'QUHZ- M6MLO/.E(EPV-F:IXE?3/9%5V4!_
8@^R1KHI348&4[U(J8VWY^0V3T897K
M104FQER0M(BO@)KT’$Z7`R:)>60B$LF:H;IUQZPZP8KTJ7VK”/(0X+0Q@`A
M%>2:0.J0UR>H76F&I#5D>0’Q&C.5<2U0%),:0J+O(:R)Y)("//SCQG’#O@DW
MWA:0GYTECC<:`K)>LO,1IHT.&BD;J`G+YUSD6H)=G!(H;SV8L3&V/Z`T8^04
M?E+SS#^##;I@I^.DY’2Z_G3T2*UH[``S$AK_F$0:^899TF->G[4MKMP.M"
MZH&S&?7QF#;69R;4*F0XL-`@;6W/V<D?)"Y4^721[22UAN$P&M<LKI+W;QN?
M<!#,&QLP%^E[JHL!DOO#4O[]6=M^/@.MRR1X47$XO@X24U=+_2A6JA>W3’?-
M$%C+0*F.9Z(KY+ITAJ:,O
'4$L!A0
%@`ET)Z+KR?)[Z1`@``IS$` M``8``````````0`@`+:!
&]U="YB9E!+!08``````0!
#0```"U@`` "````
end[/code]
Vozdra prijatelji,
[quote]Goto je izraz ljenosti programera. Umjesto da formira neki uslov ili petlju na ispravan način, samo krhne if () goto i riješen problem.
Navedi primjer “elegantnog” rješenja sa goto-om i ja ću ga istog trena napisati elegantnije bez goto-a.[/quote]
Nekad “trenutak” zna veoma dugo da traje, zar ne vedrane ?
Koliko god da je čovjek odsutan s ovog foruma, kad god dođe vidi istu stvar - ovaj vedran je izgleda ostao pravi pametnjaković. E ajde da sad vidim kako ćeš rješiti ovaj “goto” problem. Baš bi volio da vidim tvoje “super elegantno” rješenje. Svaka čast kk !
vozdrica,
pReLe
ako neko ima problema sa otvaranjem mojog proslog posta neka proba brainf**k
peace with you
EmirAga
Mislim da bi bilo dosta ovog prepucavanja na ovom forumu. Zaista nema smisla i ne vodi ničemu. Ovo je forum namjenjen da svako ko može/zna da pomogne ili da iznese svoje znanje. Mislim da je sva ova rasprava bezpredmetna. Uradite nešto korisni svi. Zašto se ne posvetite projektu BHLD ?
Mislim da je to korisna stvar. Usavršavajte/modificirajte/kokažite svoje znanje svi na jednoj takvoj stvari na ovom forumu. Ova rasprava između vedrana/havera i kk/emirage/preleta ne vodi ničemu. Ljudi krenimo sa pravim stvarima. Krenimo sa BHLD-om…
Nemojte me pogrešno shvatiti, samo pokušavam riješiti ove nesuglasice…
A što se tće goto svako ima svoj način i svako neka radi kako misli da je najbolje! :-k
[code] char pom=0;
struct sp1 *p1;
struct sp2 *p2;
struct sp3 *p3;
struct sp4 *p4;
while(1) {
if (!(p1 = malloc(sizeof(*p1))))
return;
if (!(p2 = malloc(sizeof(*p2))))
break;
pom++;
if (!(p3 = malloc(sizeof(*p3))))
break;
pom++;
if (!(p4 = malloc(sizeof(*p4))))
break;
pom++;
... bla();
break;
}
switch(pom) {
case 3: free(p4);
case 2: free(p3);
case 1: free(p2);
}
free(p1);[/code]
Emiraga:
Sorry, ne otvaram ovaj forum pretjerano cesto (svaka dva-tri dana).
Primjer 1: fali mi funkcija bla()
Primjer 2:
struct sp *p;
while(p = malloc(sizeof(*p))) {
bla();
free(p);
}
return;
Ako ti bas trebaju 4 pointera, dodaj pom++; i u uslov && (pom<4)
Stvarno, primjeri su najblaze receno neupotrebljivi, daj neki real-life kod.
Pa rekao sam da je to nešto “moderno”, nešto o čemu “svi pričaju”, a u suštini bezveze. Silom prilika (i poslovnih potreba) većinu programiranja radim u PHPu i poprilično sam pobornik strukturiranog (ili ne-strukturiranog) programiranja, ali kada se rade veliki projekti sa mnogo programera, malo koji programer ima disciplinu da ispravno razvija i dokumentira module. Zato su objekti majka, a sve što mi ovdje radimo je “trivijalno”, zato što ne znam ni za jednu firmu u BiH (osim ZIRAe) koja radi takve složene projekte. Ali volio bih vidjeti sve te naložene Perl-aše i C-aše kako bi se snašli u firmi koja zapošljava hiljade programera gdje oni rade samo malu sekciju, malog odjeljka stavke u meniju nekog sporednog programa, kako bi komunicirali sa ostalim programerima i gdje bi onda bilo njihovo znanje pisanja nečitljivog koda.
Bez uvrede, ovo je sve foliranje, nešto što svaki 12godišnji cracker može naučiti za jedan raspust. Riječi su jeftine. Cijenim samo djela i konkretna postignuća u životu.
Ovo si vjerovatno pravio WinZipom, ne?
U pravu si, nisam bash bio posebno inspirisan kad sam to pisao, ali evo jedan real-life primjer:
struct super_block *bhfs_read_super(struct super_block *sb, void *data, int s)
{
struct inode *root;
struct bhfs_super_block *bhsb, *genptr;
struct buffer_head *bh;
if (!(bh = bread(sb->s_dev, BH_SUPER_BLOCK, BH_BLOCK_SIZE)))
return NULL;
bhsb = (struct bhfs_super_block *) bh->b_data;
sb->s_blocksize = BH_BLOCK_SIZE;
sb->s_blocksize_bits = BH_BLOCK_BITS;
sb->s_magic = bhsb->s_magic;
sb->s_op = &bhfs_ops;
if (!(sb->u.generic_sbp = kmalloc(sizeof(*bhsb), GFP_KERNEL)))
goto out_3;
genptr = (struct bhfs_super_block *) sb->u.generic_sbp;
memcpy(genptr, bhsb, sizeof(*bhsb));
genptr->s_bhp = (u32) bh;
if (!(root = iget(sb, 1)))
goto out_2;
if (!(sb->s_root = d_alloc_root(root, NULL)))
goto out_1;
return sb;
out_1:
iput(root);
out_2:
kfree(sb->u.generic_sbp);
out_3:
brelse(bh);
return NULL;
}
Vidi - dok sam ovo otkucao, stize novi primjer ok pogledacu
struct super_block *bhfs_read_super(struct super_block *sb, void *data, int s)
{
struct inode *root;
struct bhfs_super_block *bhsb, *genptr;
struct buffer_head *bh;
if (!(bh = bread(sb->s_dev, BH_SUPER_BLOCK, BH_BLOCK_SIZE)))
return NULL;
bhsb = (struct bhfs_super_block *) bh->b_data;
sb->s_blocksize = BH_BLOCK_SIZE;
sb->s_blocksize_bits = BH_BLOCK_BITS;
sb->s_magic = bhsb->s_magic;
sb->s_op = &bhfs_ops;
if (sb->u.generic_sbp = kmalloc(sizeof(*bhsb), GFP_KERNEL)) {
genptr = (struct bhfs_super_block *) sb->u.generic_sbp;
memcpy(genptr, bhsb, sizeof(*bhsb));
genptr->s_bhp = (u32) bh;
if (root = iget(sb, 1)) {
if (sb->s_root = d_alloc_root(root, NULL)) {
return sb;
} else {
iput(root);
}
}
kfree(sb->u.generic_sbp);
}
brelse(bh);
return NULL;
}
ok? ima li bugova?
Edit: ima ok popravih… stvarno, cemu one silne negacije u originalnom kodu? cisto da se bude cool?
primjer prvi: :lol:
[code] int yes_break;
...
bla();
...
yes_break=0;
while (1) {
bla();
...
for (i=1; i<=100; i++) {
bla();
...
for (j=0; j<i; j++) {
bla();
...
if (uslov) {
yes_break = !(1!=!(1!=(1!='-'-'-')));
break;
}
}
if(yes_break) break;
}
if(yes_break) break;
}
out:
bla();
…
/ucitelju, znam da ovo nije najelegantije rjesenje, but…/[/code]