Jump to content
php.lv forumi

Vai HTML un SQL ir programmēšanas valodas?


Recommended Posts

Posted

HTML nav un nekad bijusi programmēšanas valoda. Tāpat arī css. Pieķeršos pie vienkāršākā - alogoritms - ne HTML, ne CSS nav iekšā nekādi algoritmi - tur ir tikai viens "algoritms" - kā konkrētais web pārlūks attēlos to, ko esi tur sarakstījis, viss - tev pašam nav nekādas kontroles par to. Ar HTML palīdzību tu nevari manipulēt ne ar datiem, ne rezultātu. Kas attiecas uz SQL, tad tā ir programmēšanas valoda. Ar to var manipulēt ar datiem, kontrolēt tos, pat veidot algoritmus.

Posted
HTML nav un nekad bijusi programmēšanas valoda. Tāpat arī css. Pieķeršos pie vienkāršākā - alogoritms - ne HTML, ne CSS nav iekšā nekādi algoritmi - tur ir tikai viens "algoritms" - kā konkrētais web pārlūks attēlos to, ko esi tur sarakstījis, viss - tev pašam nav nekādas kontroles par to. Ar HTML palīdzību tu nevari manipulēt ne ar datiem, ne rezultātu. Kas attiecas uz SQL, tad tā ir programmēšanas valoda. Ar to var manipulēt ar datiem, kontrolēt tos, pat veidot algoritmus.

Kādus algoritmus tu ar SQL vari uzbūvēt? Visādus SQL extensionus vari atmest (procedūras,cikli, mainīgie)! Citādi jau ar CSS expressioniem un HTML conditional komentiem arī var veidot algoritmus. Tas, kā katrs pārlūks attēlos HTML savādāk ir implementācijas un standartu trūkuma vaina. SQL, lai gan ir standarti, dažādas DBVS var atlasīt dažādus datus pie vienāda SQL pieprasījuma. Sevišķi, ja iesaistītas dabības NULL vērtībām.

 

Btw, kā tas ir manipulēt ar datiem un kā ir manipulēt ar rezultātu? Ar ko tas atšķiras?

 

Ar SQL palīdzību tu DBVs pasaki - man no tās tur kopas vajag dabūt to tur apakškopu, kas atbilst šitādiem kritērijiem un sakārto viņu tā kā man vajag. Ko tu te vari (vai vajag) kontrolēt? Tu vienkārši deklarē kas ir nepieciešams izdarīt ar datiem. Ar HTML tu tāpat deklarē kā tos datus attēlot.

Posted

Kāpēc tu procedūras, ciklus un mainīgos sauc par SQL extensioniem? Tie taču ir normālā SQL standartā iekšā SQL:2003, kas pie tam nav pēdējā SQL standarta revīzija.

 

Taču neviens mūsdienās nelieto aizvēsturisku SQL, bez tavis pieminētajiem "extensioniem". Parasti ar SQL saprot konkrētas DBPS (vai vairāku) SQL dialektu(s). Un vairums no mūsdienu DBPS nav iedomājamas bez storētajām procedūrām, trigeriem un tml, kur jau nu tu vari izpausties programmējot pēc savas patikas.

 

Un CSS expressions jau nav CSS. Tas ir Javaskripts, kas ielikts CSS'ā :)

Posted

PL/SQL ir tikai vienas konkrētas DBPS (Oracle) storēto procedūru valoda. Tas tiešām ir "extensions" SQL valodai. Konkrēta vendora papildfīča.

Posted

Nesapratu. Ja ar SQL standarta fīčām var programmēt (piemēram, uzrakstīt a=4; b=5; if (a>b) return a*2 else return b+4; ) tad kā to var nosaukt par "extensionu" ? Manuprāt, ja valodā spēj uzrakstīt kautko tml kā tādu if'u, tad nu par valodu nedrīkst teikt, ka tā nav programmēšanas valoda (tas, protams, nenozīmē uzreiz, ka tā ir tāda).

Es tavu domu neizprotu.

Ja es C++'ā sākšu programmēt funkcionālā stilā, tad tā neskaitīsies vairs programmēšana? (jo tas nav tādam darbam?)

