Първият език за програмиране е неговото име и автор. Как избирате (първия) език за програмиране? Или как да зададем правилните въпроси? Runtime - изпълнение на програмата

С този текст искам да започна поредица от статии за историята на развитието на езиците за програмиране. Това е адаптирана версия на тази колекция.

Програмирането се появява много преди 50-те години на миналия век. Първите идеи са изразени от Чарлз Бабидж (1792-1871), който с право се смята за бащата на компютъра. Той не знаеше за транзистори, микросхеми и монитори, но точно описа основните принципи, върху които ще бъдат изградени всички компютри. Идеята е развита от графиня Ада Ловлейс (1815-1852). Нейното място в историята все още предизвиква много спорове, но едно е абсолютно сигурно - именно Ада всъщност стана първият известен програмист. Благодарение на нейната работа стана ясно, че пътят към ефективното използване на машините са алгоритмите, описани в кода.

Аналитична машина на Babbage

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

Същността на проблема

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

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

01 x y - добавяне на съдържанието на клетката на паметта y към клетката x;

02 x y е същата процедура с изваждане.

В резултат на това програмният код се превърна в безкрайна серия от числа:

01 10 15 02 11 29 01 10 11…

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


Компютър от 1940 г

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

Първи кран

Решението лежеше на повърхността: необходимо е да се преведат цифровите обозначения на операциите в букви. Тоест вместо "01 10 15" използвайте "ДОБАВИ 10 15". Това изискваше допълнителен превод на знаци в машинни инструкции, но предвид проблема, жертвата беше минимална.

Решението се оказа толкова очевидно, че не е известно със сигурност кой първи е изобретил асемблерния език. Най-вероятно той се появи едновременно на няколко места наведнъж. Авторите на книгата "Подготовка на програми за цифров компютър" Уилкс, Уилър и Гил се считат за отговорни за името и популяризирането. Лесно е да се досетите, че името Assembler идва от английската дума Assembly – да сглобявам, сглобявам, която доста точно описва процеса. По-късно символите започнаха да засягат не само най-простите операции, но и адресирането, което значително опрости четимостта на кода.

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

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

Това беше катализаторът за езиков пробив.

Компилатори и пристрастия

Асемблерът направи възможно създаването на прости трансформации. Например, превеждане на 01 в ADD. Макро асемблерът разшири тази идея и даде на програмистите възможността да сгъват множество инструкции в една. Например, ако в програма постоянно добавяте стойност към клетка на паметта и проверявате дали е пълна, можете да запишете всичко това в макроса INCRT и да го използвате, променяйки само променливите. Всъщност, макро асемблерите станаха първите езици от високо ниво.

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

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

Въпреки това компилаторът беше единственият изход от ситуацията, но тук се появи друга трудност - аритметични изрази. Тяхното изпълнение не съвпада с начина, по който машината чете кода. От училищния курс знаем реда на изчисленията в израза "2 + 3 * 5", но машината чете кода в една посока, така че отговорът ще бъде грешен. Да, този пример може да бъде решен чрез създаване на макрос, но сложните изрази от ниво „(2 + 3 * 5 + 4/6) * 10 + 16- (14 + 15) * 8“ изискваха коренно различен подход.

Ерата на новата формация

Джон Бекус, създателят на Fortran, успя да намери алгоритъма за анализ на стека. Той започва да работи по него през 1954 г. и му отне почти 5 години, за да докаже правото на съществуване на езиците на високо ниво. Пълното име на Fortran е IBM Formula Translating System или FORmula TRANslator. Въпреки че е на 60 години, той остава един от най-популярните езици за програмиране и е невероятно търсен в Data Science. През това време видяхме много версии: Fortran 1, II, 66, 77, 90, 95, 2008 г. и още една ще бъде пусната следващата година (планува се Fortran 2015, но поради забавяне името може да се промени на 2018 г. ). Именно във Fortran за първи път бяха приложени едновременно много атрибути на език от високо ниво, включително:

  • аритметични и логически изрази;
  • DO цикъл (ранна форма на цикъл FOR);
  • условно IF изявление;
  • подпрограми;
  • масиви.

