ТръмпСкрипт или да кодиш с песен. 10 шантави езика за програмиране

авг. 30, 2024 | Технологии

ТръмпСкрипт или да кодиш с песен. 10 шантави езика за програмиране

30 август 2024 | Технологии

Компютърен код, който прилича на готварска рецепта? Създаване на програми с помощта на… цветове или звуци? Езици за програмиране, вдъхновени от Шекспир, от Тери Пратчет и дори Доналд Тръмп? Ако човек излезе от утъпкания път, може да намери доста забавни и неочаквани щрихи в света на информационните технологии.

Езиците за програмиране са дори по-пъстри и интересни от човешките, те не се раждат „по естествен път“ в резултат от еволюция, а са резултат от желанието на създателите си да дадат ново средство на останалите. Достатъчно добро, за да превръща идеите им в компютърните програми, които днес движат света напред. Да, винаги ще ги има сериозните и полезните езици (например JavaScript, този, с който и аз си изкарвам хляба), онези, които се използват всеки ден и навсякъде около нас.

Но я има и другата страна – забавна, шантава, нестандартна.

„Езотерични“ се наричат програмните езици, които по една или друга причина са обречени да не станат популярни. Понякога те са създадени за това целенасочено, в други случаи просто разработчиците им не са се постарали достатъчно и са направили продукт, който няма как да стане масов. Така или иначе, винаги могат да ни изненадат. 10 примера за някои от най-шантавите езици за програмиране ще посрещнем на следващите редове.

 

1. Нека да побъбрим

Всеки може да си измисли поредица от команди, които компютърът да изпълни и нещо да се случи в резултат… За да говорим обаче за език за програмиране, най-честият критерий се нарича „цялостност по Тюринг“. Изпълняват го, макар и като съпътстващо явление, дори някои компютърни игри. И все пак това е универсалният критерий дали говорим за пълноценен език за програмиране. Този, който, съвсем накратко, може да изпълни списък с операции, които са в способностите на теоретичната машина на Тюринг (подробно обяснение ще намерите тук).

Именно такива езотерични езици ще търсим (с едно изключение). Не просто поредици от команди, а цялостни по Тюринг системи, които биха могли да създадат компютърно приложение…

Това съвсем не значи, че трябва да са сложни или с много възможности, както важи за „истинските“ им събратя в ежедневието. Това показва първият ни пример.

SmallTalk (от английски – „неангажиращ разговор“, но буквално „кратки приказки“) – така се казва един малък език с голяма история. Как може един език да е малък ли? Ето така, тук се е събрал на гърба на пощенска картичка:

 

smalltalk

 

През 70-те години трима инженери – Алън Кий, Дан Ингълс и Адел Голдбърг работят в лабораторията “Xerox PARC”. Смятат съществуващите по онова време програмни езици за ненужно усложнени, овъртолени, неудобни за учене. Така решават да създадат език, чийто пълен синтаксис се побира на салфетка.

Първоначалната идея е SmallTalk да се ползва от децата, които учат програмиране. Обаче се оказва толкова успешен, че през 1995 г. е вторият най-популярен обектно-ориентиран език след C++.

В началото на новото хилядолетие американските военни го използват за създаването на софтуер за военни симулации с повече от милион реда код. “JP Morgan” пишат на Smalltalk мащабната си система за анализиране на финансовия риск “Kapital”. Езикът се превръща в любим и за много други компании от финансовата сфера.

Smalltalk е все още тук и се смята, че има солидно бъдеще. Популярен е като подходящ избор за анализ на големи данни, за интернет на нещата и машинно самообучение. Просто най-неочаквано се е оказало, че понякога е достатъчно всичко да е… просто.

 

2. Патриотът програмист

Всички езици са на латиница, без английски е невъзможно да се учи програмиране… Ами, не е точно така (и не само защото днес можеш на български да помолиш ChatGPT да напише код). Езотеричните езици са доста разнообразни, макар, разбира се, в професионалната сфера, през последните няколко десетилетия английският да се наложи като лингва франка.

Има ли програмни езици на български? Ако на власт и у нас дойде патриотично управление, като нищо може да наложи решението държавният софтуер да се пише на български. За щастие, имаме решения. Ето един вариант: езикът „Лого“.

