සෑම භාෂාවක්ම සී භාෂාවෙන් ලියා තිබේද?
ඒ භාෂාව වියුක්ත ගණිතමය නීති රීති හා සීමා කිරීම් ( "මම ලියන්න නම් සමූහයක් වේ මෙම , බව සිදු"). එය කිසිම දෙයකින් ලියා නැත.
සාමාන්යයෙන් ඉංග්රීසි, ගණිත අංකනය සහ සමහර විශේෂිත පිරිවිතර භාෂාවන්හි විධිමත් අනු කාණ්ඩයක මිශ්රණයකින් එය නියම කර ඇත. සින්ටැක්ස් බොහෝ විට ඊබීඑන්එෆ් හෝ ඒබීඑන්එෆ් හි ප්රභේදයක දක්වා ඇත .
උදාහරණයක් ලෙස, for
අයිඑස්ඕ රූබි භාෂා පිරිවිතරයෙන් ප්රකාශනයේ පිරිවිතර මෙන්න :
§11.5.2.3.4 for
ප්රකාශනය
සින්ටැක්ස්
- for-expression → for for-variable [මෙහි රේඛීය-පර්යන්තයක් නොමැත] in ප්රකාශන do-clause end
- for-variable → වම් පස
|
බහු-වම්-පැත්ත
අර්ථ නිරූපණය
ඒ සඳහා ප්රකාශනය පහත පරිදි ඇගයීමට ලක් වේ:
- ප්රකාශනය තක්සේරු කරන්න . ප්රකාශනය ඇගයීම බිඳීම් ප්රකාශනයක් , ඊළඟ ප්රකාශනය හෝ නැවත ප්රකාශනය මගින් අවසන් කරන්නේ නම් , හැසිරීම නිශ්චිතව දක්වා නැත. එසේ නොමැති නම්,
O
එහි ප්රති value ලයක් වශයෙන් ලැබෙන අගය විය යුතුය.
ඉඩ E
ඇති විය ප්රාථමික-ක්රමය-පිහිට පැතීමක් ආකෘති ප්රාථමික-ප්රකාශනය [කිසිදු මෙතන රේඛීය ටර්මිනේටර්] .each do | වාරණ-පරාමිතිය-ලැයිස්තුව | වාරණ-ශරීරය end , එම වටිනාකම එහිදී ප්රාථමික-ප්රකාශනය වේ O
, එම වාරණ-පරාමිතිය-ලැයිස්තුව යනු වානාවකට විචල්ය වන වාරණ-ශරීරය යනු සංයෝගයක්-ප්රකාශය පිළිබඳ කරන්නද-වගන්තිය .
තක්සේරු කරන්න E
; කෙසේ වෙතත්, සිය වාරණ නම් වාරණ-ශරීරය වේ ද සංයෝගයක්-ප්රකාශය පිළිබඳ කළ-වගන්තිය පිළිබඳ සඳහා ප්රකාශනය මෙම ඇගයීම, එම පියවර ඇ හැර §11.3.3 දී පියවර) සහ පියවර ඊ තුළ ලෙස හැඳින්වේ) 4) ය මෙම ඇමතුම ඇගයීම සඳහා ගනු ලැබේ.
මෙම වටිනාකම සඳහා ප්රකාශනය යාදින්න එහි ප්රතිඵලයක් අගය වේ.
Scala හි අනුකූලතා රීති වලට වඩා වෙනස් උදාහරණයක් මෙන්න:
බහුමාමක වර්ගය [a 1 >: L 1 <: U 1 ,…, a n >: L n <: U n ] T බහුමාමක වර්ගයට අනුකූල වේ [a1>: L ′ 1 <: U ′ 1 ,…, a n >: L ′ n <: U ′ n ] T ′ නම්, L ′ 1 <: a 1 <: U ′ 1 ,…, L ′ n <: a n <: U′n කෙනෙකුට T <: T ′ සහ L i <: L ′ i සහ U ′ i<: U i සඳහා i {{1,…, n} .
සී භාෂාවේ මව / සියලු භාෂාවල පියාද?
නැත, එසේ නොවේ. සී තරමක් තරුණයි. පැරණි භාෂා ගොඩක් තිබේ. කාල චාරිකාව භෞතිකව කළ නොහැකි බැවින්, එම පැරණි භාෂාවන්ට කිසියම් බලපෑමක් කිරීමට සී හට නොහැකි ය.
- ප්ලැන්කල්කල් (1943)
- ස්පීඩ්කෝඩින් (1953)
- ෆෝට්රාන් (1954)
- අයිපීඑල් (1956)
- ලිස්ප් (1958)
- ඇල්ගෝල් (1958)
- COBOL (1959)
- ජොවියල් (1960)
- ඒපීඑල් (1962)
- සිමුල (1962)
- SNOBOL (1962)
- සීපීඑල් (1963)
- BASIC (1964)
- පීඑල් / අයි (1964)
- ආර්පීජී (1964)
- BCPL (1966)
- ISWIM (1966)
- MUMPS (1967)
- ෆෝර්ත් (1968)
- ලොගෝ (1968)
- REFAL (1968)
- බී (1969)
- BLISS (1970)
- පැස්කල් (1971)
- කේආර්එල් (1971)
- ස්මාල්ටෝක් (1972)
සී සොයා ගැනීමට පෙර ඒවා සියල්ලම පැවතුනි. තවත් බොහෝ දෙනෙකුට C හි බලපෑමක් නැත. පැස්කල්-භාෂා පවුල (ALGOL-58, ALGOL-60, ALGOL-X, ALGOL-W, PASCAL, Modula-2, Oberon, Oberon-2, Active Oberon, Component Pascal) යනු සම්පූර්ණයෙන්ම වෙනම පෙළපතකි. මුළු ලිස්ප් පවුලම (LISP, Franz Lisp, InterLisp, MacLisp, Scheme, Flavors, LOOPS, CommonLoops, Dylan, CommonLisp, Arc, Clojure, Racket, ආදිය) සම්බන්ධයක් නැත. ක්රියාකාරී භාෂා (ISWIM, KRL, Miranda, ML, SML, CAML, OCaml, F #, Haskell, Gofer, Clean) සහ යැපෙන මුළු පවුලම (Agda, Coq, GURU, Idris) හැකිතාක් දුරට C ට වඩා දුරින් පවතී. ස්මාල්ටෝක් පවුලට (ස්මාල්ටෝක්, සෙල්ෆ්, නිව්ස්පීක්, අප, කෝර්ස්), තාර්කික ක්රමලේඛන පවුල (ප්ලැනර්, ප්රොලොග්, මර්කරි), එස්.කේ.එල් සහ තවත් බොහෝ අය සඳහා ද මෙය අදාළ වේ.
සෑම සංකල්පයක්ම (ඕඕපී යනාදිය) සී භාෂාවෙන් ක්රියාත්මක වේද?
OO සංකල්ප සහිත පළමු භාෂා සිමියුලා (1960) සහ ස්මාල්ටෝක් (1972), නමුත් වස්තු-නැඹුරුවන පද්ධති 1953 තරම් back ත අතීතයේ සිටම ගොඩනගා තිබුණි (ඒවා එසේ නොකියයි). නැවතත්, එය C පැවතීමට බොහෝ කලකට පෙරය, එබැවින් OO හට C සමඟ කිසිදු සම්බන්ධයක් තිබිය නොහැක.