PDA

View Full Version : php ili ruby


sober11
08.11.2012., 20:36
pozdrav svima!
novi sam na forumu pa se ispricavam ako je ova tema vec bila, jednostavno je nisam nasao.
mene zanima koji mi jezik preporucujete za izradu web stranica izmedju ova dva u naslovu, koji je bolji, laksi i zasto?
da napomenem, imam nekog sturog iskustva u c, c++ i c#-u i dobro se snalazim u html-u i css-u.

:)

stranac-webdev
14.11.2012., 20:48
Svatko tko ima iskustva u oba jezika preporučit će ti isti - Ruby.
Razloga ima mnogo, više nego što ih ja mogu ovdje navesti.


RoR (http://rubyonrails.org/) je prilično jednostavan za korištenje, s mnogo materijala za učenje i odličnom dokumentacijom.
Iako, ni ovakav framework nije svima po volji, jer je dosta "napuhan", praktički sve radi za tebe(ima tu i dosta magije), i ograničava načine na koje se stvari rade.


A PHP opet ima previše problema da bi ga bilo isplativo koristiti.
Da, u njemu se može programirati sve što i u bilo kojem drugom jeziku, ali u većini drugih jezika je to jednostavnije i bezbolnije.

Ako ti trebaju razlozi da ne koristiš PHP, pročitaj ovo:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/


Dakle, ako imaš izbora, bježi od PHP-a.
Nažalost, neki (neupućeni) klijenti žele stranicu baš u PHP-u, tako da i on ponekad dobro dođe.

grogo bolger
15.11.2012., 07:08
a što onda uzeti za razvoj web aplikacija? :503:

osobno ruby mi je no no, troši memoriju kao pijanac.

Wally bitanga
15.11.2012., 15:46
piton ili java?

UrchinStar47
15.11.2012., 19:42
C!

stranac-webdev
15.11.2012., 20:30
Ja osobno preferiram Python (http://www.python.org/) i Flask (http://flask.pocoo.org/).

Ali odabir jezika i frameworka je uglavnom stvar ukusa, osim ako imaš specifične potrebe koje bolje leže jednom od mogućih izbora.
Isprobaj razne stvari i drži se one koja ti najviše odgovara.

Schwule Mädchen
17.11.2012., 15:04
Svatko tko ima iskustva u oba jezika preporučit će ti isti - Ruby.
Razloga ima mnogo, više nego što ih ja mogu ovdje navesti.


Nebi reko.

RoR (http://rubyonrails.org/) je prilično jednostavan za korištenje, s mnogo materijala za učenje i odličnom dokumentacijom.
Iako, ni ovakav framework nije svima po volji, jer je dosta "napuhan", praktički sve radi za tebe(ima tu i dosta magije), i ograničava načine na koje se stvari rade.

Php nema dokumentacije i to dobre dokumentacije? Broj korisnika je neusprediv a s time dolaze i resursi na sve strane.

A PHP opet ima previše problema da bi ga bilo isplativo koristiti.
Da, u njemu se može programirati sve što i u bilo kojem drugom jeziku, ali u većini drugih jezika je to jednostavnije i bezbolnije.

PHP framework?

U dugom roku za mene PHP drži vodu. Python je isto fina stvar.

Tool
17.11.2012., 16:50
Ako znas C, PHP ti ne bi trebal predstavljati problem; posto imaju vrlo slicnu sintaksu i konstrukte.

Prelazit s C-a na Ruby bude ti bilo dost ruzno.

I ne budes na forumu dobil ispravan odgovor; odaberi ono kaj ti se intuitivno najvise dopada - tebi.

Mozes i uzet jedan dummy project, implementirat ga u oba jezika pa vidit sta ti vise pase.

red_shrike
21.11.2012., 15:31
Ruby je smeće. jezik se prebrzo razvija za moj ukus i ako napišeš aplikaciju koju kaniš nakon par godina upgreadat češ imati pravi pakao. istina, jednostavniji je od php-a, ali da ga fučkaš je meni ruby radio radikalno više problema nego je radio koristi. Više manje ide ovako: isto je kao droga - kratkotrajno je sve bajno, dugoročno je za k****.

jKicker
24.11.2012., 00:02
Svatko tko ima iskustva u oba jezika preporučit će ti isti - Ruby.

A PHP opet ima previše problema da bi ga bilo isplativo koristiti.
Da, u njemu se može programirati sve što i u bilo kojem drugom jeziku, ali u većini drugih jezika je to jednostavnije i bezbolnije.

Ako ti trebaju razlozi da ne koristiš PHP, pročitaj ovo:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/


Dakle, ako imaš izbora, bježi od PHP-a.
Nažalost, neki (neupućeni) klijenti žele stranicu baš u PHP-u, tako da i on ponekad dobro dođe.Ocito je da nisi nikada nisi radio na nekom velikom projektu, a ostale stvari sto si pisao ubuduce nemoj. Nakupi puno vlastitog iskustva i link ovog clanka nemoj vise lijepiti jer znaci nesto samo nama koji ga razumijemo, a mi smo ga vec vidjeli. PHP-a se stoga ostavi, a za ostalo nismo na razini za raspravu.

Autoru prvo preporucujem da se koncentrira na AJAX development.
S obzirom na napisano poznavanje jezika preporucujem PHP sto ce se dalje uklopiti zajedno sa javascriptom.
Sintaksa je svima vrlo slicna i pokriti ces sire znanje jer ces se sresti sa serverom, pa sa linuxima, razvojem, odrzavanjem i deployem aplikacija gdje ces tek nauciti prednosti i mane.
Samo programiranje se uci ili low level > high level ili high level > low level. Ruby je uvijek sredina.
"Developera" koji rade "odlicne" sustave u roku tjedan dana nam je Java vec i previse stvorila.
Najbolje je da krenes sa nekim mini projektom koji zelis napraviti i onda ces sam znati vrlo brzo kako dalje.

red_shrike
27.11.2012., 16:37
Evo opet, jeb*** ruby radi probleme. Ne, ne može biti jednostavno kada može biti smiješno kompleksno. Onda to nazovemo "očitim", "genijalnim", "prelijepim" i sličnim atributima gdje bi si čovjek mislio da je ruby sa ror nešto fenomenalno, no samo problem na problemu. Baš me zanima zašto nema problema sa ničim drugim OSIM sa ovim?!

janko-m
28.11.2012., 06:33
Ruby je smeće. jezik se prebrzo razvija za moj ukus i ako napišeš aplikaciju koju kaniš nakon par godina upgreadat češ imati pravi pakao. istina, jednostavniji je od php-a, ali da ga fučkaš je meni ruby radio radikalno više problema nego je radio koristi. Više manje ide ovako: isto je kao droga - kratkotrajno je sve bajno, dugoročno je za k****.

Daj nemoj govoriti gluposti. Možda si frustriran sa Rubyjem zato što ti neide, ali nemoj to onda iskazivati kao činjenicu. Kada bi Ruby bio smeće, onda ne bi ogromne i jako uspješne web stranice kao GitHub i Twitter bile napravljene u Rubyju.

Ruby je jako lijep jezik, pišem u njemu već godinu i pol, i on je razlog zašto sam se zainteresirao za programiranje (probao prije C, C++, PHP, ali nije kliknulo). Jedna od stvarno zakon odlika Rubyja je to što je on potpuno objektno orjentirani jezik. To znači da su apsolutno sve u Rubyju objekti. Dakle, možete napraviti ovo:

"Foo".length
1.odd?

Kada smo radili C++ na faksu, ja sam mislio: "Cool, objektni jezik". I onda sam skužio nakon što sam upoznao Ruby da je C++ poluobjektni jezik. I to je meni iskreno bezveze, treba biti konzistentan, ili su sve objekti, ili nisu. Mješavina toga nije lijepa (PHP je sličan tome).

Druga odlika Rubyja je što se kreator Rubyja trudio da Ruby bude jako lijep jezik, odnosno da se može jako lijepo čitati. Tako da imamo ovaj kod:

5.times { print "Hello world!" }

Siguran sam da ljudi koji nikad nisu vidjeli Rubyja zna što taj dio koda radi. I budimo realni, PHP nije baš najljepši jezik.

Tako da, ja definitivno preporučujem Ruby.

grogo bolger
28.11.2012., 07:13
twiter se vrato na javu, btw. :kava:

red_shrike
28.11.2012., 07:30
Izjava da ruby koriste twitter ili tko još je argumentum ad verecundiam ili argument iz autoriteta. Potpuno je nebitno što oni koriste kao argument za kvalitetu jezika.

Uopće ne diskutiram jezik i njegovu ljepotu. Meni je isto jasno da je on lakši za čitati od C koda i definitivno lakši početnicima, ali je povjesni meni bio loš jer je debelo pre spor (rang minimalno i doslovno 70-150 puta sporiji od C-a). Naglašavam meni, ali moja trenutna frustracija nema veze sa mojim ruby kodom već ruby+ror aplikacijom na web serveru koji je napisao jedan od ror core team članova.

Taj kod je pisan u verziji 1.8 a trenutna je 1.9.3 skupa sa analozima u ror, ali se prijevod tih programa za potrebe nadogradnje pokazao mnogo težim nego očekivano. Rješenje da moram zvati člana RoR core teama da to riješi je definicija lošeg inženjeringa, ma koliko god on meni pričao da je jezik prelijep i superioran C-u:)

Dakako, da je ovo bila aplikacija koja se konstantno razvijala pa po malo prevodila problema ne bi bilo, ali ga jednako tako ne bi bilo da je pisana u nekim drugim, da tako kažem, stabilnijim jezicima. Dodatni problem se pokazao i integracija apache-rails/phusion ali to je druga priča.

janko-m
28.11.2012., 16:54
Izjava da ruby koriste twitter ili tko još je argumentum ad verecundiam ili argument iz autoriteta. Potpuno je nebitno što oni koriste kao argument za kvalitetu jezika.

Uopće ne diskutiram jezik i njegovu ljepotu. Meni je isto jasno da je on lakši za čitati od C koda i definitivno lakši početnicima, ali je povjesni meni bio loš jer je debelo pre spor (rang minimalno i doslovno 70-150 puta sporiji od C-a). Naglašavam meni, ali moja trenutna frustracija nema veze sa mojim ruby kodom već ruby+ror aplikacijom na web serveru koji je napisao jedan od ror core team članova.

Taj kod je pisan u verziji 1.8 a trenutna je 1.9.3 skupa sa analozima u ror, ali se prijevod tih programa za potrebe nadogradnje pokazao mnogo težim nego očekivano. Rješenje da moram zvati člana RoR core teama da to riješi je definicija lošeg inženjeringa, ma koliko god on meni pričao da je jezik prelijep i superioran C-u:)

Dakako, da je ovo bila aplikacija koja se konstantno razvijala pa po malo prevodila problema ne bi bilo, ali ga jednako tako ne bi bilo da je pisana u nekim drugim, da tako kažem, stabilnijim jezicima. Dodatni problem se pokazao i integracija apache-rails/phusion ali to je druga priča.

Vidim da ipak znaš o čemu pričaš. Sori, nisam skužio isprva.

Ali mislim da nije ispravno reći da aplikacija napisana u nekom jeziku nije laka za održavati i povećavati, jer mislim da sve ovisi o developeru koji ju je napisao.

Imaš pravo, ako kažem da je GitHub napisan u Rubyju, to nije pokazatelj kvalitete jezika, ali je ipak pokazatelj da je to jezik na kojemu je izgrađena jedna stabilna i vrlo popularna aplikacija. S druge strane, ako imaš jezik u kojem nije napisano ništa popularno (a jezik je sposoban za to), onda to isto govori nešto o tom jeziku. Ovdje sad nisam ni na šta referirao, nego samo želim pokazati da ipak to nešto znači.

A što se tiče brzine, ne znam za koju verziju Rubyja si gledao, ali Ruby 1.9 je dosta poboljšao svoju brzinu, i oko 32 puta je sporiji od C-a. A PHP i Python su sporiji od Rubyja 1.9. To sam našao u ovom članku (http://www.unlimitednovelty.com/2012/06/ruby-is-faster-than-python-php-and-perl.html).

red_shrike
28.11.2012., 19:47
Ali mislim da nije ispravno reći da aplikacija napisana u nekom jeziku nije laka za održavati i povećavati, jer mislim da sve ovisi o developeru koji ju je napisao.


Istina, solidno ovisi o tome. Previše ima ekipe koja ne radi nikakvu dokumentaciju, piše kod bez komentara i koristi imena varijabli tipa "smiješni patuljak" "golema kita itd". Zašto onda je krivim ruby i tvrdim da je smeće?
Zato jer doslovno svi ruby programeri, pa i dotični član ror teama mi uporno ponavljaju kako je ruby toliko lak i očit da dokumentacija i komentari uopće nisu potrebni. Nadalje, problem je ovdje što se iz verzije u verziju jezika ne gleda na kompatibilnost. Jezik nije program pa da si možeš (a ni to uvijek) priuštiti da ti verzija 1.8.7 ne radi sa 1.9.3. i to pogotovo jer između verzije i verzije prođe svega par godina. No glavna stvar: tranzicija radi bez problema na svemu ostalome i što se svih ostalih programa pisanih u svim ostalim jezicima tiče OSIM u rubyu. Sve bazirano na rubyu/ROR je neprenosivo na novi server, ne prevodivo i neupgreadabilno. Ništa na webu ne pomaže i ništa ne radi. Sve je fail. Jezik se pokazao kao ekstremno nepouzdanim i nestabilnim. Nikada, ali nikada, nisam imao ovolikih problema kao sa rubyem.

Meni osobno najinteresantnije kod toga svega je koliko to sve zapravo kompleksno i koliko kompletno nepotrebnih stvari uopće ima. Čemu? Pa ne želim programirati programiranja radi i baktati se sa 100 sustava i 500 podmehanizama i specifičnosti programa. Želim nešto napraviti da radi brzo i efikasno i po mogućnosti da je lako proširivo. Ruby mi omogućuje samo da nešto napravim brzo, ali veoma sporo i neproširivo. E jebiga, meni sada možete svi pričati o teoretskim prednostima tog jezika koliko god želite, ali se u praksi ispostavio kao noćna mora.


Imaš pravo, ako kažem da je GitHub napisan u Rubyju, to nije pokazatelj kvalitete jezika, ali je ipak pokazatelj da je to jezik na kojemu je izgrađena jedna stabilna i vrlo popularna aplikacija.

Sa perspektive formalne logike, značilo bi samo onda kada bi github bio autoritet za programiranje, a iza sebe imao većinsku podršku ostalih autoriteta za programiranje.


A što se tiče brzine, ne znam za koju verziju Rubyja si gledao, ali Ruby 1.9 je dosta poboljšao svoju brzinu, i oko 32 puta je sporiji od C-a. A PHP i Python su sporiji od Rubyja 1.9. To sam našao u ovom članku (http://www.unlimitednovelty.com/2012/06/ruby-is-faster-than-python-php-and-perl.html).

Sve lijepo i krasno, ali i dalje ništa nije nadogradivo, preseljivo ili uopće iskoristivo, a meni osobno i dalje puno pre sporo.

janko-m
29.11.2012., 08:27
Zato jer doslovno svi ruby programeri, pa i dotični član ror teama mi uporno ponavljaju kako je ruby toliko lak i očit da dokumentacija i komentari uopće nisu potrebni.

Dobro, ovo je glupo. Ta čitljivost ne pali kod čitavih web aplikacija, svaki kod mora biti dokumentiran, bez obzira u kojem je jeziku napisan. Ne zvuči mi baš taj RoR developer super.

Nadalje, problem je ovdje što se iz verzije u verziju jezika ne gleda na kompatibilnost. Jezik nije program pa da si možeš (a ni to uvijek) priuštiti da ti verzija 1.8.7 ne radi sa 1.9.3. i to pogotovo jer između verzije i verzije prođe svega par godina.

Dobro, u svakom softveru moraš ponekad napraviti nekompatibilne promjene (to ćeš znati ako si ikada pisao neki library ili nešto). Ali ne kužim što je toliki problem sa nekompatibilnosti; ako upgradeaš na Ruby 1.9.3, onda sukladno tome trebaš upgradeati Rails isto na najnoviju verziju. I samo pokreneš testove, i vidiš da li sve radi. Mislim, nadam se da taj RoR developer piše testove.

No glavna stvar: tranzicija radi bez problema na svemu ostalome i što se svih ostalih programa pisanih u svim ostalim jezicima tiče OSIM u rubyu. Sve bazirano na rubyu/ROR je neprenosivo na novi server, ne prevodivo i neupgreadabilno. Ništa na webu ne pomaže i ništa ne radi. Sve je fail. Jezik se pokazao kao ekstremno nepouzdanim i nestabilnim. Nikada, ali nikada, nisam imao ovolikih problema kao sa rubyem.

Sve lijepo i krasno, ali i dalje ništa nije nadogradivo, preseljivo ili uopće iskoristivo, a meni osobno i dalje puno pre sporo.

Da, PHP je tu lakši, zato što većina servera ga već ima preinstaliranog. Ali ne kužim s čim tu imaš toliki problem? Sa instaliravanjem Rubyja na novi server?

red_shrike
29.11.2012., 09:04
Dobro, u svakom softveru moraš ponekad napraviti nekompatibilne promjene (to ćeš znati ako si ikada pisao neki library ili nešto).

Jasno mi je, ali se ti trenutci trebaju minimizirati i dealno da ih nikada ne bude. Ključno ovdje je to što ovo nije softver, već jezik za programiranje. Nemreš raditi nekompatibilne promjene u jeziku na razini razmaka par godina, a još manje na razini svakih par mjeseci .



Ali ne kužim što je toliki problem sa nekompatibilnosti; ako upgradeaš na Ruby 1.9.3, onda sukladno tome trebaš upgradeati Rails isto na najnoviju verziju. I samo pokreneš testove, i vidiš da li sve radi. Mislim, nadam se da taj RoR developer piše testove.


Pa nije problem na sustavu napraviti upgrade rubya na 1.9.3, problem je što programi ovise o ruby 1.8.6, 1.8.7 i raznim gemovima raznih verzija od kojih nekih ključnih više nema nigdje za skinuti (ne gem install paket-v broj ne radi).
Ništa od postojećeg koda nije kompatibilno sa najnovijim inačicama r/ror i sve se raspada. Drugim riječima, opcije su ti ili prepisati što novi lik ne zna jer nema dokumentaciju niti zna te starije verzije ili klonirati stari sustav (što za sada nikome nije uspjelo). Samo... sada bi te iste aplikacije trebalo nadograditi, što je naravno nemoguće. Pisati program u staroj verziji je besmisleno, a prevesti na novu se ne da jer je prekompleksni sustav promjena. I što sada? Naravno, napisat će se od nule u nekom normalnom jeziku.
Do ovoga uopće nije smjelo doći i osnovni je razlog zašto je jezik LOŠ i to bez obzira kolike balade i hvalospjeve ovdje i drugdje ljudi pjevali.

Schwule Mädchen
30.11.2012., 21:53
Dakako, da je ovo bila aplikacija koja se konstantno razvijala pa po malo prevodila problema ne bi bilo, ali ga jednako tako ne bi bilo da je pisana u nekim drugim, da tako kažem, stabilnijim jezicima. Dodatni problem se pokazao i integracija apache-rails/phusion ali to je druga priča.

Da malo upadnem. Lijep primjer zdravo razvijanog php framewoerk-a je CodeIgniter. Pa tu aplikacija izrađena u 1.5 verziji rad is 2.0. Malo pretjerujem al tu ti ga je to.

Lako je proširiv, nudi dosta slobode a i ima i dosta gotovih stvari koje ubrzavaju projekte.

UrchinStar47
03.12.2012., 23:32
No glavna stvar: tranzicija radi bez problema na svemu ostalome i što se svih ostalih programa pisanih u svim ostalim jezicima tiče OSIM u rubyu.
Ovo nije istina, ni u Pythonu ne cvjetaju bas ruze. Znam posto sam bio pozvan pomoci u developmentu, ovaj, portanju na novu verziju Pythona jedne prilicno netrivijalne aplikacije. Doduse, bila je donekle upotrebljiva ako se u chroot instalirala pradavna verzija Ubuntua, i program vrtio iz nje, tako da situacija nije bila bas toliko losa koliko ti tu opisujes.

Preporuka: jezik birajte tako da se ne promjeni iduceg petka. :kava:

Annatar
04.12.2012., 18:23
Aaahhh! :cerek:

Deset godina je proslo, vidi se da ste stariji i da vas se vecina ovdje u medjuvremenu dosta spekla i dobila po glavi... vise nismo bas tak liberalni, nakon kaj smo na vlastitoj kozi navcili da "latest-and-greatest" "prelijepi jezici" nose sa sobom probleme i da je na kraju dana ono kaj se racuna da li stvar sljaka kak spada, odn. jesi najebal, ili ne.

A onima koji kao argument za Ruby navode da je "ljepsi" te da im nisu PHP i C "sjeli" porucujem: gospodo, imate puno vecih problema neg kaj ste svjesni.

gajotres
05.12.2012., 14:32
Eto uvijek ne tu alternativa u asp.net-u :)

rossonero
06.12.2012., 09:31
Prije dvije godine kada sam počinjao izabrao sam php samo zato jer je već bio instaliran svugdje, iako mi je Ruby bio favorit.
Kad si totalni početnik, sve ti je teško, pa sam se tako mučio i s instalacijom ruby-a, koja nikako da proradi.
Onda sam napravio prvi .php fajl, i ostalo je povijest. :)