Да, името му го издава, той се използва основно за рисуване на изображения и е създаден през 80-те.

Можете да си го пишете в сивито, синтаксисът му е бърз за научаване. Основното му предназначение отново е да привлича към програмирането децата, които да рисуват по екрана, без да им се налага да знаят чужди езици. У нас през втората половина на 80-те се провеждат национални олимпиади по „Лого“, за да отсяват най-перспективните хлапета в информационните технологии.

Как изглежда кодът? Ще ви хареса. За да начертаете окръжност, трябва да напишете само:

 

повтори 360 (нп 1, нд 1)

край

 

В превод „нп“ ще рече „напред“, а „нд“ – „надясно“. По същия начин квадрат се чертае с:

 

повтори 4 (нп 10, нд 90)

край

 

3. Въздух… без налягане

В някои езици се спори колко да са отстъпите преди командата – два или четири, дали да се използва табулация или единично поле. В други, сред който най-популярен е Python, отстъпът по-скоро замества някои от скобите, за да подрежда йерархията от команди.

Има обаче и език…, който е просто и само празни пространства. Нищо повече. Очевидно защо, нарича се Whitespace и всичко в него се изчерпва с интервали и отстъпи.

Поради основната му характеристика… ще ни е малко трудно да ви го представим. И все пак не е невъзможно. Приемете, че S e единично поле, T – табулация:

 

S S S T S S T S S S

T

S S S S S T T S S T S T

T

Командите се отделят с нов ред с табулация, а това какво се изпълнява зависи от комбинацията на интервали и табулации.

 

4. Казано честно, всичко ми е ооокей

Технологиите и литературата не вървят ръка за ръка? Нищо подобно! Този език ще допадне на ценителите на фентъзито и Тери Пратчет. В Света на диска, те много добре знаят, всичко се случва върху гърбовете на четири слона, които пък се разхождат върху една огрооомна костенурка, Великата А’Туин.

В този свят има един магически университет, библиотекарят му е орангутан, който комуникира, като казва само „Окей“ с различна интонация.

Е, в нашия свят същият орангутан можеше да стане програмист благодарение на езика, вдъхновен от него и създаден от програмиста Дейвид Моран-Мар. Да, той уточнява: езикът е предвиден за употреба само от орангутани.

Оок – така се казва и има три команди:

Ook.

Ook!

Ook?

И… също е завършен език по Тюринг! Тоест, можете да правите с него почти всичко, което е позволено на всички днешни модерни езици за програмиране, а никой няма да ви пита дали наистина сте орангутан.

Оставяме ви за размисъл (и упражнение) програмата, която казва прословутото първоначално послание: Hello, world!

 

ook

 

И докато сме в литературния свят, понякога нещата могат да са много по-драматични. Буквално – ако изберете да програмирате на Shakespeare. В него направо може да се каже, че светът е сцена и всички сме актьори.

Имената на шекспировите герои са променливи, а дали числените стойности са положителни или отрицателни зависи от комбинацията на двама от героите в дадена сцена.

Ако например Хамлет е с отрицателна стойност, можете да включите и друг герой, който да го обиди и по този начин да промени знака пред числото. Можете да добавите входни и изходни данни, като в първия случай накарате някого да слуша сърцето си, а в другия – да изкаже мнението си. Шантаво, колкото си искате! Ето толкова:

 

shakespeare

 

Ето, дори да не знаете английски, вече можете да се похвалите, че разбирате основното за езика на Shakespeare…

 

5. Шеф програмист

Както пише Дъглас Адамс, в третия етап от развитието си всяка висша цивилизация стига до въпроса „Къде ще вечеряме?“. Е, програмистите отдавна са на това ниво, както личи от следващия ни гост. Chef е създаден още преди модата на телевизионните готварски риалитита и работата му е да помага в готвенето. Ето най-стандартната команда „Здравей, свят!“, на този език:

 

chef

 

Доста многословно, нали?

Но пък забавно, съставките са променливите, които се дефинират, а самата рецепта е функцията по отпечатване. Различните групи продукти са и типове променливи, които си взаимодействат при изпълнението/готвенето.

Идеята на езика? Да покаже на хората, които нямат техническо мислене, а са свикнали повече с рецептите на Гордън Рамзи или Пенка Чолчева, че програмирането е забавно.

