Intercall: Skirtumas tarp puslapio versijų

423 pridėti baitai ,  02:23, 3 sausio 2023
 
(nerodoma 2 tarpinės versijos, sukurtos 2 naudotojų)
2 eilutė: 2 eilutė:


Išties gi Intercall buvo sukurta [[1972]] metais, kaip absoliutinis to meto baisiausių programuotojiškų košmarų įgyvendinimas - padaryta taip, kad atrodytų panašiai, kaip [[asembleris|asemblerio]] transliacijos išklotinės, kuriose rodomi visokie adresų registrų pokyčiai ir panašūs niekam neįdomus briedai, tik vat šituos briedus patiems programuotojams reikia rašyt.
Išties gi Intercall buvo sukurta [[1972]] metais, kaip absoliutinis to meto baisiausių programuotojiškų košmarų įgyvendinimas - padaryta taip, kad atrodytų panašiai, kaip [[asembleris|asemblerio]] transliacijos išklotinės, kuriose rodomi visokie adresų registrų pokyčiai ir panašūs niekam neįdomus briedai, tik vat šituos briedus patiems programuotojams reikia rašyt.
Išties tai buvo pirmas toksai kalbinis prankas, išdūrimas, skirtas visiems apdurninti. Po kelių dešimtmečių, kai išplito galingi [[asmeniniai kompiuteriai]], panašių prankų atsirado ir daugiau, pvz., kaip [[Brainfuck]] kalba. Bet tie vėlyvesni prankai jau nebebuvo tokie keisti ir talentingai visus išduriantys.




7 eilutė: 9 eilutė:
Kalboje duomenų tipai naudojami, žymimi "." (16 bitų integer), ":" (32 bitų integer), "," (16 bitų integer masyvas) ir ";" (32 bitų integer masyvas). Naudojant kintamuosius, pavadinimai nenaudojami, o naudojami kintamųjų numeriai, pvz., ".14523". Kiekvienas kintamasis pagal nutylėjimą operacijoms gauna nuosavą steką, kas suteikia kai kurias įdomias programavimo galimybes, pvz., galimybę saugoti ištisas kintamųjų ir veiksmų sekas.
Kalboje duomenų tipai naudojami, žymimi "." (16 bitų integer), ":" (32 bitų integer), "," (16 bitų integer masyvas) ir ";" (32 bitų integer masyvas). Naudojant kintamuosius, pavadinimai nenaudojami, o naudojami kintamųjų numeriai, pvz., ".14523". Kiekvienas kintamasis pagal nutylėjimą operacijoms gauna nuosavą steką, kas suteikia kai kurias įdomias programavimo galimybes, pvz., galimybę saugoti ištisas kintamųjų ir veiksmų sekas.


Komandų yra nedaug, jos atrodo ganėtinai briedovos, tačiau ganėtinai logiškos ir netgi visai patogios, kai pažiūri į Intercall kaip į tipišką RISC architektūrą, kurioje reiktų išties rūpintis ne programuotojo, o kompiliatoriaus efektyvumu.
Komandų yra nedaug, jos atrodo ganėtinai briedovos, tačiau ganėtinai logiškos ir netgi visai patogios, kai pažiūri į Intercall kaip į tipišką [[RISC]] architektūrą, kurioje reiktų išties rūpintis ne programuotojo, o kompiliatoriaus efektyvumu. Tik tiek, kad niekaip su RISC architektūra čia nesiderina tie visur kaišiojami stekai.


Kiek labiau trikdo gal tiktai kai kurie nesąmoningai sukaišioti nedokumentuoti privalumai, kaip kad reikalavimas nei per dažnai nei per retai vartoti operatorių PLEASE, kurio prasmė tėra nedokumentuotai užlaužti kompiliavimą, jeigu jis bus vartojamas per retai arba per dažnai. SSRS naudotame Intercall kompiliatoriuje šio operatoriaus nebuvo.
Kiek labiau trikdo gal tiktai kai kurie nesąmoningai sukaišioti nedokumentuoti privalumai, kaip kad reikalavimas nei per dažnai nei per retai vartoti operatorių PLEASE, kurio prasmė tėra nedokumentuotai užlaužti kompiliavimą, jeigu jis bus vartojamas per retai arba per dažnai. SSRS naudotame Intercall kompiliatoriuje šio operatoriaus nebuvo.


== Tarybinis Intercall ==
== Tarybinis Intercall ==
19 eilutė: 20 eilutė:
Dar vienas įdomumas, kad originalioje amerikoniškoje versijoje Intercall skaičius reikalaudavo įvesti žodžiais (kaip pvz., 123 būtų "ONE TWO THREE"), o išvesdavo romėniškai (pvz., "MCXXVIII"). SSRS tai buvo laikoma neapgalvotu, iki galo neatidirbtu, tačiau perspektyviu sprendimu, nes tai esą artimiau žmogiškam bendravimui, todėl kalba buvo laikoma pritaikyta interaktyvioms dialoginėms programavimo sistemoms. Šitą nesąmonę sovietai pataisė ir padarė išvedimą, priklausomai nuo poreikio - skaičiais arba žodžiais, užrašytais [[kvadratinės raidės|kvadratinėmis raidėmis]].
Dar vienas įdomumas, kad originalioje amerikoniškoje versijoje Intercall skaičius reikalaudavo įvesti žodžiais (kaip pvz., 123 būtų "ONE TWO THREE"), o išvesdavo romėniškai (pvz., "MCXXVIII"). SSRS tai buvo laikoma neapgalvotu, iki galo neatidirbtu, tačiau perspektyviu sprendimu, nes tai esą artimiau žmogiškam bendravimui, todėl kalba buvo laikoma pritaikyta interaktyvioms dialoginėms programavimo sistemoms. Šitą nesąmonę sovietai pataisė ir padarė išvedimą, priklausomai nuo poreikio - skaičiais arba žodžiais, užrašytais [[kvadratinės raidės|kvadratinėmis raidėmis]].


Taip pat sovietinėje Intercall versijoje buvo panaikintas ir tas užknisantis bugas, kur reikdavo rašyti "PLEASE": jis ėmė reikšti paaukštintą operacijos vykdymo prioritetą, tačiau paliktas nenaudojamu, nes operacijų vykdymo prioritetizavimo tiesiog nebuvo.
Taip pat sovietinėje Intercall versijoje buvo panaikintas ir tas užknisantis [[bugas]], kur reikdavo rašyti "PLEASE": jis ėmė reikšti paaukštintą operacijos vykdymo prioritetą, tačiau paliktas nenaudojamu, nes operacijų vykdymo prioritetizavimo tiesiog nebuvo.


Trumpai tariant, tai kas Vakarų šalyse buvo absurdas, [[humoras]] ir [[kliedesiai]], [[Sovietų Sąjunga|Sovietų Sąjungoje]] tapdavo realybe.
Trumpai tariant, tai kas Vakarų šalyse buvo absurdas, [[humoras]] ir [[kliedesiai]], [[Sovietų Sąjunga|Sovietų Sąjungoje]] tapdavo realybe.
1 048

pakeitimai