Езици за програмиране и какво прави всеки един от тях

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

Накратко за специализираните езици

Те са вероятно хиляди, всеки създаден за някаква определена цел. Но има и такива специализирани езици за програмиране, които се използват по-масово и са по-известни. Това са, например, езиците, на които се пишат базите данни . 75% от пазара на системите за управление на бази данни (СУБД) се държи от Oracle DBMS, Microsoft SQL Server и MySQL, но има и други. SQL е специализиран език за връзка със СУБД. PL/SQL (въведен от Oracle в края на 80-те години) е процедурно разширение на декларативния език SQL.

Езиците за програмиране, на които се пишат бази данни, работят само в средата на базите данни и служат за процедурите, които се изпълняват в самата база данни. Тя представлява записи, разположени във файлове върху дискови масиви. Освен това има сървър, който пуска система за управление на бази данни (СУБД) – един или много процеси, пуснати на сървърите, които пишат и четат от тези записи по дисковите масиви. Сървърната част на базите данни представлява група процеси, които пишат и четат от дисковите масиви. В тези процеси може да се програмира процедурата, която се върти на сървъра с базите данни езика на PL SQL. Database програмирането се осъществява в средата на базата данни. Програмата работи там.

Друг интересен пример за език за програмиране с общо предназначение е JavaScript . Първоначално е създаден като език, с който да се автоматизират уеб страниците, но постепенно от специализиран, се превръща в език с общо предназначение. Ще поговорим повече за него и трансформацията му в следващите редове.

Езици за програмиране с общо предназначение

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

90% от програмистите в света работят на тях. Комерсиалният софтуер е написан на тези езици.

Java

Този език е подобен на С++. При създаването си е рекламиран като език, който ще бъде интернет базиран и съвременен. Програмите, написани на него, се обновяват (ъпдейтват) при стартирането си. Например, както се случва при стартиране на Android приложенията. Java e многоцелеви език, само че на него се пишат уеб базирани приложения, а не операционни системи. При трислойна архитектура Java работи на бизнес нивото – на второто ниво.

Има Garbage Collection. Това улеснява работата на програмиста, защото той не трябва да мисли какво да прави с паметта, която е заделил, но вече не му трябва. Това улеснение, обаче, се заплаща с по-ниска производителност – езикът е с голям размер и не винаги работи достатъчно бързо. Програмата работи по-бавно с няколко десетки процента, от колкото ако е написана на С. От 2009 г. е собственост на Oracle.

Софтуер, писан на Java: Android, вградени приложения за Android, игри и уеб-базирано съдържание.

Python

Много прост и подреден език, лесно се пише, лесно се запомня синтаксиса. Той е много изразителен език и също има Garbage Collection. Наравно с Java има един от най-големите библиотечни масиви. Но част от библиотеките му стоят на ниво студентски проект – не се поддържат, грешките не се чистят и програмистите недоволстват. Python в момента е на нивото на Java преди да я купи Oracle. Въпреки това можем да кажем, че пред този език има светло бъдеще и има какво още да видим от него. Среща голяма конкуренция в лицето на Java Script

Софтуер, писан на Python: софтуер, свързан с интернет на нещата и изкуствен интелект. Гигантите Google и Facebook широко го използват в свои разработки.

JavaScript

Това е езикът, на който в момента пишат най-много програмисти в света. На него се пише огромно количество софтуер. В началото е специализиран език, създаден за автоматизиране на уеб страници. С годините се развива и в момента е отделен език с общо приложение. Създадени са голям брой библиотеки за JavaScript. Всеки реализатор на Internet Explorer или Google Chrome има някакви екстеншъни на JavaScript и един JavaScript не може да работи еднакво добре на различни браузъри. В момента този език е нещо огромно.

През последните години вече JavaScript е стандартизиран, ето линк към стандарта  https://www.ecma-international.org/publications/standards/Ecma-262.htm

Софтуер, писан на JavaScript: това е скриптов език, на него не се пише отделен софтуер, а по-скоро части от него – например потребителски интерфейс на интернет базирани приложения.

C++

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

C++ има всичките недостатъци на С и всички екстри на останалите езици. Например, можеш да му пуснеш и Garbage Collection. C++ има няколко стандарта, именувани на годините, в които са излезли –  1998, 2003, 2011 е огромна стъпка напред все едно е още един С++, 2014 и 2017 с още нови неща. Догодина излиза стандарт 2020 – още една много голяма стъпка напред. Все едно първият език се е умножил по 3 и в момента има три езика С++.

