DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > Programiranje
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor: VIP izazov 3

Odgovori
 
Alati teme Način prikaza
Staro 04. 03. 2009.   #21
kaizen
old school
Professional
 
Avatar kaizen
 
Datum učlanjenja: 07.02.2006
Poruke: 340
Hvala: 32
44 "Hvala" u 20 poruka
kaizen će postati "faca" uskoro
Default

Citat:
Originalno napisao Milos Vukotic Pogledajte poruku
Grešiš, sinak, mojom logikom je prirodnije da se držimo onoga što lakše i brže završava posao

A tvojom logikom je prirodnije da pišem 2.increaseValue(2) nego 2+2
Zarobljen si u PHP sintaksi. U Rubiju je + metoda objekta kao i svaka druga (dakle i tamo se piše 2+2)

Poslednja izmena od kaizen : 04. 03. 2009. u 12:28.
kaizen je offline   Odgovorite uz citat
Staro 04. 03. 2009.   #22
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Citat:
Originalno napisao Milos Vukotic Pogledajte poruku
A tvojom logikom je prirodnije da pišem 2.increaseValue(2) nego 2+2
Mislim da mešaš sintaksu i semantiku. 2+2 je podjednako validan poziv metoda kao i 2.increaseValue(2), samo što si ti navikao na ovu drugu sintaksu. Na kraju krajeva, šta je po tebi 2? Bajt? Skup bitova? Flip-flopova?

Sa druge strane, šta je po tebi objekat? Faktura? StavkaFakture?
Citat:
Originalno napisao Milos Vukotic Pogledajte poruku
Grešiš, sinak, mojom logikom je prirodnije da se držimo onoga što lakše i brže završava posao
Uz rizik da započnem još jednu besmislenu raspravu, zašto ono što je tebi lakše mora da i meni i nekom sa strane bude lakše? Na kraju krajeva, Rubi je jedan od najekspresivnijih jezika današnjice i ima vrlo malo mesta za "lakše i brže".

Poslednja izmena od jablan : 04. 03. 2009. u 12:43.
jablan je offline   Odgovorite uz citat
Staro 04. 03. 2009.   #23
Milos Vukotic
Knowledge base
Wrote a book
 
Avatar Milos Vukotic
 
Datum učlanjenja: 07.06.2005
Lokacija: Neđe ođe...
Poruke: 1.197
Hvala: 339
688 "Hvala" u 178 poruka
Milos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamen
Default

