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

Turpinam? :)

 

http://www.codinghorror.com/blog/2012/06/the-php-singularity.html

 

I can’t even say what’s wrong with PHP, because – okay. Imagine you have uh, a toolbox. A set of tools. Looks okay, standard stuff in there.

 

You pull out a screwdriver, and you see it’s one of those weird tri-headed things. Okay, well, that’s not very useful to you, but you guess it comes in handy sometimes.

 

You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways.

 

You pull out the pliers, but they don’t have those serrated surfaces; it’s flat and smooth. That’s less useful, but it still turns bolts well enough, so whatever.

 

And on you go. Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And there’s no clear problem with the set as a whole; it still has all the tools.

 

Now imagine you meet millions of carpenters using this toolbox who tell you “well hey what’s the problem with these tools? They’re all I’ve ever used and they work fine!” And the carpenters show you the houses they’ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.

 

That’s what’s wrong with PHP.

 

PHP isn't so much a language as a random collection of arbitrary stuff, a virtual explosion at the keyword and function factory.
Link to comment
Share on other sites

  • Replies 257
  • Created
  • Last Reply

Top Posters In This Topic

If you want to develop a better alternative, then focusing on the language itself will doom you to failure. PHP succeeded because of its usefulness and utility, not because of abstract and non-marketable ideas like language-syntax-purity and so forth. Any alternative must be immediately useful and easy-to-work-with, and trying to make the language somehow better from a pure programmer's perspective invariably makes a language harder-to-use, as far as I can tell.

 

PHP isn't so much a language as a random collection of arbitrary stuff, a virtual explosion at the keyword and function factory.

Tieši tas ir tas, kas PHP padara ģeniālu. Tas ir sīks template engine, kurā ir visas funkcijas, kas nepieciešamas web developmentam.

Link to comment
Share on other sites

Tas, ko daGrevis iecitēja, ir iemesls, kas lika izvēlēties PHP, jo tādas šķita pārējās alternatīvas. Tieši priekš Web PHP ir īstais āmurs, īstās knaibles, utt. Vispār, visi šie argumenti man šķiet tādi pašķidri, katrs ir to deķi krietni pavilcis uz savu pusi. Pirms PHP esmu apguvis citas valodas un varbūt tādēļ arī šo cepšanos vairāk uztveru nevis kā cepšanos par PHP kā izstrādes instrumentu, bet kā vidi, cilvēkus. PHP nav ne ģeniāls, ne sux, tas vienkārši ir ērts rīks web lapām.. Tāpat kā JavaScript ar vai bez jQuery utml. abstrakcijām - web lapas dinamiskumam un MySQL nemaz nebūtu zināms, ja tajā laikā Oracle/IBM/MS būtu devušas pa brīvu savas datubāzes.

 

Un kāpēc gan lai Java nebūtu "random collection of arbitrary stuff"? Novelc bibliotēkas un lieto, par katru tēmu varēs atrast vairākas.

 

Viena lieta, kuru gan var pamanīt - šajās diskusijās var redzēt, ka programmēšanas jomā krītas zināšanu līmenis. Viedokļi ir vairāk emocionāli, vienpusīgi, personīgās iedomas pasniegtas kā fakts.. Ja mediķim jāmācās 10 gadus, es teiktu, ka programmētājam arī tik pat, un ar to es domāju mācīšanos intensīvi, katru dienu, par dažādām tēmām.

 

Esiet kritiski!

Link to comment
Share on other sites

Tieši tā. Un mēs atkal nonāk pie tā paša, kas ir šī topika pašā pirmajā postā.

 

> While it's not perfect, it works...

 

Ja esmu, tā teikt, klients aplikācijai — man ir vienalga vai apakšā ir izmantots PHP ar globālajiem mainīgajiem, vai Python ar junit-testiem. Rezultāts ir viens un tāds pats. Bet ir cilvēki, kuri aplikācijas kodu pēc tam uzlabo, pilnveido. **Viņiem gan ir svarīgi, lai kods būtu labs!** Nejauc visu vienā putrā, lūdzu.

 

P.S. Labie laiki, kad tev bija vienalga — kā kods ir uzrakstīts... galvenais, ka strādāja!

