Видове езици за програмиране

За да се потопите в програмирането трябва само 3 неща:

  • Решавам да какъв език / технология, която искате да стартирате.
  • Решете кои ресурс, който искате да научите.
  • Разпределяне на време за себе си програмиране.

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







Следващият представи накратко своите плюсове и минуси. В тази статия, ние се придържаме към разделението на езици на ниски, средни и високи нива, но такава класификация е, разбира се, не е единственият.

ниско ниво

Примери: C, C ++, Assembler.

+ Пълен контрол над всички почти; можете да използвате само това, което ви трябва.

- Допълнителен контрол означава допълнителна сложност, която може да се направи на пръв поглед прости задачи по-трудна за изпълнение.

+ -Голям контрол върху нея; можете да направите нещо, което е почти невъзможно и на други езици.

- Управление на паметта може бързо да стане много сложно.

+ Това ще ви позволи да разберем по-добре какво се случва зад кулисите на езици от високо ниво и да се научат да ценят абстракция.

- лесно да се копае в синтаксиса и детайл, а не да се разбере концепцията и цялостната картина.

+ Мотивиране да се мисли за ефективност.

- Изисква предварителна оптимизация.

+ Той се мотивира да се мисли за архитектура в аванс.

- Промени в лошо архитектура могат да бъдат болезнени. Една добра архитектура трудно да се излезе с.

- сравнително бедна стандартната библиотека означава, че трябва често разчитат на трети лица, или да изобретяваме колелото.







- Необходимо е често да вмъкнете допълнителни парчета код (шаблон), което увеличава времето да се развива.

средно ниво

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

+ Управление на паметта не е задължително, но можете да го направите сами, ако желаете.

- До този момент, трябва да се разбере как работи паметта и как събиране на боклука. но този език не е благоприятна за учене.

+ Богат стандартна библиотека.

- Много от абстракция предотврати новак да овладеят понятия, като не е ясно защо са създадени по този начин.

+ Съставена в байткод. опростяване на взаимодействието с други езици.

- Байт-код изисква набор от среда за изпълнение.

- До сега, вие често поставете стандартни парчета код (шаблон), въпреки наличието на абстракции.

високо ниво

Сред характеристики често се срещат: силна абстракция, динамична и / или слабо типизиране, напълно независими управление на паметта и / или наличието на по време на работа.

+ Абстракция прави сложни задачи проста.

- Добавяне на модули за изпълнение на абстракции намаляване на производителността.

+ В общи линии, всичко е лесно и интуитивно, дори и когато се правят промени.

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

+ На сравнително големи стандартни библиотеки означават, че това, което искате да направите, най-вероятно вече се прилага и в наличност.

- Благодарение на скритите части е трудно да разберете причините за проблемите, тъй като те възникнат.

+ По-малък от стандартните кодови вложки (шаблон) - синтаксисът е много по-лесно.

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

заключение

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