Python е lingua franca во сферата на програмирање

За Python веќе е излишен било каков вовед. Веќе во повеќе наврати и со повеќе соговорници ја дискутиравме неговата важност, побарувачка и потенцијал. Затоа, време е да ја погледнеме другата страна на медалот. Да зборуваме за нешто реално и поопипливо. Како да станеш компетентен Python програмер? Колку време треба да вложиш? Од каде да почнеш? Што те чека по пат? На какви проекти ќе работиш?

Одговор на овие прашања побаравме со Лазар Грнаров, нашиот инструктор на Академијата за Data Science. Лазар е freelance developer со над 10 годишно искуство во Python, Java и Scala и експерт што конципира методологија за успешно совладување на програмски јазици за луѓе што немаат никакво искуство во програмирање.

Уписите на Академијата за Data Science се во тек, а бројот на места ограничен! Затоа аплицирај сега и започни со учење!

Лазар, овие интервјуа никогаш не почнуваат од почеток. Често добиваме прашања за тоа колку време е потребно да станеш job-ready Python web developer, без никакво претходно искуство во програмирање. Што мислиш ти, поаѓајќи од фактот дека 10 години работиш на овој програмски јазик?

Одговорот на ова прашање најмногу зависи од каде и како ќе се почне. Со сериозен ангажман и добра основа сметам дека секој може да се текне со потребните основи за 2 до 3 месеци. Јас лично познавам повеќе вакви примери каде луѓе без никакво претходно програмерско познавање работат како програмери во отприлика овој временски интервал.

*Зошто Python е идеален за почетници.

Кажи ни нешто повеќе за себе. После толку години работа во Python, кои ти се омилени проекти? Дали можеш да издвоиш некој посебен предизвик?

Додека студирав доста работев во академски сфери на програмирањето, (моделирање, математички модели, статистички модели) и од таму постепено се префрлив повеќе кон професионални проекти со што Python ми стана еден од најкомфорните јазици и продолжив да го користам и понатаму.

Еден проект кој би го издвоил е Technology Detection. Конкретно работев на детекција на технологии што се користат во веб-страни. Проектот имаше доста инженерски предизвици (потребно беше да се проверуваат неколку милиони страни на ден), бараше доста автоматизација и креативни решенија за да се постигне оваа бројка.

Кој би бил најтешкиот сегмент во совладувањето на Python за еден почетник? На што треба да се обрне повеќе внимание, каде обично пукаат конците?

Најчесто кај почетници проблемот доаѓа од фрустрации кога нешто не работи, или се преплавени со нови термини кои сеуште не ги имаат совладано, па тоа предизвикува страв дека не се доволно добри и/или дека неможат да научат. Тоа на што треба да се обрне внимание е дека мора да се оди чекор по чекор, и не треба да се преоптеретуваме со сè, како што напредуваме во програмирање, така полесно ни станува да учиме понатаму и полесно се справуваме со потешкотиите.. Во Python најважниот сегмент се идеите кои стојат позади некои одлуки кои се уникатни за јазикот, за да понатаму можеме соодветно да ги користиме.

Python + Django се покажа како многу моќна комбинација во сферата на web-development. Зошто некој што размислува за кариера во оваа област би го одбрал пред нешто покласично како PHP и Laravel?

Јас би рекол дека Python + Django е класичната комбинација 🙂 бидејќи Django постои од 2005 и е главната инспирација за Laravel. Не е дека единствениот точен одговор е Django, туку предноста е флексибилноста која ни ја овозможува преку огромниот број на ресурси (библиотеки, open-source проекти).

Дали Python е солиден избор дури и за WordPress ентузијасти што сакаат да преминат во вистинскиот домен на програмирање?

Секако. Тие што имаат познавање во PHP, Javascript и Ruby, многу лесно ќе се адаптираат на Python, а нема да изгубат ништо, така што ова многу често се случува во програмерската заедница.

Интересно е што Python e еднакво популарен и во светот на “непрограмерите“. Многу професионалци го користат секојдневно, а не ни знаат што значи акронимот OOP. Наведи ни неколку примери каде Python може да се искористи за автоматизација на секојдневни процеси.

Примери има многу. Неколку што ми текнуваат во моментов: пребарување/ преименување/ преместување на одредени типови на фајлови (.pdf, .docx,), image resizing скрипти, автоматско испраќање на маил(ови), password generator, скрипти за конверзии (месеци, денови во секунди, целзиусови во фаренхајтови степени, математики со датуми), пребарување на податоци на веб (twitter hashtags, tweet search) и многу повеќе.

Во Data Science сферата се уште владее дуалитетот на табори Python vs R. Сепак, Python се наметна како индустриски стандард. Што мислиш дека ја прави разликата? Moжеби изборот на библиотеки (PyTorch, Keras, TensorFlow)?

Апсолутно главниот адут на Python се одличниот избор на библиотеки, но исто така мислам дека R е за нијанса премногу математички јазик, и луѓето што се бават со Data Science, а се без формално образование дефинитивно ќе го претпочитаат Python.

Омилен Python IDE и зошто? И кој би го препорачал за почетници?

Јас користам Visual Studio Code бидејќи е многу флексибилен и може да се постави според лични потреби, што мене ми одговара. За почетници ако би преопрачал нешто тоа е Spyder затоа што лесно може да се постави се што е потребно за работа и нема потреба од поголеми познавања околу околината. Моето мислење е дека со тек на време треба да се пробаат повеќе околини и индивидуално да се избере тоа што најмногу ни одговара.

Од професионална перспектива, каде ја гледаш причината за стравот што луѓето го имаат од програмирање? Разбирање на програмерските концепти е многу важно, но нели, мора да се почне од некаде?

Недоволно интеракција со програмирањето создава една илузија дека тоа бара многу време и дека е многу доцна или пак дека е многу тешко да се почне. Јас лично сметам дека ова не е точно и се верувам дека ќе можеме да го промениме ова мислење со тоа што на курсот по Python, во разумно време ќе ги совладаме  “основните” програмерски концепти и ќе се стекнеме со практично и применливо знаење.

За крај, кој е твојот совет за сите што сакаат да научат да програмираат, дали за кариера во IT секторот, Data Science или пак за сопствени потреби? Дали Python e идеалниот прв програмски јазик?

Би им препорачал да пробаат, нема што да изгубат ако се обидат, и верувам дека многумина би се пронашле барем во една од многуте области кои ги нуди Python како програмски јазик, без разлика дали е тоа на професионално ниво, хоби, или пак за потреби во академски области.

Идеален јазик би бил оној кој би го користеле понатаму така што е тешко да се издвои точно еден, но Python веќе се предава како прв јазик скоро секаде. Од почетничка гледна точка ни дава најмногу опции, а со тоа најголеми шанси да го користиме. Поради тоа, Python е дефинитивно lingua franka во сферата на програмирањето.

Уписите на Академијата за Data Science се во тек, а бројот на места ограничен! Затоа аплицирај сега и започни со учење!

Related Stories For You