Друго важно наследство на Fortran, за което съвременните програмисти дори не са наясно, е използването на ограничения върху променливи за цели числа. Всички те трябваше да започнат с един от 6-те знака I, J, K, L, M, N (получени от I-Nteger). Оттук идва и навика изброяванията да приемат променливи i, j и т.н.


IBM 704 - машината, на която е създаден Fortran

В същото време Fortran остава език, близък до машините. Например имаше това:

Ако (израз) doneg, dozero, dopos

Причината беше архитектурата на компютъра на IBM, която изискваше инструкция за използване на правилния регистър: отрицателен, нулев или положителен. Близостта до машините се проявява и в добре познатата команда GOTO (по-късно тя е наследена от Basic), което означава директен преход към една или друга команда.

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

Езици за всеки

Fortran 1 беше научен език, базиран на сложни операции с плаваща запетая. Той дори не знаеше как да обработва текст, за това трябваше да го преобразува в специални кодове. Следователно Fortran се оказа неподходящ за бизнес, където езикът Cobol беше специално създаден.

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

Преместете доходите в общо изваждане на разходите

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

Следващият основен език беше Алгол (АЛГОритмичен език), предназначен за научни доклади и публикации. За първи път в него се появиха естествени за нас неща:

  • разлики между присвояване:= и логическо равенство =;
  • използване на цикъл for с три аргумента: начална стойност, ограничение, стъпка;
  • блоковата структура на програмите, затворени между начало и край, това елиминира необходимостта от GOTO.

Именно от Algol произлизат C, C++, C#, Java и много други популярни езици днес.

Четвъртият кит от 50-те години на миналия век е Lisp (LISt Processing language), проектиран специално да обслужва изкуствения интелект. Основната му характеристика беше работата не с императивни данни, а с функции. За да направи това, Джон Маккарти трябваше да осигури много механизми за нормална работа: динамично писане, автоматично разпределение на паметта, събиране на боклук. В крайна сметка именно Lisp стана прародител на езици като Python и Ruby, а самият той все още се използва активно в AI.

Така 50-те години на миналия век промениха начина на мислене на програмистите, представиха четири основни езика и поставиха света на релсите на компютърната революция.
Следващия път нека поговорим за това как езиците и светът на програмирането се развиват през 60-те години на миналия век.

Те се състоят в инсталиране на ключови превключватели на предния панел на изчислителното устройство. Очевидно само малки програми могат да бъдат написани по този начин.

С развитието на компютърните технологии се появява машинен език, с помощта на който програмист може да задава команди, като работи с клетки на паметта, използвайки напълно възможностите на машината. Въпреки това, използването на повечето компютри на ниво машинен език е трудно, особено когато става въпрос за I/O. Следователно използването му трябваше да бъде изоставено.

Например, за да прочете блок данни от флопи диск, програмистът може да използва 16 различни команди, всяка от които изисква 13 параметъра, като номера на блока на диска, номера на сектора на пистата и т.н. Когато дискът операцията е завършена, контролерът връща 23 стойности, отразяващи наличието и видовете грешки, които трябва да бъдат анализирани.

„Думи“ на машинния език се наричат инструкции,всеки от които представлява едно елементарно действие за централния процесор, като четене на информация от клетка на паметта.

Всеки модел процесор има собствен набор от машинни инструкции, въпреки че повечето от тях са еднакви. Ако процесор A напълно разбира езика на процесор B, тогава процесор A се казва, че е съвместим с процесор B. Процесор B ще се каже, че е несъвместим с процесор A, ако A има инструкции, които не са разпознати от процесор B.

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

Следващото развитие беше използването на структури, което доведе до прехода към класове. Структурите са съставни типове данни, изградени с помощта на други типове. Например структурата на времето. Включва: часове, минути, секунди. Програмистът може да създаде времева структура и да работи с нея като отделна структура. Класът е структура, която има свои собствени променливи и функции, които оперират с тези променливи. Това беше много голямо постижение в областта на програмирането. Сега програмирането може да бъде разделено на класове и не може да бъде тествана цялата програма, състояща се от 10 000 реда код, но програмата може да бъде разделена на 100 класа и всеки клас може да бъде тестван. Това значително улесни написването на софтуерния продукт.

асемблер

В случай, че трябва да имате ефективна програма, вместо машинни езици се използват машинно-ориентирани езици, близки до тях - асемблер. Хората използват мнемонични команди вместо машинни команди.

