Citat:
|
Citat:
Dobar framework će da omogući da programiraš na višem nivou, dok će on na sebe preuzeti odgovornost i posao da se npr. kod izvršava paralelno na više jezgara, što je danas sasvim očekivano. Da li ćeš baš sam uspeti da budeš tako efikasan i da posao raspodeliš na više jezgara? Uzmi za primer SQL. Odluka o tome kako izvršiti upit je skoro u potpunosti prepuštena bazi. I radi to dobro, zar ne? |
@Dejan - Ta diskusija poteže definiciju frameworka, a to je nešto u šta ne bih želeo da se upuštam ;) Ograničimo ovu diskusiju na web frameworke - Django, Rails, ASP.NET, Symfony, CakePHP i sijaset drugih koji su na tržištu.
Navedeni primeri dodaju funkcionalnost u slojevima na sam jezik (obrada zaheva, apstrahovanje pristupa baze i drugim resursima, ORM, serviranje podataka itd) čime ubrzavaju razvoj, ali usporavaju izvršavanje. Otklanjanjem tih slojeva se dobija na brzini izvršavanja, ali se gube razne funkcionalnosti zbog kojih se inače frameworci i koriste tako da se zna desiti da sa nekim projektima dođeš u tačku da ti je framework kamen oko vrata i da bi ti bilo bolje da si počeo bez njega. To je u suštini poenta onoga što sam rekao u prethodnom postu. Činjenica je da dobar deo tih frameworka optimizuje izvršavanje kako bi stvari bile rešene brže, ali retko kad to može da nadomesti gubitak performansi uzrokovan samim korišćenjem frameworka. |
^Ma kako to?
Pa hajde da napravimo najobičniju stranicu u ASP.NET-u pa da mi onda neko pokaže ekvivalent u C ili C++ koji će jednako dobro (i jednostavno) da skalira od servera sa jednim procesorom do onog sa npr. 8 procesora. Što se pominjanja SQL-a tiče, poenta je oko deklarativnog programiranja, a npr. ASP.NET to sasvim podržava. Evo primer: Kôd:
<asp:SqlDataSource ID="sql1" SelectCommand="Select * From t1" ... /> |
Frejmvork je vrlo širok pojam, neki od njih teže da pokriju i performanse, a neki (o kojima Ilija priča) samo lakoću razvoja. Django, recimo, sam kreira tabele u bazi i SQL upite na osnovu modela i svakako ne može biti efikasniji od ručno optimizovanog upita. Barem do sad fokus njihovog razvoja nije bio na skalabilnosti.
|
Citat:
|
ORM, plus solidan templejt endžin, plus dobro osmišljeno URL mapiranje, validacija formulara itd. Otprilike sve što veb developeru treba. Mislim da se to može nazvati frejmvorkom. :)
|
Dobro, ali pošto je spemanje i dovlačenje podataka (tj. objekata) iz baze rešeno na "ORM način", onda je besmisleno gledati samo brzinu. ORM rešenja, koliko je meni poznato, nikad nisu bila brzinski šampioni u tim operacijama, naravno da nisu, upravo zbog O<->R mapiranja.
Hajde da uzmemo framework koji nije obavezno ORM. Npr. neki koji može da koristi stored proc za spremanje i izvlačenje podataka. Možda, Subsonic za ASP.NET. Citat:
|
Samo da dodam još malo ulja na vatru, ovo mi je promaklo (sorry Ilija, mislio sam da je od tebe krenulo :D)
Citat:
Da "čista" rešenja ("čist" PHP, "čist" ASP.NET..) mogu da serviraju beskonačno mnogo upita na nekom hardveru i da nećeš doći u situaciju da dostigneš maksimum? (Pa i "čist" PHP, itd. je framework.) Citat:
Pa i ako ćeš da "lomiš", šta onda kad za 6 meseci opet dostigneš max? Opet "lomiš"? Pa dokle tako prijatelju? Dok ne odeš u asembler? Pa i tamo ima max. Citat:
Ne znači da od početka trebaš da ideš sa najsporijim rešenjem i traljavim programiranjem, naravno. |
Citat:
Citat:
Citat:
Citat:
ovo je rasprava koja moze da ide u beskonacnost, ali ono sto mene nervira u celoj prici je X je postigao Y bez price o uslovima Z - u prakticnom primeru to je: 1) django je podrzao ~140 upita u s (out of the box?) 2) twitter koji koristi RoR podrzava ~11K upita u s (out of the box?) 3) java je brza kao/brza od C/C++-a (10 primera u kojima ni u tragovima nije moguce videti ponasanje JVM-a kada GC divlja, ili su na nivou domaceg zadatka iz osnova programiranja - ne mislim nista lose, ali cesto takvi primeri pokazuju izuzetno malo, a buzz koji se generise je izuzetno velik) 4) ... name it, web je prepun potpuno banalizovanih benchmark-a |
Vreme je GMT +2. Trenutno vreme je 06:19. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.