Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jack020 06. 10. 2013, 12:52:04

Název: Jazyk a framework pro stránky
Přispěvatel: Jack020 06. 10. 2013, 12:52:04
Zdravím,
Chtěl bych se zeptat nebo spíš rozpoutat takovou debatu.
Jaký jazyk a framework si myslíte, že k nám dojde. Nebo budeme stále na nějakém PHP + Nette či jiný framework nebo i k nám dorazí Python a django, který je přehlednější.
V čem teď vůbec programujete.
Název: Re:Webové stránky
Přispěvatel: Honza 06. 10. 2013, 13:03:19
Smalltalk, Seaside 3, MongoDB, bez problému
Název: Re:Webové stránky
Přispěvatel: JarinBarin 06. 10. 2013, 13:55:25
Teď se weby hodně dělají v ruby, co jsem slyšel.
Název: Re:Webové stránky
Přispěvatel: to_je_jedno 06. 10. 2013, 14:00:47
Brzy dorazi Drupal 8, tedy v podstate Symfony2 s nastavbou :)
S nejvetsi pravdepodobnosti bude schopen bezet nad MongoDB.

Vzhledem k casu potrebnemu postavit na tom prakticky jakykoliv web jasna volba.
Název: Re:Webové stránky
Přispěvatel: eMko 07. 10. 2013, 07:45:31
@Jack020: To je otázka jak cyp.

Citace
Back in 1995, we knew something that I don't think our competitors understood, and few understand even now: when you're writing software that only has to run on your own servers, you can use any language you want.
Paul Graham, Beating the Averages - http://www.paulgraham.com/avg.html