С годините С++ става много голям. Получава се така, защото в езика постоянно се включват техники и възможности за програмиране от други езици – поддръжка на тредове и нови начини за комуникация. Някои фирми се отказват да го ползват като цялостна концепция, а използват само части и стандарти от него. С++ нарушава аксиомата да се поддържа софтуерът прост.

Софтуер, писан на С++: може да се използва за писането на ВСИЧКО, което се сетите.

C

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

Програмите, писани на С, работят много близо до процесора и до паметта, много бързи системи, използват всичко в максимална степен. ЕЗИКЪТ Е ЛЕСЕН за научаване, но на него се пише трудно и бавно, трудно се откриват грешки и неопитният програмист може да направи големи бели с него. Съдържа само 32 ключови думи. Проблемът е, че самият език ти дава много степени на свобода, но за съжаление при тази голяма свобода повечето от нещата, които правиш, са срещу теб.

C e остър нож с който може да се „нараните“, ако не знаете как да го ползвате. С е по-бърз от C#, обаче на C# се пише по-бързо и лесно. Който го овладее, в последствие ще има основа за повечето програмни езици с общо предназначение, които произлизат от С.

Софтуер, писан на С: операционни системи, драйвери.

C#

Един от фамилията #(sharp)-езици: C#, F#, M#, Q# и други. Той е отговорът на Microsoft на Java. И той има Garbage Collection. Огромното предимство, може би ще минат Java с това, е че предлагат огромен фреймуърк с всичко, което се сетиш за този език. Готови компоненти за всичко, добре изтествани и лесно свързващи се една с друга. На този език се правят бързо средно големи програми. Езикът има добре развити системи за анализ, които ти помагат да си изчистиш бързо грешките.

Предлага повече възможности от Java. Много хора пишат на този език. Много хора от Java минаха на този език, защото е по-лесно, по-бързо и има много готови неща. Още като започват всичко при тях е изрядно. Имат една от най-добрите среди за разработка – Visual Studio  за С, С++ и С#.

Софтуер, писан на C#: програми за и части от самия Windows, PlayStation Suite, Xbox, Windows Phone, Kaspersky Internet Security

Искате ли да научите повече за програмирането и неговите изразни средства? Запишете се на нашите обучения и ние ви научим на всичко, което е необходимо, за да практикувате професията.

1000 916 Code Academy

Даниела има над 6 години опит като програмист с различни видове технологии в разнообразни проекти, като инсталатори, replication server-и и cloud service-и. Последните няколко години разработва Cloud Service-и с Java и Spring. Даниела обича да преподава, защото това й дава възможност, споделяйки своите знания и опит, да помогне на своите курсисти да стартират една успешна IT кариера.

Димитър е програмист с дългогодишна практика и опит в разработката на комуникационни системи, софтуери и бази данни. Започнал е кариерата си в Институт по компютърни и комуникационни системи към БАН. Участвал е в международни и български проекти и е водил упражнения в Техническия университет в София. Участвал е в разработката на билинг системи, фискални устройства, VoIP, цифрова телевизия, аптечен и складов софтуер, игри и много други. Димитър използва C, C++, Python, Perl, JavaScript, HTML, PHP, PL/SQL, PostgreSQL, MySQL, MS SQL, Delphi. Димитър е извор на техническо познание. Той ще те подкрепя във времето, отделено за самоподготовка, винаги когато имаш въпрос или ситуация, към която не си сигурен как да подходиш.

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

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

Александър има над 20 години опит в информационните технологии. Завършил е успешно над 25 проекта базирани на Java, JavaScript, SQL, Pl/SQL и Python технологии. В момента работи като консултант в областта на Quality Assurance и Information Security за водещи финансови институции в Европа. Сертифициран ISTQB Advanced Level, SCRUM Master, PRINCE2 и ISO27001 ISMS Information Security Lead Auditor.

Анастас е програмист с над трийсетгодишна практика. Участвал е в разработката на много проекти за телекоми, финансови институции, игри и други бизнес системи. Две години от кариерата си е бил университетски преподавател. Днес предпочита да програмира на С++, но има голям опит с Java, Python, C, Pro*C, PL и PL SQL. За него всеки език за програмиране е само още едно изразно средство, което му помага да си свърши работата. Анастас притежава умението да предава на разбираем език и най-сложната материя. За него няма тайни в програмирането и той с удоволствие ще те води в първите ти стъпки от обучението.

Валентин е Java програмист с повече от 20 години опит. Специалността му е Java & SPRING. Работил е по много и разнообразни проекти. Можеш да разгледаш Linkedin профила му за повече информация. Едно от нещата, които най-много обича, е да преподава. Успешно води курса за професия Back-end Junior Developer с профил Java в първия сезон на CODE ACADEMY и спечели симпатиите на курсистите с неподправения си стил и разбираемия начин на преподаване.