Командата „Готово е за сервиране!“ изпълнява функцията.

 

6. #Нямампроизнасяне

Не ви съветвам да опитвате да произнесете името на езика CLWNPA. На български? Дадено! „Сиелдабълюенпией“.

Какво обаче има да ни каже този акроним? Compiler Language With No Pronounceable Acronym, „компилиран език с непроизносим акроним“. Създаден е през далечната 1972-а и въпреки че името му е толкова колоритно, става популярен с доста по-скучното название INTERCAL.

Още нещо, с което ще го запомните. Това е доста учтив език. Вместо да се занимава с това да казва, че нещо е функция, той учтиво моли компютъра да създаде такава:

 

PLEASE DO ,10 <- #1

PLEASE DO ,10SUB#1 <- #176

PLEASE DO ,11 <- #30

PLEASE DO ,11SUB#1 <- #76

DO ,11SUB#2 <- #190

 

(По-дълъг пример ще намерите тук.)

 

„Моля те, компютре“ и после следва побитова информация за това, което трябва да се направи. Сякаш още в добрата стара 72-а някой е подозирал, че днес ще сме толкова зависими от компютрите и ще трябва да сме учтиви с тях (за да не дойде василискът на Роко).

Разбира се, „непроизносимият“ идва от съвсем различни времена, когато масово използваните езици далеч не са като днешните. Кодът, предназначен за компютри, изглежда доста повече като такъв. Съответно не е особено четим и разбираем, така че да улеснява разработчиците.

За какво ли служи командата “PLEASE“? Ако не сте достатъчно вежливи да я използвате, компилаторът работи под особен, значително по-бавен и прецизен режим. Ако пък я слагате на всеки ред, отново налага ограничения.

Този език понякога просто „гърми“ с грешка E774 или… „СЛУЧАЕН_БЪГ_НА_КОМПИЛАТОРА“. Дори според официалната документация това се случва напълно случайно. Мислите, че този език е шега? Може, но пък отговаря на всички класификации за цялостност по Тюринг. Трябва само да сте достатъчно смели (и учтиви), за да изберете точно него.

 

7. Ток и жица

След литературата е време да надникнем в останалите изкуства. Музиката например често влиза в арсенала на програмистите – достатъчно е да споменем примера за джаза и различните версии на платформата WordPress.

Така стигаме до езика за програмиране Rockstar.

Искате да сте рокзвезда, но сте обикновен програмист? Няма проблем! Този език служи едновременно и за писане на текстове на песни. Да, тук няма толкова вежливост като при предишния ни герой или драматизъм, като при Шекспир, просто ток и жица:

 

rockstar

 

Създателите изрично обясняват, че оставянето на коментари в кода е силно нежелателно, всеки трябва да намери своя смисъл в рок поезията. Вие ще намерите ли смисъл в написаното по-горе?

 

8. Като на картинка

Стигаме до универсалния свят на изображенията. Тук обръщаме традиционната схема, която през последните години ни наложиха Midjourney и събратята му – човекът рисува, а компютърът се опитва да разбере какво трябва да направи. Този език се нарича Piet.

Създателят му Дейвид Морган-Мар използва като входни данни битови картини, които на пръв поглед приличат на случайни мацаници… или на модерно изкуство, преценете сами:

 

piet

 

Изпълнението на кода се прави точка по точка, все едно показалецът се движи по самата картина. Използват се 20 различни цвята, всеки от които е конкретна команда. Добавя се и различна яркост за съответните операции. Белите позиции не извършват операции, а черните за знак изпълнението на кода да спре. Езикът е кръстен на холандския модернист Питер (на английски Piet) Мондриан, а ако се чудите защо… ето една от най-известните картини на майстора:

 

mondrian

 

 

9. Мейк програминг грейт агейн

След като разбрахме на какви езици програмират музикантите, художниците и орангутаните, навлизаме в политиката, особено актуална в сегашната година на избори и политически вълнения.

След като се поуспокоихме, че алгоритмите няма да ни вземат (изцяло и поне засега) програмирането като човешка дейност е време… да направим програмирането велико отново!

TrumpScript (ако се абстрахираме от политическите му послания) не претендира да има общо дори с изискванията на Тюринг, но пък е забавен.