Jestli máš vlasntí server, použij si co chceš - mně se hodně líbí Tapestry (http://tapestry.apache.org/), Play (http://www.playframework.com/) nebo MS MVC (http://www.asp.net/mvc). U všech třech mám za sebou platformu, kde není nouze o knihovny téměř na všechno (u Javy je situace trochu lepší s knihovnama; u .Netu je zase příjemnější "základní jazyk" - C#)  a mohu využít funkcionální/hybridní jazyky (Clojure, Scala, F#). V práci používám Microsoftí věci (WCF a MS MVC).

Jestli se Ti dobře píše ve Smalltalku nebo přesněji "zvykneš-li si na Smalltalk a jisté odlišnosti, které má Seaside", a máš vlastní server, na kterém to můžeš hostovat, není důvod to nevyužít, pokud Ti to přinese konkurenční výhodu. Dokonce i Windows Azure nabízí linuxové servery*, takže se nemusíš vázat jen na sdílené hostingy a jejich klasiku - PHP verze 4 a obstarožní MySQL. Stejně tak jako Azure není jediný cloud hosting, kde můžeš dostat k dispozici vlastní server, takže se zcela jistě bude dát sehnat levnější varianta.

A jestli tím "k nám dorazí" myslíš "kdy malé firmy přejdou z PHP", tak to bude trvat. K volbě technologie, resp. k přechodu na jinou musí být celkem silný důvod. Zatímco "hobby" programátor nebo freelancer si zpravidla vybere to, v čem napíše program co nejrychleji (klidně Smalltalk/Common Lisp/Python ... RoR neznám, Ruby šel mimo mě), menší firma si zpravidla vybere to, kde může najít nejlevnější hosting a nejvíc nejlevnějších programátorů a administrátorů (= PHP a MySQL na linuxovém serveru, zažil jsem to, že většina programátorů byly maturanti z gymplu, co se nedostali na vysokou a PHP se naučili z 10 stránkového tutorialu na netu).

Velký zaměstnavatel má motivy jiné - "talent pool" (= když někoho vyhodí, může si vybírat z dostatečného množství nových kandidátů?), "cover your ass" (= nobody was ever fired for choosing WebForms/Spring/JSF), "knowledge pool" (= kolik firem podporuje danou technologii; stojí za danou technologií velká stabilní firma?), "stability" (= budou velké změny? Hlavně abychom programátory nemuseli učit něco nového, to jsou náklady navíc, hlavně abychom si nemsueli snížit vlastní plat (€3000/měsíc)), "backward compatibility" (= mám 10 let starý projekt, zprasený tak, že se v něm nikdo nevyzná, poběží aniž bych do něj musel zasahovat?). Ve větších firmách není problém i v dnešní době vidět věci jako je ColdFusion, Javová webová aplikačka z doby před JSF (v novějších částech je použito JSP, ve starších jsou jenom servlety) nebo velký tlustý klient ve Visual Basicu 3 (16bitová aplikačka; na 64bitových systémech neběží, proto jsou u zákazníků nasazeny Windows Server 2003, na kterých je to nainstalované a přes Terminal Services si to pouští ženské v kancelářích).

Dokud se u firem nezmění tyto výchozí podmínky, "tak k nám nic nového nedojde". Rozhodně ne pro to, že porgramový kód je přehlednější. Upřímně, já osobně na uživatelské rozhraní/weby/služby preferuji jazyk, ve kterém sice není tak přehledný kód, ale má dobrou podporu ze strany vývojových prostředí (Java, C#). Na samotnou funkcionalitu pak mám nejraději co nejjednodušší a nejpřehlednější jazyk (Clojure, Lisp).



* viděl jsem tam Ubuntu Server, Open SUSE a SUSE Enterprise, Oracle Linux a jako preview (= zatím za sníženou cenu, zákaz použití pro produkci) několik dalších věcí od Oraclu, např. systém s předinstalovaným WebLogic; osobně jsem z těchto zkoušel jen Ubuntu server z příkazové řádky - ruční instalaci Oracle Javy, Jetty a Apache (z balíčků) s reverse proxy na aplikačku na Jetty - bez problémů. Je to levnější než Windows Server, který na tu diplomku stejně nepotřebuju.
Název: Re:Webové stránky
Přispěvatel: to_je_jedno 07. 10. 2013, 08:34:36
menší firma si zpravidla vybere to, kde může najít nejlevnější hosting a nejvíc nejlevnějších programátorů a administrátorů (= PHP a MySQL na linuxovém serveru, zažil jsem to, že většina programátorů byly maturanti z gymplu, co se nedostali na vysokou a PHP se naučili z 10 stránkového tutorialu na netu).
Jako zivnostnik a brzy snad mala firma muzu rict, ze to takhle zdaleka neni vzdy. IMHO kvalita produktu nezavisi temer vubec na zvolenem jazyce nebo technologii. Neni to o tom jestli Drupal nebo Django. Je to o systemu a fungovani firmy. Co bude lepsi?
- firma ktera dela "jen" Drupal, pouziva git, testuje kod, pouziva treba jenkins
- firma ktera sice dela megasupercool technologii ale lepí

Taky neresim hosting kdyz jedu na svem serveru tak je mi jedno zda jedu PHP nebo neco jineho. Ale proste na drtivou vetsinu webu je PHP a MySQL dostatecne dobre. To same plati o Drupalu(nebo jinem CMS) - jestlize zvladnu za vecer naklikat web a nastylovat sablonu a zkasnout za to treba dvacitku tak proc bych hledal neco "lepsiho"? Co by mi prineslo treba Django nebo SmallTalk? Jakym zpusobem bych na tom mohl vydelat vic penez?
Název: Re:Webové stránky
Přispěvatel: rincewind 7a 07. 10. 2013, 09:28:53
Podla mojich skusenosti zakaznika ani tak velmi nezaujima ci PHP alebo Python, ale skor ako rychlo sa projekt dokonci, ci bude fungovat ako ma a ako rychlo sa urobia updaty. No a pokial bude najjednoduchsie zohnat prave PHP programatora na nove projekty alebo upgrade starych, tak bude pomer PHP vs. zvysok sveta taky aky je.
Název: Re:Webové stránky
Přispěvatel: eMko 07. 10. 2013, 09:56:47
Jako zivnostnik a brzy snad mala firma muzu rict, ze to takhle zdaleka neni vzdy. IMHO kvalita produktu nezavisi temer vubec na zvolenem jazyce nebo technologii.

Netvrdím, že je (a doufám, že jsem se Tě nedotkl :-) ). Drupal zcela jistě je kvalitní produkt (byť ke stylu, jakým je napsána a zdokumentována verze 5 a 6 mám výhrady; ale přiznávám, že u novějších verzí jsem si na jeho střeva nesáhl, možná, že to už neplatí), podobně Wikipedia ... btw stále platí, že Facebook má UI napsané v kombinaci PHP a C?

Jakkoliv je PHP prasácky navržený jazyk (dá-li se o smysluplném návrhu vůbec hovořit), jedná se o technologii, kterou je:

Pokud bych měl, stejně jako Ty, zakládat firmu, asi bych o tomto také uvažoval (na malé aplikace), byť mám k PHP silnou averzi. Každopádně už několikrát jsem narazil na to, že PHP bylo nepřekonatelně pomalé a paměťově náročné a to i s využitím Zend serveru. Víkend strávený s profilerem, zkoušení různých knihoven (a nakonec napsání některých vlastních) a ladění s prominutím každé kraviny (a přepisování části věcí do C), aby ta aplikace byla rozumně použitelná, si velice živě pamatuji.

Nicméně byť je interpret PHPčka nepřekonatelně pomalý a žravý, jeho výkon je na menší aplikace více než dostačující. MySQL také nedává moc možností (např. ve srovnání s MSSQL), na druhou stranu je pro většinu věcí také postačující.
Název: Re:Webové stránky
Přispěvatel: to_je_jedno 07. 10. 2013, 10:40:53
Tak ono je to o tom na zacatku premyslet a analyzovat... Bankovni system na tom stavet nebudu. Ale kolik firem si sahne na podobne projekty? A vsechny ty ostatni prezentace a eshopy to v pohode zvladne.

Drtivou vetsinu webu je z principu mozno efektivne cachovat(treba ten "muj" drupal na to ma efektivni nastroje a muzu pouzit memcache, mongodb, primo APC, redis atd. muzu si dopsat rychle a jednoduse napojeni na jakykoliv jiny system) coz ve spojeni s APC dela i z takovyho molochu rychle servirovane weby(je o tom krasne video s prednaskou jak ladili Grammy).
A kdyz mi nebude stacit MySQL (a i na Drupalu takove projekty mam) tak je tu postgres. Mimochodem, kdyz ma clovek dost pameti a vlastni server(aspon virtualni) tak treba Percona je dooost rychla.

D5 a D6 byly v podstate komplet proceduralni, z pohledu skutecneho programatora prasarna, ale to je davna historie.
D7 je maly naznak jinam a D8 ktery brzy vyjde je postaveny na Symfony2 coz z nej dela plnohodnotny objektovy MVC framework a k tomu pridava uzasne frontend nastroje.

Je pravda a nebojim se priznat si to, ze nejsem zadny programatorsky geek. Ale zakaznikovi je jedno na cem to bezi - tak jak rikas: hlavne aby to bylo rychle, aby nebyl problem delat upravy. Proste je to efektivni, je to pro vsechny strany vyhodne.

A nevidim nikde ten nize zmineny "dost silny duvod" prechazet na neco co je mozna "objektivne" hezci, ale nic pozitivniho mi to neprinese.
Název: Re:Webové stránky
Přispěvatel: to_je_jedno 07. 10. 2013, 10:41:38
Jo a muzu rict, ze najit KVALITNIHO
Název: Re:Webové stránky
Přispěvatel: to_je_jedno 07. 10. 2013, 10:42:55
programatora PHP a tim spis pak pro nejaky framework neni vyrazne levnejsi nez pro jine jazyky a nabidka je taky dost slaba.
(odeslala mi to tady mlada jak si macka na klavesnici  :D )
Název: Re:Webové stránky
Přispěvatel: Jack020 07. 10. 2013, 17:43:10
@Emko Ano je to otázka jak cyp :D ...

Jelikož jsem programátor na SŠ a sám se pořád učím další a další věci jelikož je škola spíš mrtvá díra je nejlepší si ziskavat informace sám.
Jde mi o to že jsem si prošel PHP ze začátku čisté OOP potom Nette, CI,Yii a narazil na Python s tím, že je možné že je to dobrá volba do budoucna. ted nevím zda zůstat na nějakém PHP kterého je všude plno nebo se začít raději učit něco, co bude v budoucnu snad využitelné.
Většina webu je stále v PHP apod. ale četl jsem že třeba Google, Youtube apod pracují běží na pythonu a tak si myslím že je to možná i dobrá krok do budoucna. Chci se posunout dopředu ne dozadu. Nebo pokud by mi někdo napsal co ted zrovna "frčí" a je zajímavé tak bych to ocenil.
Díky
Název: Re:Jazyk a framework pro stránky
Přispěvatel: troub 07. 10. 2013, 18:38:02
Pro mne byla volba jednoducha, protoze jsem chtel napsat neco pro sebe a ne komercne. Takze MS .Net jsem zavrhl a PHP taky. Python se mi libil pro moznost mit i funkcni [exe] program na win/linux. Navic je pouzivan tusim v Blenderu, Gimpu atd. Umi export do .net a ten Google na nem jede i kdyz co je dulezite je [tusim] v C. Prave moznost napsat rychle aplikaci a pak doladit v pripade potreby vyssi rychlosti casti v C a v tomhle dobra spoluprace Python - C se mi libilo. Ale PHP, SQL, JS atd se stejne uzivi.
U Pythonu mi prijde, ze je kam rust, u PHP mi to tak neprijde.
Název: Re:Jazyk a framework pro stránky
Přispěvatel: eMko 07. 10. 2013, 20:49:36
@Jack: OK, jsi-li na střední, pak chápu dotaz. Přestože některé střední školy jsou OK, většinou je úroveň IT vzdělání dost nízká a nelze než doporučit jít na IT vysokou. Já jsem také programoval již během střední (byť v té době letěla Delphi 7 a Visual Basic 6) a pracovat jsem začal během druháku na výšce - půl roku PHP, pak .Net (+ občas PHP - Nette, Drupal, Slim framework (REST služby)). Formální vzdělání a totální peklo, čímž IT vysoká škola je, doceňuji až časem. Ale rozhodně doporučuji na školu jít.

V takovém případě je lepší volba onen Python - ten jazyk není navržen úplně zle a dá se v něm psát i desktop aplikace. (To se dá v PHP samozřejmě taky, ale je to jako hrát na kytaru půleurovkou místo trsátka - tj. ve stavu těžké nestřízlivosti dobrá sranda, ale praktické využití 0. :) ) Hlavní výhodou Pythonu oproti PHP je to, že PHP je jazyk a prostředí původně určené na blití textů na standardní výstup (CGI skripty), což prostředím samotným a kulturou uživatelské komunity stále prosakuje. Chceš-li dělat weby, není to špatně. Python je od počáku navržen jako skriptovací jazyk - univerzální jazyk na malé aplikace. Ano, má své mouchy a má jich hodně (nejvíc asi Global Interpreter Lock, na což narazíš pokud se rozhodneš psát netriviální GUI aplikaci - pokud chceš, aby něco běželo paralelně, musíš to pustit jako samostatný proces, nestačí vlákno - ale existuje knihovna, která to řeší za Tebe, jen je třeba dbát určitých omezení), ale je to celkově univerzálnější a pro Tebe jako programátora myslím si výhodnější platforma. Ostatně na MIT přešli při výuce základů programování z Scheme na Python.
Název: Re:Jazyk a framework pro stránky
Přispěvatel: eMko 07. 10. 2013, 21:25:10
Pro mne byla volba jednoducha, protoze jsem chtel napsat neco pro sebe a ne komercne. Takze MS .Net jsem zavrhl a PHP taky. Python se mi libil pro moznost mit i funkcni [exe] program na win/linux. Navic je pouzivan tusim v Blenderu, Gimpu atd. Umi export do .net a ten Google na nem jede i kdyz co je dulezite je [tusim] v C. Prave moznost napsat rychle aplikaci a pak doladit v pripade potreby vyssi rychlosti casti v C a v tomhle dobra spoluprace Python - C se mi libilo. Ale PHP, SQL, JS atd se stejne uzivi.
U Pythonu mi prijde, ze je kam rust, u PHP mi to tak neprijde.

