Jump to content
php.lv forumi

PHP loģika?


Wuu

Recommended Posts

Ja tu skaties uz Javas pusi, tad vari ar vienu aci skatīties arī uz Scalas pusi (inb4 Clojure). Ja godīgi, ņemot vērā, ka Scalā ir mierīgi iespējams uzrakstīt visu to pašu, ko Javā (pieņemot, protams, ka ir nepieciešamās zināšanas), tikai īsāk, tad es pat vairāk ieteiktu Scalu.

Link to comment
Share on other sites

  • Replies 56
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Visi, kas lamā php un javascriptu ir izlutināti tirliņi, jo šīs brīvi tipētās valodas ļauj jums rakstīt kodu kā vien vēlies, padot vienalga kādu mainīgo vienalga kur un valoda to sagremo.

Nebūtu šito valodu lielākā daļa datoram vispār klāt neietu

Link to comment
Share on other sites

Wuu, Javu tu sāksi lamāt vēl ātrāk nekā php. Problēma ir tevī nevis valodā :D

Nekad neesmu teicis ka es esmu guru, bet tev iesaku aiziet "uzprogrammēt" vēl vienu wordpres lapelīti... Bet ja pat tāds tunelis, kā es, varu atrast tādas likrocību un bezsakarus PHP, tas ir līmenis. Excels šobrīd liekas pievilcīgāks :D

 

Kaspars uzskata, ka ja jebkurš var uzrakstīt, tas ir pluss?

Edited by Wuu
Link to comment
Share on other sites

WP lapa tiks programmēta pēc jāņiem :P 

WP burvība ir tāda, ka uz lapas programmēšanu praktiski nevajag tērēt laiku. Visu laiku varu atvēlēt frontend izstrādei - responsīvs dizains, visādas javascript fiškas, kārtīgi noslīpēt uz telefoniem, planšetēm utt

 

Nu un tava problēma ir, ka skrien uz internetu lamāties nevis atvert php manuāli un izlasi kā darbojas isset un kā empty.

 

Vēl daudz laika paies kamēr dators spēs saprast ko tu gribi/domā. Bet līdz tam nāksies vien lasīt manuāli un rakstīt kodu tā, lai kompilators to saprot

Edited by Kasspars
Link to comment
Share on other sites

jo šīs brīvi tipētās valodas ļauj jums rakstīt kodu kā vien vēlies, padot vienalga kādu mainīgo vienalga kur un valoda to sagremo.

Un sagremo arī kaudzi pielaistu kļūdu, kuru debugošana un labošana bieži vien var aizņemt vairāk laika kā paša koda rakstīšana.

Scalā, izmantojot db abstrakcijas slāni, es db kverijus rakstu statiskus tā, ka pat gribēdams nevaru uzrakstīt nepareizu kveriju, lai pabeidzot rindiņu IDEi pieslēgtais kompilātors nebļautu par kļūdu.

Piemēram, šādi izskatās koda gabals, kurš paņem no db komentārus noteiktam rakstam un izvada to saturu konsolē:

for(comment <- comments; if comment.article_id===123){
  println(comment.text)
}

vai funkcionālā stilā tas pats:

comments.filter(_.article_id===123).map(println(_.text))

vai atgriež listu ar komentāru objektiem, piemēram, lai padotu templeitam:

comments.filter(_.article_id===123).list

Visos gadījumos tiek izpildīts vien sql kverijs, visas darbības ir statiskas un to pareizība tiek pārbaudīta pie kompilācijas.

 

Šādi lūk izskatās piemēram komentāri ar lietotāju informāciju (joins)

for {
  comment <- comments
  user <- users if comment.userid === user.id
} println(user.name+": "+comment.text)

Vai, piemēram, unions:

users.filter(_.age<18) ++ users.filter(_.age>65) 

Inserts ir vēl skaistāks:

users += User("jonh", age = 25, height = 1.76)

vai vairāku rindu ievietošana db:

users += List( User("bill"), User("james") )

