INTERCAL — разлика између измена

Садржај обрисан Садржај додат
Нема описа измене
Нема описа измене
Ред 1:
==INTERCAL==
==ИНТЕРКАЛ==
 
КомпајлерскиCompiler језикLanguage With безNo изговарајућегPronounceable акронимаAcronym, скраћено ИНТЕРКАЛ (енгл. INTERCAL), је езетерични програмски језик настао 1972. као шала од стране Дона Вудса (енгл. Don Woods) и Џејмса М. Лиона(енгл. James M. Lyon), два студента на универзитету у Принстону. На сатиричан начин приказује становишта многих програмских језика у то доба, као и ширење устаљених језичких конструкција и система записивања шездесетих година 20. века. <br /> <br />
Постоје две тренутно одржаване верзије ИНТЕРКАЛINTERCAL-а: C-INTERCAL , одржаван од стране Ерика С. Рејмонда (енгл. Eric S. Raymond), и CLC-INTERCAL одржаван од стране Клаудија Калвелија (енгл. Claudio Calvelli)
 
==Историја==
 
Према оригиналном приручнику аутора,INTERCAL Reference Manual, пун назив језика је "ЈезикCompiler Language With безNo изговарајућегPronounceable акронимаAcronym", скраћено "ИНТЕРКАЛINTERCAL". <br />
Прва имплементација овог језика је користила бушене картице и EBCDIC сет знакова. Да би се омогућило ИНТЕРКАЛINTERCAL-у да ради на рачуанрима који користе ASCII код, морале су се направити две измене: operator ¢ је замењен са operatorom $, који је представљао "повећање трошкова софтвера у односу на хардвер"
и оператор ⊻ је замењен са оператором ? као унарни exclusive-or оператор да би "јасно описао реакцију просечног човека када се први пут сусретне са овом наредбом". у новијим верзијама ИНТЕРКАЛINTERCAL-а, старији оператори су подржани као алтернативе, а ИНТЕРКАЛINTERCAL програми се сада могу кодирати у ASCII, Latin-1, или UTF-8 коду.
 
==Детаљи==
ИНТЕРКАЛINTERCAL је направљен са циљем да буде потпуно другачији од свих осталих програмских језика. Често корисћене операције у другим језицима имају скривену или преопширну синтаксу у INTERCAL-у. Из приручника INTERCAL Reference Manual: <br /><br />
 
Прилично је позната и често је практикована чињеница да је високо цењен човек чији је посао тешко докучив. На пример, када би неко изјавио да је најлакши начин да се меморише вредност 65536 на 32-битној променљивој у INTERCAL-у: <br />
 
DO :1 <- #0¢#256 <br />
 
сваки разуман програмер би рекао да је та изјава апсурдна. Пошто је то заиста најлакши начин, програмер би изгелдао глупо пред својим шефом, који би се задесио ту, као што шефови иначе раде. Последица не би била ништа мање поражавајућа да је програмер био у праву. <br />
 
INTERCAL има многе друге карактеристике дизајниране да учине естетски доживљај програмера још више незадовољавајућим: користи наредбе као што су "READ OUT", "IGNORE", "FORGET", и кључне речи као што су "PLEASE". Постоје два разлога због којих последња кључна реч може да доведе до одбијања програма од стране компајлера: ако се "PLEASE" не појављује довољно често, програм се сматра недовољно учтивим. Са друге стране, ако се поменута кључна реч појављује превише често, програм се сматра претерано учтивим. Мада је ова карактеристика постојала у оригиналном INTERCAL компајлеру, она је у програмском стандарду водила као "undocumented" . Упркос ограниченој и развученој синтакси овог језика, INTERCAL је ипак рачунски универзалним програмом: уз довољно меморије, INTERCAL мозе да реши сваки проблем који и Универзална Тјурингова машина може да реши. Ипак, већина имплементација INTERCAL-а извршавају проблеме прилично споро. Бенчмарк Ератостеново сито, рачунајући све просте бројеве мање од 65536, био је тестиран на рачунару серије Sun SPARCstation 1. У програмском језику C, за извршавање овог програма било је потребно мање од пола секунде, док је исти програм у INTERCAL-з извршавао преко седамнаест сати.
Преузето из „https://sr.wikipedia.org/wiki/INTERCAL