петък, 20 май 2022   RSS
    Барометър | Региони | Компании | Лица | Назначения


    2599 прочитания

    С един код напред: Що е то програмен език?

    Кои са най-използваните езици, къде и как се прилагат, разказва Светлин Наков - програмист и предприемач, основател на инициативата Software University
    25 януари 2022, 17:59 a+ a- a

    Светлин Наков - програмист и предприемач, основател на инициативата Software University

    Дигитализацията и скоковете, с които се развиват технологиите, направиха IT сферата една от най-привлекателните за развитие. Почти всеки мечтае за реализация в областта, достъп до стандарта на живот и международната общност, в която се работи. Но малко хора разбират колко труд и отдаденост изисква работата като IT специалист. Още по-малко са тези, които са наясно с какво се захващат, когато правят първите си стъпки.
    За да ви подготвим за скока в дълбокото, в рубриката „С един код напред“ Светлин Наков, един от тримата основатели на СофтУни, ще ни разкаже за някои от фундаменталните IT теми. Първата фундаментална тема, която ще разгледаме, е ключова за разбирането на програмирането като дейност, а именно – какво представляват езиците за програмиране и как се прилагат.
    Ако тепърва се запознавате със света на информационните технологии или просто се чудите дали си струва да поемете по този път, то отговорът може да се крие между редовете.

    Същност на програмните езици
    Езикът за програмиране е синтаксис, чрез който описваме командите, които даваме на компютъра. Има различни езици, но всички имат формат, в който подаваме командите. Подобно на дистанционно за телевизор бутоните съдържат в себе си команди като „включи“, „изключи“, „спри звука“, „пусни канал номер четири“ и др.
    При програмирането създаваме тези команди в писмен вид. Командата е градивната единица на всяка компютърна програма. По своето естество програмите представляват последователна поредица от команди. Представете си следната задача – искаме да започнем да си водим записки.

    Следователно:
    • трябва да извадим тетрадка;
    • трябва да извадим химикалка;
    • трябва да отворим на празна страница;
    • трябва да включим и химикалката;
    • трябва да приберем тетрадката и химикалката, когато приключим.

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

    Видове езици за програмиране
    Както ние, хората, използваме редица различни езици и всеки от тях има свои особености, с които ни позволява да комуникираме определени неща, така е и с програмните езици. Различаваме няколко вида:
    • Скриптови – тези езици имат по-опростен синтаксис и самите те представляват поредици от команди, които можете да прилагате за целите си. Командите на тези езици могат да използват обекти, подобно на обектно-ориентираните езици.
    • Обектно-ориентирани езици – повечето програмни езици са създадени на този принцип. Те съдържат концепции за класове, чиито инстанции наричаме обекти. Именно тези конструкции ни позволяват да моделираме реалния свят, да работим с команди, които казват на някой обект да свърши конкретно действие или да взаимодейства с други обекти.
    • Функционални езици – при тези езици, програмите представляват поредица от функции, които имат аргументи за вход и връщат някакъв резултат, което ги прави концептуално по-различни. Но отново програмираме чрез команди, които в случая са функции.

    Освен команди обаче в програмирането можем да използваме и редица други базови конструкции чрез изписването им. Въвеждаме входни данни, можем да правим проверки (напр. дали един потребител е използвал точно 8 символа за своята парола, или дали е използвал конкретни такива). Друга основополагаща конструкция са циклите. Например ако имаме команда за печатане, при чието изпълнение на конзолата ще се отпечата „Здравей“ и накараме командата да се повтори сто път – накрая ще имаме „Здравей“, отпечатано сто пъти.
    Комбинацията от всичко, което обсъдихме дотук, създава най-базовата концепция за програмиране.

    Двете страни на монетата
    Програмирането има два аспекта, които вероятно сте чували благодарение на културната и информационна осмоза. И в България се наложиха понятията backend и frontend разработка. Но какво всъщност означават те и с какво се занимават програмистите в двете направления? Ето и отговорът:
    • Frontend – това е всичко, което виждате по екрана – картинки, бутони, потребителски интерфейс и т.н. Всичко, с което можете да си взаимодействате, когато сте онлайн.
    • Backend – това са сървърите и сървърната логика, която пази данните. Ако качите снимка в Instagram, backend програмистите са задали така логиката, че картинката да се записва в някаква база данни или на сървър. Когато frontend-ът я поиска през някакъв програмен интерфейс, ще бъде изтеглена от базата и изпратена, за да се покаже в браузъра или на мобилно приложение.
    • Full-stack дивелъпърите са тези, които умеят да работят както със сървърната (backend), така и с потребителската страна (frontend).

    Кои са най-използваните езици за програмиране?
    Топ 3 на езиците в момента са Java, JavaScript и Python. В топ 5 влизат още C# и C++. Останалите се ползват по-рядко, а тенденцията в популярността се очертава да се запази.

    • Java – Java е език за сървърна разработка или т.нар. backend. Най-често се прилага в големи корпоративни проекти. На него разчитат големи корпорации като банки и нефтени компании, които искат стабилен софтуер, работещ десетилетия наред. Корпорациите харесват Java за тези цели, защото е надежден, организиран, подходящ за големи и сложни проекти език. Второто голямо приложение на езика е в разработката на Android приложения. Като алтернатива може да се използва езикът Kotlin, който е език от семейството на Java.
    • JS – това е език за създаване на потребителски интерфейс или за т.нар. frontend разработка. Езикът работи най-често в уеб браузъра. Комбинира се с различни технологични рамки като React, Angular, Vue, Svelte и др. Тези технологии се наричат frontend технологии, а програмистите, които използват JS, HTML, CSS и JS frameworks, се наричат frontend разработчици. В много редки случаи, езикът може да се използва за backend разработки през технологията Node.js.
    • Python – първоначално езикът е направен за физици и математици, които да правят прости изчисления в научната си дейност. По-нататък се развива и става пълноценен език за програмиране. Той е скриптов език. На Python е много лесно да се навържат различни инструменти и библиотеки, съответно много лесно можем да правим machine learning модели и програми, както и разработки в областта на изкуствения интелект – AI. Това е едно от най-популярните му приложения заедно с т.нар. data science за обработка на данни и machine learning. Второто водещо приложение на Python е при разработката на гъвкави уеб приложения с технологични рамки като Django, Flask и др., чрез които можем да разработваме гъвкави информационни системи с малко писане на код. Напр. с Django можем лесно и бързо да създадем сайт за обяви. От друга страна, езикът не е подходящ за разработки за мобилни телефони, за игри и др. Това е сравнително нишов език.
    • C# – езикът има универсално приложение. Може да се използва както за сървърни приложения (back-end), така и за front-end през Blazer технологията, замествайки JS в браузъра. Популярен и в гейм development-а – той е най-подходящият от всички изброени, тъй като може да се използва в инструмента Unity. Това е основен инструмент за правене на голяма част от игрите на пазара. Той е страхотен за 2D и 3D визуализация, както и за правене на игри и графични приложения за VR. Не на последно място, на C# могат да се правят дори мобилни приложения за iOS и Android. Това са най-популярните езици, които се използват днес в програмирането.

    Но си струва да споменем и още няколко, някои от които традиционни, а други – тепърва набиращи популярност.
    • PHP – това е език за правене на уебсайтове. На него е написана популярната платформа за управление на съдържание WordPress. • Go – език за високопроизводителни и високонадеждни сървърни приложения. На него е писана сървърната част на Google Maps и се ползва от компании като Uber.
    • C++ – език за програмиране от по-ниско ниво, когато работим по-близо до хардуера или искаме да правим сложни приложения, които изискват много висока производителност.
    • Swift – езикът е правен в екосистемата на Apple. Използва се за създаване на приложения, свързани с потребителски интерфейс за мобилни устройства с iOS и за MAC.

    Знаейки всичко това, изборът какъв програмен език да учите и върху кой аспект от програмирането да се фокусирате, ще бъдете една идея по-информирани. Софтуерната разработка е богат и необятен свят, който дава редица възможности за реализация и специализация. Можете да стартирате с безплатен курс като Programming Basics, чрез който да се сдобиете с фундаментални знания и практически умения. Той плавно ще ви въведе в света на програмирането, дори и да сте абсолютно начинаещи.

    Нагоре
    Отпечатай
     
    * Въведеният имейл се използва само за целите на абонамента, имате възможност да прекратите абонамента по всяко време.

    преди 15 часа
    DHL Freight отваря нова логистична база в София
    Ще бъдат открити 100 нови работи места
    преди 15 часа
    Основаната от българин Leanplum е придобита от CleverTap
    Офисът в София става вторият най-голям развоен център в новата компания, броят на служителите в България ще се увеличи с 20% до края на годината.
    преди 20 часа
    ЕК с план за 300 млрд. евро за намаляване на енергийната си зависимост от Русия
    С REPowerEU Брюксел предлага диверсификация на енергийните доставки, по-бързо въвеждане на възобновяеми енергийни източници и пестене на енергия
    преди 22 часа
    Лорер: Японски автомобилен концерн изгражда развоен център у нас, наема 50 инженери
    Швейцарска компания вдига завода за микрооптика в Първомай за 85 млн. лв и открива над 100 работни места, обяви министърът
    преди 22 часа