Neko ārpus valodas iespējām es nedaru - un pēkšņi tā vairs neskaitās programmēšana...

Posted

Labi, es teikšu savādāk. Tb, kā es uzskatu:

HTML=SQL

HTML+embeded javascript=SQL+embeded procedural extension

 

= nav jāzuztver par vienādības zīmi, bet drīzāk kā analoģiju

Posted

Joprojām neizprotu, kāpēc tu lietas, kas ir valodas standartā, sauc par "extension" un neuzskati par tās sastāvdaļu. PHP OOP iespējas arī ir "extension" ?

Posted

PHP ir general purpose valoda, un vēl ļooooti tālu no kaut-kādas standartizācijas (ja tāda vispār būs)

 

Tu mani piespiedi ielīst arī internetā pameklēt par šo tēmu:

 

Wikipēdijā ir smuki par šo aprakstīts šeit: http://en.wikipedia.org/wiki/SQL#Procedural_extensions

 

"SQL is designed for a specific purpose: to query data contained in a relational database. SQL is a set-based, declarative query language, not an imperative language. However, there are extensions to Standard SQL which add procedural programming language functionality, such as control-of-flow constructs"

Posted

Ok, labi, tagad saprotu, kāpēc to saukt par "extensions".

Bet anyway - kā jau augstāk teicu, neviens pliku SQL standartu mūsdienās neizmanto, ar to iespējas un funkcionaitāte ir limitētas.

Posted

Nu tas ka pliku kaut-ko faktiski nekur neizmanto, tas tiesa, bet te jau mēs teoretizējam (vismaz es) :))

 

Jo tāds SQL un procedurālā programmēšana ir pārāk fundementāli atšķirīgs, kā, teiksim, procedurālā un OO.

 

Ko tad tas SQL procedurālais kods dara ar saviem loopiem un if`iem? Tas ir vnk samudrīts SQL. Tad, kad pieņēma šīs fīčas "standartā", varēja tak arī neieviest, bet tā vietā ieviest pilvērtīgu, civilizētu valodu šādā manipulācijām, kaut vai to pašu JavaScript, Tcl vai Lua un skaidri definēt, ka tas ir server side (tb RDBMS side) extensions.

Posted (edited)

Nu es domāju, ka SQL sastāv no Data definition statements un no Data manipulation statements un privilēģiju menedžmenta steitmentiem.

 

Trigeri un procedūras izmanto SQL, bet viņi netiek veidoti SQLā. Manuprāt, šī rindkopa to lieliski izskaidro:

 

Originally designed as a declarative query and data manipulation language, variations of SQL have been created by SQL database management system (DBMS) vendors that add procedural constructs, flow-of-control statements, user-defined data types, and various other language extensions. With the release of the SQL:1999 standard, many such extensions were formally adopted as part of the SQL language via the SQL Persistent Stored Modules (SQL/PSM) portion of the standard.

 

Pirmajā teikumā beigās ir konstrukcija, kas arī iepriekš uzskaitīto apzīmē kā "language extensions". Otrais teikums norāda, ka šie paplašinājumi tika ietverti kā SQL valodas daļa, BET kā SQL/PSM daļa SQL standartā. Tātad, atsevišķi izdalīta no pamata SQL.

 

Procedurālais kods ar loopiem un ifiem kontrolē, kādus SQLus izpildīt. Tas nav samudrīts, vnk ja datubāzei slēdzas klāt N sistēmas, kur N sastāv no lietotājiem, kas slēdzas pa tiešo ar reportinga tūļiem, grāmatvedības sistēma, noliktavas sistēma, analīzes sistēma, datu ievades termināļi, datu replikācijas procedūras un vēl virkne nosacītu sistēmu, tad ir ļoti forši, ja datu loģika tiek uzturēta datubāzes līmenī. Vēsturiski viņas izveidojās dažādas, un ja tagad prasītu visus Oracle, IBM un vēl virkni pārtaisīt uz vienu standartu, tad tas būtu miljardos mērāmas izmaksas.

Edited by Mr.Key

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...