Jump to content
php.lv forumi

Kāpēc PHP tik ļoti sux'o, bet tomēr mēs visi to lietojam


daGrevis

Recommended Posts

3) nav ērtu izstrādes rīku

Kas vainas Netbeans?

 

4) pilns ar lameriem

Kur tad viņu nav. Toties ir daudz vairāk ekspertu kā citās valodās, tāpēc googlē var ļoti ātri atrast risinājumus jebkādām problēmām.

 

5) nav normāla ietvara ar ORM, admin un citām iekļautām fēčām (līdzīgi django python)

Nu jau nu: http://stackoverflow...php-orm-library

 

 

Es jau labu laiku strādāju ar python. Varētu teikt, ka mācījos programmēt no jauna, jo iekš PHP tā bija kaut kāda šablonu rakstīšana vairāk. Python ir tik spēcīgs, ka es vēl joprojām neesmu tajā visu izpratis.

Šeit drīzāk prasās pēc jautājumu, kas ir tāds saistībā ar web aplikācijām, ko pythonā var izdarīt super efektīvi, ko PHP nevar?

Link to comment
Share on other sites

  • Replies 257
  • Created
  • Last Reply

Top Posters In This Topic

nepatīk:

1) neloģisks un nesaprotams - jārakājas pa php.net un jāmeklē strlen un līdzīgas funkcijas

No visiem izteikumiem šis man liekas ja ne pats, tad viens no dīvainākajiem. Tieši PHP šajā ziņā ir absolūti ērtākā valoda, jo visas nepieciešamās funkcijas ir a) zināmas no galvas b) atverot manuāļa sadaļu "string functions", es iegūstu visas iespējamās funkcijas darbībām ar stringiem. Līdzīgi, atverot "array functions", es iegūstu visu, ko normālam cilvēkam vajag, lai strādātu ar PHP masīviem. Wunderbar! Nevar pat salīdzināt, kad vajag kaut ko noskaidrot par kaut kādu .NET fīču unikālajā MSDN.

 

Nu un, ka vienas stringu funcijas ir str_x(), bet otras y_str(), a trešās strz(). Ķipa miljoniem tādu ir un ikdienā lieto, lai nevarētu kaut nedaudz atcerēties? Un ja nevar - tad elementāri atlasīt vajadzīgo no vienas lapas reference manuālī.

 

Es saprotu PHPistus, kuri saka, ka PHP ir labs un ar to daudz ko var taisīt. Tikai viena problēma, lai objektīvi novērtētu PHP vs python (vai ruby), tad sākumā jābūt PIEREDZEI, viss pārējais ir tikai svešas domas un tukša runāšana.

 

Atceros, kā pats apmeklēju Raimonda Simanovska (ruby.lv) lekcijas un īsti neizpratu tādus vārdus kā ORM, TDD. Un tagad saprotu, ka nav jēgas ietiepīgiem programmētājiem stāstīt, cik citur ir labi. Tas ir vienkārši fakts, jums tikai jāatrod laiku un jāpamēģina.

Redz, ar PHP nav jātaisa daudz kas. Ar PHP ir jātaisa webs, jo tieši tādam mērķim PHP ir radies, un taisīt kaut ko webam ar PHP ir čum vieglāk kā ar citām valodām.

 

Kas attiecas uz atklāsmēm Simanovska lekcijās, tad tur īsti nevar vainot PHP, cik paša nezināšanu par to, kas tas ir un ko ēd.

Link to comment
Share on other sites

Cik var ņemties ap šīm lietām... Kamēr piķi var izcelt ar PHP (vai ar jebkuru citu produktu) - kādēļ gan ne? Dēļ tām minorīgajām nepilnībām? Nu nu - kodēt mācamies un krājam pieredzi.

 

Starpcitu, tas autoload vs "include(all)" tik nežēlīgi palīdz ātrdarbībai, ja visas tās bibliotēkas ir APC kešā? Es saprotu, ka require() un include() kaut ko tur minimāli aiztur, bet tāds autoload taču noteikti arī?

Edited by marrtins
Link to comment
Share on other sites

Viena lieta ir kad neizmanto, jo izmanto, ko citu, pavisam cita, kad skeilošanās nolūkos aizmaina valodu prom.

 

Un ko tu ar to gribēji pateikt? Ka meklēšanai Scala / Java / Lucene ir labāks par RoR? Un nepieminēt to, ka PHP kā valoda vispār pat nav apsvērta lietot Twitter. Tam nav nekāda sakara ar diskusiju par to, ka PHP būtu labāks par Python/Ruby/whatever.

 

Es jau minēju 3 trūkumus pašā sākumā, savukārt vēl kādus 20 vispārinātu konstatējumus, kurus tur patīk saukt par trūkumiem, tu vari dabūt nomainot PHP vārdu tevis dotajā rakstā pret Python.

