Дихотомия - Ousterhouts dichotomy - Wikipedia

Оустерхоттың екіге бөлінуі болып табылады информатик Джон Оустерхут санатқа бөлу[1] бұл жоғары деңгейлі бағдарламалау тілдері екі топқа бөлінуге бейім, олардың әрқайсысы ерекше қасиеттері мен қолданыстары бар: жүйелік бағдарламалау тілдер және сценарий тілдері - салыстыру үлкенге бағдарламалау және кішіге бағдарламалау. Бұл ерекшелік оның тілінің дизайнына негізделеді Tcl.

Жүйелік бағдарламалау тілдері (немесе қосымшалардың тілдері) әдетте келесі қасиеттерге ие:

Жүйелік бағдарламалау тілдері операциялық жүйелер, мәліметтер базасының серверлері және веб-браузерлер сияқты көптеген ішкі функционалдығы бар компоненттер мен қосымшалар үшін қолданылады. Бұл қосымшалар әдетте күрделі алгоритмдер мен деректер құрылымын қолданады және жоғары өнімділікті қажет етеді. Жүйелік бағдарламалау тілдерінің прототиптік мысалдары жатады C және Модула-2.

Керісінше, сценарий тілдері (немесе желім тілдері ) келесі қасиеттерге ие:

Сценарий тілдері функционалдығының көп бөлігі басқа бағдарламалардан алынатын қосымшалар үшін қолданылады (көбінесе жүйелік бағдарламалау тілдерінде жүзеге асырылады); сценарийлер үйреніп қалған желім басқа бағдарламалармен бірге немесе бар бағдарламалардың үстіне қосымша функционалды қабаттар қосыңыз. Ousterhout сценарийлер қысқа болып келеді және оларды көбінесе онша жетілмеген бағдарламашылар жазады, сондықтан орындау тиімділігі басқа бағдарламалармен қарым-қатынастың қарапайымдылығы мен қарапайымдылығына қарағанда маңызды емес деп айтады. Сценарийлердің кең тараған қосымшаларына веб-бетті құру, есептер шығару, пайдаланушының графикалық интерфейстері және жүйені басқару кіреді. Сценарий тілдерінің прототиптік мысалдары жатады AppleScript, C қабығы, DOS пакеттік файлдар, және Tcl.

Тарих

Дихотомия толығымен белгіленді Ousterhout (1998)дегенмен, Оустерхот бұл айырмашылықты, ең болмағанда, Tcl (1988) жобалаудан бастап белгілеп, оны әр уақытта көпшілік алдында мәлімдеді. Ерте эпизод болды «Tcl соғысы «1994 жылдың қыркүйек айының соңы мен қазан айының Ричард Сталлман «Неліктен Tcl-ді қолданбау керек» деген тақырыппен Tcl-ге сыни мақала жариялады,[2] бұған Оустерхот өзінің екіге жармастығын білдіріп:[3]

Меніңше, Сталлманның Tcl-ге қарсылығы Tcl дизайнының ол түсінбейтін немесе онымен келіспейтін бір жағынан туындауы мүмкін. Бұл сізге үлкен бағдарламалық жасақтама үшін * екі * тілді қолдану керек деген ұсыныс: біреуі, мысалы, C немесе C ++, негізгі ішкі деректер құрылымын басқаруда маңызды, және Tcl сияқты, кішігірім жазу үшін. С бөліктерін байланыстыратын және кеңейту үшін қолданылатын сценарийлер.

Сын

Көбісі дихотомияны өте ерікті деп санайды және оған сілтеме жасайды Ousterhout қателігі немесе Оустерхоттың жалған дихотомиясы.[4] Динамикалық типке қарсы статикалық теру, күрделіліктің дербестігі және тәуелсізге тәуелділік өзара байланысты емес деп айтуға болады, ал Оустерхоттың дихотомиясының әдеттегі сыны оның компиляциялау мен интерпретацияның айырмашылығы болып табылады. Семантикасы да, синтаксисі де тілді енгізу әр іске қосудың басында машиналық тілге, интерпретациялауға, токенизациялауға немесе байт-компиляцияға жинақталатындығына немесе олардың кез-келген қоспасына байланысты емес. Сонымен қатар, негізінен кең қолданыстағы ешбір тіл компиляторсыз таза түсіндірілмейді; бұл бағдарламалау тілдерінің таксономиясындағы күмәнді параметрді түсіндіру мен компиляцияны құрайды.

Әдебиеттер тізімі

  1. ^ Ousterhout, John (наурыз 1998). «Сценарий: ХХІ ғасырға арналған жоғары деңгейлі бағдарламалау» (PDF). IEEE Computer журналы. Алынған 27 наурыз, 2020.
  2. ^ Сталмэн, Ричард (1994-09-23). «Сіз неге Tcl-ді қолданбауыңыз керек». Жаңалықтар тобыcomp.lang.tcl. Usenet:  [email protected]. Алынған 2015-09-13.
  3. ^ Ousterhout, Джон (1994-09-26). «Re: Сіз неге Tcl-ді қолданбауыңыз керек». Жаңалықтар тобыcomp.lang.tcl. Usenet:  [email protected]. Алынған 2015-09-13.
  4. ^ Стюарт Хэллоуэй. Osterhout-тің екіжақтылығы емес.

Әрі қарай оқу

Сыртқы сілтемелер