Koji je naj jezik za programiranje weba?

Kakve kontrole??? Mi govorimo o asp.net MVC-u, nema tu kontrola… Pročitaj opet što sam rekao za asp.net, ali asp.NET i asp.NET MVC su dvije potpuno različite stvari i jedino zajedničko im je ustvari .NET i programski jezik…

Evo da se odmaknemo od kontrola najpoznatiji a i najgori primjer mindseta ti je primjena Silverlighta.
Firme su znale da Silverlight nije podržan, firme su znale da dobar dio korisnika će otići sa stranice kad vidi da mora instalirati plugin ali opet su koristile tu tehnologiju.
A nije da nisu imale izbora.

java je recimo 50 % brža od php-a.
idealna za enterprise.
vrti se na x platformi, a ima i x application servera za javu.
postoje minimalno 3 alata: eclipse, netbeans i jdeveloper.

[quote=“gorrc”]Evo da se odmaknemo od kontrola najpoznatiji a i najgori primjer mindseta ti je primjena Silverlighta.
Firme su znale da Silverlight nije podržan, firme su znale da dobar dio korisnika će otići sa stranice kad vidi da mora instalirati plugin ali opet su koristile tu tehnologiju.
A nije da nisu imale izbora.[/quote]

ms izbacuje sve i svašta radi testiranja, jer imaju para i ono što se pokaže relativno dobro to nastavljaju, a što ne, gase.
tako su odlučili izbaciti i silverlight iz upotrebe.
taman naučiš i oni ugase tehnologiju.

[quote=“jorgovan”] odlučili izbaciti i silverlight iz upotrebe.
taman naučiš i oni ugase tehnologiju.[/quote]
a to sam i ja čuo da je gotovo sa Silverlight no izgleda da nije.

zato se meni više sviđa java…net nije loš, ali ne možeš birati server i platformu koju hočeš.nego isključivo IIS i win, ima mono, mada se ja ne bi upuštao u avanturu.

Da, Java i slovi kaj najbrža.

ovih dana sam radio neku mini aplikaciju koja radi sa većom količinom podataka, začudio se kako je app brzo odradila posao.

[quote=“gorrc”]Evo da se odmaknemo od kontrola najpoznatiji a i najgori primjer mindseta ti je primjena Silverlighta.
Firme su znale da Silverlight nije podržan, firme su znale da dobar dio korisnika će otići sa stranice kad vidi da mora instalirati plugin ali opet su koristile tu tehnologiju.
A nije da nisu imale izbora.[/quote]

Poprilično subjektivan i poprilično krivi odgovor, barem dio za silverlight, puno webstranica ima neke stvari u silverlightu i ovo prvi put čujem da će svi otići sa stranice jer ima nešt u silverlightu, a druga stvar je kakve uopće veze silverlight ima s asp.net MVC, sorry ali meni ovaj tvoj post liči ko čisti post hatera…

Najbolji jezik za “programiranje” web-a je PHP. Sad cu pokusat i obrazlozit zasto tako mislim.

PHP kao programski jezik ima svojih mana. Nije dosljedan i donedavno nije potpuno podrzavao OOP, to me najvise smetalo kod PHP-a.
Ako usporedis PHP sa Pythonom ili Ruby-em PHP je po mom misljenju gubitnik. PHP je nastao “divlje” nije osmisljen kao jezik od temelja i nove mogucnosti su se u njega dodavale prema potrebama korisnika, u pocetku nije bilo nekog velikog planiranja kako ce jezik izgledati.
Dok su ostali jezici koji se koriste na web-u kao Python i Ruby puno elegantniji od PHP-a. I mozes ih koristit za puno vise od web-a.

Znaci ako usporedujes PHP kao “general purpose” programiski jezik sa Python-om ili Ruby-em, PHP gubi.
PHP iako tako na njegovim stranicama pise, nije “general purpose” programski jezik i tesko da ces u njemu ici pisat desktop applikaciju.

