Успехът на Python е „експлозивен” – и има защо

Лесният за усвояване програмен език Python има десетки милиони потребители
(снимка: CC0 Public Domain)

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

Python трябваше да се раздели на поне две различни общности. Но това не се случи. Трябваше да намери значително корпоративно финансиране, за да се развива и процъфтява – но и това не стана. И вероятно би трябвало да се игнорира в науките за данните, тъй като хората от тази област си имат R – но и това не се получи.

Вместо това Python продължава да се развива и да става все по-популярен като един от доминиращите езици за програмиране в света. Има основателни причини да е така. Има и основателни причини да не са се случили всичките проблеми, изброени по-горе. Съоснователят и главен изпълнителен директор на Anaconda Питър Уанг казва, че растежът на Python е „абсолютно експлозивен” и е малко вероятно някой друг език за програмиране да навакса.

Има нещо в този питон

Python е привлекателен за широк кръг потребители, от учени в областта на данните до новозавършващи студенти. Това е така заради характеристиките на езика, казва Уанг, цитиран от Tech Republic. Неговата компания е от основно значение за еволюцията на Python като първокласен инструмент за изследователите на данни.

„Има две неща, които Python прави и които са много различни от всички други основни езици. На първо място той е „фасулска работа” за учене. Той е лесен за използване, лесен за усвояване, децата го използват, непрограмистите го научават за по един уикенд. Това не е случайно – това е важна част от дизайна му от самото начало и е съвсем умишлено… Второто нещо, което е интересно при Python, е, че от самото начало е добър като „лепилен” език”, изтъква Уанг.

Това е и причината, поради която, оказва се, Python започва да намира приложение в науката за данните, която уж би трябвало да е „запазена територия” за R и други подобни езици за програмиране и инструменти, проектирани специално за науката за данните. Но заради факта, че се изучава и усвоява много лесно, Python си намира пътя в общността на учените.

„Това е [лесно] за човека, който не е разработчик”, обяснява Уанг. „Лесен е за вицепрезидента по продуктите, за хората, занимаващи се с маркетинг. Лесен е за всички. Конкурент на Python е Excel. Той не се конкурира с Java или Ruby или R или Julia”.

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

Силата на Python в науката за данните (и математическите изчисления като цяло) дължи успеха си на ранните усилия на пионерите в научните изчисления. Дори когато първите разработчици на Python го замислят като „страхотен конкурент на Perl” и други езици за уеб разработка, Гуидо ван Росум – основателят на Python – остава приятелски настроен към общността на научните изчисления, насърчавайки изследователите да подобрят Python за своите нужди. Това помогна да се сведе до минимум необходимостта проектът да се разклонява.

И така, днес имаме език за програмиране, който прави много неща много добре. Според изчисленията на Уанг, малко вероятно е някой друг език за програмиране да настигне Python:

„Python има десетки милиони потребители. Мисля, че пресата значително подценява колко широко използван е Python. И в този момент възприемането му е много оживено. В училищата децата го учат. Ако сте в средното образование, вие надраствате Scratch; искате да правите реално програмиране. JavaScript, разбира се, ви позволява да правите хубави уеб страници, но ако искате да се занимавате с машинно обучение, да боравите с данни – разбира се, че се заемате с Python. Затова има университети и гимназии и средни училища, които преподават Python”, казва Уанг.

Но всичко изброено дотук не означава автоматично, че Python е перфектен.

Нарастващите болки на Python

Според Уанг, отдавна има проблеми с „пакетите”. „Фантастично е, че можете да вземете съществуващи библиотеки, C++, Fortran и т.н. и да ги свържете с помощта на „лепилото” Python, споменато по-горе. Но все пак трябва да разберете как да компилирате всички тези библиотеки. Може би малко по-лесно е за разработчиците, които се занимават с уеб език като Ruby”.