Елена е  програмист с близо седем  години професионален опит. Завършила е висшето си образование в Софийски Университет „Св. Климент Охридски“, специалност „Информационни системи“- степен Бакалавър. По време на следването си Елена е била и асистент преподавател за повече от една година – Programming Fundamentals & OOP in C++. Към днешна дата е част от екипа преподаватели към избираемата дисциплина  “Разработка на Front-End Web” във ФМИ към Софийски Университет „Климент Охридски“. Извън преподаването и програмирането, дизайнът е нещо, с което обича да се занимава през свободното си време.

Разработвала множество проекти през годините, Елена има желанието да предаде знанията си на тези, които тепърва тръгват по нейните стъпки.

Иво е софтуерен инженер с над осем години професионален опит. Завършил e висшето си образование в Технически Университет – София, специалност “Компютърно и софтуерно инженерство” – степен Бакалавър. Той води и обучава екипи от програмисти повече от 5 години. Работил по множество големи проекти в сферата на Blockchain, Fintech, Real Estate. Към днешна дата управлява компания за разработка на софтуер и софтуерни консултации. Има страст към високите скорости, като редовно може да го намерите на пистата, било то с картинг или личния му автомобил.

Петър е програмист с повече от 9 години опит. Определя себе си като нестандартен софтуерен инженер. Опитът му е изцяло ориентиран около Python като преминава през различни софтуерни проекти в пътя си дотук. Стартира работа в сектора на шега, по-време на подготовката си за държавен изпит по Финанси. От тогава досега вярва, че най-красивото нещо на професията на програмиста е, че можеш да учиш всеки ден и, колкото повече научаваш, толкова повече осъзнаваш, че имаш още много за учене. Да решава бизнес проблеми посредством програмни решения е нещото, което го кара да се усмихва всеки ден. Споделя, че когато получава предложение да води курс в Code Academy, не се и замисля, а се съгласява да влезе в това предизвикателство веднага. “Изключително важно е да трупаш знания, но е дори по-важно да ги споделяш с хората, които имат интерес към тях.”

Светлана е специалист с Java и Spring, но познава още езиците C, C++, VB, JS, HTML, CSS и SQL. Има над 5 години професионален опит в разработката на различни проекти. “Обичам да преподавам, защото помагайки на младите колеги да развият уменията си в разработката на софтуер, успявам да организирам и систематизирам по-добре собствените си знания. По този начин израстваме заедно!“ – казва тя. Опитът й като лектор е повече от 10 години, като в момента освен водещ на модула Spring Boot, тя преподава и в ТУ София – университетът, в който е придобила бакалавърската си степен в специалност „Компютърни системи и технологии“.

Стефан е софтуерен архитект, с повече от девет години практически опит като програмист. Той има отлични познания в богат пакет от технологии, сред които Java и Spring. Стефан е вдъхновяващ и обича преподаването, с което се е занимавал също, като хоноруван асистент в ТУ София. В свободното си време чете, плува и играе комютърни игри. От него ще можеш да почерпиш целият извор от знания, който ти е нужен за твоята кариерна реализация.

Йо има повече от 12 години опит с управление на проекти и екипи. Проектът Code Academy e без съмнения нейният най-любим сред тях. Срещата от близо с програмирането и хората, които са или искат да станат програмисти, тя счита за преломен момент в кариерата си. Поради липса на по-подходящо сравнение, ще сравним този момент с любов от пръв поглед 😊 За нея няма нищо по-хубаво от това да вижда как обучаващите се в академията постигат целта си – да се реализират след края на обучението. И тя работи с цялото си същество в тази посока.

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

Галя има образование в областта на финансите и дългогодишно приятелство с числата, но винаги е била привлечена от работата с хора и комуникацията е нейното нещо. Работи с екипа на академията по различни проекти от 12 години и приема проекта Code Academy като лична кауза. Вдъхновява се от възможността да подкрепи всеки, пожелал да промени живота си и да стане програмист. Готова е винаги да помогне с мотивацията на тези, които са загубили увереност и имат нужда от приятелско рамо и подкрепа.

Ваня е ментор в нашата програма. Работи като програмист от три години с Java + Spring, Golang, TypeScript + Angular. Да предава своите знания на тепърва прохождащи в сферата е нейно призвание. В свободното си време чете книги и помага на бездомни животни. Има три кучета, които е осиновила. Ваня винаги ще бъде до теб, за да ти помогне да се сбориш успешно с бъговете в кода, който пишеш.


Търсете тук