Ali kao web programski jezik, PHP je daleko ispred Pythona-a i Ruby-a.
Koristeci Python ili Ruby za web moras koristiti neki od njihovih frameworka.
Python nema nego Django, ostali frameworci kao web.py ili Pylons/Pyramid me nisu odusevili.
Ista je stvar sa Ruby-em, imas Ruby on Rails i to je to.

Dok kod PHP-a imas ogroman set frameworka koje mozes koristit, Symfony, CakePhp, Zend, Codeigniter, Yii, Prado, Kohana… da ih sad ne nabrajam sve. Siguran sam da ce se i Ruby/Python programeri slozit da PHP ima daleko veci set frameworka, i sto je najbolje, nema ocitog pobjednika, svaki je kvalitetan i ima neke prednosti nad drugima, i razvija se u svom smijeru.

Ista je stvar sa CMS sustavima, u PHP-u imas, ExpressionEngine, Drupal, Wordpress, Joomla, SilverStripe, Textpattern… da ih sad ne nabrajam sve, pamet ti stane kad vidis koliko kvalitetnih CMS-ova imas na izbor sa PHP-om.

A koliko CMS-ova ima napisanih u Python/Django?
Koliko ih ima napisanih u Ruby on Rails?

Nisam jos vidio niti jedan CMS napisan u Django ili Rails frameworku da moze parirat bilo kojem od PHP frameowrka.

Recimo, 24sata.hr koristi Django framework, a tim koji stoji iza 24sata.hr, sebe predstavlja na Wordpress blogu:
http://24dev.net/

Pametnom dosta :smiley:

Ono sto je jos najbolje kod PHP-a je sto je jako jednostavno izvesti svoj MVC framework, kad naucis osnovne patterne, sa lakocom mozes napravit svoj MVC framework. I prosirivati ga kako zelis. Sa Ruby-em ili Pythonom toga nema bez puno “low level” programiranja.
Tako da na kraju zapnes sa frameworkom i svim njegovim vrlianam ali i manama.

Ono sto kod PHP-a nije dobro je nedosljednost, jednostavan primjer:
str_replace() i sizeof()
Zasto nije:
strReplace() i sizeOf()
ili:
str_replace() i size_of()

To su neke stvari koje me smetaju i zbog kojih jezik nije intuitivan kao Python koji mi je najdrazi jezik ikad.

Uglavnom ako te zanima iskljucivo web, onda uci PHP.
Ako zelis radit i nesto drugo osim web-a, na tvom mjestu bi izabrao Python.
A najvaznije od svega, uci programirat. Nauci sto je proceduralno, objektno orijentirano i funkcionalno programiranje. Onda uci patterne, sto je front-controller pattern, sto je MVC, Registry, Inversion of controll, Dependency injection…
Kad naucis to onda ces vidjet da su svi programski jezici jako slicni. I nakon nesto iskustva i prakse i rada sa jezikom moci ces koristit bilo koji od njih. Ja sam vecinu PHP OOP patterna naucio iz Jave. Vidis sta pattern radi i koji problem rijesava i istu stvar napravis sa svojim jezikom.

Ne znam zasto svi pisu da je PHP jednostavan jezik jer nije. Meni je Python bilo lakse naucit, bas zato sto je intuitivan i dosljedan.
To sto u PHP-u netko bez trunkice znanja moze brljat i isprintat nekakvu html stranicu ne znaci da je jezik lagan. Ako ces napravit nesto posteno, jednako je tesko kao i u drugim jezicima.

Nedavno dožio vanserijsko iskustvo sa Silverlightom.
Na lutrija.hr dashing derby, 10h, navečer, pokrenem aplikaciju, opa Silverlight, no ne radi sa Ubuntom. Zatim me prebace na Mono, pa nevjerovatnih 17mb downloada, pa alert ne radimo sa Fifrefox verzijom koja je slučajno instalirana na mojem računalu.
Inače mislim da bounce rate zbog pluginova je negdje oko 30%.

