Капанът на езиците като набори от други езици

набори


Напоследък изглежда, че всеки иска създайте надмножество от езици какво са те по-сложни, за да се улесни използването му, без да се губи функционалност. По принцип това е много похвална идея и би било трудно да се разбере, че някой е против, но искам да ви покажа някои причини, поради които, например, създаването на TypeScript може да има обратен ефект (и няма нищо общо с това, че съм от Microsoft, не ме приемайте за маниак).

Основен и популярен език

Ще направим упражнение във въображението. Нека започнем от предположението, че имаме език, който да нарисуваме във всеки браузър, който е бил приети като стандарт и за които се предлагат актуализации, които засягайки толкова много участници (разработчиците на всички съществуващи браузъри) практически никога не пристигат, тъй като е трудно да се постигнат споразумения.

Нашият език ще се основава на чертане на линии, така че ще го наречем LineaScript. В него изчертаването на линия ще се състои от две стъпки: изчертаване на вектор и придаване на цвят. На свой ред векторът ще бъде генериран от две точки, със съответните им координати x и y.

Както можете да видите, нашият език потенциално може да нарисува всичко, тъй като всичко може да бъде представено чрез линии. Трудността започва, когато искаме да нарисуваме геометрична форма, не непременно сложна. Например, за да нарисувате квадрат, трябва да го направите с помощта на цикли:

И хората биха се съгласили, заявявайки, че LineaScript е мощен език и че трябва да знаете, защото се поддържа във всички браузъри, но че обучението му е много трудно и използването му е досадно.

Нека го оправим с нов език

Тъй като ни е много трудно да програмираме ефективно с LineaScript и консорциумът от участници в него не е съгласен, когато става въпрос за актуализиране на езика, решихме вземете нов език много по-опростен, FiguraScript, който приема целия синтаксис на LineaScript, но също така добавя съоръжения при представяне на фигури.

Това е FiguraScript ще бъде надмножество на LineaScript, така че никой не трябва да се оплаква, че сме преоткрили колелото. Напротив, това ще накара много хора, които не смеят да програмират с LineaScript, да се доближат до езика без страх.

Така че, с нашия нов език, би било практически толкова лесно да нарисувате точка, линия или правоъгълник:

Никой не може да отрече, че нашият език е по-пълен от основния LineaScript. Това позволява на опитни да продължат да програмират както преди, а на начинаещия да използва еквивалентни методи, които изискват кодирайте по-малко редове, за да получите същия резултат.