naozaj peknú vec o tom, čo robí niečo “zlé” spôsobom je, že je tu len toľko odrody! Ak robíte niečo správne, najrýchlejší spôsob, alebo optimálnym spôsobom, dobre, je tu len jeden spôsob. Ale ak to urobíte zle, máte oveľa viac dizajnu.
Prípad v bode: ezoterické programovacie jazyky. Odroda je ohromujúca. Existujú jazyky, ktoré majú byť nečitateľné, alebo znieť ako Shakespearovské sonty, alebo recepty na varenie, alebo vlasové kamene. Niektoré z najstarších ezoterických jazykov boli len vtipy: kompilácie všetkých ťažkostí “skutočných” programovacích jazykov času, ale ešte urobil na funkciu. Niektoré predstavujú pokyny ako mriežka farebných pixelov. Niektorí predstavujú kód v móde, ktorý je rovnaký na šifrovanie, a jediný spôsob, ako ich naprogramovať, je Brute núti kódový priestor. Iní, vrátane notorious Brainf * CK, sú vlastne nie sú polovične ako zlé, ako ich rap, je to veľmi priama implementácia tvarového stroja.
Takže máte súbor jazykov, ktoré sú navrhnuté tak, aby boli maximálne na rozdiel od seba, alebo tradičných programovacích jazykov, a napriek tomu sú schopní vykonať prácu inštrukcie počítača, aby robil to, čo chcete. A ak si preštuduje svoje oči, a pozrite sa na toľko z nich spolu, ako môžete, čo sa objaví z tejto križovatky križovatiek podivných jazykov, je podstatou výpočtu. Každý jazyk sa snaží byť čo najhospodárnejší, takže to, čo majú spoločné, môže byť len nevyhnutné jadro kódovania.
Aj keď by to mohlo byť zaujímavé porovnať kontrast Java a C ++, alebo Python, takmer každý vážny programovací jazyk má toľko spoločného, že to nie je tak poučné. Všetci robia to väčšinou správne, a to znamená, že sú väčšinou o ľudských faktoroch. Zívanie. Ak chcete naozaj zistiť, čo je základom pre výpočet, musíte to urobiť zle.
Tento článok je súčasťou newsletteru Hackaday.com, dodaný každých sedem dní pre každý z posledných 200+ týždňov. Zahŕňa aj naše obľúbené články z posledných sedem dní, ktoré môžete vidieť na webovej verzii newsletteru.
Chcete tento typ článku zasiahnuť vašu doručenú poštu každý piatok ráno? Mali by ste sa zaregistrovať!