Atkārtoju:

1)ērts lazy loading un lazy initialization izmantojot autoload

Kā jau biedrs swiers rakstīja, normālās valodas iebūvēts autoload mehānisms nav nepieciešams, jo to programmētājs ar tādu nepieciešamību var ar pārdesmit (vai mazāk) rindu kodu mierīgi uzrakstīt pats. Te pāris linki par to Pythonam, par Ruby jau atbildēja -http://stackoverflow.com/questions/1024455/autoload-in-python http://code.activest...recipes/473888/ Tas tikai liecina, ka PHP kā valoda ir sūdīga.

 

2)ērta templeitu valoda - tā pati, kas aplikācijas valoda un strādā ātri, jo nav būvēta kā valoda iekš skriptu valodas.

Ok, tātad Python nav templeitu valoda, tas ir mīnus programmēšanas valodai, tā arī pierakstām :).

 

3)Patīkama sintakse

Viedokļi dalās, liela daļa cilvēku uzskata, ka Python kods ir lasāmāks un īsāks. Manā uztverē tas ir liels pluss.

 

 

4)Plašs atbalsts, gan API un to bibliotēkas, kas parasti pa priekšu ir priekš PHP, gan plašs rīku klāsts.

Es neredzu būtisku PHP priekšrocību šajā ziņā, bet lai būtu.

 

 

5)Uzliec PHP un tev ir visas biežāk izmantotās bibliotēkas, kuras strādā, nevis kā pythonā, katrai lietai jāinstalē sava bibliotēka, pie tam vienai bibliotēkai pēkši ir atbalsts līdz vienai pythona versijai, citai līdz citai. Python bibliotēkām nav vienotas konsistences.

Par vienotu konsistenci salīdzinājumā ar Python ņirgājies vai kā? Rakstu lasīji? Stdlib arī Python ir. Un par versijām runājot, gribi teikt, ka PHP versiju maiņa bibliotēkas nekad nekādi neietekmē? Bet nu labi, aiz ausīm pievilkts punkts / viedoklis.

 

6)Facebook uzbūvējis Virtuālo mašīnu, kas nozīmē, ka tagad PHP kods strādās pāris reizes ātrāk par Python, nemaz nerunājot par to, ka jau ilgu laiku ir pieejams kvalitatīvs PHP to C++ translators, kurš arī strādā, atšķirībā no python versijām, kuras visas ir 0.x stadijā.

PHP ir ātrāks un vieglāk pārnesas uz C++. Ok. tā arī vajag teikt, nevis rakstīt basņas par Facebook.

 

Mēs varam runāt par visādām nereālām lietām, kā python ir skaists kods, python ir šāds un tāds, bet beigās visu izsaka tas, cik ātri mēs varam šipot produktu, mainīt produktu, likt klāt ņemt nost jaunas fīčas un beigu beigās arī skeilot, ne tikai uz serveriem, bet arī uz inženieriem.

Skeilošana uz inženieriem nav valodas īpašība. Par pārējo - absolūti neredzu PHP priekšrocību, gluži otrādi. Ar visiem šiem aiz ausīm pievilktajiem argumentiem gļuku saraksts ne tuvu nav tik liels, kā pirmajam diskusijā minētajam rakstam. Turklāt lielākā daļa neattiecas uz valodas dizainu kā tādu. Es saprotu, ka mēs viens otru nepārliecināsim, tāpēc arī netaisos vairs censties.

 

 

No visiem izteikumiem šis man liekas ja ne pats, tad viens no dīvainākajiem. Tieši PHP šajā ziņā ir absolūti ērtākā valoda, jo visas nepieciešamās funkcijas ir a) zināmas no galvas b) atverot manuāļa sadaļu "string functions", es iegūstu visas iespējamās funkcijas darbībām ar stringiem. Līdzīgi, atverot "array functions", es iegūstu visu, ko normālam cilvēkam vajag, lai strādātu ar PHP masīviem. Wunderbar! Nevar pat salīdzināt, kad vajag kaut ko noskaidrot par kaut kādu .NET fīču unikālajā MSDN.

 

Nu un, ka vienas stringu funcijas ir str_x(), bet otras y_str(), a trešās strz(). Ķipa miljoniem tādu ir un ikdienā lieto, lai nevarētu kaut nedaudz atcerēties? Un ja nevar - tad elementāri atlasīt vajadzīgo no vienas lapas reference manuālī.

Normāli izstrādātāji lielu daļu ne ikdienā izmantotu lietu neiekaļ, bet atceras pēc loģikas. Un ja loģikas programmēšanas valodā nav, tad nu sorry. Pilnīgs bullshit šis komentārs.

Link to comment
Share on other sites