Rekoh ja da mi ne pominjete operatore i overloading, znam za to odavno (šta ćit'o, rušio! ) ali dobro de...
Dakle, nisam nijednom pomenuo Ruby, ne pričam o ekspresivnosti Ruby-ja nego o potrebnim nivoima apstrakcije i potrebi da se popravlja nešto što nije pokvareno. Broj je broj.
To ne znači da ja ne razumijem da se broj može posmatrati kao objekat i da mi nije jasno sve što pričate, niti da hoću vama da nametnem svoje shvatanje. Jednostavno, ne želim da razmišljam o tome zašto i kako je 2+2=4, kontaš?

Udaviću s metaforama, ali valjda se konačno shvati što sam pjesnik htio da kažem: bogatiji je znanjem onaj koji teorijski dobro poznaje Sunčev sistem, ali ne znači da je efikasniji od onoga koji na to gleda samo logikom da Sunce izlazi i zalazi i da se danju radi a noću spava.
Nijedna krajnost nije dobra, trudim se izganjati neku najefikasniju sredinu
__________________
Чак Норис може да си ги врзе врвките на чевлите со стапалата.
Milos Vukotic je offline   Odgovorite uz citat
Staro 04. 03. 2009.   #24
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Citat:
Originalno napisao Milos Vukotic Pogledajte poruku
Jednostavno, ne želim da razmišljam o tome zašto i kako je 2+2=4, kontaš?
Ama ko te tera da razmišljaš o tome da li je 2 objekat ili nije? Da li razmišljaš o tome kako bajtovi idu u registre procesora i koje se mašinske instrukcije izvode kad u <ovde umetni svoj omiljeni jezik> napišeš 2+2?

Poenta je u tome što ti (a i neki drugi učesnici) shvatate OOP kao koncept koji je naknadno nakalemljen na neko imaginarno "zdravorazumsko programiranje" (iako nešto takvo zapravo ne postoji), a to shvatanje nije bez osnova jer je većina tekućih jezika evoluirala iz C-a veštačkim dodavanjem objektne orijentisanosti u C++-u - otud i tvoja averzija od "preopterećenja operatora" - iako je to jedan potpuno veštački koncept.

Jezici koji su u startu projektovani kao OO jednostavno nemaju tih problema "neprirodnosti" o kojima govoriš, samo sintaksu koja je manje ili više bliska ljudima iz C galaksije.
jablan je offline   Odgovorite uz citat
"Hvala" jablan za poruku:
Staro 04. 03. 2009.   #25
Milos Vukotic
Knowledge base
Wrote a book
 
Avatar Milos Vukotic
 
Datum učlanjenja: 07.06.2005
Lokacija: Neđe ođe...
Poruke: 1.197
Hvala: 339
688 "Hvala" u 178 poruka
Milos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamenMilos Vukotic je pravi dragi kamen
Default

Pomalo smo ovdje u situaciji "ja u klin ti u ploču", priznaćeš
__________________
Чак Норис може да си ги врзе врвките на чевлите со стапалата.
Milos Vukotic je offline   Odgovorite uz citat
"Hvala" Milos Vukotic za poruku:
Staro 04. 03. 2009.   #26
jablan
VD IT Direktora
Invented the damn thing
 
Avatar jablan
 
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
jablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamenjablan je pravi dragi kamen
Default

Samo još jedno da pitam (nevezano za ono što si ti pričao):

Zašto bi ovo:

Kôd:
a = a & 5;
(u npr C-u)

bilo išta "prirodnije" od:

Kôd:
5.times {puts 'Hello world!'}
(u Rubiju)
?

U prvom slučaju ti si dobio intuitivno potpuno neshvatljiv koncept toga da je broj zapravo skup bitova, a u drugom podjednako neshvatljiv (ali podjednako koristan) koncept da je broj objekat. I šta sad? Ne vidim da se neko bunio zbog ovog prvog, a svi udarili u dreku zbog ovog drugog...

Poslednja izmena od jablan : 04. 03. 2009. u 14:06.
jablan je offline   Odgovorite uz citat
2 članova zahvaljuje jablan za poruku:
Staro 04. 03. 2009.   #27
Dragi Tata
dinosaurus
Master
 
Avatar Dragi Tata
 
Datum učlanjenja: 29.12.2005
Lokacija: Nova Engleska
Poruke: 636
Hvala: 79
263 "Hvala" u 66 poruka
Dragi Tata će postati "faca" uskoroDragi Tata će postati "faca" uskoroDragi Tata će postati "faca" uskoro
Default

Citat:
Originalno napisao degojs Pogledajte poruku
Pa sad.. da li je prirodnije i razumljivije da brojevi budu brojevi ili tamo neki.. objekti?
Pitaš me za mišljenje?
Prirodnije je i razumljivije da budu brojevi, naravno - nizovi bitova. Smeštati koncept kao što je integer u nekakve hijerarhije je potpuno besmisleno i skupo. Uopšte uzev, ti "čisti" OO jezici kao što je Smalltalk i Ruby mi "iduckaju na živce" (posebno Smalltalk) i kao što rekoh za scripting uglavnom koristim Perl i to onaj stari prljavi proceduralni, bez "O" od objektnog Sav "production code" mi je u C++u za koji ni rođena majka (dobro, otac) ne kaže da je "čist OOP", i da se ja pitam izbacio bih iz njega pola "OO" konstrukcija koje ga samo nepotrebno komplikuju.

Međutim, ako pogledaš naslov teme - čovek želi da nauči OOP. Za učenje OOP-a, ja ipak predlažem "čist OOP" jezik, dakle može da bira: Smalltalk ili Ruby.
Dragi Tata je offline   Odgovorite uz citat
2 članova zahvaljuje Dragi Tata za poruku:
Staro 04. 03. 2009.   #28
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Osnovno pitanje je sta se dobija u programiranju time sto ces imati brojeve kao objekte, ako ces i dalje 99% vremena u kodu da pises 2+2 ?

Sa stanovista programera tebi je isto, da li ces da pises 5.neka_funkcija ili neka_funkcija(5) i nema neke bitne razlike, a sa stanovista performansi gubis, jer za obicno sabiranje 2 broja umesto 2-3 masinske instrukcije, imas sigurno neko krljanje po stacku, jumpove i cuda...

ali dobro, zato i postoje razni jezici, pa svako radi u onome sto mu lezi...
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
3 članova zahvaljuje ivanhoe za poruku:
Staro 04. 03. 2009.   #29
degojs
I'm a PC too.
Wrote a book
 
Avatar degojs
 
Datum učlanjenja: 06.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
degojs će postati "faca" uskorodegojs će postati "faca" uskoro
Default

Citat:
Originalno napisao kaizen Pogledajte poruku
Prirodnije i razumljivije samo za nekog ko ni ne razume koncept OOPa.

Broj (ili da budemo precizniji, instanca broja) je odličan primer objekta:
* ima stanje (vrednost), koje je u ovom slučaju nepromenljivo, google:"immutable object"
* ima ponašanje izgrađeno oko tog stanja (koristi ga i zavisi i od njega, dobar primer su aritmetičke operacije)
* ima hijerarhiju (Float, Integer...)
U svim jezicima u kojima sam radio do sada uvek se pravila razlika između istih u odnosu na klasične objekte. Implementacija rada sa brojevima (kao prostim tipovima) sigurno je drugačija, čak je i poznato da postoji izvesni "penal" ako se brojevi koriste kao objekti (otud i operacije kao box i unbox, zar ne).

Ako misliš da svi ti dizajneri tih jezika ne razumeju koncept OOP-a, mogu da ti kažem da imaš malo mnogo visoko mišljenje o sebi.

Iskreno, koliko ljudi razmišlja na takav način, kako si ti nabrojao gore, o brojevima? Verovatno niko. Mislim ajmo pametovati.. ne razmišljate o brojevima kao objektima jer ne razumete OOP. Aha, šipak.
__________________
Commercial-Free !!!

Poslednja izmena od degojs : 04. 03. 2009. u 22:14.
degojs je offline   Odgovorite uz citat
Staro 04. 03. 2009.   #30
kaizen
old school
Professional
 
Avatar kaizen
 
Datum učlanjenja: 07.02.2006
Poruke: 340
Hvala: 32
44 "Hvala" u 20 poruka
kaizen će postati "faca" uskoro
Default

Citat:
Originalno napisao degojs Pogledajte poruku
U svim jezicima u kojima sam radio do sada uvek se pravila razlika između istih u odnosu na klasične objekte. Implementacija rada sa brojevima (kao prostim tipovima) sigurno je drugačija, čak je i poznato da postoji izvesni "penal" ako se brojevi koriste kao objekti (otud i operacije kao box i unbox, zar ne).
Upravo tako, zbog performansi, a ne zbog toga što je "prirodnije i razumljivije" kako si ti rekao.
kaizen je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Java programiranje misha topola Programiranje 10 13. 01. 2011. 14:33
vb programiranje bonkic Programiranje 2 12. 09. 2010. 16:31
Internet Programiranje marevuksa Sva početnička pitanja 7 08. 10. 2007. 10:29
Programiranje RIA MrSteel Programiranje 11 15. 05. 2007. 14:17


Vreme je GMT +2. Trenutno vreme je 19:10.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.