No personīgās pieredzes varu teikt, ka Scalā es rakstu kodu, kurā ir desmitiem reižu mazāk kļūdas kā PHP. Un šeit "desmitiem" nav pārspīlējums. Un šī attiecība pieaug, pieaugot projekta izmēriem un kompleksitātei.

 

Nebūtu šito valodu lielākā daļa datoram vispār klāt neietu

Šī iemesla dēļ PHP ir pilns ar trokšņiem - nekvalitatīvām, nelietojamām bibliotēkām, koda gabaliem, pamācībām, utt.

Link to comment
Share on other sites

"brīvī tipētās valodas "  patiesībā ir slikta lieta. Labāk būt specifiskiem un sašaurināt problēmu iespējamību, skaidri definējot kas kur paredzēts, mazinot mulsuma momentus.

 

Kaujā specifisks vs universāls, specifiskums uzvar.

 

Ir gadījumi, kad dinamiski objekti perfekti iederās problēmas risinājumā, bet tie ir tikai daži gadījumi, bet šī jau atkal ir specifiskuma pieeja, kad mēs izvērtējam, kurā gadījumā lietot pareizos risinājumus, un kuros strikti tipi labāk kalpo.

Edited by gurkjis
Link to comment
Share on other sites

@Kasspars -

Subjective opinion - WP sucks. Hard.

Also, PHP IR līka valoda. Protams, tajā var programmēt arī salīdzinoši normāli un ar diezgan īsu sintaksi, bet tai ir visādas dīvainības, kuras normālam cilvēkam liekas galīgi neloģiskas. Ņemot vērā, ka valoda reāli tika taisīta vienam cilvēkam, nevis plašākai pasaulei, tad neko daudz vairāk no tās arī nevajadzētu gaidīt. Lai arī laika gaitā tā ir diezgan attīstījusies, tomēr pamati ir caurumaini, un par PHP core dev team arī esmu lasījis tādu sviestu, ka maz neliekās.

 

@codez -

 

>users.filter(_.age<18) ++ users.filter(_.age>65)

 

nu cmon, to nu gan būtu bijis efektīgāk rakstīt šādi:

 

users.filter(_.age < 18 || _.age > 65)

Edited by jurchiks
Link to comment
Share on other sites

Tak varat te visi ierakstīt kā WP sucks un ka PHP sucks, tas tā pat nemanīs to, ka abi šie ir populārākie un ērtākie savā jomā

 

Saprastu, ja es kodētu banku sistēmu vai forex līmeņa sistēmu, kurā kļūda var maksāt reālu naudu. Tad es tiešām neizmantotu php.

 

Bet nu te neviens tak nekodē neko nopietnāku par preču katalogu. Un kāda jēga izmantot javu, scalu, C#. Man šīs strongly typed valodas vienkārši nepatīk. Php šim nolūk der vienkārši perfekti

Vēl varētu kodēt uz nodes, bet nu atkal čakars ar hostingu. Es, protams, priecājos, ka tas viss attīstās. Pats es katru dienu izmantoju uz nodes taisītos dev tūļus

 

Paņemat Underscore.php un būs pilna pakaļa ar sintakses cukuru :D

Link to comment
Share on other sites

>populārākie

Pašlaik. Diemžēl. Bet laiki mainās. Un labi vien ir.

 

>ērtākie savā jomā

>PHP šim nolūk der vienkārši perfekti

Stipri apšaubāms, izteikti subjektīvs viedoklis.

 

>Bet nu te neviens tak nekodē neko nopietnāku par preču katalogu.

Speak for yourself.

 

>Man šīs strongly typed valodas vienkārši nepatīk.

Nu, te arī dialogs pārtop strīdā. Vienam patīk (e.g. man), otram nē (e.g. tev), un viens otru apstrīd.

Tas ir neapstrīdams fakts, ka brīvi tipētās valodās ir daudz vienkāršāk pielaist kļūdu nekā stipri tipētās. Piemirsti netīšām funkcijas parametru secību (kaut vai implode() neloģiskā parametru secība) un sākas.

 

Edit: Underscore.php neatrisina nevienu PHP valodas problēmu.