При него няма числа с плаваща запетая, а само цели, защото „Америка никога не прави нищо наполовина“. Всички числа трябва да са по-големи от 1 млн., защото малките са несъществени. Не са разрешени външни библиотеки, защото целият код трябва да е домашно американски. Вместо обичайните термини True (вярно) и False (невярно) се използват любимите на кандидат-президента fact (факт) и lie (лъжа).

Ще го пребъде ли езикът… предстои да разберем след 5 ноември

 

10. Ум патки пасе

Пропуснахме любопитни кандидати за този списък като ReMorse, използващ точки и тирета в духа на добре познатия от миналото морзов код; Taxi, при който кодът прилича на пътна карта (без непременно да е пълен с житейските напътствия, с които у нас свързваме тази професия) или ArnoldC, използващ само едносрични реплики от филми с Арнолд Шварценегер.

Целенасочено за накрая (с идеята, че вече сме изгубили детската аудитория) остана езикът със звучното название Brainf*ck, което няма да превеждам, но метафорично се отнася за умствена гимнастика.

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

И всичко това… със само 8 команди, които отново са достатъчни, за да го направят цялостен по Тюринг. През 1993 г. Урбан Мюлер го разработва, докато следва физика, постепенно създанието заживява свой живот и си извоюва култов статус. За прословутото „Здравей, свят!“ е достатъчно да напишете:

 

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.
<<+++++++++++++++.>.+++.——.——–.>+.>.

 

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

Дигитални истории

Дигитални истории е и ще си остане изцяло некомерсиално начинание, на което посвещавам доста време и усилия. За създаването на сайта обаче са нужни определени разходи. Ако имате възможност и желание да подпомогнете сайта, вече можете да го направите. Разбира се, все така важна подкрепа си остава всяка добра дума, всяко споделяне на темите.

<a href="https://karamanev.me/author/georgik" target="_self">Георги Караманев</a>

Георги Караманев

Програмист, журналист на свободна практика и писател. Още за мен – четете тук.
Дигитални истории

Най-нови публикации:

„Дигиталното може да почака, детството – не“

„Дигиталното може да почака, детството – не“

Как да изведем от мрежата децата, които вече са прекалено увлечени от нея? Това е голямата кауза на Александрина Георгиева. Програмист със сериозен опит, днес тя е начело на фондацията Offline kids,...

повече информация
„Идва епоха, в която ще трябва да преизобретим себе си“

„Идва епоха, в която ще трябва да преизобретим себе си“

Как ще изглежда утрешният ден? Защо се задава „епохата, в която предстои да преизобретяваме себе си“? Какво има смисъл да учат днешните деца, за да са готови за бъдещето? Кои професиите ще оцелеят?...

повече информация
Как срещаме децата с технологиите? (Анкета)

Как срещаме децата с технологиите? (Анкета)

В какъв свят ще живеят децата ни? А как да ги срещнем с технологиите по най-добрия начин? Имам две хлапета и този сайт го има, защото тези въпроси не ми дават мира. Докато има още толкова важни...

повече информация
„Нямам търпение ИИ да става все по-добър!“

„Нямам търпение ИИ да става все по-добър!“

Изкуственият интелект хвърля ръкавицата към хората на изкуството във все повече области. Докато мнозина смятат, че технологията е далеч от това да създава по-добре от хората, все по-често и рязко се...

повече информация
:-) Усмихни се! Приказка за първия емотикон

🙂 Усмихни се! Приказка за първия емотикон

🙂 В началото даже си имаше и „нос“: 🙂 С идването на интернет текстът се преля в изображенията и обратното. И въпреки че всичко в онлайн света се променя главоломно, символът „първопроходник“...

повече информация

Още публикации по темата:

От рубриката:

Таралежите се раждат без ИИ

Таралежите се раждат без ИИ

В какъв свят ще живеят днешните деца?
Какво има смисъл да учат днес и кое би било загуба на време, усилия и пари?
Кога и как да ги срещнем с технологиите така, че да им помогнем да се опознаят, без някой да пострада?
А кога да ги „запознаем“ с изкуствения интелект?
Ще потърся отговорите на тези и други важни въпроси, свързани с децата и технологиите. Започва дълга поредица от детски Дигитални истории.
Ето защо според мен е жизненоважно да навлезем по-дълбоко в тези огромни теми:

повече информация
Как срещаме децата с технологиите? (Анкета)

Как срещаме децата с технологиите? (Анкета)

В какъв свят ще живеят децата ни? А как да ги срещнем с технологиите по най-добрия начин?
Имам две хлапета и този сайт го има, защото тези въпроси не ми дават мира. Докато има още толкова важни въпроси, на които е време да намерим отговор.
Нека ги обсъдим, а после да потърсим отговорите. Нека заедно нарисуваме картината на днешното дигитално родителство и погледа му към бъдещето.
Анкетата е насочена към родителите на деца от 0 до 11 години (а и към баби, дядовци, хора, които имат отношение към децата). Темите на тийнейжърите също са изключително важни, и за тях ще дойде моментът.
Анкетата е анонимна, можете да отговорите на въпросите, които си изберете. Можете да се включите и в жребий за награди – подбрани книги и фланелки с логото на Дигитални истории. Отговорите се събират до 28 февруари, а в началото на март очаквайте резултатите.
С тази анкета започва поредицата от важни Дигитални истории за децата и технологиите. Ще поговорим за майчинството и бащинството днес, за промените в образованието, за професиите на бъдещето. Поканил съм забележителни гости, от които всеки родител (включително и аз) има много какво да научи.
Благодаря от сърце за всяко попълване, за всяко споделяне!

повече информация
ЕИ + ИИ. Рамо до рамо, неврон до неврон

ЕИ + ИИ. Рамо до рамо, неврон до неврон

Докато се замерваме с клишета и спорим онлайн дали изкуственият интелект ще ни пороби, ще ни остави без работа или ще изчезне, затиснат от огромните очаквания… аз поне съм сигурен, че няма да направи нито едно от нещата в списъка. Но ще направи по малко и от трите.
Технологията, с идването на ChatGPT, вече 2 години е във фокуса на обществения интерес, на ежедневните разговори и на клишетата. Вече е ясно, че тя е тук…, а ние още не сме решили как да е посрещнем. В икономиката, в живота си, в погледа си към света. А и към самите нас. Към ежедневието ни, към труда ни. Към изкуството. Към всичко онова, което ни прави хора. И което може да ни прави по-добри и щастливи хора.
Единственият разумен подход оттук нататък е да се научим да работим заедно. Как да продължим да развиваме ИИ технологиите пълноценно, но и разумно. Обсъждайки, търсейки всеки важен аспект в различните областите на познанието.

повече информация

Най-новите:

„Дигиталното може да почака, детството – не“

„Дигиталното може да почака, детството – не“

Как да изведем от мрежата децата, които вече са прекалено увлечени от нея? Това е голямата кауза на Александрина Георгиева. Програмист със сериозен опит, днес тя е начело на фондацията Offline kids, която има мисията да помага на родителите в търсене на баланса.
Кога срещата с технологиите може да се превърне в проблем за децата? Как да намерим този толкова труден баланс? Как да срещаме децата с технологиите, без това да е за сметка на основни човешки умения, които ще им трябват в бъдеще? Ако усетим, че детето прекарва часове пред телефона или таблета, има ли път назад?
Време е за една прелюбопитна лична история и безброй ценни съвети за всеки дигитален родител. За всеки, което смята, че от време на време е важно децата да се озоват и офлайн.

повече информация
„Идва епоха, в която ще трябва да преизобретим себе си“

„Идва епоха, в която ще трябва да преизобретим себе си“

Как ще изглежда утрешният ден? Защо се задава „епохата, в която предстои да преизобретяваме себе си“? Какво има смисъл да учат днешните деца, за да са готови за бъдещето? Кои професиите ще оцелеят? И как да намерим онези, все по-дефицитни умения, които си струва да им помагаме да развиват?
Доц. Мариана Тодорова е пионер на българската футурология в съвременния ѝ вид. Превърна се в традиция в началото на всяка година да ми гостува с прогнози, които недвусмислено се претворяват в реалност.
„Връщаме се към това най-изконно човешко качество за критично мислене, разсъждение и дебати.“
„Въпрос на време е повечето от задачите, които изпълняваме, да бъдат иззети от изкуствения интелект. Ще живеем в една перманентна промяна и в един момент няма да можем да наваксаме. Бихме могли да реагираме като човечество само чрез глобален политически консенсус, в който да решим, въпреки че технологията може да прави почти всичко, хората остават. Но подобна философия е много анти капитализма и се изисква или някакъв безкраен хуманизъм, или диктаторство, за да се наложи.“
Можем ли да сме готови за бъдещето?

повече информация
Таралежите се раждат без ИИ

Таралежите се раждат без ИИ

В какъв свят ще живеят днешните деца?
Какво има смисъл да учат днес и кое би било загуба на време, усилия и пари?
Кога и как да ги срещнем с технологиите така, че да им помогнем да се опознаят, без някой да пострада?
А кога да ги „запознаем“ с изкуствения интелект?
Ще потърся отговорите на тези и други важни въпроси, свързани с децата и технологиите. Започва дълга поредица от детски Дигитални истории.
Ето защо според мен е жизненоважно да навлезем по-дълбоко в тези огромни теми:

повече информация
Как срещаме децата с технологиите? (Анкета)

Как срещаме децата с технологиите? (Анкета)

В какъв свят ще живеят децата ни? А как да ги срещнем с технологиите по най-добрия начин?
Имам две хлапета и този сайт го има, защото тези въпроси не ми дават мира. Докато има още толкова важни въпроси, на които е време да намерим отговор.
Нека ги обсъдим, а после да потърсим отговорите. Нека заедно нарисуваме картината на днешното дигитално родителство и погледа му към бъдещето.
Анкетата е насочена към родителите на деца от 0 до 11 години (а и към баби, дядовци, хора, които имат отношение към децата). Темите на тийнейжърите също са изключително важни, и за тях ще дойде моментът.
Анкетата е анонимна, можете да отговорите на въпросите, които си изберете. Можете да се включите и в жребий за награди – подбрани книги и фланелки с логото на Дигитални истории. Отговорите се събират до 28 февруари, а в началото на март очаквайте резултатите.
С тази анкета започва поредицата от важни Дигитални истории за децата и технологиите. Ще поговорим за майчинството и бащинството днес, за промените в образованието, за професиите на бъдещето. Поканил съм забележителни гости, от които всеки родител (включително и аз) има много какво да научи.
Благодаря от сърце за всяко попълване, за всяко споделяне!

повече информация
„Нямам търпение ИИ да става все по-добър!“

„Нямам търпение ИИ да става все по-добър!“

Изкуственият интелект хвърля ръкавицата към хората на изкуството във все повече области. Докато мнозина смятат, че технологията е далеч от това да създава по-добре от хората, все по-често и рязко се оказва обратното. Къде тогава отиват творчеството, изкуството, въображението? Как да ценим пътя, след като резултатът е лесен? Живеем в изненадващ свят, в който трябва да си адаптивен, за да оцелееш.
Любомир Сергеев е фотограф, дигитален артист, режисьор и продуцент с 30-годишен опит в областта на рекламата. Работил е на 5 континента, живял е в Лондон и Ню Йорк. Носител на дълъг списък от награди, сред които е „Victoria“, считана за най-престижна в света на фотографията. 12 години подред е в световната селекция „200 най-добри дигитални артисти“.

повече информация
:-) Усмихни се! Приказка за първия емотикон

🙂 Усмихни се! Приказка за първия емотикон

С идването на интернет текстът се преля в изображенията и обратното. И въпреки че всичко в онлайн света се променя главоломно, символът „първопроходник“ оцелява до днес.
Усмивката, която всички използваме ежедневно, „нарисувана“ само с 2 или 3 знака, е може би най-разпознаваемият знак на онлайн епохата. Модите, технологичните поколения, социалните мрежи идват и си отиват, докато „смайли“-то си остава, вечно и разпознаваемо.
Знаете ли кой е „баща“ му? Колкото и да е странно, комбинацията от знаци си има конкретен „изобретател“ и още един „кръстник“, който му помага да скочи в интернет. Графичният дизайнер Харви Бел печели за начинанието си – стилизирано смеещо се лице, „цели“ 45 долара. Той никога не е претендирал за авторски права, вместо това десетилетия по-късно създава фондация, която набира средства за деца в нужда, чийто символ, разбира се, е усмивката.
Усмихнете се на живота! Време е за една лъчезарна дигитална история.

повече информация
Share This