Link to comment
Share on other sites

Neesmu gan strādājis ar Python un Ruby, bet pieņemu, ka tas tīrais OOP princips varētu būt kā C# vai Java - viss atrodas iekš klasēm, galvenā ir main klase.

Ar PHP to pašu principu var izveidot, ja nepieciešams, papildus datus glabā kādā xml failā, ja nepatīk bez klases esošais php kods.

Lasīju, ka python esot labāks koda garuma ziņā - īsāks kods ne vienmēr nozīmē, ka ir pārskatāmāks un nākošajam lietotājām ērtāk lietojams.

Tad varētu vēl sākt strīdēties par to, kas ir labāka valoda - asp.net vai php, jo redz asp.net ir piebūvēta klāt c# valoda - ērtai un labai lietošanai.

Un kas ir labāk - roze vai tulpe?

Link to comment
Share on other sites

Neesmu gan strādājis ar Python un Ruby, bet pieņemu, ka tas tīrais OOP princips varētu būt kā C# vai Java - viss atrodas iekš klasēm, galvenā ir main klase.

Ar PHP to pašu principu var izveidot, ja nepieciešams, papildus datus glabā kādā xml failā, ja nepatīk bez klases esošais php kods.

Lasīju, ka python esot labāks koda garuma ziņā - īsāks kods ne vienmēr nozīmē, ka ir pārskatāmāks un nākošajam lietotājām ērtāk lietojams.

Tad varētu vēl sākt strīdēties par to, kas ir labāka valoda - asp.net vai php, jo redz asp.net ir piebūvēta klāt c# valoda - ērtai un labai lietošanai.

Un kas ir labāk - roze vai tulpe?

 

Tipisks PHP programmētājs — neesmu mēģinājis, bet kaut kur lasīju, kaut kur dzirdēju. Pie tam tādu te vairākums. Nav jēgas ar tādiem strīdēties un rādīt citas valodas labumus, tā pat tie būs lieki un nevajadzīgi.

Paņem un pamēģini, uztaisi kaut 1-2 lapas. Tas arī attīstīs tevi kā programmētāju. Mani pārsteidz PHP programmētāji ar vairāku gadu pieredzi, kuri pārzina tikai savu PHP (javascript neskaitās). Ņemot vērā, ka python un ruby ir jums konkurenti. Jums nepatīk apskatīties kā lietas notiek pie konkurentiem un kaut ko pašpikot?

Link to comment
Share on other sites

Mani pārsteidz PHP programmētāji ar vairāku gadu pieredzi, kuri pārzina tikai savu PHP (javascript neskaitās).

Mani pārsteidz cilvēki, kas spriež par citiem pēc saviem pieņēmumiem.

Nav jau tā, ka zinu tikai PHP. C++, C#, Java, ASP.NET, Silverlight, esmu pētījis Groovy, kā arī node.js.

Ja Python un Ruby vēl nav bijis manā sarakstā, tad, tas nenozīmē, ka vienīgais, ko zinu ir PHP.

 

Tipisks PHP programmētājs — neesmu mēģinājis, bet kaut kur lasīju, kaut kur dzirdēju. Pie tam tādu te vairākums. Nav jēgas ar tādiem strīdēties un rādīt citas valodas labumus, tā pat tie būs lieki un nevajadzīgi.

Nav tā kā es biju teicis? Ja nav tā kā biju teicis, tad pārlabo, ja bija, tad kāpēc kritizēt?

Link to comment
Share on other sites

 

Tipisks PHP programmētājs — neesmu mēģinājis, bet kaut kur lasīju, kaut kur dzirdēju. Pie tam tādu te vairākums. Nav jēgas ar tādiem strīdēties un rādīt citas valodas labumus, tā pat tie būs lieki un nevajadzīgi.

Paņem un pamēģini, uztaisi kaut 1-2 lapas. Tas arī attīstīs tevi kā programmētāju. Mani pārsteidz PHP programmētāji ar vairāku gadu pieredzi, kuri pārzina tikai savu PHP (javascript neskaitās). Ņemot vērā, ka python un ruby ir jums konkurenti. Jums nepatīk apskatīties kā lietas notiek pie konkurentiem un kaut ko pašpikot?