Но дори работата с асемблер е доста сложна и изисква специално обучение.

Структурираното програмиране включва добре дефинирани структури за управление, програмни блокове, инструкции без безусловно прескачане (GOTO), самостоятелни подпрограми, поддръжка за рекурсия и локални променливи.

Същността на този подход се крие във възможността за разделяне на програмата на съставните й елементи.

Също така създадена функционален(приложни) езици (Пример: Lisp - английски. Обработка на СПИСЪК, 1958) и главоблъсканицаезици (пример: Prolog - английски. Програмиране в LOGic, 1972).

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

ООП

В резултат на това принципите на обектно-ориентираното програмиране са разработени в края на 70-те и началото на 1980-те. ООП съчетава най-добрите принципи на структурното програмиране с мощни нови концепции, чието ядро ​​се нарича капсулиране, полиморфизъм и наследяване.

Примери за обектно-ориентирани езици са Object Pascal, C++, Java и др.

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

Пример за писане на програма на различни езици

Език от високо ниво (Delphi)

X : = sin (y * Pi) + 1;

x86 асемблер (копроцесор)

Fldpi fmul qword ptr [ Y] fsin fld1 fadd p st (1 ) , st (0 ) fstp qword ptr [ X]

Машинен код (шестнадесетично представяне, всяка команда започва на нов ред)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

Машинен код (двоично представяне)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

Връзки


Фондация Уикимедия. 2010 г.

  • Ай-ай
  • Кабанов, Николай Александрович

Вижте какво представлява "История на езиците за програмиране" в други речници:

    История на езика за програмиране Python- Python е замислен през 80-те години на миналия век и стартиран през декември 1989 г. от Гуидо ван Росум в Центъра по математика и компютърни науки в Холандия. Езикът Python е замислен като наследник на езика за програмиране ABC, способен да обработва ... ... Wikipedia

    Хронология на езиците за програмиране- Списъци с езици за програмиране По категория Хронологична Генеалогична Времева линия на езиците за програмиране е хронологично подреден списък с езици за програмиране. Съдържание ... Уикипедия

    Сравнение на езиците за програмиране- Тази статия трябва да бъде уикитизирана. Моля, форматирайте го според правилата за форматиране на статии. Конвенции ... Уикипедия

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

    История на логиката- изучава развитието на науката за формите и законите на правилното мислене (логика). Появата на логиката като развит анализ на принципите на извода е свързана изключително с три местни цивилизации, а именно: Китай, Индия и Древна ... ... Уикипедия

    История на Linux- Тази статия или раздел трябва да бъдат преработени. Моля, подобрете статията в съответствие с правилата за писане на статии... Wikipedia

    История на безплатния софтуер- Фразата "Свободен софтуер" или софтуер с отворен код се отнася до продукти, разпространявани при условията на либерални лицензи, които предоставят на потребителя повече възможности от традиционните софтуерни лицензи ... ... Wikipedia

Една от най-революционните идеи, довели до създаването, е идеята, изразена през 20-те години на 19 век от Ч. Бабидж за предварително записване на реда на действията на машината -. От този момент започва история на езиците за програмиране.

Революционен момент в историята на езиците за програмиране беше появата на система за кодиране на машинни инструкции с помощта на специални символи, предложена от Джон Мочли, служител на Университета на Пенсилвания. Системата за кодиране, предложена от Mauchly, завладя една от служителите на компанията му, Грейс Мъри Хопър, която посвети целия си живот на компютрите и програмирането.

Когато работеха на компютъра Mark-1, Г. Хопър и нейната група трябваше да се сблъскат с много проблеми. По-специално, те измислиха подпрограми.

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

В края на 40-те години на миналия век, преди Г. Хопър да се присъедини към фирмата на Джон Моучли, последният създава система, наречена „Къс код“, която е примитивен език за програмиране на високо ниво. В него програмистът записва проблема, който трябва да бъде решен под формата на математически формули, и след това, използвайки специална таблица, преведен знак по знак, преобразува тези формули в двубуквени кодове. Впоследствие специална компютърна програма превърна тези кодове в двоичен машинен код. Системата, разработена от J. Mauchly, е по същество един от първите примитивни интерпретатори.