Edited by jurchiks
Link to comment
Share on other sites

>Piemirsti netīšām funkcijas parametru secību

Pacel poda vāku, novelc bikses, dirs. Sajauc šito secību un būs šmuce! Ko tu vainosi šajā visā? Poda vāku vai bikses?

 

>Stipri apšaubāms, izteikti subjektīvs viedoklis.

Un pats, kad pateici ka WP sucks hard. Arī izteikti subjektīvs viedoklis, bet nu tu to pateicu un vēl man aizrādīji

 

Un vispār haters gona hate :D Vieni ienīst php, otri ienīst tos, kas ienīst php un tā pa riņķi :)

Link to comment
Share on other sites

Vienkārši es varu rakstīt uz kā es gribu un kā es gribu, mani risinājumu jau tiek slavēti. Protams ne no koda puses, bet no lietojamības ērtuma. Ir sajūta ka nepieciešams kas nopietnāks, jo pašam būs vien jāatbalsta. Jūtos stulbi, ka pēc kursiem esmu izplānojis optimizācijas kodam, un tad atduries pret PHP neloģiskumu. Paldies dievam servera puse ir atsevišķi no klienta puses, tāpēc varu miermīlīgi mainīt servera pusi, nebaidoties ka klienta puses jāapraksta. Ieteikumi?

Link to comment
Share on other sites

@codez -

 

>users.filter(_.age<18) ++ users.filter(_.age>65)

 

nu cmon, to nu gan būtu bijis efektīgāk rakstīt šādi:

 

users.filter(_.age < 18 || _.age > 65)

 

Saprotams, tas bija "proof of concept" piemērs.

 

Bet nu te neviens tak nekodē neko nopietnāku par preču katalogu.

khmm, khmm, tā nu gan nebūs taisnība.

 

 

Un kāda jēga izmantot javu, scalu, C#. Man šīs strongly typed valodas vienkārši nepatīk.

1. Sintakses vienkāršums un universālums. Scalā tas pats kods parasti aizņem 3-5 reizes mazāk kā PHP. Un ir lasāmāks.

2. Dinamiski tipētā valodā tā pa īstam nav iespējams izveidot freimworku. Freimworka galvenais uzdevums ir izveidot rāmi(interfeisu), uz kura tiks tālāk būvēta aplikācija. PHP neļauj ierobežot daudzas lietas, no kā izriet, ka nekāds rāmis nesanāk. Scala turpretī ļauj izveidot freimworku, kurš principā tev neļauj uzrakstīt nepareizu kodu. Līdz ar to ir iespējams kodu daudz dziļāk abstrahēt un veidot daudz lielākas un kompleksākas aplikācijas, nepielaižot kļūdas.

Tas arī ļauj daudz ātrāk apgūt jaunas lietas. Iztēlojies, tu paņem lielu freimworku un sāc kaut ko veidot. PHP tu vari uzrakstīt daudz ko nepareizu un viss it kā iet, scalā turpretī tev vienkārši neļauj rakstīt nepareizi, jo freimworks daudz precīzāk pasaka, ko var un, ko nevar darīt.

Link to comment
Share on other sites

Wuu, tu saki, ka tev PHP nepatīk, bet šeit:

http://php.lv/f/topic/21857-empty-atgrie%C5%BEs-nepareizi/?hl=draza#entry172791

 

Runājot par mysql_* ir deprecated, pats sev saimnieks, pats sev pasūtu mūziku. Kādu PHP versiju gribēšu, tādu arī uzstādīšu. Man objektu orientētā draza nepatīk. 

 

Tagad aizej nokaunies uz kādu apmēram vienu gadu, ar to vajadzētu pietikt. Pa to gadu izmēģini pats pāris mēnešus pakodēt ar Python, pāris ar Ruby vai jebkuru citu jau izreklamētu rīku (tā kā objekti nepatīk, nāksies ķerties pie funkcionālās pieejas, hehe). Pēc tam atgriezies pie mums un pastāsti iespaidus.

 

Nav citas izejas kā vien izmēģināt pašam.

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