Ir cilvēki, kuri apdomāti izvēlās savu uzmanību koncentrēt uz noteiktām valodām un platformām. Kāpēc? Lai ne vienkārši zināt un mākt, bet lai būtu guru savā jomā. Un to nepanāksi lēkājot no valodas uz valodu, no vienas platformas uz citu. Var provēt, skatities, bet lai nopietni pastrādāt vajag vissmaz 3-5 gadus. Lai kļūt par guru vajag vissmaz kādus gadus 10, a to visus 15.

Izskatās ka runajot uz doto brīdi par PHP vs Ruby vs Python vs etc visi aizmirst par to, ka tīrs PHP kā tāds ir praktiski superlīme ar kuru parasti tiek salimētas kopā vissmaz 3 tehnologijas: PHP, datu bāzes, HTML/CSS un JavaScript. PHP vietā var būt tas pats Ruby, Python, C# u.t.t. Un tas ir tas minimums. Praktiski jebkurš daudz maz sarežģīts projekts sevī sāk pievienot kādu NoSQL datubāzi, bieži vien memcache vai tam līdzīgs kas tiek izmantots. Kaut kur rādās Sphinx vai viņa kolēģi.

Lai iegūt pieredzi, izpētīt, iemācītīes pareizi strādāt un prast risināt jebkuru problēmu visam šim produktu un yehnoloģiju klāstam guru līmenī ar 10 gadiem neapiesies. Daudzi cilvēki pat tik daudz nenovelta un domā ka viņi jau visu zin un visu prot. Nu un tad sākās holywar un tam līdzīgas lietas. Galu galā jums ir cilvēks-kombains - itkā prot daudz un dažādi, bet tik sastaps kādu pamatīgu uzdevumu un hops - lasa dokumentāciju, lasa mailing lists, problēmas ar production versiju dziļu zināšanu trūkuma dēļ un tam lidzīgas lietas.

Var būt plaša klāsta specialistam - kaut ko zin labāk, kaut ko sliktāk un pamatā tikt galā ar tekošo darbu just fine. Bet var arī būt guru savā jomā, kam ir jarisina īpašās problēmas, būt tām cilvēkam kas ved aiz sevis citus un patiešām baudīt sava darba rezultātus (nu un kā papildus effekts - darba alga ir stipri augstāka, nekā vidēja).

 

Varat teik ko gribat, bet guru PHP jomā var pelnīt nemazāk (pat arī vairāk) nekā tie paši Python/Ruby speci. Kāpēc? Python/Ruby no sākuma uzstāda līmeni, bet dod maz rūmes sataisīt kaut ko citādi - WEB jomā visu nosaka noteiktais framework. Ar PHP ir cita lieta - tur ir pilnīga brīvība šaja ziņā, tāpēc starpība starp vidējo specialistu un guru ir ļoti liela. KISS filosofiju ir arī jasaprot un jamāk balansēt. Tāpēc atrast īstu specialistu ir grūtāk nekā Ruby/Python, bet īstu guru ir pavisam niecīga daļā.

 

Personīgi es esmu ceļā kopā ar PHP uz to guru jomu. Man ir profilā izglītība, kuru es esmu ar savām spējām papildinājis ar zināšanām sākot no principiālās processora uzbūves, datora hardware daļas, datorzinātnes ārpus tehnikuma un universitātes kursa un beidzot ar manas jomas lietām, kuru attīstībai es katru dienu noveltu laiku. Cik daudzi no jums strādāja ar MySQL NDB Cluster? Cik daudzi lasa mysqlperformanceblog? Kas personīgi no jums ir ticies ar Percona pārstavjiem? Vai ar MySQL pārstavjiem (kuri sākuši vel MySQL AB un uz to brīdi jau bija Oracle), vai ar Sphinx developeriem? Sava mīļāka framework core developer? Kurš no jums lasa savas valodas DEV mailing list (prieks PHP tas saucās php-internals) un ar savu balsi ir iespaidojis valodas attīstību?

 

Iemācīties un strādāt vel ir tikai sākums. Ir cītīgi jastrādā katru dienu savā personīgā labumā, lai gados 40 bija ko atcereties un ar ko lepoties.

Edited by Psihius
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...