• Добре дошли на страниците на mebelistite.com! Приятно сърфиранe!
  • Sys.Admin - компютри, лаптопи, принтери, сервиз

Разни обсъждания

  • Автор на темата code
  • Започната на

code

Редовни
Регистриран
14/3/16
Постове
32
Резултат от реакция
17
Местоположение
Някъде
Отварям тази тема, за да се поместват в нея всякакви хаотични идеи, които трудно могат (а и няма смисъл) да бъдат озаглавявани.

Вече в темата за неравномерна правоъгълна мрежа споменахме, че една от командите на езика който правим ще е от вида:
Код:
ВЕРТИКАЛА(i)=j
Чрез тази команда се разделя колоната с номер i на две, като лявата нова колона ще стане с големина j. Но езиците за програмиране са направени с цел да бъдат удобни! Защо да нямаме функционалност при която да се определя големината на дясната нова, а не на лявата колона?
Едно интересно примерно решение за горния проблем би изглеждало така:
Код:
(i)ВЕРТИКАЛА=j
Наистина изглежда добро и оригинално хрумване, но само на пръв поглед. Проблемът веднага се вижда, когато решим да въведем и другата системна дума "ХОРИЗОНТАЛА". При нея вече няма как да слагаме аргумента отгоре или отдолу, просто защото пишем от ляво надясно, а примерно не от горе надолу (ако бяхме корейци можеше да ползваме и двата начина свободно, но това е друга тема).

Трябва да измислим друго решение и най-логичното е да добавим символ, който да показва откъде се счита отмерването на вертикалата. Ето какво измислих:
Код:
 ВЕРТИКАЛА(>:i)=j    ::  Указваме изрично, че измерването на новата колона е
                     ::   от ляво.
 ВЕРТИКАЛА(<:i)=j    ::  Указваме изрично, че измерването на новата колона е
                     ::   от дясно.
 ВЕРТИКАЛА(i)=j      ::  По подразбиране се отчита от лявата страна

 ХОРИЗОНТАЛА(^:i)=j  ::  Указваме изрично, че измерването на новата колона е
                     ::   от долната вътрешна страна.
 ХОРИЗОНТАЛА(v:i)=j  ::  Указваме изрично, че измерването на новата колона е
                     ::   от горната външна страна.
 ХОРИЗОНТАЛА(i)=j    ::  По подразбиране се отчита от долна вътрешна страна
Тук посоката откъде се измерва се указва от специални символи, които наподобяват стрелки, а именно символите ">", "<", "^", "v". Очевидно това не е най-стилното решение, което можем да приложим. Но какво да правим, когато върху клавиатурата няма символи за отпечатване, които да са стрелки?

Решение на горния проблем е като въведем допълнителни символи стрелки. Наистина те не съществуват като клавиши, но могат да се въвеждат по други начини. Напълно възможно е в бъдеще да се въведе начин за въвеждане на специфични символи от клавиатурата (всъщност аз имам нещо конкретно предвид, но това не е тема на обсъжданията тук).
Проблем със стрелките има и в едно друго отношение, но преди да го разбере, нека първо да научим малко повече за текстовите редактори на програмните езици. Съществено особеност на тези редактори е това, че всички символи имат еднаква видима ширина. По този начин програмите се пишат в една равномерна правоъгълна мрежа от клетки. Всяка клетка има размерите на малко правоъгълниче - доста по-високо отколкото е широко.
Имайте предвид, че този подход от еднакво широки букви и символи не е някаква отживелица, а е напълно доказало се в практиката удобство. Подреждайки символите в мрежа се постига възможността за по-добро подравняване на текстовете, както и за по-добро възприемане на написаното. Програмните езици са изградени от символи и символни комбинации, а не се състоят от думи и затова всеки символ е добре да е ясно отчетлив, независимо от това каква ширина е необходима за изписването му. Например така наречените променливи букви "i" и "m" са програмно еквивалентни и би било твърде глупаво, ако визуално се представят с различна ширина.
И тук идва проблемът със стрелките. Вертикалните стрелки идеално се визуализират в подобно правоъгълниче, но хоризонталните изглеждат много къси и нечетливи! Тъй като проектираме език за програмиране започнат 2016 година, то може да правим практически всичко, което да подобри удобството. Затова един добър вариант е стрелките да заемат не една, а две последователни килийки. Реализация на такова решение може да се направи и програмата текстов редакто където се пише програмата трябва да се грижи за това. Хубаво е двойната ширина да се отнася и за вертикалните стрелки, за да бъдат всички направления стрелки еднакво широки.
Въвеждането на символи стрелки ще доведе и до това, че вече символът двуеточие, който използвахме по-горе за отделяне на означението на стрелката вече ще се окаже излишен.
 
Back
Горе