Tvoje zpráva vyznívá velmi zvláštně a je napsána celkem nešťastně a hlavně velmi zmateně. Připomíná mi to spolužáka, který dorazil do školy na přednášku sjetej kokešem.

Název: Re:Jazyk a framework pro stránky
Přispěvatel: troub 07. 10. 2013, 23:27:42
kdyz uz je to slovickareni tak dulezite, tak:
jsem chtel napsat neco pro sebe a ne komercne. Takze MS .Net jsem zavrhl
protoze zalezelo na me a ne nekom, kdo chce .net technologii, jak to casto je. Chtel jsem neco ucinneho a ne sloziteho. Navic skutecne free.

Python se mi libil pro moznost mit i funkcni [exe] program na win/linux
bavilo se o PHP a tam sam priznavas, ze to je dost nesmyslny

navic je pouzivan tusim v Blenderu, Gimpu atd.
nevim, proc by si sam nikdy nenapsal nejaky script pro blender, aby si v necem usnadnil praci, Je to docela logicke vyuziti. V Maye se mi take hodila znalost pouzivani scriptu. Takze i v Blenderu se to bude hodit a ten ma podporu na vyvoj her i na pouziti na webu, takze to neni vubec daleko. A kdyz nekdo napise 3D modelovaci program v kvalite a rozsahu Blenderu a pouzije jako scriptovaci jazyk Python, tak to taky o necem svedci.