Още през 1951 г. Хопър създава първия в света компилатор и тя въвежда самия термин. Компилаторът на Hopper изпълняваше функцията за комбиниране на команди и по време на превода организира подпрограми, разпределяне и трансформиране на команди от високо ниво (по това време псевдокодове) в машинни команди.

Средата на 50-те години се характеризира с бърз напредък в историята на езиците за програмиране. Ролята на програмирането в машинните инструкции започна да намалява. Започва да се появява нов тип език за програмиране, който действа като посредник между машините и програмистите. Първият и един от най-разпространените е Fortran, разработен от група програмисти на IBM през 1954 г. (първата версия).

В средата на 60-те години на миналия век Томас Кърц и Джон Кемени, членове на катедрата по математика в Дартмутския колеж, създават специализиран език за програмиране, който се състои от прости английски думи. Новият език беше наречен BASIC.

В началото на 60-те години всички съществуващи езици за програмиране на високо ниво можеха да се преброят на пръсти, но впоследствие броят им достигна три хиляди. Разбира се, по-голямата част от езиците не са получили широко разпространение в историята на езиците за програмиране; на практика се използват не повече от две дузини. Разработчиците насочиха езиците за програмиране към различни класове задачи, до известна степен ги обвързаха със специфични компютърни архитектури, приложиха лични вкусове и идеи. През 60-те години в историята на езиците за програмиране се правят опити за преодоляване на това „разнообразие“ чрез създаване на универсален език за програмиране. Първото дете на тази посока е PL/I (Programm Language One), 1967 г. Тогава ALGOL-68 (1968) претендира за тази роля. Предполагаше се, че такива езици ще се развиват, подобряват и заменят всички останали. Въпреки това, нито един от тези опити досега не е успешен. Включването на езика доведе до неоправдано, от гледна точка на програмиста, сложност на конструкциите, неефективност на компилаторите.

В края на 50-те години в историята на езиците за програмиране се появява Алгол (ALGOL, от ALGOrithmic Language - алгоритмичен език). Algol е предназначен за запис, които са изградени като последователност от процедури, използвани за решаване на задачите.

Развитието на идеята на Алгол за структуриране на разработването на алгоритми намери своето най-голямо отражение в историята на езиците за програмиране, когато швейцарският учен Никлаус Вирт създава езика Pascal в началото на 70-те години. Pascal първоначално е разработен като образователен език и всъщност сега е един от основните езици за преподаване на програмиране в училища и университети.

Периодът от края на 60-те до началото на 80-те години се характеризира в историята на езиците за програмиране с бързото нарастване на броя на различните езици, което съпътства, парадоксално, софтуерната криза. Тази криза беше особено остра за военното ведомство на САЩ. През януари 1975 г. Пентагонът решава да въведе ред в хаоса на преводачите и създава комисия, натоварена с разработването на един универсален език. Печелившият език беше наречен ADA.

Голям отпечатък в историята на езиците за програмиране остави езикът C (първа версия - 1972 г.), който е много популярен сред разработчиците на софтуерни системи (включително). C комбинира функции както на език от високо ниво, така и на език, ориентиран към машината, позволявайки на програмиста достъп до всички машинни ресурси по начин, който езици като BASIC и Pascal не предоставят.

В продължение на много години софтуерът се изгражда на базата на оперативни и процедурни езици като Fortran, BASIC, Pascal, Ada, C. Класическото оперативно и/или процедурно програмиране изисква от програмиста да опише подробно как да реши проблема, т.е. формулиране на алгоритъма и неговата специална нотация. В този случай очакваните свойства на резултата обикновено не са посочени. Основните понятия на езиците на тези групи са оператор и данни. При процедурния подход операторите се обединяват в групи – процедури. Структурното програмиране като цяло не надхвърля тази посока, то само допълнително фиксира някои полезни техники на технологията за програмиране.

Принципно различна посока в историята на езиците за програмиране е свързана с методологиите (понякога наричани "парадигми") на непроцедурното програмиране. Те включват обектно-ориентирано и декларативно програмиране. Обектно-ориентираният език създава среда под формата на множество независими обекти. Всеки обект се държи като отделен компютър, може да се използва за решаване на проблеми като "черни кутии", без да се задълбочава във вътрешните механизми на тяхното функциониране. От езиците за обектно програмиране, които са популярни сред професионалистите, на първо място трябва да се посочи C++; за по-широк кръг програмисти се предпочитат среди като Delphi и Visual Basic.

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

