Psihius Posted May 16, 2012 Report Share Posted May 16, 2012 Personīgi es nelēkāju no valodas uz valodas un attīstu savas iemaņas un zināšanas dziļumā un apgūstu papildus tehnoloģijas kā NoSQL, Sphinx (memcache & co es pat neskaitu) un saistītas ar HTTP īpašības - līdz šim es nekad neesmu ticis situācijā kad izstrādājot WEB sistēmu man PHP nepietika - man vairāk traucē brauzeri un lielās biznesa prasību izmaiņas. Kārtīgi izdomāta arhitektura un pareizo rīku izvēle praktiski nerod problēmas ar PHP kā tādu. Ja tam ir savas īpašības, kuras ir jazin un ar kurām ir jareķinās, bet tas pats ir a Python/Ruby. Īsti ir jabūt profesionālām savā jomā un ir jazin un jaredz to momentu, kad ir jagriežās pie profesionāla citā valodā lai risināt problēmu, kas radusies un galvenaijs rīks to risinā slikti vai pilnīgi neder. Man tieši tāda situācija ir ar tekošiem projektiem - es nodarbojos ar kolēģi WEB (PHP, MySQL, Yii Framework) un cits cilvēks nodarbojās ar servisu izstrādi uz Mono. Katrs dara savu darbu un kopā mums ir labi strādājošā sistēma. Mēs meklējas HTML/CSS/JS cilvēku, lai viņš profesionāli varētu taisīt savu daļu - mēs to tagad daram, bet neskatoties uz to ka mūsu darba kvalitāte ir drusku augstāka par videjo, mēs uzskatam ka profesionāls to padarīs daudz labāk. Cilvēku, kas lēkā no vienas valodas uz otru ik pirmo-otro gadu par profesionāli es nesaukšu, jo profesionāls izveidojās sakrājot zināšanas viss maz 5-7 gadu laikā noteiktā jomā un tehnoloģijā. Lielāka daļa to, kas lēkāja pa valodām un platformām, ar kuriem es runāju pat vidēji nezin par PHP un izņēmot to populistiku, kas ir redzama visur, neko nezin. Un to pašu var pateikt par jebkuru valodu - ja cilvēks nav strādājis ilgu laiku un neiedzilinājies kārtīgi - tas ir cilvēks ar virspusejām zināšanām tajās valodās un tehnoloģijās. Quote Link to comment Share on other sites More sharing options...
codez Posted May 16, 2012 Report Share Posted May 16, 2012 (edited) Vēl viena lieta par labu PHP ir hello world piemēri. hello.py: print "Hello World" hello.rb: puts "Hello World" hello.php Hello World Kurš tagad ir uzvarētājs? Edited May 16, 2012 by codez Quote Link to comment Share on other sites More sharing options...
daGrevis Posted May 16, 2012 Author Report Share Posted May 16, 2012 Paņem lielāku kodu no PHP un salīdzini lasāmību un apmēru ar Python/Ruby. :] Quote Link to comment Share on other sites More sharing options...
codez Posted May 16, 2012 Report Share Posted May 16, 2012 Paņēmu, PHP sanāca saprotamāks un vieglāk lasāms. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted May 16, 2012 Author Report Share Posted May 16, 2012 Nu parādi! Piemēram, Markdown parseris: PHP vs. Python. Quote Link to comment Share on other sites More sharing options...
codez Posted May 16, 2012 Report Share Posted May 16, 2012 (edited) Nu, ko tur daudz analizēt pārdesmit kB kodā: PHP parseris ir vienkārši lasāms, saprotams un viegli modulāri paplašināms http://michelf.com/p...s/php-markdown/ Python parseris savukārt ir krietni lielāks izmēros un neko nevar saprast, kas tur vispār domāts, kaut kādi ķeburi: http://code.google.c...ib/markdown2.py P.S. Un visvairāk mani piedur šitā rindiņa, ko no lieka visi grib rakstīt pythonā un likt vienā kastē ziemai glabāt ābolus kopā ar kartupeļiem: if __name__ == "__main__": sys.exit( main(sys.argv) ) Edited May 16, 2012 by codez Quote Link to comment Share on other sites More sharing options...
edgarsj Posted May 17, 2012 Report Share Posted May 17, 2012 Jā, esmu veicis izstrādes praktiski visās šī saraksta valodās un PHP viennozīmīgi pārspēj visas. Ja nu vienīgi BF++. Līdzīgi kā nodejs ir pret javascriptu, tā BF++ ir pret BF. Aptuveni cik daudz koda rindas esi uzrakstījis jebkurā valodā, kas sākas ar N? Vairāk par nevienu? Aptuveni cik PHP? Cik Javascript? Kas ir tava trešā biežāk lietotā valoda (minu, ka pirmās 2 ir PHP un Javascript) un cik aptuveni koda rindas esi uzrakstījis tajā? Quote Link to comment Share on other sites More sharing options...
edgarsj Posted May 17, 2012 Report Share Posted May 17, 2012 P.S. Un visvairāk mani piedur šitā rindiņa, ko no lieka visi grib rakstīt pythonā un likt vienā kastē ziemai glabāt ābolus kopā ar kartupeļiem: if __name__ == "__main__": sys.exit( main(sys.argv) ) Šitā rindiņa ļauj vienam failam būt gan bibliotēkai, gan izpildāmam. PHP nav elegantāka risinājuma šādam uzdevumam. Quote Link to comment Share on other sites More sharing options...
codez Posted May 17, 2012 Report Share Posted May 17, 2012 (edited) Aptuveni cik daudz koda rindas esi uzrakstījis jebkurā valodā, kas sākas ar N? Šodien nav tava veiksmīgā diena, ne to burtu izvēlējies. Ņemam par piemēru valodu NULL. Ši ir viena no retajām 0-dimensionālajām valdoām tādā ziņā, ka jebkuru programma ir viens vienīgs skaitlis. Kas var būt vēl vienkāršāk? Pythonā un Rūby sēdi mēnešiem un kodē, bet NULL valodā paņem vienu skaitli un programma gatava. Un tā kā NULL ir truning-complete valoda, tad tajā var uzkodēt visus tos pašus algoritmus, kurus var ierastajās c++, php, python. Šitā rindiņa ļauj vienam failam būt gan bibliotēkai, gan izpildāmam. PHP nav elegantāka risinājuma šādam uzdevumam. Vispār jau PHP to var izdarīt ļoti vienkārši, bet ne par to ir runa. Kas tie par apzīmējumiem ___name__, vai tomēr _name_, nē laikam vija ___name_____, īsti neatceros, varbūt šādi _________________name__. Un tālāk kas bija? ___main______ vai __main_? if __name__ == "__main__": if (PHP_SAPI=='cli') { } Bet tik un tā kārtējo reizi PHP sanāca īsāks. Edited May 17, 2012 by codez Quote Link to comment Share on other sites More sharing options...
edgarsj Posted May 17, 2012 Report Share Posted May 17, 2012 (edited) Šodien nav tava veiksmīgā diena, ne to burtu izvēlējies. Ņemam par piemēru valodu NULL. Ši ir viena no retajām 0-dimensionālajām valdoām tādā ziņā, ka jebkuru programma ir viens vienīgs skaitlis. Kas var būt vēl vienkāršāk? Pythonā un Rūby sēdi mēnešiem un kodē, bet NULL valodā paņem vienu skaitli un programma gatava. Un tā kā NULL ir truning-complete valoda, tad tajā var uzkodēt visus tos pašus algoritmus, kurus var ierastajās c++, php, python. Uz jautājumu par N valodām tā arī neatbildēji. Tāpat arī uz pārējiem jautājumiem par sarakstītajām koda rindiņām ne. Vispār jau PHP to var izdarīt ļoti vienkārši, bet ne par to ir runa. Kas tie par apzīmējumiem ___name__, vai tomēr _name_, nē laikam vija ___name_____, īsti neatceros, varbūt šādi _________________name__. Un tālāk kas bija? ___main______ vai __main_? if __name__ == "__main__": if (PHP_SAPI=='cli') { } Bet tik un tā kārtējo reizi PHP sanāca īsāks. Nav ekvivalenta funkcionalitāte. PHP piemērs pasaka, ka PHP programma konkrētajā brīdī tiek darbināta no komandrindas nevis no web vai kā citādi. Python piemērs pasaka, ka konkrētais Python fails tiek darbināts kā komanda, nevis, piemēram, importēts kā bibliotēka. PHP gadījumā līdzīgākais laikam ir include. Manai dienai nav ne vainas, tikai kārtējo reizi pārliecinos, ka ar nekompetentiem troļļiem nevajag ielaisties diskusijās. Edited May 17, 2012 by edgarsj Quote Link to comment Share on other sites More sharing options...
codez Posted May 17, 2012 Report Share Posted May 17, 2012 (edited) Kāpēc pythonisti vienmēr ir tik piekasīgi. Vai tiešām valoda tā maina cilvēka raksturu? Cik pazīstu visus PHP developerus, viņi visi ir draudzīgi un izpalīdzīgi un nepiekasās pie katra sīkuma un cik esmu sastapis, tad tie, kas darbojas PHP ir daudz profesionālāki, jo pamatā nāk no C++, savukārt starp man pazīstamajiem pytonistiem nav neviena tāda, ko varētu saukt par profesionāli. Ar pytonistiem es šeit domāju nevis visus, kas lieto python, bet tos, kas to lieto pārsvarā, nevis tikai mazu komandrindas tūļu izgatavošanai. Bet nu ok, ja tik piekasīgi, tad PHP tik un tā īsāk: if __name__ == "__main__": if (!debug_backtrace()){} Edited May 17, 2012 by codez Quote Link to comment Share on other sites More sharing options...
daGrevis Posted May 17, 2012 Author Report Share Posted May 17, 2012 Parādi man kādu «new genaration» programmētāju (jauns, zem kādiem 25 gadiem), kurš ir nācis no C/C++. Viņi visi parasti sāk un arī paliek/beidz ar PHP. :( Quote Link to comment Share on other sites More sharing options...
edgarsj Posted May 17, 2012 Report Share Posted May 17, 2012 (edited) Kāpēc pythonisti vienmēr ir tik piekasīgi. Vai tiešām valoda tā maina cilvēka raksturu? Cik pazīstu visus PHP developerus, viņi visi ir draudzīgi un izpalīdzīgi un nepiekasās pie katra sīkuma un cik esmu sastapis, tad tie, kas darbojas PHP ir daudz profesionālāki, jo pamatā nāk no C++, savukārt starp man pazīstamajiem pytonistiem nav neviena tāda, ko varētu saukt par profesionāli. Ar pytonistiem es šeit domāju nevis visus, kas lieto python, bet tos, kas to lieto pārsvarā, nevis tikai mazu komandrindas tūļu izgatavošanai. Bet nu ok, ja tik piekasīgi, tad PHP tik un tā īsāk: Tiešām īsāk? Pārskaiti simbolus. if __name__=="__main__": if (!debug_backtrace()){} Ja nopietnāk, tad kā pats redzi, dotajai funkcionalitātei PHP nav nekas īpaši īsāks, vienkāršāks vai saprotamāks, kā apgalvoji. Varētu pat minēt, ka debug funkcijas izmantošana šādiem mērķiem šķiet nesaprotama. Par "piekasīšanos" - ja X strīdā saka, ka A ir B un PHPist māj ar galvu, bet Pythonisti saka, ka nekā - A nav B, tad kuri ir profesionālāki programmētāji? Un vēlreiz - ja jau lielies ar savu pieredzi, tad varētu lūdzu iedot man koda rindiņu, kas uz ekrāna izdrukā "Codez ir profesionāls programmētājs" NULL valodā? Es sapratu, ka no N burta valodām ar šo tev ir lielākā pieredze. Edited May 17, 2012 by edgarsj Quote Link to comment Share on other sites More sharing options...
codez Posted May 17, 2012 Report Share Posted May 17, 2012 Parādi man kādu «new genaration» programmētāju (jauns, zem kādiem 25 gadiem), kurš ir nācis no C/C++. Viņi visi parasti sāk un arī paliek/beidz ar PHP. :( LOL, ap 90% un skaitā virs 2 desmiti no programmētājiem, ko es pazīstu, nāk no C++ un šeit es runāju par programmētājiem, kas var paņemt priekšā IOI vai ACM uzdevumus (salīdzināšanai vari paskatīt 4 un 5 zvaigžņu uzdevumu olimpā). Šo programmētāju domāšana ir pāris līmeņus augstāka, nekā darbs, ko ikdienā viņi veic. Tas ļauj viņiem ļoti labi redzēt kopainu, pielaist daudz mazāk kļūdu, daudz ātrāk strādāt un daudz labāk izstrādāt kopējo arhitektūru. Ja programmētājs nezin, kas ir, piemēram, O(N log(N)) vai nespēj izanalizēt dažādu algoritmi izpildes laiku, ja nemāk uzrakstīt vienkāršas datu struktūras kā binārais koks, heštabula, grafs, utt., tad uzskatu, ka šis cilvēks īsti par programmētāju nevar saukties. Quote Link to comment Share on other sites More sharing options...
Psihius Posted May 17, 2012 Report Share Posted May 17, 2012 LOL, ap 90% un skaitā virs 2 desmiti no programmētājiem, ko es pazīstu, nāk no C++ un šeit es runāju par programmētājiem, kas var paņemt priekšā IOI vai ACM uzdevumus (salīdzināšanai vari paskatīt 4 un 5 zvaigžņu uzdevumu olimpā). Šo programmētāju domāšana ir pāris līmeņus augstāka, nekā darbs, ko ikdienā viņi veic. Tas ļauj viņiem ļoti labi redzēt kopainu, pielaist daudz mazāk kļūdu, daudz ātrāk strādāt un daudz labāk izstrādāt kopējo arhitektūru. Ja programmētājs nezin, kas ir, piemēram, O(N log(N)) vai nespēj izanalizēt dažādu algoritmi izpildes laiku, ja nemāk uzrakstīt vienkāršas datu struktūras kā binārais koks, heštabula, grafs, utt., tad uzskatu, ka šis cilvēks īsti par programmētāju nevar saukties. Gan pateikšu par algoritmiem, kā te ir stipri atkarīgs no jomas, kurā tu strādā. Piemēram es strādāju WEB'a jau 7-8 gadus un Pascal/C/C++ izmantoju kad vel mācījos tehnikumā. Tāpēc ne binaro koku es tev uzrakstīši, ne kartošanas algoritmu kādu (99.999% variantos iebūvēts valodā būs atrāks nekājebkura no realizācijām ar PHP kodu mana gadijumā). Man vispāri viss tas nav vajadzīgs jo tās ir lietas no citas jomas, ar kuru es nenodarbojos un netaisos nodarboties. Bet visus tos pamatus es zinu un kad vajadzēs, tad problēmu man ar to nebūs. Bet reali, ja vajadzēs ko tādu darīt daudz effektivāk paņēmt cilvēku ar vajadzīgām iemaņām un iedod viņām uzdevumu, nekā šādi-tādi provēt risināt pašam. Ko tiešām īštam programmētājām ir jāzin tas ir datorzinātnes - bez tām var iztikt, bet ja ir kāda fundamentāla problēma - tad nu ir ziepes. Pat rakstot uz PHP man tās stipri palīdz (bet es jau nu nenodarbojos ar konveira web lapu izstrādi - es nodarbojos ar backend sistēmām, API un tam līdzīgu lietu izstrādi kur WEB interfejs ir 1%-5% no paša projekta). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.