Umi export do .net
samozrejme, ze jsem myslel Iron, ale nechtel jsem se rozkecavat, nemam zas takovou potrebu se poslouchat, ale spise rici neco k tomu na co se nekdo pta

a ten Google na nem jede
to ze z casti jsem napsal. Dulezity je rycly vyvoj v Pythonu a pak doladeni casti v C a to jsem taky psal.

i kdyz co je dulezite je [tusim] v C
tohle co k tomu pises je zase pro mne zmatene napsane, ale myslim, ze je tam nekde souhlas s pouzitim C

Nechci Ti brát vítr z plachet, ale PHP je také napsáno v C. .Net bude buď C++ nebo C. Java to samé. Perl je také v C.
v cem je psany dany jazyk jsem neresil, resil jsem spolupraci s C. Ze je PHP psane v C a "umi" spolupracovat vim, ale proti Pythonu to neni dobre resene.

dobra spoluprace Python - C
zase resis .net a stejne jsi souhlasil s Pythonem, tak nechapu ten tvuj vetny rozbor. Mimochodem JS jsem taky zminoval jako potrebny.
Název: Re:Jazyk a framework pro stránky
Přispěvatel: Sikovnik 11. 10. 2013, 00:37:22
neviem ako v CR ale na Slovensku nas najvacsi poskytovatel webhostingu uz davno umoznuje jak Python / Django tak Ruby on Rails a to v ramci bezneho LAMP webhostingu - staci si to aktivovat v administracii.