Kā jau biedrs swiers rakstīja, normālās valodas iebūvēts autoload mehānisms nav nepieciešams, jo to programmētājs ar tādu nepieciešamību var ar pārdesmit (vai mazāk) rindu kodu mierīgi uzrakstīt pats. Te pāris linki par to Pythonam, par Ruby jau atbildēja -http://stackoverflow.com/questions/1024455/autoload-in-python http://code.activest...recipes/473888/ Tas tikai liecina, ka PHP kā valoda ir sūdīga.

Nu, var jau lietot arī pliku C core un vajadzīgās fīčas piekodēt pats. Nu tur, piemēram, stringu apstrādi. Tā sanāk, ne? Vai kas nu tur, masīvu apmest otrādi vai sakārtot. C ir sūdīga, jo tur ir tādas funkcijas jau komplektā.

 

Ok, tātad Python nav templeitu valoda, tas ir mīnus programmēšanas valodai, tā arī pierakstām :).

Tieši tā, jo web programmēšanas valodai iztrūkstoša, webam vitāli nepieciešama, lieta - templeitu valoda, izskatās pēc krietna mīnusa, kas PHP nepiemīt.

 

Viedokļi dalās, liela daļa cilvēku uzskata, ka Python kods ir lasāmāks un īsāks. Manā uztverē tas ir liels pluss.

Īsāks jā, bet tie C stila redundantie simboli, manuprāt, lasāmību tieši uzlabo. Parserim, protams, tas ir vienalga, tas bloku spēj ieraudzīt arī tad, ja tas ir vienkārši whitespace'ots, bez figūriekavām apkārt.

 

Normāli izstrādātāji lielu daļu ne ikdienā izmantotu lietu neiekaļ, bet atceras pēc loģikas. Un ja loģikas programmēšanas valodā nav, tad nu sorry. Pilnīgs bullshit šis komentārs.

Ja izstrādātājs nav truls zābaks un raksta valodā ne pirmo dienu, tad tādas vispārīgas lietas jau nu pēc kāda laika vajadzētu bez īpašas mācīšanās zināt no galvas. Manuprāt.

Link to comment
Share on other sites

Kā jau biedrs swiers rakstīja, normālās valodas iebūvēts autoload mehānisms nav nepieciešams, jo to programmētājs ar tādu nepieciešamību var ar pārdesmit (vai mazāk) rindu kodu mierīgi uzrakstīt pats. Te pāris linki par to Pythonam, par Ruby jau atbildēja -http://stackoverflow.com/questions/1024455/autoload-in-python http://code.activest...recipes/473888/ Tas tikai liecina, ka PHP kā valoda ir sūdīga.

SO kods ne tuvu nav tas pats PHP autoloads, savukārt kā redzam no activestate raksta pirmajiem komentāriem, tad arī pat 150 rindiņu garais kods neiet visos gadījumos (piemēram ) un nenodrošina to pašu, ko PHP autoloads, kamēr PHP šī būtiski svarīga funkcionalitāte vienkārši strādā.

 

5:0

 

Ok, tātad Python nav templeitu valoda, tas ir mīnus programmēšanas valodai, tā arī pierakstām :).

Tieši tā, ja tiek taisīts webs, tad templeitu valoda bieži būs uzrakstīta 20%-50% no aplikācijas.

 

7:0

 

Viedokļi dalās, liela daļa cilvēku uzskata, ka Python kods ir lasāmāks un īsāks. Manā uztverē tas ir liels pluss.

Lasāmāks kam? Ja nāc no C++, tad nav lasāmāks, ja esi dzimis ar python un ruby vai esi baigais funkcionālās programmēšanas paradigmas piekritējs, tad visdrīzāk ir.

 

8:1

 

Es neredzu būtisku PHP priekšrocību šajā ziņā, bet lai būtu.

Es gan redzu. Ja, teiksim, Top hostinga kompānija Rackspace atver jaunu produktu - cloude storage un sākotnēji tās API ir tikai PHP bibliotēka, tad PHP programmētāji, var šo servisu izmantot uzreiz, kāmēr pārējiem ir jāraksta bibliotēka savā valodā.

 

9:1

 

Par vienotu konsistenci salīdzinājumā ar Python ņirgājies vai kā? Rakstu lasīji? Stdlib arī Python ir. Un par versijām runājot, gribi teikt, ka PHP versiju maiņa bibliotēkas nekad nekādi neietekmē? Bet nu labi, aiz ausīm pievilkts punkts / viedoklis.

No pieredzes. Veidoju aplikāciju pythonā (ne web, jo webam izvēlos PHP), bija nepieciešama attēlu apstrāde. izrādījā, ka nāksies ņemt visai aplikācijai zemāku python versiju, jo PIL bibliotēka neatbalstīja tik jaunu.