I primjer sa Silverlightom je bio da dokaže da korporativni mindset postoji i da oni koji rade sa komercijalnim/enterpreise/koporativnim softwareom vjerovatno se neće moći snaći u OS ecosystemu bez neke prilagodbe baš kao što piše na onoj OS stranici posvećenoj Microsoftovom software.

Sa wikipedije:
In decision theory and general systems theory, a mindset is a set of assumptions, methods or notations held by one or more people or groups of people which is so established that it creates a powerful incentive within these people or groups to continue to adopt or accept prior behaviors, choices, or tools.

1.pitanje: što misliš pod webom?
– web stranice
– cms
– web shop
– enterprise aplikacije?

2.što je sa brzinom web aplikacija pisanih u php-u?

3.da li je php za enterprise aplikacije, tipa financije, banke i sl…? – mislim da je tu java najbolja, asp.net malo zaostaje za javom, mada nije loš.
– to što facebook koristi php uz hip hop kompajler, ne znači da je dobar, rekli oni da idu raditi ispočetka sigurno ne bi odabrali php.

[quote=“jorgovan”]1.pitanje: što misliš pod webom?
– web stranice
– cms
– web shop
– enterprise aplikacije?

2.što je sa brzinom web aplikacija pisanih u php-u?

3.da li je php za enterprise aplikacije, tipa financije, banke i sl…? – mislim da je tu java najbolja, asp.net malo zaostaje za javom, mada nije loš.
– to što facebook koristi php uz hip hop kompajler, ne znači da je dobar, rekli oni da idu raditi ispočetka sigurno ne bi odabrali php.[/quote]

ovo su pitanja za limenog

Pod web-om mislim na sve ovo sto si naveo. Znaci sve sto se izvrsava na serveru. Jer i CMS mozes gledati kao na web applikaciju kojom omogucujes korisniku da ureduje neku stranicu mjenjajuci sadrzaj u bazi podataka. Sve su to danas na neki nacin web applikacije i tesko vise mozes vidjet staticne html stranice.

Sto se tice brzine PHP-a, on je sporiji od Python-a i Ruby-a. Ali to je zadnja stvar koju trebas gledat.
U web applikaciji je najsporiji HTTP request. Davno sam citao o tome pa necu govorit nikakve cinjenice. Uglavnom HTTP request traje nekoliko sekundi, a izvrsavanje skripte na serveru bilo ona PHP, Django, Rails, se mjeri u mikro sekundama. Brzina web app najvise ovisi o Front-End-u. Znaci vise ces postici ako kombiniras CSS i JS fajlove u jedan file i tako stvaras malo HTTP requestova, ako koristis CSS sprites i ako korisnik ucitava 1 sliku umjesto njih 20 za navigaciju itd… A zadnje sto trebas gledat sto se tice brzine web app tice hoces li na serveru koristit if else ili switch ili jeli jezik prespor jer je to stvarno zadnja stvar koja utjece na brzinu. Istina je da je Django brzi, ali to je zanemarivo. Django ekipa se moze hvalit kako je njihov jezik brzi i istina je, ali zanemarivo stvarno.
Spor je front-end, znaci ucitavanje slika, http requesti kojih moras radit sto manje. I naravno moras pazit kako pristupas bazi podataka i da update ne radis sa foreach petljom i tako neke stvari koje ces skuzit i vidjet odmah da nemogu bit dobre. Al ubrzanje se najvece dobije tako da optimiziras front-end.
Dobar video za pogledat je:


nemogu naci prvi dio, pa ces morat sam potrazit :smiley:
I skines si Firebug i Yslow, i tamo vidis tocno sto mozes poboljsat.

Za enterprise php se koristi zend framework. Nemam pojma jeli ih koristi bilo koja banka. Prijatelj mi radi u Erste banci i kaze da rade sa C#, nemoj ga pomjesat sa C++ :smiley:
Za enterprise se najvise koristi Java, jer je standardizirana, Oracle prodaje one tecajeve skupo, i koliko sam citao, Java programeri su “najskolovaniji”, najvise tih licenci imaju polozenih.