Гуидо ван Росум не е искал да затрупва Python с тази способност, така че Anaconda се е заела с материята, създавайки собствена система за пакетиране при Python, коментира Уанг. Дистрибуцията на Anaconda улеснява вземането на трудно компилируеми неща като Fortran и ги кара да работят безпроблемно с Python. Освен това в общността се засилва фокусът върху подобряването на производителността на Python.

Разбира се, тепърва предстои да се измине дълъг път. За щастие популярността на Python означава, че има голяма и все по-набъбваща популация от сътрудници, които се стремят да се справят с всякакви пречки. По думите на Уанг, „суровото количество потребители и съществуващ код и ценните бизнес-казуси създават такъв потенциален, доходоносен пазар за решаване на тези проблеми, че екосистемата на Python ще преодолее лесно [всякакви] препятствия”.

Или, ако се перифразира, „при наличието на достатъчно „питонисти” всички проблеми на Python са разрешими”. Което, разбира се, ще доведе до още по-голям растеж и популяризация на Python.

Коментари по темата: „Успехът на Python е „експлозивен” – и има защо”

добавете коментар...

  1. хах

    Езиците в които се мисли малко за детайлите стават все по-популярни… Python, Rubi, Java, Scala, Go и т.н. Аз като embedded developer много им се дразня на всички разхищения (от всякакво естество), които предизвикват. Ама хората не искат оптимални неща, искат безумна функционалност, която отнема много време да се направи с мисъл. Затова има толкова бъгове в новите продукти, щото никой не мисли за детайлите…

  2. Филанкишията

    Понякога пишеш доста ловко и манипулативно.
    Да,голяма част от тези компоненти (.Net …) са с отворен код от известно време.
    Обаче доколко са ефективни ?

    Няма как по бързодействие виртуалната машина “която върти С# функционалностите”
    да се сравнява със сериозните приложения за UNIX базирани системи:
    web(Apache,Nginx),бази данни,mail сървъри и т.н. . – те са компилирани до изпълним код.

    А ако става дума за суперкомпютри – там е направо несериозно дори да се говори
    за Windows, .Net и други подобни.

  3. Фофу

    Мога да обясня. Това е концепцията .Net Core. Което е пак МС разработка която се инсталира на на Вин, Мак Ос и Линукс и създава виртуална машина която да върти С# функционалностите. Орязана версия стандартната .Net Framework само за Уеб приложения без Win Forms, WPF и пр. Отворен код е, можеш да си го свалиш и променяш, ако имаш желаниие и възможност. Подобрени възможноости за Майкросървиси, вградени опции за Dependency Injection, за облачно деплойване.
    Но в крайна сметка е разработка на МС. Та назидателния тон дето ми държиш – демек ми натри носа … нИ върви.
    Между другото стандартната .Net Framework беше пусната като свободен код преди повече от 5 год.

  4. Филанкишията

    Ъхъ.
    “вадиш разни цитати от нета и не разбираш нищо”

    Я като си експерт на ниво “Силициева долина” да обясниш
    как работи C# на платформи,различни от пародията Windows.
    Само Windows ли е операционна с-ма ?

    А,забравих ,това ти е любимата ОС.

  5. Фофу

    Не твърдя,че C# няма garbage collector.
    Къде го видя това ?

    C# класовете имат деструктори(delete …)

    А като се стигне до “C# си има сериозни недостатъци,но това е друга тема …” и съвсем ми става яно, че вадиш разни цитати от нета и не разбираш нищо.

  6. Филанкишията

    Фофу,объркал си се пак…

    Не твърдя,че C# няма garbage collector.
    Къде го видя това ?

    C# има garbage collector и деструктори,Java има само garbage collector.

    Разбира се,това не означава ,че C# е по-добър от Java.
    C# си има сериозни недостатъци,но това е друга тема …

  7. Ivan

    Повечето проблеми покрай python ще се разрешат, когато някой налее повече пари. Езикът не е лош. Често C# програмистите са тези, които най-много го критикуват.

  8. Фофу

    Филанкишията 04/06/2021 10:25 Ами тикиви ги пиша.
    Сериозните концептуални различия както ги описа се оказаха едно различие. Което дори не е вярно. C# класовете също работят с garbage collector.

    Fundamentals of garbage collection
    11/15/2019

    От Микрософт докс. Че тук не ставаше да се постват линкове.

  9. Филанкишията

    Фофуууууууууу,кви ги пишеш бе ?
    “=> C# е Java, с ООП и пр.”

    C# НЕ е Java,въпреки близкия синтаксис (със С++)
    И двата езика за обектно ориентирани,но имат сериозни концептуални различия.
    Най-важното: C# класовете имат деструктори(delete …),а Java няма.
    Java разчита само на garbage collector

  10. Фофу

    Анонимен 04/06/2021 00:21 А изпаткалото ананимно си осра мозъка. Пореден малоумник. Намери си форум за малоумни и пиши в него колкото искаш. Тук се пише по темата.

  11. Анонимен

    Изпаткалото Фофу пак затроли и осра темата…

  12. Фофу

    Английския ми е близък до перфектен. Със С# съм се занимавал години и неграмотник като теб няма какво да ми каже.
    И Американски съд за политиката на Microsoft и С#са различни работи. Кажи на тия дето ти спускат дивотиите да те ограмотят малко поне.

  13. God Master

    Фофу, видяхме, че не разбираш нищо от програмиране и драскаш глупости за C# и другите неща. Прочети да се ограмотиш от Американски съд за политиката на Microsoft виж в wikipedia ако можеш да четеш на английски прочети за това Embrace, extend, and extinguish

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

  14. Фофу

    Програмист-та почна с Питон и по стар тренинг мина на МС. Но това не стигна, та взе че си представи че МС са купили Питон само за да продължи с попръжането.
    И между другото
    => C# е Java, с ООП и пр.
    вместо JavaScript => TypeScript Последното не променя JS, а е суперсет на JavaScript. Надгражда го с цел по-лесно ООП. След транспилиране излиза ES6 или ES5. Ползва се предимно за Angular.
    C# и TypeScript се използват доста сериозно и не съм чул някой да се оплаква, освен добре отренираните.

    опити дори вместо AdobeFlasg (Action Scirpt) => SilverLight – Брех, вземете ги преживейте и двете вече и влезте в година 2015 и нагоре.

  15. Програмист

    Потвърждавам за нищо не става този уеб навигатор от Anaconda
    Пълен е с бъгове, не могат да се управляват нормално пакети и средата и аз съм принуден да ползвам командният ред, за да си свърша работата.

    Другото от Microsoft студио, редактори и среда в която може да се ползва и Python – изпитвам пълно отвращение и не работя с тях.

    Примери много за извращения от Micorsoft
    вместо C++ => C#
    вместо JavaScript => TypeScript
    опити дори вместо AdobeFlasg (Action Scirpt) => SilverLight

    изобщо Microsoft до каквото се докопа унищожава
    Нищо чудно да се появи подмяната на Python със Python# или под име P#

  16. Senior Software Developer

    Доста години програмирам и Python ползвам.

    Опита показва каква трагедия е Anacoda пълна излагация

    мениджъра на пакети чупи зависимости,

    уеб базирания навигатор в Anaconda е пълен боклук зависва, блокира, не могат от там да се правят updates,

    за да работи с пакети трябва конзолата да се ползва команден ред, да не говори какви гигабайти прахосва Anaconda.

  17. С++

    Успехът на Basic беше „експлозивен”, имаше защо! Питон най-вероярно ще последва неговата съдба. Много скоро програмните езици ще станат излишни. С помощта на ИИ ще може дори едно дете да пише на асемблер.

  18. Анонимен

    Python – най-демократичния език!

  19. Anonymous

    Реклама – за нищо не става.

    златка!Ламя – най мощният прог. интпрет

Коментар