PHP šādas problēmas nav, ja ir konkrēta PHP versija, tad visas biežāk izmantotās bibliotēkas tur ir iekšā (attēlu apstrāde, DOM/XML , cookies, sesijas, get, post mainīgo apstrāde, failu uploads, mysql, pasts), savukārt pythonā ta viss gandrīz vienmēr jāinstalē klāt + liela daļa no šīm funkcionalitātēm nav kā C moduļi, bet gan pašā pythonā rakstīti, tāpēc lēnāki.

 

12:1

 

PHP ir ātrāks un vieglāk pārnesas uz C++. Ok. tā arī vajag teikt, nevis rakstīt basņas par Facebook.

Ne tikai ir, bet ir arī rīki, kas pie skeilošanās ir īpaši svarīgi, jo vari ātri samazināt serveru noslodzi vairākas reizes.

 

13:1

 

Skeilošana uz inženieriem nav valodas īpašība.

Šijā gadījumā ir, jo PHP sintakse nāk no C/C++ grupas valodu sintakses un top inzēnierus var atrast tieši nākam no C/C++.

Tātad pateicoties tam, ka PHP ir tieši tāda sintakse, šī valoda sekilojas labāk uz inženieriem

 

14:1

Link to comment
Share on other sites

1. perioda beigas :>

14:1

 

Un punktus, kas bija apspriežamajā rakstā, par php mīnusiem mēs neskaitam? man šķiet tur bija vairāk par 14. It īpaši pēc šīs visnotaļ neizprotamās skaitīšanas sistēmas.

 

Labi, tas bija mans pēdējais jautājums šajā diskusijā. Apsveicu codez ar uzvaru :)

Link to comment
Share on other sites

Iepriekšējos kommentārus rakstot iespējams biju nedaudz par daudz aizdedzies, bet whatever. (Btw, rubijam ir iebūvēts statiskais autoloads)

 

Turpināšu šī topika stilā, -- pa vienam kommentāram, metājoties apkārt, mēģinot atspēkot kaut ko no tā, ko izlasīju un ko gribu kommentēt. ~~~

 

1. Tas, ka templeitu valoda ir iebūvēta vai nē, neko nenozīmē. Visās valodās, ja tās nav, tam ir paka un viss atkal ir forši, un manuprāt PHP kā templeitu valoda dažreiz izskatās draņķīgi.

2. Par lasāmību runājot -- ja tev kāda valoda šķiet mazāk lasāma, tādēļ, ka nāc no citas vides, tad tās ir tavas problēmas. Nav arguments.

3. Punktu skaitīšana par labu vienai vai otrai valodai šoreiz ir idiotisms, jo tā pat zināms, ka mēs reāli pie slēdziena visdrīzāk nenonāksim.

4. Man kodējot rubijā dokumentācija ir vajadzīga retāk, nekā PHP, jo ir tas, kas ir saucams par consistency(līdzīgi metožu nosaukumi, sistēma).

5. Valodas pārākuma bīdīšana caur vienu fīču(t.i. autoload) ir *feil*. Labi, varbūt vienai valodai nav tik kruts autoload, bet nu tādēļ nav jāsitās nost.

6. Visi vienmēr netaisa savu API caur PHP, un pēdējā laikā esmu redzējis daudz ne-PHP API || HTTP API, tā kā tas ir tāds pusarguments, t.i. buļļsūds.

7. Top inženieris parasti var visu. Un no kurienas tu izzīdi to argumentu?

8. Šis viss obv. ir trollis, un šis tikai mūs visus degradē.

9. PHP ir pāris + punkti, ko tu tur saskaitīji, bet tad, kad ir viņu jākodē, bieži vien saproti, ka to rakstīt nav ērti un manuprāt svarīgāk ir lai pašam ir prieks kodēt.

 

P. S. Man dažbrīd ir sajūta, ka codez galva ir kaut kur melnā tumšā kastē. Kā arī šo visu neesmu pārlasījis un rediģējis, tā kā te noteikti būs kaut kur muļķības. [Šautauts] edgaramj, jo viņš saprata, ka šis nekur neved. Malacis, tu esi gudrāks par mani.

 

Dzīvē nav kā teicienā -- par gaumi strīdās lai gan nevajadzētu. Hehe, bučas.

Edited by swiers
Link to comment
Share on other sites

Šim visam tik ļoti trūkst konteksta. Jo pat teiciens - "when all you have is a hammer - everythiong looks like a nail" - ir visai neprecīzs. Pat āmuri ir tik dažādi un izmantojami tik dažādiem mērķiem...

2lhn15adkdh8b44ofbup.png

4ntihm3yfzcvm9bcewv.png

 

Nu, kurš ir tas pareizākais āmurs? (Žetons tam, kurš zin katra no šo āmuru lietojumu ;) )

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...