Схема за подбор

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

Когато избирате първия език за програмиране, си струва трезво да оцените следните фактори:

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

Популярност и търсене

JavaScript

JavaScript, който не трябва да се бърка с Java, е език за програмиране, разработен през 90-те от Брендън Айх, преди от Netscape Communications, а сега от Mozilla Foundation. JavaScript е една от основните технологии, на които се основава уеб общността, каквато я познаваме. Не се заблуждавайте, въпреки че JavaScript съществува извън браузъра, но най-вече в контекста на свързани приложения и услуги.

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

За щастие JavaScript е сравнително лесен за научаване, вече е във вашия браузър, с който можете да играете, и въпреки че съществува от известно време, бързо набира популярност. Много от вас, които са го възложили, отбелязват, че ударът на долара при изучаване на JavaScript е огромен, защото можете незабавно да го използвате за създаване на неща за мрежата, което много хора може да се научат да кодират.

Python

Мога да препоръчам и Python.

Въпреки редица проблеми, исторически присъщи на Python, той продължава да бъде водещ инструмент в редица ниши:

Впечатляващо, нали? Що се отнася до големи и популярни проекти, написани на Python, това са такива чудовища като:

Също така на нашия уебсайт можете да намерите.

Позволете ми да подчертая някои общи тенденции в развитието на езиците за програмиране. Проницателният читател вероятно отдавна е отгатнал какво ще кажа. Езиците се развиват към все повече и повече абстракция. И това е придружено от спад в ефективността. Въпрос: струва ли си абстракцията? Отговор: струва си. Струва си, защото повишаването на нивото на абстракция води до повишаване на нивото на надеждност на програмирането. Ниската ефективност може да се бори чрез изграждане на по-бързи компютри. Ако изискванията за памет са твърде високи, можете да увеличите количеството. Това, разбира се, изисква време и пари, но може да бъде решено. Но има само един начин за справяне с грешките в програмите: те трябва да бъдат коригирани. Още по-добре, не го правете. Още по-добре, направете ги възможно най-трудни. И към това са насочени всички изследвания в областта на езиците за програмиране. И трябва да се примирите със загубата на ефективност.

Целта на този преглед беше опит да се даде на читателя представа за разнообразието от съществуващи езици за програмиране. Сред програмистите често има мнение за "универсалната приложимост" на определен език (C, C ++, Pascal и др.). Това мнение възниква поради няколко причини: липса на информация, навик, инертност на мисленето. Опитах се леко да компенсирам първия фактор. За останалото мога само да кажа, че истинският професионалист трябва непрекъснато да се стреми да подобрява професионалните си умения. И за това не е нужно да се страхувате да експериментирате. И така, ако всички наоколо пишат на C/C++/VB/Pascal/Perl/Java/... (подчертайте според случая)? Защо не опитате нещо ново? Това ще бъде ли по-ефективно? Разбира се, преди да започнете да използвате нов език, трябва внимателно да проучите всички негови характеристики, включително наличието на ефективна реализация, възможността за взаимодействие със съществуващите модули и т.н., и едва след това да вземете решение. Разбира се, винаги има риск да тръгнете по грешен път, но... Само този, който не прави нищо, не греши.

И по-нататък. Чувал съм и понякога дори съм участвал в дискусии под формата „език А е по-добър от език Б“. Надявам се, че след като прочетат този преглед, мнозина ще се убедят в безполезността на подобни спорове. Максимумът, който може да се обсъди, са предимствата на един език пред друг при решаване на конкретен проблем при определени условия. Тук наистина понякога има за какво да се спори. И понякога решението в никакъв случай не е очевидно. Въпреки това, спорът „като цяло“ е очевидно глупав.

Тази статия имаше за цел да бъде отговор на онези, които крещят „Езикът X ТРЯБВА ДА УМРЕ“. Надявам се, че отговорът се е оказал доста адекватен и убедителен. Надявам се също, че статията има освен полемическа и образователна стойност.



Свързани статии: