Loading...

Как е бил създаден програмният език Python?

avatar Георги Кацаров 3 минути
Как е бил създаден програмният език Python?

Както неколкократно съм отбелязвал в предходни материали – изобретенията не падат от небето. Те се явяват резултат на съществуващи преди тях концепции и идеи, просто обединени по нов начин. Програмните езици не правят изключение. Новите езици не се материализират от нищото – те най-често са отговор на количествено натрупани проблеми при съществуващи езици/технологии.

Програмният език Python не прави изключение. Той се появява като естествено развитие на предшестващ го програмен език – ABC. ABC от своя страна е императивен програмен език с общо предназначение, но той не е бил предназначен за системно програмиране, а по-скоро за създаване на програми-прототипи или различни обучителни цели. По езика работят няколко души, един от които е програмиста Guido van Rossum. Работейки по проекта в него се зародила идеята да създаде интерпретатор (това е компютърна програма, която директно изпълнява инструкции, написани на програмен език, без да е необходимо преди това програмния код да е компилиран в програма на машинен език) базиран на езика ABC. Дълго време обаче не намирал време за това. Най-накрая, през декември 1989 г., когато нямал възможност да работи в института, в който се намирал офиса му, той се замислил за някакъв проект, който да го ангажира за периода на празничните дни. Така той решил да се захване с идеята за създаването на този интерпретатор за нов скриптов език, който да е наследник на ABC и който е ориентиран към Unix/C общността. Проектът нарича „Python“, вдъхновявайки се от името на популярно комедийно шоу „Monthy Python’s Flying Circus“.

Самият Ван Росум споделя: „Всичко започна с ABC. Той беше страхотен програмен език, невероятно елегантен и мощен, чиято цел беше непрофесионалното програмиране. Въпреки своите положителни черти обаче той никога не стана популярен в Unix/C света. Мога само да гадая за причините, макар че се сещам за една примерна: трудността при добавяне на „примитивни“ операции в ABC. Технологията беше монолитна, затворена система, която имаше най-базовите входно-изходни операции: четене на стрингове от конзолата, писане на стринг в конзолата. Реших, че това е грешка, която не трябва да повтарям при Python.

Освен това бях натрупал най-различни идеи за подобрение на ABC и бях нетърпелив да ги реализирам. Например програмният език ABC имаше изключително мощни типове данни, които обаче се оказаха по-малко ефективни, отколкото очаквахме. Имаше твърде голям акцент на теоретично-оптимални алгоритми и недостатъчно възможности за по-общите случаи. Освен това някои от свойствата на езика, които бяха предназначени за по-неопитни и начинаещи програмисти, бяха по-малко желани от аудиторията, която бе цел на езика – Unix/C програмистите. Такива са например странният синтаксис, част от терминологията на езика, интегрирания редактор, в който се пише кода. Него специално потребителите намразваха почти неизбежно. Затова моят проект Python трябваше да стъпи по-стабилно на Unix инфраструктурата и конвенциите, без обаче да е обвързан с Unix. Първата имплементация на езика всъщност бе направена на Mac.

Както се оказа в последствие, Python е свободен от множество от зависимостите, които срещаме при езиците за конвенционално програмиране. Това може би е така, поради изборите, които направих по време на неговата разработка. Вместо ABC, основното ми вдъхновение беше Modula-3. Това е друг програмен език, който съчетава елегантност и мощ, и също така е разработен от малък екип със силна воля. Представете си какво би се получило, ако го бях моделирал съобразно Unix шела и C. Да, взаимствах някои неща от C, но само тези, които са по-малко противоречиви. Това направих с цел проекта ми да се хареса на Unix/C аудиторията.
“.

Една от най-популярните черти на програмния език Python е неговата лесна четимост, която го отличава от всички останали езици в света на програмирането. За нея Ван Росум споделя: „Акцентът върху четимостта на езика не е случаен. Бидейки обектно-ориентиран език, Python насърчава създаването на преизползваем код. Дори ако пишем перфектна документация през цялото време, един програмен код трудно ще бъде считан за преизползваем, ако не е четим. Всички свойства на Python са ориентирани с оглед създаване на по-добра четимост. Това е едно от ключовите свойства и на ABC, който също поставяше голям акцент върху яснотата на кода.“.

Днес, 30 години по-късно, езикът Python е сред най-популярните програмни езици и намира приложение в концепции на бъдещето, като machine learning и deep learning. Това му гарантира актуалност още дълги години, а инвестирането на време в неговото усвояване – една добра инвестиция на време. Затова не губете време а още днес кандидатствайте за програмата по софтуерно инженерство, избирайки Python за свой програмен език. Очакваме ви!

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