Ma uglavnom svi su ti ti jezici dobri, i nemoj nikad padat na fore da je neki jezik bolji a neki losiji, sto radi ekipa koja voli Ruby, pa onda snimaju glupe video klipove kako je samo njihov jezik dobar itd. Ti likovi sto Ruby pisu, vecina koju sam vidio misli da postoji samo Ruby i nista vise, Ruby je centar svemira za njih :S
Svaki jezik koji su puno koristi je dobar, da nije nebi bio popularan. I svaki ima svoje prednosti i mane.

Zivot je dovoljno tezak, nemoj si ga otezavat dugim izborom :smiley: Izaberi jezik koji ti se cini najbolji i koji ti je najugodnije pisat i uci njega. Al uci na nacin kako sam napisao gore, uci patterne, nemoj samo kopirat neki kod za koji ne razumijes kako radi.

Na web-u postoji jako puno, ma vecina ljudi nemaju pojma o programiranju koju sam vidio da se bave web-om, nauce nesto malo html i css, nauce koristit jQuery plugin-e, i nauce Wordpress API, samo kopiraju tamo gotove funkcije i ono radi oni napravili stranicu oni programiraju, e ne programiraju, samo nesto kopiraju a nemaju pojma sta rade.

Sta ti hocu reci, svi su jezici dobri bitno je koji se tebi najvise svida. A PHP je za web najfleksibilniji jer lako mozes izvest svoj framework.
Pogledaj bilo koji web framework bez obzira na jezik. 99% ih prati MVC pattern. Imaju Front-controller, Router/Dispatcher koji poziva kontroller i neku metodu i predaje joj neke parametre iz URI-a. Stvar je sa PHP-om sto lako napravis svoj framework, i onda kazes e svida mi se kako Django Dispatcher radi, pa napravis nesto jako slicno tome, da route stvaras tako da upisujes reguralni izraz. Pa onda kazes eh al defaultni Django Dispatcher ne gleda HTTP Request i nije svjestan HTTP Metode (GET, POST, PUT, DELETE…) i nemozes isti URI poslat na razlicite kontroller-e ovisno o HTTP metodi, kao recimo Rails 3 ili Symfony2, pa onda napravis Dispatcher koji ne “razbija” URI string nego HTTP Request objekt pa je onda Dispatcher svjestan i HTTP metode i Accept parametara itd… To je moc PHP-a i zasto mislim da je na web-u fleksibilniji od ostalih jezika. Plus sto ima najvise frameworka i gotovih cms-ova koje ostali nemaju i zajednicu koja je na web-u otisla najdalje.

Al nemoj mislit da omalovazavam druge jezike. Svi su oni dobri, al za web je PHP najfleksibilniji.
A kad jednom dobro savladas jedan jezik, pa krenes radit neki drugi, vidjet ces da ces u svakom jeziku naucit neke nove stvari koje ces moci primjenit na drugim jezicima… tako da nemoj dugo cekat, nego se ulovi PHP-a ili Pythona, ovisi sto te vise zanima samo web ili i neke druge stvari.

Il ak imas priliku ucit C++ u skoli, kad njega savladas ovi dinamicki jezici koje ne moras kompajlirat ce ti se cinit kao igrarija :slight_smile: Ako imas vremena za to :smiley: Ako ne Python ili PHP i neces pogrijesti.

misliš na certifikate(licence)?
svi oracle tečajevi su skupi, kao i drugi.
nisu oni izuzetak, mislim da je samo ms izuzetak.

radim javu, ali nikako da krenem raditi web.

Mislim da je malo pogrešno gledati da enterpreise rješenja koriste samo banke i sl. financijske ustanove.
Svaka veća tvrtka ima potrebe za entrepreise softwareom.
Doći u firmu sa 200 ljudi i kod koji vrti cijelo poslovanje firme a napisan u PHP nije nešto neobično no za takve primjere ne čujemo.
No to su isto enterpreise rješenja.
Recimo jedan Magento je vjerovatno sposoban voditi kompletno poslovanje i nekoliko dućana i to ne mora biti web aplikacija već kao interanet aplikacija.

Postoje razna enterpreise rješenja od ERP do CRM koja su jako napredna a izvedena u PHP.
No naše tvrtke ih ne koriste (što možemo vidjeti i anketi koja se našla na forumu), vjerovatno imaju svoje razloge.
No to što top hrvatske IT firme ne koriste PHP to ne znaći da ga druge velike firme ne koriste za svoja rješenja. Možda čak i više ga ga koriste firme kojima IT nije primarna djelatnost a žele do jeftinog i lako održavajućeg software.

Eto recimo jedan glup primjer imati četri dućana instalirati jedan server sa magentom. Ovi drugi se na njega spajaju preko web (API) i uživo se može pratiti zaliha.
Zašto to nebi bilo enterpreise rješenje, jer nema appleta? Jer baza ne dođe 200,000$ samo licenca godišnje!?

[quote=“gorrc”]
Postoje razna enterpreise rješenja od ERP do CRM koja su jako napredna a izvedena u PHP.
No naše tvrtke ih ne koriste (što možemo vidjeti i anketi koja se našla na forumu), vjerovatno imaju svoje razloge.
No to što top hrvatske IT firme ne koriste PHP to ne znaći da ga druge velike firme ne koriste za svoja rješenja. Možda čak i više ga ga koriste firme kojima IT nije primarna djelatnost a žele do jeftinog i lako održavajućeg software.

Eto recimo jedan glup primjer imati četri dućana instalirati jedan server sa magentom. Ovi drugi se na njega spajaju preko web (API) i uživo se može pratiti zaliha.
Zašto to nebi bilo enterpreise rješenje, jer nema appleta? Jer baza ne dođe 200,000$ samo licenca godišnje!?[/quote]

nitko ne kaže da za enterprise treba baza koja dođe masno, može mysql, može postgresql.
znam da u php-u ima puno toga napravljeno, posebno me zadivio sugarcrm.
zašto php nije prihvaćen više u hrv, …

Zaista nemam potrebe komentirati jer vidim da se sve svelo na bolesti pojedinaca i njihove najbolje jezike i svaka razumna rasprava pada u vodu.

  1. Ako stvarno mislite da je brzina programskog jezika presudna u web aplikacijama gdje je ustvari brzina programskog jezika gotovo zanemariva jer je daleko najuže grlo baza nemamo o čemu pričati.
  2. Ako stvarno mislite da bi neka ozbiljna tvrtka išla razvijati enterprise sustave u php-u a ne u nekom sređenom jeziku tipa JAVA ili .NET isto nemamo o čemu pričati
  3. Ako izmišljamo već polako teorije zavjere neke mindsetove itd isto nemamo o čemu pričati.
  4. Spominjanje linuxa kao nekog bitnog faktora za neki third party plugin ala silverlight ili flash isto nemamo o čemu pričati.

Posebno bih naglasio da komentiranje od strane onih koji nisu ni vidjeli enterprise aplikacije, a kamoli radili na njima je potpuno besmisleno…

Svakom je njegovo najbolje, mislim da jedino donekle relevantan odgovor moze dati netko tko ja radio na vise sustava pa i iz iskustva moze reci nesto. Mnogi cijeli zivot rade samo u jednom i onda naravno da im drugo nije dobro.

Ono u čemu će neka velika tvrtka ići nešto razvijat ne ovisi o jeziku jer developer je tu ionako potrošna roba.
Ovisi o tehnologiji koja stoji iza jezika. Tehnologija iza Jave ili .NET su fokusirane na velike korisnike i sustave zato su izbor.
Postoje firme koje cijelo svoje poslovanje temelje na PHP, postoje i firme koje cijeli svoj web su prepustile PHP iako sve što nije povezano sa webom rade u drugim jezicima. Znaći ipak postoje ozbiljne firme koje svoje rješenja temelje na PHP.