Разное

Год в котором был разработан язык бейсик: Год следующий за годом в котором был разработан язык программирования Бейсик

Содержание

БАЗОВЫЙ — BASIC — qaz.wiki

Семейство языков программирования

BASIC ( для начинающих Универсальные Символическое Код инструкции ) представляет собой семейство общего назначения , языков программирования высокого уровня , чья философия дизайна подчеркивает простоту использования. Первоначальная версия была разработана Джоном Г. Кемени и Томасом Э. Курцем и выпущена в Дартмутском колледже в 1964 году. Они хотели дать возможность студентам в других областях, помимо естественных наук и математики, использовать компьютеры. В то время почти все виды использования компьютеров требовали написания специального программного обеспечения, чему, как правило, учились только ученые и математики .

Помимо самого языка, Кемени и Курц разработали Дартмутскую систему разделения времени (DTSS), которая позволяла нескольким пользователям одновременно редактировать и запускать программы BASIC. Эта общая модель стала очень популярной в миникомпьютерных системах, таких как PDP-11 и Data General Nova, в конце 1960-х — начале 1970-х годов. Hewlett-Packard произвела целую линейку компьютеров для этого метода работы, представив серию HP2000 в конце 1960-х годов и продолжив продажи до 1980-х годов. История многих ранних видеоигр восходит к одной из этих версий BASIC.

Появление первых микрокомпьютеров в середине 1970-х годов привело к развитию ряда диалектов BASIC, включая Microsoft BASIC в 1975 году. Из-за крошечной основной памяти, доступной на этих машинах, часто 4 КБ, различные диалекты Tiny BASIC также были созданный. BASIC был доступен практически для любой системы того времени и, естественно, стал фактическим языком программирования для домашних компьютерных систем, появившихся в конце 1970-х годов. Эти машины почти всегда имели интерпретатор BASIC, установленный по умолчанию, часто в микропрограмме машины или иногда на картридже ROM .

BASIC перестал использоваться в начале 1990-х, когда на рынок вышли новые машины с гораздо большими возможностями, а другие языки программирования (такие как Pascal и C ) стали приемлемыми. В 1991 году Microsoft выпустила Visual Basic , объединив сильно обновленную версию BASIC с конструктором визуальных форм . Это возрожденное использование языка, и «VB» остается основным языком программирования в форме VB.NET .

Источник

Джон Г. Кемени был заведующим математическим факультетом Дартмутского колледжа. Основываясь в основном на его репутации новатора в преподавании математики, в 1959 году школа выиграла премию Фонда Альфреда П. Слоана в размере 500 000 долларов на строительство нового здания кафедры. Томас Курц присоединился к кафедре в 1956 году, а с 1960-х годов Кемени и Курц пришли к соглашению о необходимости повышения грамотности в программировании среди студентов за пределами традиционных областей STEM . Позже Кемени отметил, что «мы видели, что каждый студент в кампусе должен иметь доступ к компьютеру , а любой преподаватель должен иметь возможность использовать компьютер в классе, когда это необходимо. Это было так просто».

Кемени и Курц провели два предыдущих эксперимента с упрощенными языками, DARSIMCO (упрощенный код Дартмута) и DOPE (эксперимент Дартмутского упрощенного программирования) . Они не продвинулись дальше одного класса первокурсников. Последовали новые эксперименты с использованием Fortran и ALGOL , но Курц пришел к выводу, что эти языки слишком сложны для того, чего они желали. Как заметил Курц, в Фортране было множество команд странной формы, в частности, «почти невозможно запомнить соглашение для определения цикла:« DO 100, I = 1, 10, 2 ». Это« 1, 10, 2 »или ‘1, 2, 10’, и требуется ли запятая после номера строки? »

Более того, ключевой проблемой было отсутствие какой-либо немедленной обратной связи; машины той эпохи использовали пакетную обработку, и выполнение программы занимало много времени.

Пока Курц был в Массачусетском технологическом институте , Джон Маккарти предположил, что разделение времени предлагает решение; одна машина может разделить время обработки между множеством пользователей, создавая у них иллюзию наличия (медленного) компьютера. Небольшие программы вернут результаты за несколько секунд. Это привело к росту интереса к системе с разделением времени и новому языку, специально предназначенному для студентов, не изучающих естественные науки.

Кемени написал первую версию BASIC. Акроним BASIC происходит от имени неопубликованной работе Томаса Курца. Новый язык был в значительной степени основан на FORTRAN II; операторы были однострочными, числа использовались для обозначения цели циклов и ветвлений, и многие команды были похожи или идентичны Фортрану. Однако синтаксис был изменен везде, где его можно было улучшить. Например, сложный для запоминания

DO цикл был заменен на гораздо более простой для запоминания FOR I = 1 TO 10 STEP 2 , а номер строки, использованный в DO, вместо этого был обозначен NEXT I . Точно так же загадочный IF оператор Fortran, синтаксис которого соответствовал конкретной инструкции машины, на которой он был первоначально написан, стал проще IF I=5 THEN GOTO 100 . Эти изменения сделали язык менее своеобразным, сохранив при этом общую структуру и похожий на оригинальный FORTRAN.

Проект получил грант в $ 300,000 от Национального научного фонда , который был использован для приобретения GE-225 компьютера для обработки, и процессор Datanet-30 в режиме реального времени для обработки Телетайпной Модели 33 телепринтеров , используемых для ввода и вывода. Команда из дюжины студентов работала над проектом около года, написав как систему DTSS, так и компилятор BASIC. Первая версия языка BASIC была выпущена 1 мая 1964 года. Одной из аспирантов группы внедрения была Мэри Кеннет Келлер , одна из первых в Соединенных Штатах, кто получил степень доктора философии.

в информатике и первая женщина, сделавшая это.

Первоначально BASIC был сконцентрирован на поддержке простой математической работы, с поддержкой матричной арифметики, начиная с его первоначальной реализации в качестве языка пакетной обработки, а функциональность символьных строк была добавлена ​​к 1965 году. Использование в университете быстро расширилось, потребовав замены основного ЦП на GE- 235, а еще позже — GE-635. К началу 1970-х годов к машинам в Дартмуте были подключены сотни терминалов, некоторые из которых были удаленными.

Желая, чтобы использование языка стало широко распространенным, его разработчики сделали компилятор доступным бесплатно. В 1960-х годах программное обеспечение стало платным товаром; до этого она предоставлялась бесплатно как услуга с очень дорогими компьютерами, обычно доступными только в аренду. Они также сделали его доступным для средних школ в Ганновере, районе Нью-Гэмпшира и регионально по всей Новой Англии на телетайпах Teletype Model 33 и Model 35, подключенных к Дартмуту через коммутируемые телефонные линии, и они приложили значительные усилия для продвижения языка. В последующие годы, когда появились другие диалекты BASIC, оригинальный диалект BASIC Кемени и Курца стал известен как

Dartmouth BASIC .

Нью-Гэмпшир признал это достижение в 2019 году, установив в Ганновере исторический маркер автомагистрали, описывающий создание «первого удобного языка программирования».

Распространение на сервисы с разделением времени

Появление BASIC произошло как часть более широкого движения к системам с разделением времени. Идея, впервые сформулированная в конце 1950-х годов, стала настолько доминирующей в компьютерной индустрии к началу 1960-х годов, что ее сторонники говорили о будущем, в котором пользователи будут «покупать время на компьютере так же, как в среднем домохозяйство покупает электроэнергию и воду. от коммунальных предприятий «.

General Electric, работавшая над проектом в Дартмуте, написала свою собственную операционную систему и запустила онлайн-систему с разделением времени, известную как Mark I. В ней BASIC был одним из основных аргументов в пользу продаж. Другие компании в развивающейся сфере быстро последовали их примеру; Tymshare представила SUPER BASIC в 1968 году, CompuServe имела версию на DEC-10 при запуске в 1969 году, а к началу 1970-х годов BASIC стал в основном универсальным для универсальных мэйнфреймов . Даже IBM в конечном итоге присоединилась к клубу, представив VS-BASIC в 1973 году.

Хотя службы разделения времени с BASIC какое-то время были успешными, предсказанного ранее широкого успеха не суждено было сбыться. Появление миникомпьютеров в тот же период, и особенно недорогих микрокомпьютеров в середине 1970-х, позволило каждому покупать и запускать свои собственные системы, а не покупать время в сети, которое обычно оплачивается в долларах за минуту.

Распространение на миникомпьютеры

Система HP 2000 была разработана для выполнения BASIC с разделением времени в качестве своей основной задачи.

BASIC, будучи небольшим по своей природе, естественно подходил для перехода на рынок мини-компьютеров , который зарождался одновременно с сервисами с разделением времени. У этих машин было очень мало оперативной памяти , возможно, всего 4 КБ, если использовать современную терминологию, и не хватало высокопроизводительной памяти, такой как жесткие диски, которые делают компиляторы практичными. В этих системах BASIC обычно реализовывался как интерпретатор, а не как компилятор из-за уменьшения потребности в рабочей памяти.

Особенно важным примером был HP Time-Shared BASIC , который, как и оригинальная система Dartmouth, использовал два компьютера, работающих вместе, для реализации системы разделения времени. Первый, младший компьютер серии HP 2100 , использовался для управления вводом данных пользователем, а также для сохранения и загрузки своих программ на ленту или диск. Другая, высокопроизводительная версия той же базовой машины, запускала программы и генерировала выходные данные. За 100 000 долларов можно было приобрести машину, способную одновременно обслуживать от 16 до 32 пользователей. Система, представленная в комплекте как HP 2000, была первой мини-платформой, предлагающей разделение времени, и сразу же имела безудержный успех, благодаря чему HP стала третьим по величине поставщиком в области миникомпьютеров после DEC и Data General (DG).

DEC, лидер в области миникомпьютеров с середины 1960-х годов, изначально игнорировала BASIC. Это произошло из-за их работы с RAND Corporation , которая приобрела PDP-6 для работы своего языка JOSS , концептуально очень похожего на BASIC. Это привело к тому, что DEC представила уменьшенную, очищенную версию JOSS, известную как FOCAL , которую они активно продвигали в конце 1960-х годов. Однако, поскольку системы с разделением времени широко предлагают BASIC, и все их конкуренты в области миникомпьютеров делают то же самое, клиенты DEC требовали BASIC. После того, как руководство неоднократно игнорировало их просьбы, Дэвид Х. Аль взял на себя ответственность купить BASIC для PDP-8 , что имело большой успех на рынке образовательных услуг. К началу 1970-х годов о FOCAL и JOSS забыли, и BASIC стал почти универсальным на рынке мини-компьютеров. DEC представит свою обновленную версию BASIC-PLUS для использования в операционной системе с разделением времени RSTS / E.

В этот период на BASIC было написано несколько простых текстовых игр, в первую очередь Star Trek Майка Мэйфилда . Дэвид Аль собрал их, некоторые из них были перенесены из FOCAL, и опубликовал их в образовательном информационном бюллетене, который он составил. Позже он собрал некоторые из них в виде книги « 101 BASIC Computer Games» , опубликованной в 1973 году. В тот же период Аль был вовлечен в создание небольшого компьютера для образовательных целей, первого персонального компьютера . Когда руководство отказалось поддержать эту концепцию, Аль покинул DEC в 1974 году, чтобы основать основополагающий компьютерный журнал Creative Computing . Книга оставалась популярной и несколько раз переиздавалась.

Взрывной рост: эпоха домашних компьютеров

«Тренируйтесь ежедневно!» — гласит плакат (внизу в центре) в русской школе (ок. 1985–1986).

Появление первых микрокомпьютеров в середине 1970-х стало началом стремительного роста BASIC. Его преимущество было в том, что он был довольно хорошо известен молодым дизайнерам и компьютерным энтузиастам, проявлявшим интерес к микрокомпьютерам, многие из которых видели BASIC на мини-компьютерах или мэйнфреймах. Несмотря на известное суждение Дейкстры в 1975 году: «Практически невозможно научить хорошему программированию студентов, которые ранее знакомы с BASIC: как потенциальные программисты они умственно искалечены без всякой надежды на возрождение», BASIC был одним из немногих языков, которые был достаточно высокоуровневым, чтобы его могли использовать те, у кого нет подготовки, и достаточно маленьким, чтобы вписаться в микрокомпьютеры того времени, что сделало его де-факто стандартным языком программирования на ранних микрокомпьютерах.

Первая версия BASIC для микрокомпьютера была написана в соавторстве с Биллом Гейтсом , Полом Алленом и Монте Давидофф для их недавно созданной компании Micro-Soft. Он был выпущен MITS в формате перфоленты для Altair 8800 вскоре после самой машины, сразу же закрепив BASIC как основной язык ранних микрокомпьютеров. Члены Homebrew Computer Club начали распространять копии программы, в результате чего Гейтс написал Открытое письмо любителям , в котором жаловался на этот ранний пример компьютерного пиратства .

Частично в ответ на письмо Гейтса и частично для того, чтобы сделать BASIC еще меньшего размера, который можно было бы использовать на машинах с 4 КБ, Боб Альбрехт призвал Денниса Эллисона написать свой собственный вариант языка. О том, как разработать и реализовать урезанную версию интерпретатора для языка BASIC, рассказывалось в статьях Эллисон в первых трех ежеквартальных выпусках информационного бюллетеня Народной компьютерной компании, опубликованном в 1975 году, и реализациях с исходным кодом, опубликованных в журнале доктора Добба. Tiny BASIC Художественная гимнастика и ортодонтия: бегущий свет без овербайта . Это привело к появлению большого количества Tiny BASIC с добавленными функциями или другими улучшениями, причем версии от Tom Pittman и Li-Chen Wang стали особенно известными.

Micro-Soft, к тому времени Microsoft , портировала свой интерпретатор для MOS 6502 , который быстро стал одним из самых популярных микропроцессоров 8-битной эры. Когда начали появляться новые микрокомпьютеры, особенно «троица 1977 года» TRS-80 , Commodore PET и Apple II , они либо включали версию кода MS, либо быстро вводили с ней новые модели. К 1978 году MS BASIC стал стандартом де-факто, и практически каждый домашний компьютер 1980-х годов включал его в ПЗУ . При загрузке был представлен интерпретатор BASIC в прямом режиме .

Commodore Business Machines включает Commodore BASIC , основанный на Microsoft BASIC. У Apple II и TRS-80 было по две версии BASIC, меньшая вводная версия, представленная с начальными выпусками машин, и версия на базе MS, представленная по мере роста интереса к платформам. По мере появления новых компаний в этой области были добавлены дополнительные версии, которые слегка изменили семейство BASIC. В 8-битном семействе Atari был собственный Atari BASIC, который был модифицирован для установки на 8-килобайтный картридж ROM . Sinclair BASIC был представлен в 1980 году с Sinclair ZX80 , а позже был расширен для Sinclair ZX81 и Sinclair ZX Spectrum . BBC опубликовала BBC BASIC , разработанный компанией Acorn Computers Ltd, включающая много дополнительных структурированы программирования ключевых слов и расширенные функции операции с плавающей точкой.

По мере роста популярности BASIC в этот период компьютерные журналы публиковали полный исходный код на BASIC для видеоигр, утилит и других программ. Учитывая прямолинейный характер BASIC, было несложно набрать код из журнала и запустить программу. Были опубликованы различные журналы с программами для конкретных компьютеров, хотя некоторые программы BASIC считались универсальными и могли использоваться на машинах, работающих под управлением любого варианта BASIC (иногда с небольшими изменениями). Также было доступно множество книг по программам ввода, и, в частности, Ahl опубликовал версии оригинальной игры 101 BASIC, преобразованной в диалект Microsoft, и опубликовал ее из Creative Computing как BASIC Computer Games . Эта книга и ее продолжения содержат сотни готовых программ, которые можно легко преобразовать практически на любую платформу, работающую на BASIC. Книга поступила в магазины в 1978 году, когда начинался рынок домашних компьютеров , и стала первой компьютерной книгой, разошедшейся миллионным тиражом. Более поздние пакеты, такие как Learn to Program BASIC , также будут посвящены играм в качестве вводного курса. На компьютерах CP / M, ориентированных на бизнес, которые вскоре получили широкое распространение в среде малого бизнеса, Microsoft BASIC ( MBASIC ) был одним из ведущих приложений.

В 1978 году Дэвид Лиен опубликовал первое издание The BASIC Handbook: An Encyclopedia of the BASIC Computer Language , в котором были задокументированы ключевые слова на более чем 78 различных компьютерах. К 1981 году во втором издании были задокументированы ключевые слова с более чем 250 различных компьютеров, что свидетельствует о стремительном росте эпохи микрокомпьютеров.

IBM PC и совместимые с ним

Когда IBM разрабатывала IBM PC, они следовали парадигме существующих домашних компьютеров, желая иметь встроенный BASIC. Они получили это от Microsoft — IBM Cassette BASIC — но Microsoft также выпустила несколько других версий BASIC для MS-DOS / PC DOS, включая IBM Disk BASIC (BASIC D), IBM BASICA (BASIC A), GW-BASIC (совместимый с BASICA). версия, для которой не требовалось ПЗУ IBM) и QBasic , которые обычно поставляются вместе с машиной. Кроме того, они выпустили компилятор Microsoft BASIC Compiler, предназначенный для профессиональных программистов. Издатель Turbo Pascal Borland опубликовал Turbo Basic 1.0 в 1985 году ( предыдущие версии все еще продаются первоначальным автором под именем PowerBASIC ). Microsoft написала оконный AmigaBASIC, который поставлялся с версией 1.1 компьютеров Amiga с упреждающим многозадачным интерфейсом (конец 1985 — начало 1986), хотя продукт обычно не имел никаких знаков Microsoft.

Эти более поздние варианты представили множество расширений, таких как улучшенное управление строками и поддержка графики, доступ к файловой системе и дополнительные типы данных . Более важными были средства структурного программирования , включая дополнительные управляющие структуры и соответствующие подпрограммы, поддерживающие локальные переменные . Однако ко второй половине 1980-х годов пользователи все чаще использовали готовые приложения, написанные другими, вместо того, чтобы изучать программирование самостоятельно; в то время как профессиональные программисты теперь имели широкий спектр более продвинутых языков, доступных на небольших компьютерах. C, а затем и C ++ стали предпочтительными языками для разработки профессиональных приложений с «термоусадочной пленкой» .

Visual Basic

В 1991 году Microsoft представила Visual Basic , эволюционное развитие QuickBasic. Он включал конструкции из этого языка, такие как операторы управления с блочной структурой, параметризованные подпрограммы и необязательная статическая типизация, а также объектно-ориентированные конструкции из других языков, таких как «With» и «For Each». Язык сохранил некоторую совместимость со своими предшественниками, такими как ключевое слово Dim для объявлений, операторы «Gosub» / Return и дополнительные номера строк, которые можно было использовать для поиска ошибок. Важным фактором развития Visual Basic был новый язык макросов для Microsoft Excel , программа для работы с электронными таблицами . К удивлению многих в Microsoft, которые изначально продавали его как язык для любителей, этот язык стал широко использоваться для небольших специализированных бизнес-приложений вскоре после выпуска VB версии 3.0, которая широко считается первой относительно стабильной версией.

В то время как многие продвинутые программисты все еще насмехались над его использованием, VB эффективно удовлетворял потребности малого бизнеса, поскольку к тому времени компьютеры под управлением Windows 3.1 стали достаточно быстрыми, чтобы многие бизнес-процессы могли выполняться «в мгновение ока» даже с использованием «медленный» язык, пока не задействованы большие объемы данных. Многие владельцы малого бизнеса обнаружили, что они могут создавать свои собственные небольшие, но полезные приложения за несколько вечеров для удовлетворения своих особых потребностей. В конце концов, за долгую жизнь VB3 знание Visual Basic стало востребованным профессиональным навыком. Microsoft также выпустила VBScript в 1996 году и Visual Basic .NET в 2001 году. Последний по сути имеет те же возможности, что и C # и Java, но с синтаксисом, отражающим исходный язык Basic. IDE , с его событиями GUI Builder , также оказал влияние на другие инструменты, в первую очередь Borland Software «s Delphi для Object Pascal и его собственных потомков , таких как Лазаря .

Основная поддержка окончательной версии 6.0 исходного Visual Basic закончилась 31 марта 2005 г., а в марте 2008 г. последовала расширенная поддержка. 11 марта 2020 г. Microsoft объявила, что эволюция языка VB.NET также завершилась, хотя она все еще поддерживается. Между тем есть конкуренты, такие как Xojo и Gambas .

Версии и диалекты после 1990 года

Многие другие диалекты BASIC также возникли с 1990 года, включая QB64 и FreeBASIC с открытым исходным кодом , вдохновленные QBasic, и RapidQ в стиле Visual Basic , Basic для Qt и Gambas . Современные коммерческие версии включают PureBasic , PowerBASIC , Xojo , Monkey X и True BASIC (прямой преемник Dartmouth BASIC от компании, контролируемой Курцем).

Сейчас также существует несколько простых интерпретаторов BASIC на базе Интернета, в том числе Small Basic от Microsoft . Многие версии BASIC теперь доступны для смартфонов и планшетов через Apple App Store или Google Play store для Android. На игровых консолях приложение для Nintendo 3DS и Nintendo DSi под названием Petit Computer позволяет программировать в слегка измененной версии BASIC с поддержкой кнопки DS. Также была выпущена версия для Nintendo Switch .

Калькуляторы

Варианты BASIC доступны для графических и других программируемых калькуляторов производства Texas Instruments , HP, Casio и других.

Командная строка Windows

QBasic , версия Microsoft QuickBASIC без компоновщика для создания EXE-файлов, присутствует в потоках операционных систем Windows NT и DOS- Windows 95 и может быть получена для более поздних выпусков, таких как Windows 7, в которых их нет. До DOS 5 интерпретатором Basic был GW-Basic . QuickBasic является частью серии из трех языков, выпущенных Microsoft для опытных пользователей дома и в офисе, а также для небольших профессиональных разработок; QuickC и QuickPascal — два других. Для Windows 95 и 98, в которых QBasic не установлен по умолчанию, их можно скопировать с установочного диска, который будет содержать набор каталогов для старого и дополнительного программного обеспечения; другие отсутствующие команды, такие как Exe2Bin и другие, находятся в тех же каталогах.

Другой

BASIC появился в некоторых системах видеоигр, таких как Nintendo Famicom .

Различные офисные пакеты Microsoft, Lotus и Corel и связанные с ними продукты программируются с помощью Visual Basic в той или иной форме, включая LotusScript , который очень похож на VBA 6. Эмулятор терминала Host Explorer использует WWB в качестве языка макросов; или в последнее время программа и набор, в котором она содержится, могут быть запрограммированы во внутреннем базовом варианте, известном как «Hummingbird Basic». Вариант VBScript используется для программирования веб-содержимого, Outlook 97, Internet Explorer и Windows Script Host. WSH также имеет движок Visual Basic для приложений (VBA), установленный в качестве третьего движка по умолчанию вместе с VBScript, JScript и многочисленными проприетарными движками или движками с открытым исходным кодом, которые могут быть установлены, например PerlScript , несколько движков на основе Rexx, Python , Ruby, Tcl, Delphi, XLNT, PHP и другие; Это означает, что две версии Basic могут использоваться вместе с другими упомянутыми языками, а также с LotusScript, в файле WSF через компонентную объектную модель и другие конструкции WSH и VBA. VBScript — один из языков, к которым могут обращаться расширенные оболочки 4Dos, 4NT и Take Command. SaxBasic и WWB также очень похожи на линию Visual Basic реализаций Basic. Макроязык до Office 97 для Microsoft Word известен как WordBASIC . В Excel 4 и 5 в качестве языка макросов используется сам Visual Basic. Chipmunk Basic , интерпретатор старой школы, похожий на BASIC 1970-х годов, доступен для Linux , Microsoft Windows и macOS .

Наследие

Повсеместное распространение интерпретаторов BASIC на персональных компьютерах было таково, что учебники когда-то включали простые упражнения «Попробуй на BASIC», которые побуждали студентов экспериментировать с математическими и вычислительными концепциями на классных или домашних компьютерах. Популярные компьютерные журналы того времени обычно включали программы для ввода текста .

Футурист и писатель-фантаст Дэвид Брин оплакивал потерю вездесущего BASIC в статье Салона 2006 года, как и другие, кто впервые использовал компьютеры в ту эпоху. В свою очередь, статья побудила Microsoft разработать и выпустить Small Basic ,; он также вдохновил подобные проекты, такие как Basic-256 . 1 мая 2014 года Дартмут, как и другие организации, отпраздновал 50-летие BASIC; по крайней мере, одна организация программистов VBA организовала празднование 35-летия в 1999 году.

Дартмутский колледж отметил 50-летие языка BASIC днем ​​событий 30 апреля 2014 года. По этому случаю был снят короткометражный документальный фильм.

Синтаксис

Типичные ключевые слова BASIC

Манипуляция данными
LET
присваивает значение (которое может быть результатом выражения ) переменной. В большинстве диалектов BASIC LET это необязательно, и строка без других идентифицируемых ключевых слов предполагает, что это ключевое слово является LET .
DATA
содержит список значений, которые назначаются последовательно с помощью команды READ.
READ
читает значение из DATA оператора и присваивает его переменной. Внутренний указатель отслеживает последний DATA прочитанный элемент и перемещает его на одну позицию вперед с каждым READ .
RESTORE
сбрасывает внутренний указатель на первый DATA оператор, позволяя программе начать READ с первого значения.
Управление потоком программы
IF ... THEN ... {ELSE}
используется для сравнения или принятия решений. ELSE не получил широкой поддержки, особенно в более ранних версиях.
FOR ... TO ... {STEP} ... NEXT
повторить часть кода заданное количество раз. В цикле доступна переменная, которая действует как счетчик .
WHILE ... WEND а также REPEAT ... UNTIL
повторить часть кода, пока выполняется указанное условие. Условие может оцениваться перед каждой итерацией цикла или после. Обе эти команды встречаются в основном в более поздних диалектах.
DO ... LOOP {WHILE} или же {UNTIL}
повторять часть кода бесконечно или пока / до тех пор, пока указанное условие не станет истинным. Условие может оцениваться перед каждой итерацией цикла или после. Подобно WHILE этим ключевым словам, в основном встречаются в более поздних диалектах.
GOTO
переходит к пронумерованной или маркированной строке в программе.
GOSUB
переходит к пронумерованной или помеченной строке, выполняет найденный там код до тех пор, пока не достигнет RETURN команды, после чего переходит обратно к оператору, следующему за GOSUB двоеточием, либо на следующей строке. Это используется для реализации подпрограмм .
ON ... GOTO/GOSUB
выбирает, куда прыгать, исходя из указанных условий. См. Инструкции Switch для других форм.
DEF FN
пара ключевых слов, введенная в начале 1960-х годов для определения функций. Исходные функции BASIC были смоделированы на основе однострочных функций FORTRAN. Функции BASIC были одним выражением с переменными аргументами, а не подпрограммами , с синтаксисом на модели DEF FND(x) = x*x в начале программы. Изначально имена функций были ограничены FN плюс одна буква, то есть FNA, FNB …
Ввод и вывод
LIST
отображает полный исходный код текущей программы.
PRINT
отображает сообщение на экране или другом устройстве вывода.
INPUT
просит пользователя ввести значение переменной. Заявление может включать подсказку.
TAB
используется с PRINT для установки позиции, в которой следующий символ будет отображаться на экране или напечатан на бумаге. AT это альтернативная форма.
SPC
выводит количество пробелов. По идее похож на, TAB но перемещается на несколько дополнительных пробелов из текущего столбца, а не в указанный столбец.
Математические функции
ABS
Абсолютная величина
ATN
Арктангенс (результат в радианах )
COS
Косинус (аргумент в радианах )
EXP
Экспоненциальная функция
INT
Целая часть (обычно функция пола )
LOG
Натуральный логарифм
RND
Генерация случайных чисел
SIN
Синус (аргумент в радианах )
SQR
Квадратный корень
TAN
Касательная (аргумент в радианах )
Разное
REM
содержит комментарий программиста или REMark; часто используется, чтобы дать название программе и помочь определить цель данного раздела кода.
USR
передает управление программой в подпрограмму на машинном языке , обычно вводимую как буквенно-цифровую строку или в список операторов DATA.
CALL
Альтернативная форма USR встречается в некоторых диалектах. Не требует искусственного параметра для завершения функционального синтаксиса USR и имеет четко определенный метод вызова различных подпрограмм в памяти.
TRON
включает отображение номера каждой строки по мере ее выполнения («TRace ON»). Это было полезно для отладки или исправления проблем в программе.
TROFF
выключает отображение номеров строк.
ASM
некоторые компиляторы, такие как Freebasic, Purebasic и Powerbasic, также поддерживают встроенный язык ассемблера , позволяя программисту смешивать высокоуровневый и низкоуровневый код, обычно с префиксом «ASM» или «!» заявления.

Типы данных и переменные

Минимальные версии BASIC имели только целочисленные переменные и одно- или двухбуквенные имена переменных, что минимизировало требования к ограниченной и дорогой памяти (RAM). Более мощные версии имели арифметику с плавающей запятой, и переменные могли быть помечены именами длиной шесть или более символов. В ранних реализациях были некоторые проблемы и ограничения; например, Applesoft BASIC позволял именам переменных быть длиной в несколько символов, но только первые два были значимыми, поэтому можно было непреднамеренно написать программу с переменными «LOSS» и «LOAN», которые считались бы одинаковыми; присвоение значения «ССУДОМ» приведет к незаметной перезаписи значения, обозначенного как «ПОТЕРЯ». Ключевые слова не могли использоваться в переменных во многих ранних BASIC; «SCORE» будет интерпретироваться как «SC» ИЛИ «E», где OR было ключевым словом. Строковые переменные обычно различаются во многих диалектах микрокомпьютеров тем, что к их имени добавляется суффикс $ в качестве сигилы , а значения часто идентифицируются как строки, будучи разделенными «двойными кавычками». Массивы в BASIC могут содержать целые числа, переменные с плавающей запятой или строковые переменные.

Некоторые диалекты BASIC поддерживают матрицы и матричные операции , полезные для решения наборов одновременных линейных алгебраических уравнений. Эти диалекты будут напрямую поддерживать матричные операции, такие как присваивание, сложение, умножение (совместимых типов матриц) и вычисление определителя. Многие микрокомпьютерные BASIC не поддерживают этот тип данных; матричные операции все еще были возможны, но должны были быть явно запрограммированы для элементов массива.

Примеры

Неструктурированный БЕЙСИК

Новички в программировании на BASIC на домашнем компьютере могут начать с простой программы, возможно, используя оператор PRINT языка для отображения сообщения на экране; хорошо известны и часто реплицируются пример Керниган и Ритчи «s „Hello, World!“ программа :

10 PRINT "Hello, World!"
20 END

Можно использовать бесконечный цикл , чтобы заполнить дисплей сообщением:

10 PRINT "Hello, World!"
20 GOTO 10

Обратите внимание, что этот END оператор является необязательным и не имеет действия в большинстве диалектов BASIC. Он не всегда был включен, как в этом примере. Эту же программу можно изменить, чтобы печатать фиксированное количество сообщений, используя общий FOR...NEXT оператор:

10 LET N=10
20 FOR I=1 TO N
30 PRINT "Hello, World!"
40 NEXT I

Большинство версий BASIC первого поколения, такие как MSX BASIC и GW-BASIC , поддерживали простые типы данных, циклы цикла и массивы. Следующий пример написан для GW-BASIC, но будет работать в большинстве версий BASIC с минимальными изменениями:

10 INPUT "What is your name: "; U$
20 PRINT "Hello "; U$
30 INPUT "How many stars do you want: "; N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Do you want more stars? "; A$
100 IF LEN(A$) = 0 THEN GOTO 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN GOTO 30
130 PRINT "Goodbye "; U$
140 END

В результате диалоговое окно может выглядеть следующим образом:

What is your name: Mike
Hello Mike
How many stars do you want: 7
*******
Do you want more stars? yes
How many stars do you want: 3
***
Do you want more stars? no
Goodbye Mike

Первоначальный Dartmouth Basic был необычным из-за наличия ключевого слова матрицы MAT. Хотя он не реализован в большинстве более поздних производных микропроцессоров, он используется в этом примере из руководства 1968 года, который усредняет вводимые числа:

5 LET S = 0
10 MAT INPUT V 
20 LET N = NUM 
30 IF N = 0 THEN 99 
40 FOR I = 1 TO N 
45 LET S = S + V(I) 
50 NEXT I 
60 PRINT S/N 
70 GO TO 5 
99 END
Структурированный БЕЙСИК

BASIC второго поколения (например, VAX Basic , SuperBASIC , True BASIC , QuickBASIC , BBC BASIC , Pick BASIC , PowerBASIC , Liberty BASIC и (возможно) COMAL ) внесли в язык ряд функций, в первую очередь связанных со структурой и процедурами. ориентированное программирование. Обычно нумерация строк опускается в языке и заменяется метками (для GOTO ) и процедурами, способствующими более простому и гибкому дизайну. Кроме того, были введены ключевые слова и структуры для поддержки повторения, выбора и процедур с локальными переменными.

Следующий пример находится в Microsoft QuickBASIC:

REM QuickBASIC example

REM Forward declaration - allows the main code to call a
REM    subroutine that is defined later in the source code
DECLARE SUB PrintSomeStars (StarCount!)

REM Main program follows
INPUT "What is your name: ", UserName$
PRINT "Hello "; UserName$
DO
   INPUT "How many stars do you want: ", NumStars
   CALL PrintSomeStars(NumStars)
   DO
      INPUT "Do you want more stars? ", Answer$
   LOOP UNTIL Answer$ <> ""
   Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye "; UserName$
END

REM subroutine definition
SUB PrintSomeStars (StarCount)
   REM This procedure uses a local variable called Stars$
   Stars$ = STRING$(StarCount, "*")
   PRINT Stars$
END SUB
Объектно-ориентированный БЕЙСИК

Диалекты BASIC третьего поколения, такие как Visual Basic , Xojo , Gambas , StarOffice Basic , BlitzMax и PureBasic, представили функции для поддержки парадигмы объектно-ориентированного и событийно-ориентированного программирования . Большинство встроенных процедур и функций теперь представлены как методы стандартных объектов, а не как операторы . Кроме того, операционная система становилась все более доступной для языка BASIC.

Следующий пример находится в Visual Basic .NET :

Public Module StarsProgram
   Private Function Ask(prompt As String) As String
      Console.Write(prompt)
      Return Console.ReadLine()
   End Function

   Public Sub Main()
      Dim userName = Ask("What is your name: ")
      Console.WriteLine("Hello {0}", userName)

      Dim answer As String

      Do
         Dim numStars = CInt(Ask("How many stars do you want: "))
         Dim stars As New String("*"c, numStars)
         Console.WriteLine(stars)

         Do
            answer = Ask("Do you want more stars? ")
         Loop Until answer <> ""
      Loop While answer.StartsWith("Y", StringComparison.OrdinalIgnoreCase)

      Console.WriteLine("Goodbye {0}", userName)
   End Sub
End Module

Стандарты

  • Стандарт ANSI / ISO / IEC для минимального BASIC:
    • ANSI X3.60-1978 «Для минимального BASIC»
    • ISO / IEC 6373: 1984 «Обработка данных — языки программирования — минимальный BASIC»
  • ECMA -55 Minimal BASIC (снято, аналогично ANSI X3.60-1978)
  • Стандарт ANSI / ISO / IEC для Full BASIC:
    • ANSI X3.113-1987 «Языки программирования Full BASIC»
    • INCITS / ISO / IEC 10279-1991 (R2005) «Информационные технологии — Языки программирования — Полный БЕЙСИК»
  • Дополнение ANSI / ISO / IEC, определяющее модули:
    • ANSI X3.113 Interpretations-1992 «BASIC Technical Information Bulletin # 1 Interpretations of ANSI 03.113-1987»
    • ISO / IEC 10279: 1991 / Amd 1: 1994 «Модули и улучшение односимвольного ввода»
  • ECMA -116 BASIC (снято, аналогично ANSI X3.113-1987)

Компиляторы

Смотрите также

Заметки

Рекомендации

Общие ссылки

  • Саммет, Жан Э. (1969). Языки программирования: история и основы . Энглвуд Клиффс, Нью-Джерси: Прентис-Холл . OCLC   819683527 .
  • Курц, Томас Э. (1981). «БАЗОВЫЙ» . В Wexelblat, Ричард (ред.). История языков программирования . История Языки программирования I . Нью-Йорк: ACM . С.  515–537 . DOI : 10.1145 / 800025.1198404 . ISBN   978-0127450407 .
  • Кемени, Джон Дж .; Курц, Томас Э. (1985). Назад к BASIC: история, коррупция и будущее языка . Эддисон-Уэсли. п. 141. ISBN.   9780201134339 . OCLC   11399298 .
  • Льен, Дэвид А. (1986). Базовое руководство: Энциклопедия компьютерного языка BASIC (3-е изд.). Compusoft Publishing. ISBN   9780932760333 . OCLC   12548310 .
  • «Пятьдесят лет BASIC, языка программирования, который сделал компьютеры персональными» . Время . 29 апреля 2014 г.

Внешние ссылки

Что такое программирование | Сайт приемной комиссии ПГУТИ


Суть программирования

Программирование — это по сути процесс создания компьютерных программ на особом языке, превращающий алгоритмы и структуры данных в некоторую инструкцию, которую может выполнить компьютер. В настоящее время существует большое количество различных языков программирования, которые дают возможность разными способами записать данные и создать определенные процессы. Зачастую многие путают понятия программирования и информатики, но они четко разделяются по принципам взаимодействия с компьютерными технологиями. В то время, как информатика собирает и анализирует данные, программирование является процессом создания структур данных и связей между ними.

Первым и важнейшим шагом в процессе программирования является создание алгоритма для решения поставленной задачи. Алгоритмы описывают сам путь, проделанный для достижения цели, набором шагов и данных, необходимых для получения конечного результата. Очень важно правильно воплотить этот путь посредством языка, в котором именно для этих целей заложены определенные типы данных и управляющие конструкции.

Управляющие конструкции необходимы для обработки алгоритмов, отбора определенных шагов для продвижения решения поставленной задачи. Они выстраивают шаги алгоритма в подходящей и однозначной последовательности.

Все данные создаются чередованием нулей и единиц в некоторой последовательности. Для придания смысла этим последовательностям необходимы типы данных, которые интерпретируют их и позволяют использовать термины, по смыслу относящиеся к решению той или иной задачи. Такие низкоуровневые типы данных, называемые примитивными, являются строительными блоками в процессе создания алгоритмов.

Практически все языки предлагают набор данных, заложенных в память компьютера бинарными строками, для интерпретации целых чисел. А также типы данных дают возможность описать простые операции, такие как сложение, вычитание и прочее, в которых принимают участие элементы типов данных. Зачастую трудности возникают из-за сложности самой задачи и ее решения. Управляющих конструкций и типов данных обычно всегда достаточно для построения непростого решения, но, как правило, их невыгодно использовать в самом процессе поиска решения. В таких случаях необходимо найти способ управлять сложностью задачи.

История создания языков программирования


Языки программирования создавались десятилетиями и сейчас процесс совершенствования не останавливается, несмотря на все сложности. Компьютерный язык — это последовательно выстроенные нули и единицы. Нарушение определенной последовательности может вызвать нарушения в работе программы и прекращение ее выполнения. По мере развития компьютерной сферы требования к программистам росли, необходимо было искать новые способы фиксирования последовательностей. Так появился язык BASIC, в переводе означавший «многоцелевой язык символических команд для начинающих».

В начале 40-х годов появился первый машинно-ориентированный язык — Ассемблер, который включал в себя не длинные слова или их аббревиатуры. Он является простым текстовым языком, но, несмотря на это, программы, созданные с его помощью, отличаются высокой эффективностью.

Появление новых машин и прогресс в технологиях подтолкнул программистов к созданию новых более сложных языков, ориентированных на создание алгоритмов. Стали появляться программы-трансляторы, приводившие созданные алгоритмы в действие в основном двумя способами: компиляцией — созданные инструкции запускают алгоритм после перевода пакета программы; интерпретацией — перевод и запуск алгоритма производится одновременно. Сами программы очень просты в плане написания кода, их удобно корректировать и считывать.

В 1954 году стало развиваться структурное программирование, появился первый компилятор языка очень высокого уровня, имеющий транслятор — Fortran. Разработка языка стала намного проще, но в процессе создания объемных программ, он преобразовывался в практически не читаемый.

Максимальное развитие языков происходило в 50-60-е годы. В этот период было создано несколько языков, таких как: Algol (составлен из отдельных блоков), Cobol (база для C+), Basic (популярный до нынешних дней).

В 1970 году был создан язык Pascal, который до настоящего времени является популярным в среде новичков. Он прост в изучении и хорошо структурирован, последовательности, созданные с его помощью, легко читаются. В 1972 году был разработан еще один язык, собравший в себе все преимущества предыдущих языков и нововведения. Не сложный и легко изучаемый язык С стал одним из фаворитов в среде программирования.

Процесс совершенствования языков напрямую зависит от инноваций и появления новых технологий, например, рождение сети Интернет вызвало необходимость в языке для доступа к сайтам, появились новые языки, такие как: Java, HTML, PHP и прочие.

Где обучиться программированию


Одним из лучших технических университетов мира (по рейтингу QS) по образованию в сфере компьютерных технологий является Массачусетский технологический институт. У него наивысшая академическая оценка, и он подготавливает квалифицированных специалистов в сфере компьютерных технологий, программирования и создания программного обеспечения.

В России во многих городах существует большое количество учебных заведений для подготовки специалистов в данной сфере. Например, ФГБОУ ПГУТИ (Поволжский государственный университет телекоммуникаций и информатики) дает образование по специальности «Технология программирования», после окончания которой специалисты будут обладать следующими навыками:

— использование средств вычислительной техники;

— создание программ на различных языках разных уровней;

— проектирование, разработка и администрирование информационных систем;

— обеспечение информационной безопасности;

— разработка программного обеспечения и прочее.

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

Кто такой программист


Программист — это специалист, создающий и поддерживающий в рабочем состоянии созданные последовательности (алгоритмы) работы различных электронных устройств, начиная от компьютеров и заканчивая спутниками. Процесс написания программ условно делится на две категории: системное — создание программ для оборудования, прикладное — создание сайтов, приложений, программного обеспечения.

Хороший программист обязан знать несколько различных языков программирования, также английский язык, должен обладать такими качествами как внимательность и собранность. Данная профессия подразумевает регулярное самообразование, поскольку целые поколения продуктов устаревают, уступая место новым практически каждый год. Профессионализм программиста зачастую выражается именно в постоянном совершенствовании.

Постоянное развитие отрасли привело к тому, что спрос на квалифицированных сотрудников стал превышать предложение, в связи с чем зарплаты программистов закономерно считаются

высокими. Специалисты, окончившие престижные вузы зачастую получают предложения о работе за рубежом и могут работать удаленно, поскольку программирование — это рывок в будущее, символизирующий развитие современного мира.

Язык программирования Small Basic | Учи Урок информатики

Как известно, созданный в 1964 году язык Basic был изначально разработан для обучения программированию. За это время язык претерпел значительные изменения и обрел множество диалектов, подчас довольно далеко ушедших от своего прародителя. Одним из языков, разработанных на основе Visual Basic стал Small Basic – очень простой язык программирования, разработанный компанией Microsoft для начинающих программистов, в первую очередь детей.

История языка программирования

Small Basic был разработан компанией Microsoft в 2008 году; первая стабильная версия вышла в 2011-м. Текущая версия языка и среды разработки Microsoft Small Basic 1.2 выпущена в октябре 2015 года. Обновленная версия получила новые функции, в том числе классы для работы с фирменными датчиками движения Kinect.

Все просто

Small Basic сочетает в себе дружественную среду разработки программ и написания кода на очень простом языке сочень богатым и привлекательным набором библиотек, что  делает  простым создание программ и игр. Написав всего несколько строк кода вы поймете как просто достичь уели и создать Вашу собственную  игру или программу! (http://smallbasic.com/)

Особенности

Языкрограммирования  Small Basic предельно прост и обладает такой же лаконичной средой разработки, свободно ориентироваться в которой можно в первый же день знакомства. Среда представляет собой простой текстовый редактор и несколько кнопок для сохранения, редактирования и запуска программ. Программы на Small Basic можно портировать в код на Visual Basic.Net. Таким образом достигнув успехов в изучении Small Basic можно перейти к изучению серьезного языка разработки VB. NET.

Преимущества

Small Basic имеет всего 20 ключевых слов: запомнить их не составит никакого труда. Среда разработки включает подробную документацию по всем особенностям языка.

Возможности

Стандартная библиотека языка обладает базовыми математическими классами, возможностью обработки строк и функциями ввода/вывода. Также встроены ряд специфических классов, призванных сделать изучение этого языка программирования более привлекательным для школьников, к примеру класс для загрузки фотографий с сервиса Flickr.

Функционал Small Basic можно серьезно расширить при помощи сторонних библиотек, которые создаются энтузиастами по всему миру. Библиотеки можно писать в любых CLR-совместимых языках (к примеру, на C#) и в соответствии с текущей версией .Net Framework.

Пример вызова классической фразы «Привет, Мир!» выглядит следующим образом:

1
TextWindow.WriteLine("Hello, World!")

Пожалуйста, оцените статью

4.14 из 5. (Всего голосов:14)



Все статьи раздела


Языки программирования

 

Эволюция языков программирования

 

Общеизвестно, что информационные технологии являются одной из наиболее быстро развивающихся областей современной жизни. Новые технологии, проекты, названия и аббревиатуры появляются едва ли не каждый день. И в погоне за прогрессом, в стремлении не отстать от него бывает подчас полезно остановиться на минутку, встать на цыпочки и осмотреться. Окинуть взглядом горизонт, вспомнить историю и задуматься о будущем… С тем, чтобы со свежими силами вновь окунуться в работу, осваивать новые технологии, повышать собственную эффективность и благосостояние. До тех пор, пока снова не захочется подняться на цыпочки…

К написанию этой статьи меня побудила дискуссия, разгоревшаяся на одном из форумов dotSITE после появления там сообщения, резко критикующего C# — одну из основных составляющих новой платформы .NET от Microsoft. Сообщение содержало в себе уже ставшую достаточно банальной критику Microsoft вообще и в частности (я здесь не утверждаю, что критиковать Microsoft не за что, просто эта критика уже порядочно набила оскомину), а также некоторые высказывания конкретно о C#. В ходе развернувшейся дискуссии было высказано несколько любопытных замечаний, некоторые же вопросы остались незатронутыми. Все это и побудило меня написать статью, в которой делается попытка «примирить» в некотором роде носителей мнений об исключительности того или иного языка программирования. Я постараюсь дать некоторый исторический очерк развития различных языков и пояснить на примерах некоторые общие тенденции. Возможно, мне удастся убедить кого-то в бесполезности проведения дискуссий, аналогичных вышеупомянутой. Я не претендую ни на объективность (хотя постараюсь быть таковым), ни на полноту изложения. Это всего лишь попытка «встать на цыпочки и осмотреться»…

1. Первые универсальные языки

Итак, начнем. Обратимся к истокам развития вычислительной техники. Вспомним самые первые компьютеры и программы для них. Это была эра программирования непосредственно в машинных кодах, а основным носителем информации были перфокарты и перфоленты. Программисты обязаны были знать архитектуру машины досконально. Программы были достаточно простыми, что обуславливалось, во-первых, весьма ограниченными возможностями этих машин, и, во-вторых, большой сложностью разработки и, главное, отладки программ непосредственно на машинном языке. Вместе с тем такой способ разработки давал программисту просто невероятную власть над системой. Становилось возможным использование таких хитроумных алгоритмов и способов организации программ, какие и не снились современным разработчикам. Например, могла применяться (и применялась!) такая возможность, как самомодифицирующийся код. Знание двоичного представления команд позволяло иногда не хранить некоторые данные отдельно, а встраивать их в код как команды. И это далеко не полный список приемов, владение хотя бы одним из которых сейчас сразу же продвигает вас до уровня «гуру» экстра-класса.

2. Ассемблер

Первым значительным шагом представляется переход к языку ассемблера (позволим себе маленькое лирическое отступление: английское название assembly language, или assembler, на русский переводят именно тем термином, который был использован выше. При этом у новичка создается впечатление, что язык назван в честь некоего человека по имени ассемблер. Достаточно забавная ситуация, не правда ли?). Не очень заметный, казалось бы, шаг — переход к символическому кодированию машинных команд — имел на самом деле огромное значение. Программисту не надо было больше вникать в хитроумные способы кодирования команд на аппаратном уровне. Более того, зачастую одинаковые по сути команды кодировались совершенно различным образом в зависимости от своих параметров (широко известный пример из мира современных компьютеров — это кодирование инструкции mov в процессорах Intel: существует несколько совершенно по-разному кодируемых вариантов команды; выбор того или иного варианта зависит от операндов, хотя суть выполняемой операции неизменна: поместить содержимое (или значение) второго операнда в первый). Появилась также возможность использования макросов и меток, что также упрощало создание, модификацию и отладку программ. Появилось даже некое подобие переносимости — существовала возможность разработки целого семейства машин со сходной системой команд и некоего общего ассемблера для них, при этом не было нужды обеспечивать двоичную совместимость.

Вместе с тем, переход к новому языку таил в себе и некоторые отрицательные (по крайней мере, на первый взгляд) стороны. Становилось почти невозможным использование всяческих хитроумных приемов сродни тем, что упомянуты выше. Кроме того, здесь впервые в истории развития программирования появились два представления программы: в исходных текстах и в откомпилированном виде. Сначала, пока ассемблеры только транслировали мнемоники в машинные коды, одно легко переводилось в другое и обратно, но затем, по мере появления таких возможностей, как метки и макросы, дизассемблирование становилось все более и более трудным делом. К концу ассемблерной эры возможность автоматической трансляции в обе стороны была утеряна окончательно. В связи с этим было разработано большой количество специальных программ-дизассемблеров, осуществляющих обратное преобразования, однако в большинстве случаев они с трудом могут разделить код и данные. Кроме того, вся логическая информация (имена переменных, меток и т.п.) теряется безвозвратно. В случае же задачи о декомпиляции языков высокого уровня примеры удовлетворительного решения проблемы и вовсе единичны.

3. Фортран

В 1954 году в недрах корпорации IBM группой разработчиков во главе с Джоном Бэкусом (John Backus) был создан язык программирования Fortran.

Значение этого события трудно переоценить. Это первый язык программирования высокого уровня. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм. Напомним, что это современные компьютеры поддерживают подпрограммы на аппаратном уровне, предоставляя соответствующие команды и структуры данных (стек) прямо на уровне ассемблера, в 1954 же году это было совершенно не так. Поэтому компиляция Fortran’а была процессом отнюдь не тривиальным. Кроме того, синтаксическая структура языка была достаточно сложна для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок, таких, например:

В Фортране следующая конструкция описывает «цикл for до метки 10 при изменении индекса от 1 до 100»:
DO 10 I=1,100
Если же здесь заменить запятую на точку, то получится оператор присваивания:
DO10I = 1.100
Говорят, что такая ошибка заставила ракету взорваться во время старта!

Язык Фортран использовался (и используется по сей день) для научных вычислений. Он страдает от отсутствия многих привычных языковых конструкций и атрибутов, компилятор практически никак не проверяет синтаксически правильную программу с точки зрения семантической корректности (соответствие типов и проч.). В нем нет поддержки современных способов структурирования кода и данных. Это осознавали и сами разработчики. По признанию самого Бэкуса, перед ними стояла задача скорее разработки компилятора, чем языка. Понимание самостоятельного значения языков программирования пришло позже.

Появление Фортрана было встречено еще более яростной критикой, чем внедрение ассемблера. Программистов пугало снижение эффективности программ за счет использования промежуточного звена в виде компилятора. И эти опасения имели под собой основания: действительно, хороший программист, скорее всего, при решении какой-либо небольшой задачи вручную напишет код, работающий быстрее, чем код, полученный как результат компиляции. Через некоторое время пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных.

4. Cobol

В 1960 году был создан язык программирования Cobol.

Он задумывался как язык для создания коммерческих приложений, и он стал таковым. На Коболе написаны тысячи прикладных коммерческих систем. Отличительной особенностью языка является возможность эффективной работы с большими массивами данных, что характерно именно коммерческих приложений. Популярность Кобола столь высока, что даже сейчас, при всех его недостатках (по структуре и замыслу Кобол во многом напоминает Фортран) появляются новые его диалекты и реализации. Так недавно появилась реализация Кобола, совместимая с Microsoft .NET, что потребовало, вероятно, внесения в язык некоторых черт объектно-ориентированного языка.

5. PL/1

В 1964 году все та же корпорация IBM создала язык PL/1, который был призван заменить Cobol и Fortran в большинстве приложений. Язык обладал исключительным богатством синтаксических конструкций. В нем впервые появилась обработка исключительных ситуаций и поддержка параллелизма. Надо заметить, что синтаксическая структура языка была крайне сложной. Пробелы уже использовались как синтаксические разделители, но ключевые слова не были зарезервированы. В частности, следующая строка — это вполне нормальный оператор на PL/1:

IF ELSE=THEN THEN THEN; ELSE ELSE

В силу таких особенностей разработка компилятора для PL/1 была исключительно сложным делом. Язык так и не стал популярен вне мира IBM.

6. BASIC

В 1963 году в Дартмурском колледже (Dartmouth College) был создан язык программирования BASIC (Beginners’ All-Purpose Symbolic Instruction Code — многоцелевой язык символических инструкций для начинающих). Язык задумывался в первую очередь как средство обучения и как первый изучаемый язык программирования. Он предполагался легко интерпретируемым и компилируемым. Надо сказать, что BASIC действительно стал языком, на котором учатся программировать (по крайней мере, так было еще несколько лет назад; сейчас эта роль отходит к Pascal). Было создано несколько мощных реализаций BASIC, поддерживающих самые современные концепции программирования (ярчайший пример — Microsoft Visual Basic).

7. Algol

В 1960 году командой во главе с Петером Науром (Peter Naur) был создан язык программирования Algol. Этот язык дал начало целому семейству Алгол-подобных языков (важнейший представитель — Pascal). В 1968 году появилась новая версия языка. Она не нашла столь широкого практического применения, как первая версия, но была весьма популярна в кругах теоретиков. Язык был достаточно интересен, так как обладал многими уникальными на так момент характеристиками.

8. Дальнейшее развитие языков программирования

В этом месте я предпочту остановиться и сделать некоторые замечания. Создание каждого из вышеупомянутых языков (за исключением, может быть, Algol’а) было вызвано некоторыми практическими требованиями. Эти языки послужили фундаментом для более поздних разработок. Все они представляют одну и ту же парадигму программирования. Следующие языки пошли существенно дальше в своем развитии, в сторону более глубокого абстрагирования.

Сведения о более поздних языках я буду приводить в виде описания семейств языков. Это позволит лучше проследить взаимосвязи между отдельными языками

9. Pascal-подобные языки

В 1970 году Никлаусом Виртом был создал язык программирования Pascal. Язык замечателен тем, что это первый широко распространенный язык для структурного программирования (первым, строго говоря, был Алгол, но он не получил столь широкого распространения). Впервые оператор безусловного перехода перестал играть основополагающую роль при управлении порядком выполнения операторов. В этом языке также внедрена строгая проверка типов, что позволило выявлять многие ошибки на этапе компиляции.

Отрицательной чертой языка было отсутствие в нем средств для разбиения программы на модули. Вирт осознавал это и разработал язык Modula-2 (1978), в котором идея модуля стала одной из ключевых концепций языка. В 1988 году появилась Modula-3, в которую были добавлены объектно-ориентированные черты. Логическим продолжением Pascal и Modula являются язык Oberon и Oberon-2. Они характеризуются движением в сторону объектно- и компонентно- ориентированности.

10. C-подобные языки

В 1972 году Керниганом и Ритчи был создан язык программирования C. Он создавался как язык для разработки операционной системы UNIX. C часто называют «переносимым ассемблером», имея в виду то, что он позволяет работать с данными практически так же эффективно, как на ассемблере, предоставляя при этом структурированные управляющие конструкции и абстракции высокого уровня (структуры и массивы). Именно с этим связана его огромная популярность и поныне. И именно это является его ахиллесовой пятой. Компилятор C очень слабо контролирует типы, поэтому очень легко написать внешне совершенно правильную, но логически ошибочную программу.

В 1986 году Бьярн Страуструп создал первую версию языка C++, добавив в язык C объектно-ориентированные черты, взятые из Simula (см. ниже), и исправив некоторые ошибки и неудачные решения языка. C++ продолжает совершенствоваться и в настоящее время, так в 1998 году вышла новая (третья) версия стандарта, содержащая в себе некоторые довольно существенные изменения. Язык стал основой для разработки современных больших и сложных проектов. У него имеются, однако же, и слабые стороны, вытекающие из требований эффективности.

В 1995 году в корпорации Sun Microsystems Кеном Арнольдом и Джеймсом Гослингом был создан язык Java. Он наследовал синтаксис C и C++ и был избавлен от некоторых неприятных черт последнего. Отличительной особенностью языка является компиляция в код некоей абстрактной машины, для которой затем пишется эмулятор (Java Virtual Machine) для реальных систем. Кроме того, в Java нет указателей и множественного наследования, что сильно повышает надежность программирования.

В 1999–2000 годах в корпорации Microsoft был создан язык C#. Он в достаточной степени схож с Java (и задумывался как альтернатива последнему), но имеет и отличительные особенности. Ориентирован, в основном, на разработку многокомпонентных Интернет-приложений.

11. Языки Ada и Ada 95

В 1983 году под эгидой Министерства Обороны США был создан язык Ada. Язык замечателен тем, что очень много ошибок может быть выявлено на этапе компиляции. Кроме того, поддерживаются многие аспекты программирования, которые часто отдаются на откуп операционной системе (параллелизм, обработка исключений). В 1995 году был принят стандарт языка Ada 95, который развивает предыдущую версию, добавляя в нее объекно- ориентированность и исправляя некоторые неточности. Оба этих языка не получили широкого распространения вне военных и прочих крупномасштабных проектов (авиация, железнодорожные перевозки). Основной причиной является сложность освоения языка и достаточно громоздкий синтаксис (значительно более громоздкий, чем Pascal).

12. Языки обработки данных

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

13. APL

В 1957 году была предпринята попытка создания языка для описания математической обработки данных. Язык был назван APL (Application Programming Language). Его отличительной особенностью было использование математических символов (что затрудняло применение на текстовых терминалах; появление графических интерфейсов сняло эту проблему) и очень мощный синтаксис, который позволял производить множество нетривиальных операций прямо над сложными объектами, не прибегая к разбиению их на компоненты. Широкому применению помешало, как уже отмечалось, использование нестандартных символов как элементов синтаксиса.

14. Snobol и Icon

В 1962 году появился язык Snobol (а в 1974 — его преемник Icon), предназначенный для обработки строк. Синтаксис Icon напоминает С и Pascal одновременно. Отличие заключается в наличии мощных встроенных функций работы со строками и связанная с этими функциями особая семантика. Современным аналогом Icon и Snobol является Perl — язык обработки строк и текстов, в который добавлены некоторые объектно-ориентированные возможности. Считается очень практичным языком, однако ему недостает элегантности.

15. SETL

В 1969 году был создан язык SETL — язык для описания операций над множествами. Основной структурой данных в языке является множество, а операции аналогичны математическим операциям над множествами. Полезен при написании программ, имеющих дело со сложными абстрактными объектами.

16. Lisp и ему подобные языки

В 1958 году появился язык Lisp — язык для обработки списков. Получил достаточно широкое распространение в системах искусственного интеллекта. Имеет несколько потомков: Planner (1967), Scheme (1975), Common Lisp (1984). Многие его черты были унаследованы современными языками функционального программирования.

17. Скриптовые языки

В последнее время в связи развитием Интернет-технологий, широким распространением высокопроизводительных компьютеров и рядом других факторов получили распространение так называемые скриптовые языки. Эта языки первоначально ориентировались на использование в качестве внутренних управляющих языков во всякого рода сложных системах. Многие из них, однако же, вышли за пределы сферы своего изначального применения и используются ныне в совсем иных областях. Характерными особенностями данных языков являются, во-первых, их интерпретируемость (компиляция либо невозможна, либо нежелательна), во-вторых, простота синтаксиса, а в-третьих, легкая расширяемость. Таким образом, они идеально подходят для использования в часто изменяемых программах, очень небольших программах или в случаях, когда для выполнения операторов языка затрачивается время, несопоставимое со временем их разбора. Было создано достаточно большое количество таких языков, перечислим лишь основные и наиболее часто используемые.

18. JavaScript

Язык был создан в компании Netscape Communications в качестве языка для описания сложного поведения веб-страниц. Первоначально назывался LiveScript, причиной смены названия получили маркетинговые соображения. Интерпретируется браузером во время отображения веб-страницы. По синтаксису схож с Java и (отдаленно) с C/C++. Имеет возможность использовать встроенную в браузер объектную функциональность, однако подлинно объектно-ориентированным языком не является.

19. VBScript

Язык был создан в корпорации Microsoft во многом в качестве альтернативы JavaScript. Имеет схожую область применения. Синтаксически схож с языком Visual Basic (и является усеченной версией последнего). Так же, как и JacaScript, исполняется браузером при отображении веб-страниц и имеет ту же степень объектно- ориентированности.

20. Perl

Язык создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения нужной информации. Развился до мощного средства работы с текстами. Является интерпретируемым языком и реализован практически на всех существующих платформах. Применяется при обработке текстов, а также для динамической генерации веб-страниц на веб-серверах.

>21. Python

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

22. Объектно-ориентированные языки

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

23. Simula

Первым объектно-ориентрованным языком был язык Simula (1967). Этот язык был предназначен для моделирования различных объектов и процессов, и объектно-ориентированные черты появились в нем именно для описания свойств модельных объектов.

24. Smalltalk

Популярность объектно-ориентированному программированию принес язык Smalltalk, созданный в 1972 году. Язык предназначался для проектирования сложных графических интерфейсов и был первым по-настоящему объектно-ориентированным языком. В нем классы и объекты — это единственные конструкции программирования. Большим недостатком Smalltalk являются большие требования к памяти и низкая производительность полученных программ. Это связано с не очень удачной реализацией объектно-ориентированных особенностей. Популярность языков C++ и Ada 95 связана именно с тем, что объектно- ориентированность реализована без существенного снижения производительности.

25. Eiffel

Существует язык с очень хорошей реализацией объектно- ориентированности, не являющийся надстройкой ни над каким другим языком. Это язык Eiffel (1986). Являясь чистым языком объектно-ориентированного программирования, он, кроме того, повышает надежность программы путем использования «контрольных утверждений».

26. Языки параллельного программирования

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

27. Язык Оccam

Язык Оccam был создан в 1982 году и предназначен для программирования транспьютеров — многопроцессорных систем распределенной обработки данных. Он описывает взаимодействие параллельных процессов в виде каналов — способов передачи информации от одного процесса к другому. Отметим особенность синтаксиса языка Щccam — в нем последовательный и параллельный порядки выполнение операторов равноправны, и их необходимо явно указывать ключевыми словами PAR и SEQ.

28. Модель параллельных вычислений Linda

В 1985 году была предложена модель параллельных вычислений Linda. Основной ее задачей является организация взаимодействия между параллельно выполняющимися процессами. Это достигается за счет использования глобальной кортежной области (tuple space). Процесс может поместить туда кортеж с данными (то есть совокупность нескольких, возможно разнородных, данных), а другой процесс может ожидать появления в кортежной области некоторого кортежа и, после его появления, прочитать кортеж с возможным последующим его удалением. Заметим, что процесс может, например, поместить кортеж в область и завершиться, а другой процесс может через некоторое время воспользоваться этим кортежем. Таким образом обеспечивается возможность асинхронного взаимодействия. Очевидно, что при помощи такой модели может быть сэмулировано и синхронное взаимодействие. Linda — это модель параллельных вычислений, она может быть добавлена в любой язык программирования. Существуют достаточно эффективные реализации Linda, обходящие проблему существования глобальной кортежной области с потенциально неограниченным объемом памяти.

29. Неимперативные языки

Все языки, о которых шла речь ранее, имеют одно общее свойство: они императивны. Это означает, что программы на них, в конечном итоге, представляют собой пошаговое описание решения той или иной задачи. Можно попытаться описывать лишь постановку проблемы, а решать задачу поручить компилятору. Существует два основных подхода, развивающие эту идею: функциональное и логическое программирование.

30. Функциональные языки

Основная идея, лежащая в основе функционального программирования, — это представление программы в виде математических функций (т.е. функций, значение которых определяется лишь их аргументами, а не контекстом выполнения). Оператор присваивания в таких языках не используется (или, как минимум, его использование не поощряется). Императивные возможности, как правило, имеются, но их применение обставлено серьезными ограничениями. Существуют языки с ленивой и с энергичной семантикой. Различие заключается, грубо говоря, в том, что в языках с энергичной семантикой вычисления производятся в том же месте, где они описаны, а в случае ленивой семантики вычисление производится только тогда, когда оно действительно необходимо. Первые языки имеют более эффективную реализацию, в то время как вторые — лучшую семантику.

Из языков с энергичной семантикой упомянем ML и два его современных диалекта — Standard ML (SML) и CaML. Последний имеет объектно-ориентированного потомка — Objective CaML (O’CaML).

Среди языков с ленивой семантикой наиболее распространены два: Haskell и его более простой диалект Clean.

31. Языки логического программирования

Программы на языках логического программирования выражены как формулы математической логики, а компилятор пытается получить следствия из них.

Родоначальником большинства языков логического программирования является язык Prolog (1971). У него есть ряд потомков — Parlog (1983, ориентирован на параллельные вычисления), Delta Prolog и др. Логическое программирование, как и функциональное, — это отдельная область программирования, и за более подробными сведениями мы отсылаем читателя к специальной литературе.

32.Вместо заключения

Позволю себе выделить некоторую общую тенденцию в развитии языков программирования. Проницательный читатель, наверное, уже давно догадался, о чем я собираюсь сказать. Языки развиваются в сторону все большей и большей абстракции. И это сопровождается падением эффективности. Вопрос: а стоит ли этого абстракция? Ответ: стоит. Стоит, так как повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять. А еще лучше — не совершать. А еще лучше максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования. А с потерей эффективности придется смириться.

Целью данного обзора была попытка дать читателю представление о всем многообразии существующих языков программирования. Среди программистов часто бытует мнение о «всеобщей применимости» того или иного языка (C, C++, Pascal и т.п.). Это мнение возникает по нескольким причинам: недостаток информации, привычка, инертность мышления. Я попытался слегка компенсировать первый фактор. По поводу остальных могу лишь сказать, что настоящий профессионал должен постоянно стремиться повышать свои профессиональную квалификацию. А для этого нужно не бояться экспериментировать. Ну и что, что все вокруг пишут на C/С++/VB/Pascal/Perl/Java/… (нужное подчеркнуть)? А почему бы не попробовать что-нибудь новенькое? А вдруг это окажется эффективнее? Разумеется, прежде чем приниматься использовать новый язык, нужно внимательно изучить все его особенности, включая наличии эффективной реализации, возможности взаимодействия с существующими модулями и т. п., и только после этого принимать решение. Разумеется, всегда есть риск пойти не тем путем, но… Не ошибается лишь тот, кто ничего не делает.

И еще. Мне доводилось слышать, а порой и участвовать в дискуссиях вида «язык A лучше, чем язык B». Я надеюсь, что, прочитав этот обзор, многие убедятся в бессмысленности таких споров. Максимум, о чем может идти речь — это о преимуществах одного языка над другим при решении той или иной задачи в тех или иных условиях. Вот здесь действительно иногда есть о чем поспорить. И решение подчас отнюдь не очевидно. Однако же спорить «вообще» — очевидная глупость.

Эта статья задумывалась как ответ тем, кто кричит «язык X MUST DIE». Надеюсь, что ответ получился достаточно адекватным и убедительным. Надеюсь также, что статья имеет, помимо полемической, и познавательную ценность.

 

3.3.1 Типы языков программирования — функциональные, процедурные, объектно-ориентированные языки

Поколения языков программирования

Необходимость в программировании возникла даже раньше программируемых компьютеров. Известно, что с 18того века, например, существовали ткацкие станки, программируемые при помощи деревянных дощечек, в которых были в нужных местах проделаны дырки.

Развитию программирования поспособствовала идея Джона Фон Ньюмана (англ. John Von Neumann), опубликованная в 1945 году, в которой он описал компьютер, где в памяти вместе с данными хранится и сама программа.

Языком программирования первого поколения считается машинный код. Машинный код состоит из инструкций, которые компьютер (процессор) может выполнить (а также данных, которые принадлежат этим инструкциям). Программируя на машинном коде, программист должен был писать свою программу в двоичном коде, так что бы процессор мог это понять и исполнить. В сущности, такое программирование требует хорошего знания и понимания аппаратного обеспечения, потому что в процессе программирования необходимо знать что процессор может сделать, где находятся устройства ввода-вывода (англ. I/O- Input-Output), а также как с ними необходимо общаться и сколько времени будет потрачено на ту или иную операцию. Таким образом, машинный код очень крепко связан с аппаратным обеспечением, на котором соответствующая программа будет работать. На сегодняшний день машинный код из компьютеров никуда не исчез, все действия на низком уровне (уровне аппаратного обеспечения) происходят до сих пор в машинном коде, т.е. на каком бы языке программирования не была написана программа в, конечном итоге она преобразуется в понятный аппаратному обеспечению машинный код.

Языками второго поколения считаются языки Ассемблера. В случае машинного кода всё программирование происходило в двоичном коде, и в связи с этим его чтение и отладка были очень трудоёмкими. При программировании на языке Ассемблера же инструкции представлены человеку в понятной форме. Само программирование является очень похожим на программирование в машинном коде, потому что инструкции те же самые, что и в машинном коде (только в другом виде — в виде слов). Программа, написанная на языке Ассемблера, представляет собой что-то вроде следующего:

MOV AL, 19

ADD AL, 4

OUT 2

Данный отрывок кода присваивает регистру AL значение 19(обычно значения представлены числами в шестнадцатеричной системе), прибавляет к значению регистра AL число 4 и после этого отправляет на выход номер 2. Написанная программа переводится из ассемблера в машинный код и после этого процессор может начать её выполнение.

Языки ассемблера и машинный код считаются языками низкого уровня.

Языками программирования третьего поколения называются уже языки высокого уровня. Такие языки программирования не очень связаны с аппаратными средствами. Это значит, что программист не должен больше очень точно знать устройство и особенности аппаратного обеспечения, однако может сравнительно независимо аппаратных средств, после чего эта программа преобразуется при помощи некоторых разных инструментов в форму понятную аппаратному обеспечению. Конкретнее о том, как это делается, будет описано позже.

К числу языков третьего поколения относится большинство известных и используемых языков программирования, например:

FORTRAN (The IBM Mathematical FORmula TRANslating System) — язык программирования, разработанный в 1950-тых годах для математических вычислений и в научных целях.

COBOL (COmmon Business Oriented Language) — Объектно-ориентированный язык программирования, созданный в 1959году, в основном для написания программ удовлетворяющих бизнес нуждам.

BASIC (Beginner’s All-purpose Symbolic Instruction Code) — Язык, разработанный в 1963 году, который поначалу создавался для того, чтобы инженеры могли производить на компьютерах различные симуляции.

Pascal — Язык программирования, созданный в 1970х годах и который создавался для обучения программированию.

С — имя происходит от того, что этот язык в основном базировался на языке с именем B. Создавался для написания операционных систем (многие UNIX совместимые операционные системы написаны на этом языке), уже долгое время является одним из самых популярных языков программирования.

С++ - объектно-ориентированный С.

Java — язык программирования, разработанный на основе С++.

Visual Basic, Delphi, Python, C# — все являются языками третьего поколения. Многие языки программирования третьего поколения моложе (новее), чем некоторые языки четвёртого и пятого поколений.

Языки программирования четвертого поколения разработаны с целью упростить их изучение и использование. Эти языки, как правило, непроцедурные сосредоточены на единственном применении. Примером языка программирования четвертого поколения может служить SQL(Structured Query Language). Тут больше говориться «что делать» и меньше - «как делать». Языки пятого поколения созданы для разработки систем искусственного интеллекта и для решения связанных с этой темой проблем.

Базовые типы языков программирования.

В отличие от поколений языков программирования, базовые типы описывают каким образом можно программировать на каком-либо языке. К главным базовым типам относят: процедурные, функциональные и объектно-ориентированные языки программирования.

В процедурных языках программирования на языке программирования описываются действия и порядок их выполнения, а также эти действия разбиваются на группы (подпрограммы). Из процедур в свою очередь формируются структуры кода, которые можно повторно использовать. В функциональных языках программирования всё решение описывается при помощи функций. В объектно-ориентированных языках программирования решение проблемы производится при помощи функций и структур данных, описанных в классах (англ. Class). Из каждого класса можно создать объект, у которого будет набор свойств и/или методов.

Свойства — это значения, которые объект может содержать, и которые могут влиять на поведение объекта. Например, на основе класса «консольное окно» можно создать объект «консоль1», который будет виден пользователю, как одно консольное окно. У этого объекта присутствуют некоторые свойства (показано, скрыто, ширина, высота, цвет текста в консольном окне, цвет фона и т.д.), изменяя эти свойства можно в данном конкретном случае менять внешний вид объекта.

В этом же примере у объекта могут быть и некоторые методы, так например, обращаясь к соответствующему методу можно записать в консольное окно какой-то текст, прочитать в некоторую переменную текст введённый пользователем и т.д.

Вторым примером можно привести класс «текстовая переменная», создав на базе этого класса объект «ПростоТекст», создаём одну текстовую переменную, основное свойство которой - это хранящееся текстовое значение, однако на самом деле свойств у этого объекта больше (например, длина хранящегося текстового значения). Также у текстовой переменной должен быть некий набор методов (изменить символы хранящегося значения на строчные, заглавные, удалить некоторые символы и т.д.).

Поэтому описывая классы и манипулируя объектами, возможно составить очень сложные программы и выполнить различные действия.

Интерпретируемые и компилируемые языки

До того, как компьютер сможет выполнить программу, написанную на языке высокого уровня, её приходится «переводить» на понятный компьютеру язык, т.е. машинный код. Этот процесс перевода называют трансляцией, а программу-переводчик — транслятором. Трансляторы делятся на два класса: компиляторы и интерпретаторы.

Компиляция заключается в том, что программа в машинном коде (называемая компилятором) преобразует другую программу, написанную на языке программирования в машинный код. После этого полученный машинный код программы выполняется. Примером компилируемых языков можно назвать C, Fortran, Pascal.

Интерпретация заключается в том, что программа в машинном коде (интерпретатор) записывает файл программы во внутреннюю память и начинает её построчно выполнять. Примером может служить старый язык BASIC.

Интерпретация программы примерно в 10-200 раз медленнее, чем выполнение скомпилированного кода. В противовес отладка (удаление ошибок из программы) интерпретируемой программы, как правило, проще, чем в случае транслируемой программы. В некоторых подходящих случаях и при наличии подручных инструментов эти различия могут быть гораздо меньше. Хорошим примером служит Java с кодом, оптимизированным и скомпилированном на промежуточном уровне, который во время выполнения транслируется компилятором Just-in-Time в подходящий конкретному аппаратному обеспечению.

В принципе программу, написанную на любом языке можно как интерпретировать, так и скомпилировать.

Учебный курс «Информатика»

  • Моделирование и формализация
  • Алгоритм и его свойства
  • Способы записи алгоритмов
  • Линейные алгоритмы (следование)
  • Ветвления в алгоритмах
  • Циклическая форма организации действий
  • Замкнутые и разомкнутые системы управления
  • Языки программирования
  • Вопросы и упражнения
  • Презентация «Язык Pascal. Алфавит. Величины»
  • Презентация «Объектно-ориентированное программирование»
  •      Человеку в течение всей своей жизни приходится решать много задач, и всё же часто ему хочется поручить выполнение своих работ кому-нибудь другому, например, машине. ЭВМ — это электронно-вычислительная машина, и её услугами человек пользуется уже не одно десятилетие. Единственное, что необходимо сделать человеку, чтобы заставить ЭВМ трудиться — это составить программу на понятном для этой машины языке. Такие языки называются языками программирования. Они служат для написания программ для ЭВМ.
        Работы над созданием языков программирования начались в 50-х годах. Интересы потребителей и характер использования вычислительных машин того времени привели к тому, что созданные языки программирования были тесно связаны с математическими и научными вычислениями, т.е. они были проблемно-ориентированными.
        В 1954 году в США был начат проект языка программирования Фортран, а чуть позже в Европе был начат Алгол. Название Фортран — это сокращение слов «ФОРмула — ТРАНслятор», т.е. преобразование в машинный код математических формул. Алгол, хоть и происходит от английских слов Algorithmic Language (алгоритмический язык), также является проблемно-ориентированным и в основном для выполнения вычислений. Велись нескончаемые споры о том, какой из этих двух языков лучше. Основной недостаток Фортрана — это то, что он относительно сложен для многих пользователей. Этот язык значительно усложняет решение простых задач. Поэтому на базе Фортрана был создан более простой язык программирования Бейсик, ставший сейчас очень популярным языком общения человека и ЭВМ.
        Язык Бейсик разработан в 1965 г. в Дартмунтском колледже в США Джоном Кетмени. Название Бейсик (BASIC) несёт тройную смысловую нагрузку. Во-первых, BASIC происходит от сокращения английской фразы «Beginner s All- Purpose Symbolic Instruction Code»,т. е. многоцелевой язык символических инструкций для начинающих. Во-вторых, так назывался разговорный язык, который был разработан в прошлом веке специально для туземного населения колоний Великобритании. Наконец, в-третьих, BASIC означает базовый.
        Язык Алгол также отличается удобством, элементарностью, а главное — обозримостью вычислительных программ и алгоритмов. Фундаментальные идеи Алгола стали основополагающими для многих языков программирования высокого уровня.
        И Фортран, и Алгол являются языками программирования, ориентированными в основном для вычислений. Но компьютеры используются для решения не только вычислительных задач. Для удовлетворения потребностей в решении экономических и коммерческих задач был создан язык Кобол. Он не «математичен», поскольку разрабатывался так, чтобы походить на обычный, хотя и сильно сокращённый английский язык. В СССР была разработана русская версия Кобола.
        В 60-х годах фирма IBM, мощная компания по производству ЭВМ, сделала попытку совместить всё лучшее, что имеется в основных языках программирования, в одном языке ПЛ/1. Главным лозунгом явилось: иметь в одном языке средства, необходимые всем категориям программистов, с тем, чтобы отдельному программисту достаточно было ознакомиться лишь с определённым подмножеством языка. Этот лозунг не нашёл широкого признания, особенно среди других производителей ЭВМ, так что продолжают использоваться отдельные языки, тем более что ПЛ/1 сложен для изучения и применения.

        В период выхода на мировой рынок микропроцессоров появился Паскаль — язык программирования, являющийся прямым развитием линии Алгола. Он создан швейцарским математиком Никласом Виртом в 1969 году и назван в честь английского учёного Б.Паскаля. Это очень компактный язык, поэтому его часто используют для обучения приёмам программирования. Он, как и Бейсик, очень популярен среди пользователей персональных компьютеров.
        Программы для компьютера в принципе можно записывать сразу в машинных кодах, используя для этого непосредственно последовательность нулей и единиц, как для команд, так для адресов и данных. Однако такая работа очень трудоёмка и легко приводит к ошибкам, поэтому современная практика программирования основана на том, что сначала программа пишется на каком-то языке, более удобном для человека, а затем эта программа транслируется, т.е. переводится в машинный код.
        Таким образом, для программирования используется два средства:
        1.Язык программирования, используемый человеком или входной язык.
        2.Объектный язык, на котором получается программа в машинных кодах, непосредственно загружаемая в память ЭВМ.
        Программа на машинном языке оказывается более эффективной, особенно если она разработана высоко квалифицированным программистом и учитывает особенности архитектуры конкретного компьютера. Но общая тенденция развития программирования состоит в том, чтобы писать программу на символическом языке, который представляет собой сокращения машинных команд и условные адреса, а затем транслировать её в машинные коды. Такой язык программирования называется языком Ассемблера. На языке Ассемблера пишут программы в основном системные программисты
        В самом языке программирования не заложен способ его реализации. Имеется два основных подхода к реализации языков программирования: компиляция и интерпретация. Компилятор (или транслятор) переводит программу на языке программирования в машинный код (на объектный язык) конкретного компьютера, на котором будет выполняться программа. Ясно, что один и тот же компьютер может «понимать» и Basic, и Pascal, и какой-либо другой язык, всё зависит от того, транслятор какого языка программирования размещён в оперативной памяти ПК. Интерпретатор же является собственно той системой, которая исполняет программу на языке программирования (на входном языке), т.е. каждая инструкция исходной программы переводится и сразу выполняется. Между этими двумя подходами имеется множество промежуточных вариантов: существуют компиляторы, которые компилируют во время ввода программы (т. е. в интерактивном режиме). Существуют интерпретаторы, которые компилируют программу в промежуточный код.   
        Программы-трансляторы составляются системными программистами и входят в программное обеспечение компьютера. Цепочка событий от составления программы на языке программирования высокого уровня до получения результатов решения задачи представлена на следующей странице.

        Компьютер является универсальным исполнителем по обработке информации. Следовательно, для него, как для любого исполнителя, свойственна определенная система команд исполнителя. Именно эта система команд называется языком машинных команд. Состав языка машинных команд был предложен Джоном фон Нейманом еще в 1946 г. и во многом сохранился в современных компьютерах.
        Программа управления компьютером — это последовательность команд. Каждая команда является директивой для процессора на выполнение определенного действия. Эти действия выполняет либо сам процессор (арифметические и логические операции), либо внешние устройства (команды ввода, вывода) под управлением процессора. Этапы решения задачи на ЭВМ:

        Согласно принципам Дж. фон Неймана, программа во время ее исполнения и обрабатываемые ею данные находятся в оперативной памяти ЭВМ. И то, и другое имеет вид двоичных кодов. Процессор исполняет программу, начиная с первой команды и заканчивая на последней (или на специальной команде «стоп»). Во время исполнения очередной команды процессор переписывает её в свои регистры, исполняет и переходит к следующей команде.
        Программисты, работавшие на ЭВМ первого поколения (ламповые машины 50-60-х гг.), писали программы на языке машинных команд. Это довольно сложная работа. Для облегчения программирования созданы языки программирования высокого уровня. Примерами таких языков являются Фортран, Паскаль, Бейсик, Си и др. Составление программ на таких языках много проще, чем на языке машинных команд. Программирование стало доступно большему числу людей.
        В 80-е годы активно прорабатывалась идея визуального программирования, основной смысл которой состоит в том, чтобы процесс «сборки» программы осуществлялся на экране дисплея из программных конструкций — картинок. В результате появились среды разработки 4-го поколения (4GL), в которых разрабатываемый программный продукт строится из готовых крупных блоков при помощи мыши. Примерами таких сред являются: Delphi, Visual Age, Visual Java.
        Для программиста, составляющего программы на универсальных языках программирования, в том числе перечисленных выше, компьютер является универсальным исполнителем. Иначе говоря, на таких языках можно составить программу решения любой задачи по обработке информации.

        Программы решения задач составляются программистами по алгоритмам. Человек не должен объяснять исполнителю свои цели и смысл команд программы. Очевидно, что компьютер и не сможет понять смысла совершаемых им действий. Кроме того, компьютер не обладает способностью к анализу результатов, например, с точки зрения их соответствия постановке задачи. Компьютер не может обойтись без программы и исходных данных, подготовить которые под силу только человеку. С этой точки зрения решение задачи компьютером — это формальное исполнение алгоритма её решения, закодированного и хранимого вместе с данными в оперативной памяти.
        Для человека этот факт важен потому, что он должен понимать ограниченность возможностей компьютера как исполнителя, необходимость самому предусмотреть все тонкости команд, поручаемых компьютеру для исполнения, и что вся ответственность за использование компьютеров обществом лежит только на людях. Человек использует компьютер для решения самых разнообразных информационных задач: работа с текстами, создание графических изображений, получение справки из базы данных, табличные расчеты, решение математической задачи, расчет технической конструкции и многое другое. Для их решения в распоряжении пользователя ЭВМ имеется обширное программное обеспечение: системное программное обеспечение (ядром которого является операционная система), прикладное программное обеспечение (программы, предназначенные для пользователя) и системы программирования (средства для создания программ на языках программирования).
        Исходя из условия задачи, пользователь решает для себя вопрос о том, каким программным средством он воспользуется. Если в составе доступного прикладного программного обеспечения имеется программа, подходящая для решения данной задачи, то пользователь выбирает её в качестве инструмента (система управления базами данных, табличный процессор, математический пакет и др.). В случае же, если готовым прикладным программным обеспечением воспользоваться нельзя, приходится прибегать к программированию на универсальных языках, т. е. выступать в роли программиста.
        Принято делить программистов на две категории: системные программисты и прикладные программисты. Системные программисты занимаются разработкой системного программного обеспечения, систем программирования и инструментальных средств прикладного программного обеспечения. Прикладные программисты составляют программы для решения практических (прикладных) задач: технических, экономических, физических и др.
        Пользователь (не программист) работает с каким-либо средством прикладного программного обеспечения (текстовым редактором, табличным процессором, бухгалтерским пакетом программ и т. п.). В этом случае компьютер для него является специализированным исполнителем, ориентированным на определенный тип работы (редактирование текста, табличные расчеты, вычисление заработной платы и пр.). Такой пользователь может и не знать, какие услуги компьютера реализуются аппаратными, а какие — программными средствами. Для него компьютер является «виртуальной машиной», обслуживающей его информационные потребности.

    Архивы Basic | Я — Программист

    Язык Бэйсик (он же BASIC) входит в семейство языков программирования высокого уровня.

    BASIC – это аббревиатура, которая расшифровывается так: Beginner’s All-purpose Symbolic Instruction Code – универсальный код символических инструкций для начинающих).

    Язык программирования Бейсик был разработан в 1964 году. Затея заключалась в том, чтобы создать язык, с помощью которого студенты, не имеющие навыков программирования, могли самостоятельно создавать компьютерные программы для решения своих задач.

    Этот язык в своё время был очень популярен и расплодился по миру компьютеров в виде различных диалектов, в основном, как язык для домашних компьютеров.

    Бэйсик с момента создания многократно дорабатывался и усложнялся, повинуясь законам современного программирования. По этой причине к настоящему времени он уже утратил (по сравнению с первыми версиями) свою простоту. Хотя, даже с учётом этого, современный Бэйсик всё-равно остаётся относительно простым языком, по сравнению с такими языками, как, например, С++.

    Начиная с 1960-х годов компьютеры становились всё более доступными. На компьютерах могли работать уже не только учёные-программисты, но и школьники и студенты, которые не являлись программистами. Однако у этих школьников и студентов уже появились задачи, которые надо было решать с помощью компьютеров.

    Готовых программ тогда почти не было. Поэтому под каждую задачу надо было создавать отдельную программу. И делать это на компьютерах тех лет, используя имеющиеся тогда языки программирования, было очень сложно (отчасти поэтому раньше языки программирования создавались для решения конкретных задач, например, ПРОЛОГ был ориентирован на создание систем с искусственным интеллектом, ФОРТРАН – для работы с математическими формулами в научных и инженерных вычислениях и т.п.).

    Поэтому неудивительно, что у кого-то появилась мысль создать язык программирования настолько простой, насколько это вообще возможно, чтобы люди, совсем незнакомые с программированием, могли создавать хотя бы простые программы для решения каких-то задач на компьютерах (эта мысль была воплощена в жизнь, хотя потом критики ставили эти особенности в вину Бейсику).

    В итоге в 1964 году преподавателями Дартмутского Колледжа Джоном Кемени и Томасом Курцем был придуман язык Бэйсик, и под их руководством был реализован командой студентов колледжа. Со временем, когда стали появляться другие диалекты, изначальную реализацию стали называть Dartmouth BASIC.

    Бейсик был задуман и сделан так, чтобы студенты могли относительно легко создавать свои программы. Бэйсик был ориентирован на пользователей, для которых скорость выполнения программ не была слишком важной, и которым намного более важно было иметь возможность использовать компьютер для решения своих задач в принципе, не имея специальной подготовки (напомню, готовых программ тогда почти не было).

    При разработке языка Бэйсик использовались следующие восемь принципов:
    1. Язык должен быть простым в использовании и понятным для начинающих.
    2. Должен быть языком программирования общего назначения (а не специального, как, например, упомянутые выше Фортран и Пролог).
    3. Язык должен предоставлять возможность расширения функциональности, доступную опытным программистам.
    4. Также должен быть интерактивным, то есть выполнять команды пользователя.
    5. Язык должен предоставлять однозначные и понятные сообщения об ошибках.
    6. Язык должен быстро работать на небольших программах.
    7. Не должен быть привязан к “железу” и не должен требовать от программиста понимания работы этого самого “железа”.
    8. И еще должен защищать пользователя от операционной системы (или операционную систему от пользователя – кому как больше нравится).

    При создании Бэйсика за основу были взяты частично Фортран II и частично Алгол 60. Первоначально Бэйсик был реализован на мейнфрейме GE-265 с поддержкой множества терминалов (мейнфрейм – это большой высокопроизводительный отказоустойчивый сервер).

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

    Многие языки программирования были слишком громоздкими, чтобы поместиться в небольшую память, которую пользователи подобных компьютеров могли себе позволить. Для машин с таким медленным носителем информации, как бумажная лента (позднее – магнитофонная кассета), и без подходящего текстового редактора такой небольшой язык, как Бейсик, был наилучшим решением.

    В 1975 году Microsoft (тогда это были лишь двое – Билл Гейтс и Пол Аллен, при участии Монте Давидова), выпустила Altair BASIC. Затем его версии появились на другой платформе под лицензией и скоро в использовании были уже миллионы копий и различных вариантов. Один из вариантов, Applesoft BASIC, стал стандартным языком на Apple II. Для операционной системы CP/M был создан диалект BASIC-80, который надолго опередил свое время.

    Кстати, Билл Гейтс говорил, что Бэйсик – это его любимый язык программирования.

    Наиболее бурно и успешно Бэйсик развивался в течение 1970-х и в начале 1980-х годов. В это время почти все персональные компьютеры имели собственный интерпретатор Бейсика, часто зашиваемый прямо в ПЗУ. В простейших компьютерах он даже выполнял функции операционной системы.

    Практически все более мощные компьютеры также имели интерактивные Бейсик-системы. Было создано несколько новых версий Бейсика для платформы IBM PC и совместимых. Microsoft продавала Бейсик для MS-DOS/PC DOS, включая BASICA, GW-BASIC (модификация BASICA, не требующая «прошивки» от IBM) и QuickBASIC.

    Компания Borland, получившая широкую известность благодаря Turbo Pascal (с которым она и вышла впервые на рынок) в 1985 году выпустила основанную на той же программной среде систему Turbo Basic 1.0 (его наследники впоследствии продавались другой компанией под именем PowerBASIC).

    К концу 1980-х годов персональные компьютеры стали намного мощнее и предоставляли новые возможности (такие, как графический интерфейс пользователя). Использовать эти новые возможности в Бейсике было уже не так просто и не так удобно. Кроме того, появились недорогие компиляторы более продвинутых языков (таких как Паскаль и Си), которые, к тому же, имели навороченные по тем временам средства разработки и дополнительные библиотеки с готовыми стандартными подпрограммами (например, Borland Pascal с библиотекой Turbo Vision).

    Бейсик начал терять популярность, хотя огромное число его версий ещё использовались и продавались. В это же время начался постепенный переход Бэйсика в сторону признанных структурных языков: расширился словарь и набор конструкций языка, появились сложные ветвления, именованные подпрограммы и функции, длинные имена переменных.

    Особенности языка Бейсик

    Ранние версии Бейсика (такие как BASICA, GW-BASIC) сильно отличаются от современных диалектов и сегодня практически не используются. Причём отличаются настолько сильно, что начинающий программист не каждую программу на старом Бэйсике сможет перевести на современный Бэйсик.

    Структура программы на ранних версиях Бейсика во многом формировалась с учётом того, что он предназначался для среды программирования со строчным редактором текста. В таком редакторе пользователь не имел возможности отображать весь текст на экране (в окне), не мог перемещаться по нему в любых направлениях с помощью клавиатуры и/или мыши. В строчных редакторах пользователь для изменения строки текста должен дать команду изменения строки с заданным номером, затем ввести новый текст указанной строки (вот была житуха у программистов))).

    Для вставки новой строки нужно дать команду вставки, опять-таки указав номер. Вводимые строки отображаются на экране последовательно (независимо от номеров). Чтобы увидеть сделанные изменения, применяется команда вывода текста. Она выводит строки в правильном порядке (по возрастанию номеров).

    Поэтому в старом Бэйсике каждая строка начиналась с номера. При вводе в редактор строка оказывалась в исходном тексте программы на позиции, соответствующей её номеру. Для вставки новой строки нужно было дописать строку с номером. Этот номер должен находится в диапазоне между номерами двух других строк.

    «Раздвинуть» строки было невозможно, если требовалось вставить новую строку между строками с соседними номерами. Приходилось повторно вводить эти строки с другими номерами, чтобы обеспечить разрыв в нумерации. (либо применять специальную команду RENUM, которая изменяла номера всех уже введённых строк с постоянным шагом).

    Как вы понимаете, при создании более-менее сложной программы практически невозможно предугадать, сколько в ней будет строк и в каком порядке они будут следовать.

    Поэтому для обеспечения последующего редактирования программы стало принято нумеровать строки с шагом 10. (а иногда и больше). Это позволяло в большинстве случаев без проблем вставлять новые строки без изменения номеров строк, которые были введены ранее.

    Пример рассмотрим чуть позже, когда познакомимся с синтаксисом языка Бейсик.

    Синтаксис языка Бейсик

    Признаком конца оператора служит конец строки. Чтобы на одной строке разместить несколько операторов, нужно поставить между ними двоеточие. (это разрешалось не во всех реализациях языка).

    Простейшая программа на Бэйсике:

    10 PRINT “Hello, WORLD!”

    Бэйсик – не чувствительный к регистру язык. То есть для Бэйсика слова PRINT и print – это одно и тоже. Это касается не только ключевых слов, но и имён переменных. Хотя некоторые реализации языка являются чувствительными к регистру полностью или частично (например, Liberty BASIC).

    Имена переменных должны начинаться с буквы и могут состоять из латинских букв и цифр. Для создания переменной строкового типа нужно было после имени указать знак доллара ($).

    Например:

    X = 100       ‘Числовая переменная
    X$ = “Hello”  ‘Строковая переменная

    Выражения похожи на выражения в большинстве других процедурных языков программирования. Но в первых вариантах Бейсика их было довольно мало. В самых ранних вариантах число ключевых слов было менее 20 (в этом и прелесть Бэйсика).

    Объявлять простые переменные не нужно. Просто в любом месте программы пишем имя переменной, и всё. Правда, массивы надо объявлять.

    Ниже перечислены самые основные конструкции языка, которые были реализованы практически в любой Бейсик-системе конца 1970-х годов. (многие из этих конструкций поддерживаются и современными реализациями языка Бэйсик):

    LIST
    Вывод на монитор текста программы в правильной последовательности строк.

    RUN
    Запуск текущей программы с первого оператора строки с самым маленьким номером.

    REM
    Комментарий. Текст, находящийся после ключевого слова и до конца строки, является комментарием. Многие интерпретаторы также поддерживают в качестве знака начала комментария одиночную кавычку ‘. Некоторые интерпретаторы допускают использовать слово REM, только если оно находится в самом начале строки.

    INPUT
    Выводит на монитор текст приглашения и ожидает, пока пользователь введёт значение и нажмёт ENTER.

    PRINT
    Выводит данные на монитор (текст и значения переменных).

    CLS
    Очищает экран.

    DIM
    Описание массива. В отличие от обычных переменных, массивы требуют предварительного объявления.

    GOTO Метка
    Команда безусловного перехода на Метку.

    IF … THEN …
    Обычный оператор ветвления. После IF размещается логическое условие.
    После THEN – оператор, который должен быть выполнен при истинности этого условия.

    END
    Завершение выполнения программы. Система выходит в интерпретатор и пользователю выдаётся приглашение на ввод команд.

    SAVE
    Команда интерактивного режима, которая сохраняет текущую программу в файле на внешнем носителе.

    LOAD
    Команда интерактивного режима, которая загружает в память программу из файла на внешнем носителе. При этом обычно из памяти удаляется ранее загруженная программа и данные.

    Пример программы на Бейсике:

    10 CLS         'Очистить экран
     
    20 PRINT "Привет, МИР!!!"
     
    30 X = 100     'Присвоить 100 переменной Х
    40 INPUT "Введите число : "; Y
    50 PRINT Y; " * "; X; " = "; X * Y
     
    60 END

    Интерпретаторы Бэйсик

    Один из наиболее известных интерпретаторов языка Бэйсик – это QBasic от Microsoft. Много лет он бесплатно поставлялся вместе с операционными системами MS-DOS и Windows. QBasic имел неплохие по тем временам графические и звуковые возможности. Поэтому на QBasic создавались даже игры (один мой знакомый это делал – не то, что на картинке, но что-то типа того))).

    Бейсик поздних версий (начиная с Turbo Basic и Visual Basic) сильно отличается от ранних реализаций. По сути это новый язык, который уже больше похож на Фортран или Паскаль, чем на исходный Бейсик (хотя многие конструкции поддерживаются).

    Вторую жизнь Бейсик получил с появлением Visual Basic от Microsoft. Но, несмотря на популярность, в 2001 году Microsoft отказалась от дальнейшей поддержки Visual Basic (если не ошибаюсь, последняя версия Visual Basic была 6.5) в пользу принципиально нового языка Visual Basic . NET, где язык был снова “перекроен” и “перешит”, ориентирован на кросс-платформенную технологию .NET, и в текущем состоянии практически совпадает по набору возможностей c языком C#. Отличия только в синтаксисе и ключевых словах.

    Так Basic перерос из средства для создания программ любителями-непрофессионалами до полноценного средства создания программ.

    Помимо написания полноценных программ, Бейсик широко применяется как основа для различных скриптовых языков (например, макросы в пакете Microsoft Office пишутся на диалекте VBA, язык сценариев VBScript используется в SCADA-системах и других подобных программах).

    Сколько людей, столько и мнений

    Даже в свои лучшие времена (1970…1980 годы) Бейсик подвергался жёсткой критике (впрочем, как и почти все другие языки программирования – критиковать у нас любят).

    Конечно, у Бэйсика было немало недостатков. Но ведь он же таким и был задуман! Да, с недостатками. Но зато простой и доступный для понимания даже гуманитарию.

    В основном же профессиональные программисты разносили в пух и прах Бэйсик за то, что его простота и отсутствие структурирования приводят к тому, что начинающие программисты в погоне за сокращением времени на создание программ, напрочь забывают о “правильном” подходе к программированию. Это допустимо при написании простеньких программ, но практически всегда приводит к неудаче при работе над серьёзными крупными проектами.

    Многие профессионалы также были категорически против того, чтобы использовать Бэйсик для обучения новичков. Известный в мире программистов авторитет Эдсгер Дейкстра говорил, что студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. И что как потенциальные программисты они умственно изувечены без надежды на восстановление.

    Несмотря на авторитет Дейкстры, я с ним в этом не согласен. То, что приписывают к недостаткам Бэйсика, на самом деле является его достоинствами. Недостатки Бейсика (если иметь в виду ранние диалекты) проявляются при попытке профессиональной разработки на нём сложных и крупных программ и при использовании его как базового языка для обучения программистов, но ни для одного их этих применений данный язык не предназначался. Его основной задачей было предоставить студентам-непрограммистам возможность после минимального обучения самостоятельно писать простейшие программы для собственных нужд, чтобы не отвлекать на эту работу специалистов. Эту задачу язык решает вполне успешно.

    Если же говорить о современных диалектах и реализациях Бейсика, то они настолько далеко ушли от первоначальной формы языка, что всё вышесказанное вряд ли можно считать относящимся к ним.

    Современные диалекты Бейсика являются достаточно структурированными языками, они сопоставимы по возможностям с такими языками, как Си, Паскаль и т.п.

    Язык Бэйсик (даже первые его реализации, такие как QBasic), вполне пригоден для обучения, потому что с моей точки зрения нет совершенно никаких проблем, при необходимости, выучить потом другой язык. Может быть в 60-е годы прошлого столетия это и было проблемой – не знаю (я родился в 1969). Но сейчас – нет.

    К тому же сегодня и переучиваться особо не потребуется, так как можно создавать свои классные программы, например, на Visual Basic.

    История языка программирования BASIC

    В 1960-х годах компьютеры работали на гигантских мэйнфреймах, и для их охлаждения требовались специальные помещения с мощным кондиционированием воздуха. Операторы компьютеров получали инструкции для мэйнфреймов с перфокарт, и любые инструкции, отдаваемые мэйнфрейму, требовали написания нового программного обеспечения, которое было сферой деятельности математиков и начинающих компьютерных ученых.

    BASIC, компьютерный язык, написанный в Дартмутском колледже в 1963 году, изменит это.

    Начало BASIC

    Язык BASIC был аббревиатурой от Универсального символьного инструктивного кода для начинающих. Он был разработан дартмутскими математиками Джоном Джорджем Кемени и Томом Куртзасом в качестве учебного пособия для студентов. БЕЙСИК был задуман как компьютерный язык для универсалов, чтобы использовать их для раскрытия возможностей компьютера в бизнесе и других областях науки. BASIC традиционно был одним из наиболее часто используемых языков компьютерного программирования, который считался легким шагом для студентов в изучении перед более мощными языками, такими как FORTRAN.До недавнего времени BASIC (в форме Visual BASIC и Visual BASIC .NET) был наиболее широко известным компьютерным языком среди разработчиков.

    Распространение BASIC

    Появление персонального компьютера сыграло решающую роль в успехе BASIC. Язык был разработан для любителей, и по мере того, как компьютеры стали более доступными для этой аудитории, популярность книг с программами BASIC и играми BASIC резко возросла. В 1975 году Пол Аллен и Билл Гейтс, отцы-основатели Microsoft, написали версию BASIC для персонального компьютера Altair.Это был первый продукт, проданный Microsoft. Позже Гейтс и Microsoft написали версии BASIC для компьютера Apple, а DOS IBM, которую предоставил Гейтс, пришла вместе с версией BASIC.

    Закат и возрождение BASIC

    К середине 1980-х годов мания к программированию персональных компьютеров утихла вслед за запуском профессионального программного обеспечения, созданного другими. У разработчиков также было больше возможностей, таких как новые компьютерные языки C и C ++. Но появление Visual Basic, написанного Microsoft в 1991 году, изменило это.VB был основан на BASIC и полагался на некоторые его команды и структуру, и оказался ценным во многих приложениях малого бизнеса. BASIC .NET, выпущенный Microsoft в 2001 году, согласовал функциональность Java и C # с синтаксисом BASIC.

    Список команд BASIC

    Вот некоторые из команд, связанных с самыми ранними языками BASIC, разработанными в Дартмуте:

    HELLO — войти в систему
    BYE — выйти из системы
    BASIC — запустить режим BASIC
    NEW — дать имя и начать запись программы
    OLD — получить ранее названную программу из постоянного хранилища
    LIST — отобразить текущую программу
    SAVE — сохранить текущую программу в постоянное хранилище
    UNSAVE — очистить текущую программу из постоянного хранилища
    CATALOG — отобразить имена программ в постоянном хранилище
    SCRATCH — стереть текущую программу без очистки ее имени
    RENAME — изменить имя текущей программы, не стирая ее
    RUN — выполнить текущие программы
    STOP — прервать текущую выполняющуюся программу

    История языков программирования — DevSkiller

    Компьютерное программирование — это сама основа цифровой эпохи, в которой мы живем сегодня. Каждый раз, когда вам нравится публикация в социальных сетях, вы отправляете электронное письмо или устанавливаете будильник на телефоне, язык программирования работает за кулисами — дергает за ниточки.

    Но с чего все началось? И что стимулировало его рост в ведущую отрасль, существующую сегодня? Прежде всего, почему знание истории языков программирования важно для найма разработчиков?

    Присоединяйтесь к нам, мы отправимся в путешествие по истории языков программирования. Эта ретроспектива продемонстрирует, насколько компьютерное программирование развилось за эти годы.Он вернет вас от ранних языков и сложного машинного кода к сложному, удобочитаемому языку, на котором сегодня работают наши любимые технологии.

    Первый язык программирования

    Знаете ли вы, что первый язык программирования был изобретен еще в 1843 году? Ада Лавлейс изобрела первый в истории машинный алгоритм для одной из первых вычислительных машин, который она записала на листе бумаги, потому что в то время компьютеров не существовало! С тех пор языки программирования, очевидно, прошли долгий путь, но для того, чтобы понять историю языков программирования, нужно сначала признать их происхождение.

    История языков программирования: хронология

    Ниже приведен график истории языков программирования. Первые известные языки программирования были сложными машинными кодами, которые вручную вводились в ранние вычислительные машины. Как вы обнаружите, компьютерное программирование быстро превратилось из машинных кодов в полностью автоматизированный, читаемый человеком код.

    1843: Машинный алгоритм Ады Лавлейс

    Ада Лавлейс изобретает первый в истории машинный алгоритм для разностной машины Чарльза Бэббиджа, который закладывает основу для всех языков программирования.

    Источник: Wikimedia Commons

    1944-45: Планкалкюль

    Где-то между 1944-45 годами Конрад Цузе разработал первый «настоящий» язык программирования под названием Plankalkül (Расчет плана). Язык Zeus (среди прочего) позволял создавать процедуры, в которых хранятся фрагменты кода, которые можно было вызывать снова и снова для выполнения рутинных операций.

    Источник: Wikimedia Commons

    1949: Язык ассемблера

    Ассемблер использовался в автоматическом калькуляторе с электронным запоминанием задержки (EDSAC).Ассемблер был разновидностью низкоуровневого языка программирования, который упростил язык машинного кода. Другими словами, конкретные инструкции, необходимые для работы с компьютером.

    1949: Короткий код

    Shortcode (или сокращенный код) был первым языком высокого уровня (HLL), предложенным Джоном Макколи в 1949 году. Однако именно Уильям Шмитт реализовал его для компьютера BINAC в том же году и для UNIVAC в 1950 году.

    1952: Автокод

    Автокод был общим термином, используемым для семейства языков программирования.Autocode, впервые разработанный Аликом Гленни для компьютера Mark 1 в Манчестерском университете, был первым в истории скомпилированным языком, который был реализован, что означает, что он может быть переведен непосредственно в машинный код с помощью программы, называемой компилятором. Автокод использовался на первых вычислительных машинах Ferranti Pegasus и Sirius в дополнение к Mark 1.

    1957: Фортран

    FORmula TRANslation или FORTRAN был создан Джоном Бэкусом и считается самым старым языком программирования, используемым сегодня.Язык программирования был создан для научных, математических и статистических вычислений высокого уровня. FORTRAN до сих пор используется в некоторых из самых передовых суперкомпьютеров в мире.

    Источник: Flickr

    1958: АЛГОЛ (Алгоритмический язык)

    Алгоритмический язык или АЛГОЛ был создан совместным комитетом американских и европейских компьютерных ученых. Алгол послужил отправной точкой для разработки некоторых из наиболее важных языков программирования, включая Pascal, C, C ++ и Java.

    1958: LISP (обработчик списков) Процессор списков

    или LISP был изобретен Джоном Маккарти в Массачусетском технологическом институте (MIT). Первоначально предназначенный для искусственного интеллекта, LISP является одним из старейших языков программирования, которые все еще используются сегодня, и его можно использовать вместо Ruby или Python. Такие компании, как Acceleration, Boeing и Genworks, по-прежнему используют LISP в своих технических стеках.

    Источник: WikiMedia

    1959: КОБОЛ (общий язык, ориентированный на бизнес)

    Common Business Oriented Language (COBOL) — это язык программирования, на котором основаны многие процессоры кредитных карт, банкоматы, телефонные и сотовые звонки, больничные сигналы и системы светофоров (и это лишь некоторые из них).Разработкой языка руководила доктор Грейс Мюррей Хоппер, и он был разработан таким образом, чтобы его можно было использовать на компьютерах всех марок и типов. COBOL до сих пор используется в первую очередь для банковских систем.

    Источник: Pixabay

    1964: BASIC (Универсальный символический код инструкции для начинающих) Универсальный символьный код инструкций для начинающих

    или BASIC был разработан группой студентов Дартмутского колледжа. Этот язык был написан для студентов, которые плохо разбирались в математике или компьютерах.Этот язык был разработан основателями Microsoft Биллом Гейтсом и Полом Алленом и стал первым товарным продуктом компании.

    1970: PASCAL

    Названный в честь французского математика Блеза Паскаля, Никлаус Вирт разработал язык программирования в его честь. Он был разработан как средство обучения компьютерному программированию, что означало, что его легко освоить. В первые годы существования компании Apple предпочитала его из-за простоты использования и мощности.

    Источник: Flickr

    1972: Smalltalk

    Разработанный в исследовательском центре Xerox Пало-Альто Аланом Кей, Адель Голдберг и Дэном Ингаллсом, Smalltalk позволял программистам изменять код на лету. Он представил множество аспектов языка программирования, которые являются видимыми сегодня языками, такими как Python, Java и Ruby. Такие компании, как Leafly, Logitech и CrowdStrike, заявляют, что используют Smalltalk в своих технических стеках.

    1972: C

    Разработано Деннисом Ричи из Bell Telephone Laboratories для использования с операционной системой Unix. Он был назван C, потому что был основан на более раннем языке под названием «B». Многие из ведущих в настоящее время языков являются производными от C, включая; C #, Java, JavaScript, Perl, PHP и Python.Он также использовался / до сих пор используется такими крупными компаниями, как Google, Facebook и Apple.

    1972: SQL (SEQUEL в то время)

    SQL был впервые разработан исследователями IBM Рэймондом Бойсом и Дональдом Чемберленом. SEQUEL (как его тогда называли) используется для просмотра и изменения информации, хранящейся в базах данных. В настоящее время язык является аббревиатурой — SQL, что означает язык структурированных запросов. Существует множество компаний, использующих SQL, и некоторые из них включают Microsoft и Accenture.

    1980/81: Ада

    Ada был первоначально разработан группой под руководством Джин Ичбиа из CUU Honeywell Bull по контракту с Министерством обороны США. Названный в честь математика середины XIX века Ады Лавлейс, Ada представляет собой структурированный, статически типизированный, императивный, объектно-ориентированный язык программирования с широким спектром возможностей. Ада была расширена из других популярных языков программирования того времени, таких как Паскаль. Ada используется в системах управления воздушным движением в таких странах, как Австралия, Бельгия и Германия, а также во множестве других транспортных и космических проектов.

    1983: C ++

    Бьярн Страуструп модифицировал язык C в Bell Labs, C ++ — это расширение C с такими улучшениями, как классы, виртуальные функции и шаблоны. Он был включен в 10 лучших языков программирования с 1986 года и получил статус Зала славы в 2003 году. C ++ используется в MS Office, Adobe Photoshop, игровых движках и другом высокопроизводительном программном обеспечении.

    1983: Objective-C

    Разработанный Брэдом Коксом и Томом Лавом, Objective-C является основным языком программирования, используемым для написания программного обеспечения для macOS и iOS, операционных систем Apple.

    Источник: Cleanpng

    1987: Perl

    Perl был создан Ларри Уоллом и представляет собой универсальный язык программирования высокого уровня. Первоначально он был разработан как язык сценариев, предназначенный для редактирования текста, но в настоящее время он широко используется для многих целей, таких как CGI, приложения баз данных, системное администрирование, сетевое программирование и графическое программирование.

    Источник: Flickr

    1990: Haskell

    Haskell — это язык программирования общего назначения, названный в честь американского логика и математика Хаскелла Брукса Карри.Это чисто функциональный язык программирования, то есть в первую очередь математический. Он используется во многих отраслях, особенно в тех, которые имеют дело со сложными вычислениями, записями и обработкой чисел. Как и многие другие языки программирования той эпохи, не так уж часто можно увидеть, что Haskell используется для хорошо известных приложений. С учетом сказанного, язык программирования был использован для написания ряда игр, одна из которых — Nikki and the Robots.

    Источник: Викимедиа

    1991: Python

    Названный в честь британской комедийной труппы «Монти Пайтон», Python был разработан Гвидо Ван Россумом.Это универсальный язык программирования высокого уровня, созданный для поддержки различных стилей программирования и приятный в использовании (ряд руководств, примеров и инструкций часто содержат ссылки на Monty Python). Python по сей день является одним из самых популярных языков программирования в мире, который используют такие компании, как Google, Yahoo и Spotify.

    Источник: Flickr

    1991: Visual Basic

    Разработанный Microsoft, Visual Basic позволяет программистам использовать стиль перетаскивания для выбора и изменения предварительно выбранных фрагментов кода через графический интерфейс пользователя (GUI).В наши дни этот язык не используется слишком часто, однако Microsoft частично использовала Visual Basic для ряда своих приложений, таких как Word, Excel и Access.

    Источник: Pixabay

    1993: Рубин

    Ruby, созданный Юкихиро Мацумото, представляет собой интерпретируемый язык программирования высокого уровня. Язык обучения, на который, в частности, повлияли Perl, Ada, Lisp и Smalltalk. В основном Ruby используется для разработки веб-приложений и Ruby on Rails.Twitter, Hulu и Groupon — известные примеры компаний, использующих Ruby.

    Источник: Викимедиа

    1995: Java

    Java — это универсальный язык высокого уровня, созданный Джеймсом Гослингом для проекта интерактивного телевидения. Он обладает кросс-платформенной функциональностью и неизменно входит в число самых популярных языков программирования в мире. Java можно найти везде, от компьютеров до смартфонов и парковочных счетчиков.

    Источник: Викимедиа

    1995: PHP

    Ранее известный как «Персональная домашняя страница», что теперь означает «Препроцессор гипертекста», PHP был разработан Расмусом Лердорфом.Его основное использование включает создание и поддержку динамических веб-страниц, а также разработку на стороне сервера. Некоторые из крупнейших компаний по всему миру используют PHP, включая Facebook, Wikipedia, Digg, WordPress и Joomla.

    1995: JavaScript

    JavaScript был создан Бренданом Эйхом, этот язык в основном используется для динамической веб-разработки, документов PDF, веб-браузеров и виджетов рабочего стола. Почти каждый крупный веб-сайт использует JavaScript. Gmail, Adobe Photoshop и Mozilla Firefox включают несколько хорошо известных примеров.

    2000: С #

    Разработанный в Microsoft в надежде объединить вычислительные возможности C ++ с простотой Visual Basic, C # основан на C ++ и имеет много общего с Java. Этот язык используется почти во всех продуктах Microsoft и используется в основном при разработке настольных приложений.

    2003: Скала

    Разработанный Мартином Одерски, Scala, сочетающий математическое функциональное программирование и организованное объектно-ориентированное программирование.Совместимость Scala с Java делает его полезным при разработке под Android. Linkedin, Twitter, Foursquare и Netflix — это лишь несколько примеров многих компаний, которые используют Scala в своих технических стеках.

    2003: Groovy

    Унаследованный от Java, Groovy был разработан Джеймсом Страчаном и Бобом МакВиртером. Язык повышает продуктивность, поскольку он лаконичен и прост в изучении. Некоторые известные компании, использующие Groovy в своих технических стеках, — это Starbucks, Transferwise и Craftbase.

    2009: Перейти

    Go был разработан Google для решения проблем, возникающих из-за больших программных систем. Благодаря своей простой и современной структуре Go завоевал популярность среди крупнейших технологических компаний по всему миру, таких как Google, Uber, Twitch и Dropbox.

    2014: Swift

    Разработанный Apple в качестве замены C, C ++ и Objective-C, Swift был разработан с намерением быть проще, чем вышеупомянутые языки, и допускать меньше места для ошибок.Универсальность Swift означает, что его можно использовать для настольных, мобильных и облачных приложений. Ведущее языковое приложение Duolingo запустило новое приложение, написанное на Swift.

    Какие старые языки программирования все еще используются?

    Не все языки программирования длятся вечно. Является ли это результатом развития технологий или просто заменой более сложным языком. С учетом сказанного, есть несколько старых языков программирования, которые все еще используются ИТ-специалистами:

    FORTRAN

    Первоначальная версия FORTRAN была предложена в IBM Джоном Бэкусом еще в 1953 году.Это был первый оптимизатор-компилятор, который широко использовался в научной работе, поскольку его оптимизированный код выгодно отличался от рукописного кода ассемблера. Этот язык до сих пор используется на некоторых из самых быстрых суперкомпьютеров в мире. С 1953 года была выпущена серия обновлений, последняя версия которых была выпущена в 2018 году.

    КОБОЛ

    COBOL был разработан еще в 1959 году и был одним из первых языков программирования высокого уровня. Несмотря на то, что COBOL был изобретен так давно, он по-прежнему широко распространен.В одних только США 43% банковских систем построены на COBOL, что составляет 95% операций с банкоматами и 80% транзакций, совершаемых лично.

    Источник: Unsplash

    Ранние языки программирования Microsoft и Apple

    Microsoft и Apple — две из самых фундаментальных компаний в истории языков программирования. BASIC (впервые выпущенный в 1964 году) был модифицирован основателями Microsoft Биллом Гейтсом и Полом Алленом в 1975 году. Их модифицированная версия стала Altair BASIC, который был первым продаваемым и распространяемым продуктом Microsoft, который привел к созданию компании.

    Паскаль был предпочтительным языком программирования на заре Apple. Паскаль, изобретенный в начале 1970-х годов, понравился разработчикам Apple из-за его мощности и простоты использования. Однако, когда Apple приобрела библиотеку кода NeXTSTEP в 1996 году, Objective-C (который был лицензирован под NeXTSTEP) стал популярным языком, выбранным техническим гигантом.

    Какой язык программирования сегодня самый популярный?

    Мы приближаемся к концу нашего путешествия по истории языков программирования. Как вы заметили, компьютерное программирование превзошло все ожидания и стало основой технологий, на которые мы полагаемся ежедневно. Именно по этой причине нам нужны квалифицированные профессионалы для реализации и управления языками программирования, которые используются сегодня в мире.

    Но какой язык программирования самый популярный?

    Отчет DevSkiller 2020 IT Skills Report дает ценную информацию именно по этому вопросу. Отчет содержит данные более чем 213 000 тестов кодирования, отправленных в 143 страны компаниями, желающими нанять специализированных ИТ-специалистов.

    Как вы можете видеть выше, JavaScript был самым популярным языком, протестированным на DevSkiller на основе разосланных тестовых приглашений. Этот вывод подтверждается опросом разработчиков Stack Overflow 2020 года, в котором JavaScript указан как самый популярный язык программирования восьмой год подряд. SQL, Java, HTML / CSS и .NET / C # завершили пятерку лучших по нашим результатам.

    Заключение

    История языков программирования увлекательна. Кто бы мог подумать, что алгоритм середины 19 века проложит путь для технологического общества, в котором мы живем сегодня.От ранних машинных кодов до сложного, удобочитаемого кода, на котором сегодня работают наши любимые технологии, языки программирования прошли долгий путь. Несомненно, компьютерное программирование будет продолжать развиваться, как это происходило в течение последних 150 лет, и интересно смотреть, что принесет нам будущее.

    Кредит изображения: Pixabay

    BASIC (Универсальный символьный код инструкции для начинающих) Определение

    означает «Универсальный символический код инструкции для начинающих».«BASIC — это язык компьютерного программирования, который был разработан в середине 1960-х годов, чтобы дать студентам возможность писать простые компьютерные программы. С тех пор этот язык превратился в более надежный и мощный язык, и его можно использовать для создания сложных программ для современные компьютерные системы.

    BASIC изначально использовал числа в начале каждой инструкции (или строки), чтобы сообщить компьютеру, в каком порядке обрабатывать инструкции. Строки будут пронумерованы как 10, 20, 30 и т. Д., Что позволит размещать дополнительные инструкции между командами позже, если это необходимо.Операторы «GOTO» позволяют программам возвращаться к более ранним инструкциям во время выполнения. Например, строка 230 программы BASIC может иметь предложение «if», которое сообщает компьютеру вернуться к строке 50, если значение переменной меньше 10. Эта инструкция может выглядеть примерно так:

    230 IF (N

    )

    Более современные реализации BASIC используют «циклы while», которые выполняют серию инструкций, пока верен определенный случай. Новое программное обеспечение для разработки BASIC также поддерживает больше типов данных, таких как целые числа, строки и массивы, для хранения переменных и других данных.В то время как первые среды разработки BASIC были строго текстовыми, сегодняшнее программное обеспечение для программирования BASIC позволяет разработчикам проектировать большую часть своих программ визуально, используя графический пользовательский интерфейс. Некоторые из наиболее популярных программ разработки BASIC, используемых сегодня, включают REALbasic и Microsoft Visual Basic.

    TechTerms — Компьютерный словарь технических терминов

    Эта страница содержит техническое определение BASIC. Он объясняет в компьютерной терминологии, что означает BASIC, и является одним из многих программных терминов в словаре TechTerms.

    Все определения на веб-сайте TechTerms составлены так, чтобы быть технически точными, но также простыми для понимания. Если вы найдете это BASIC-определение полезным, вы можете сослаться на него, используя ссылки для цитирования выше. Если вы считаете, что термин следует обновить или добавить в словарь TechTerms, отправьте электронное письмо в TechTerms!

    Подпишитесь на информационный бюллетень TechTerms, чтобы получать избранные термины и тесты прямо в свой почтовый ящик. Вы можете получать электронную почту ежедневно или еженедельно.

    Подписаться

    1 мая 1964: Выполняется первая базовая программа

    Джон Г.Кемени (слева) и Томас Э. Курц внесли поистине фундаментальный вклад в информатику в 1964 году.
    Предоставлено библиотекой Дартмута __1964: __ В предрассветные часы Первого мая два профессора Дартмутского колледжа запускают первую программу на своем новом языке , Базовый.

    Математики Джон Г. Кемени и Томас Э. Курц пытались сделать вычисления более доступными для своих студентов. Одна из проблем заключалась в том, что доступные вычислительные языки, такие как Fortran и Algol, были настолько сложными, что вам действительно нужно было быть профессионалом, чтобы использовать их.

    Итак, два профессора начали писать простые в использовании языки программирования в 1956 году. Сначала появился упрощенный код Дартмута, или Дарсимко. Следующим был Дартмутский чрезмерно упрощенный эксперимент по программированию, или Dope, который был слишком прост, чтобы от него можно было много пользы. Но Кемени и Курц использовали полученные знания для создания универсального кода символьных инструкций для начинающих, или базового, начиная с 1963 года.

    Мэйнфрейм General Electric GE-225 колледжа начал работать с базовым компилятором в 4 часа утра 1 мая 1964 года.Новый язык был достаточно простым в использовании и достаточно мощным, чтобы сделать его желанным. Курц писал: «Оказалось, что простота обучения и использования также была хорошей идеей для преподавателей, сотрудников и всех остальных».

    И это не только для мэйнфреймов. Пол Аллен и Билл Гейтс адаптировали его для персональных компьютеров в 1975 году, и он до сих пор широко используется для обучения программированию и в качестве основного языка. (Реагируя на распространение сложных базовых вариантов, Кемени и Курц в 1980-х годах создали компанию для разработки True BASIC, экономичной версии, соответствующей стандартам ANSI и ISO. )

    Другой проблемой, которую атаковали Кемени и Курц, была пакетная обработка, которая заставляла длительное время ожидания между последовательными запусками процесса отладки. Основываясь на работе Фернандо Корбато, они завершили Дартмутскую систему разделения времени, или DTSS, позже в 1964 году. Как и Basic, она произвела революцию в вычислениях.

    Когда-либо изобретатель, Кемени занимал пост президента Дартмута в 1970-81 годах, введя совместное обучение в школе в 1972 году после более чем двух столетий регистрации в школе только мужчин.

    * (Источник: веб-сайт выпускников Дартмута, СНГ)

    1 мая 1978 г .: Спам, от новизны до неприятностей за пару десятилетий

    29 апреля 1964 г .: Годзилла, Mothra Clash впервые

    7 апреля 1964 г .: IBM делает ставку на систему / 360

    Интерпретатор помогает базовому языку Java

    Блог компилятора

    Оригинальный BASIC | Истинный BASIC

    1 МАЯ 1964 — Рождение BASIC
    Спустя 50 лет он все еще позволяет любому писать свои собственные программы.

    Джон Г. Кемени и Томас Э. Курц изобрели БЕЙСИК (универсальный символический код для начинающих) для использования в Дартмутском колледже, чтобы их студенты могли быстро писать полезные компьютерные программы и в то же время понимать, что они делают. Английские функции и утверждения помогли обычным людям совершать необычные подвиги с их компьютерными программами. Они сделали его бесплатным для всех, кто хотел научиться программировать компьютеры.Вскоре это стало мировым стандартом. True BASIC по-прежнему не имеет себе равных по мощности, логическому подходу и простоте использования.

    От академического использования к коммерческой компании:
    В 1983 году группа выпускников Дартмутского университета убедила Кемени и Курца предложить свой язык программирования в качестве коммерческого продукта. Была создана компания True BASIC Inc., и были созданы версии языка для операционных систем DOS и Mac. То, что было Dartmouth BASIC 7, стало первой версией True BASIC.С самого начала True BASIC был полностью структурированным языком.

    Ранее Джон Кемени настаивал на том, что в ближайшие годы операционные системы кардинально изменятся и что True BASIC НЕ должен ограничиваться одной компьютерной платформой. Сегодня версии True BASIC доступны для систем DOS, MacOS, Windows, Unix и Linux. Функции и операторы одинаковы на всех платформах и обеспечивают непревзойденную переносимость исходного кода.

    Теперь, более 30 лет спустя, True BASIC продолжает оставаться одним из старейших сохранившихся и наиболее широко используемых языков программирования.Это позволяет людям, которые знают свою область или предмет, писать полезные программы, не посвящая свою жизнь овладению трудными для понимания компьютерными языками. В то время как другие языки приходят и уходят, True BASIC продолжает привлекать все больше и больше пользователей, поскольку они открывают для себя его мощь и простоту.

    True BASIC — это БЕЙСИК, который вы искали: простой в использовании, с полным набором функций и операторов в каждой версии. Он широко используется как в школах и колледжах, так и отдельными программистами.True BASIC позволяет вам писать и запускать структурированный код, а также унаследованный код с пронумерованными строками и даже компилировать / связывать ваши собственные автономные приложения.

    Здесь вы найдете потрясающий ассортимент программного обеспечения True BASIC, наборов инструментов и книг по цене всего от 19 долларов. Демо-версию True BASIC Bronze edition со всеми функциями и операторами можно скачать здесь.

    10 самых старых языков программирования, которые все еще используются

    Хотя они могут быть невидимы для обычного человека, языки программирования буквально помогают современному миру работать, предоставляя инструкции компьютерам и всем нашим электронным устройствам.Первым языком программирования высокого уровня был Plankalkül, созданный Конрадом Цузе между 1942 и 1945 годами. С тех пор было разработано бесчисленное количество языков программирования, которых больше нет. Языкам программирования в этом списке несколько десятилетий, и они до сих пор остаются одними из самых популярных языков программирования.

    10. MATLAB

    Год выпуска: 1984
    Разработано: Cleve Moler
    [ Разработчик: MathWorks
    Основные реализации: Используется в инженерии, науке и экономике

    источник фото: Wikimedia Commons Как следует из названия, MATLAB, разработанный MathWorks в начале 1980-х годов, предназначен в первую очередь для числовых вычислений и используется миллионами людей с опытом работы в области техники, науки и экономики.MATLAB, который начинался как простой интерактивный калькулятор матриц, позволяет манипулировать матрицами, строить графики функций и данных, реализовывать алгоритмы, создавать пользовательские интерфейсы и взаимодействовать с программами, написанными на других языках.

    Клив Молер разработал MATLAB, потому что он хотел предоставить своим ученикам доступ к LINPACK и EISPACK (обе библиотеки математического программного обеспечения) без необходимости изучать Фортран. MATLAB имел успех и в течение последних нескольких десятилетий непрерывно использовался во всем мире.

    Знаете ли вы?

    В 2020 году китайские государственные СМИ сообщили, что MATLAB прекратил предоставлять услуги двум китайским университетам из-за текущих санкций США.


    9. Ada

    Год выпуска: начало 1980-х
    Разработано: Jean Ichbiah
    [ Разработчик: Министерство обороны США
    Основные реализации: AdaCore GNAT, Green Hills Software Оптимизирующий компилятор Ada 95, PTC, Inc. PTC ApexAda и PTC ObjectAda, DDC-I Score

    Источник фото: Wikimedia Commons

    Ada была разработана в начале 1980-х Жаном Ичбиа и его командой из CII-Honeywell-Bull во Франции по контракту с Министерством обороны США. Структурированный, статически типизированный, императивный и объектно-ориентированный язык программирования высокого уровня частично основан на Паскале и других более ранних языках. На момент разработки, с 1977 по 1983 год, Министерство обороны использовало сотни языков программирования, и Ада должна была заменить их все.Сегодня Ада все еще используется для разработки очень больших и важных программных систем.

    Знаете ли вы?

    В отличие от большинства других языков программирования в этом списке, Ada не является аббревиатурой, и он был назван в честь Ады Лавлейс, которая считается первым компьютерным программистом в истории.


    8. SQL

    Год выпуска: 1974
    Разработано: Дональд Д. Чемберлин и Раймонд Ф. Бойс
    [ Разработчик: IBM
    Основные реализации: Amazon Aurora, База данных Библиотека управления, Google Fusion Tables, IBM DB2, IBM Lotus Approach, Microsoft Access, OpenLink Virtuoso, Oracle и многие другие

    Источник фотографий: Wikimedia Commons

    SQL (язык структурированных запросов), был разработан в начале 1970-х годов в IBM Дональдом Д. .Чемберлен и Раймонд Ф. Бойс. SQL был одним из первых коммерческих языков программирования, использовавших реляционную модель Эдгара Ф. Кодда для управления базами данных. Язык программирования был создан для управления и извлечения данных, хранящихся в системе управления базами данных IBM, System R. С тех пор Американский национальный институт стандартов (ANSI) и Международная организация по стандартизации (ISO) считают язык SQL стандартным языком в реляционной базе данных. коммуникация.

    Знаете ли вы?

    Одной из самых популярных систем управления базами данных SQL является MySQL, которая была разработана Oracle в конце 1970-х, после выпуска IBM SQL.


    7. Smalltalk

    Год выпуска: 1972
    Разработано: Алан Кей, Дэн Ингаллс и Адель Голдберг
    [ Разработчик: Алан Кей, Дэн Ингаллс, Адель Голдберг, Тед Дайана Мерри, Скотт Уоллес, Питер Дойч и Xerox PARC
    Основные реализации: Amber, Dolphin Smalltalk, GemStone / S, GNU Smalltalk, Pharo, Smalltalk / X, Squeak, VA Smalltalk, VisualWorks

    Источник фото: Wikimedia Commons

    Smalltalk — это ранний объектно-ориентированный язык программирования, разработанный группой под руководством Алана Кея из Xerox PARC.Частично он был создан для использования в образовательных целях, особенно для конструкционистского обучения (в котором учащиеся конструируют ментальные модели для понимания окружающего мира), в Learning Research Group (LRG) Xerox PARC. Smalltalk не выпускался коммерчески до 1980 года как Smalltalk-80. До этого Smalltalk работал только на компьютерах Xerox Alto. Несмотря на то, что существуют более продвинутые объектно-ориентированные языки программирования, Smalltalk по-прежнему остается одним из самых любимых языков программирования всех времен.

    Знаете ли вы?

    Почти все объектно-ориентированные языки, появившиеся после — Flavors, Java, Ruby, Python, CLOS, Objective-C и многие другие — находились под влиянием Smalltalk.


    6. C

    Год выпуска: 1972
    Разработано: Деннис Ричи
    [ Разработчик: Dennis Ritchie and Bell Labs
    Основные реализации: K&Rang C, GCC C, GCC Intel C, C ++ Builder, Microsoft Visual C ++ и Watcom C

    Источник фотографий: Wikimedia Commons

    C — еще один важный язык программирования, который широко использовался и оказал влияние на несколько более поздних языков программирования.Преемник языка программирования B , C был первоначально разработан в Bell Labs Деннисом Ритчи между 1972 и 1973 годами для новой на то время операционной системы Unix. В течение следующих нескольких лет C использовался во многих проектах в рамках Bell System, а также в других ориентированных на исследования промышленных, академических и государственных организациях. В течение 1980-х годов популярность языка C возросла, и он стал одним из наиболее широко используемых языков программирования.

    Знаете ли вы?

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


    5. Паскаль

    Год выпуска: 1970
    Разработано: Никлаус Вирт
    [ Разработчик: Никлаус Вирт
    Основные реализации: , ICC 6000, Паскальдаро, Embarcadero -P, PDP-11, PDP-10, IBM System / 370, VSI Pascal, Free Pascal, GNU Pascal

    Источник фото: Wikimedia Commons

    Хотя BASIC все еще преподавался во многих колледжах, популярным стал Паскаль, разработанный Никлаусом Виртом. со студентами, интересующимися более серьезными навыками программирования.Вирт создал Паскаль, чтобы поощрять хорошие практики программирования с использованием структурного программирования и структурирования данных. Паскаль часто использовали люди, у которых были мини-компьютеры или микрокомпьютеры. Помимо использования в курсах компьютерного программирования университетского уровня, Паскаль использовался для написания коммерческого программного обеспечения в конце 1970-х и 1980-х годах.

    Знаете ли вы?

    Создатель Никлаус Вирт назвал язык программирования Паскаль в честь известного французского математика, философа и физика Блеза Паскаля.


    4. BASIC

    Год выпуска: 1964
    Разработано: Джон Г. Кемени и Томас Э. Курц
    [ Разработчик: Джон Г. Кемени и Томас Э. Курц
    Основные реализации: Dartmouth BASIC, Tiny BASIC, Applesoft BASIC, Atari BASIC, Sinclair BASIC, Commodore BASIC, BBC BASIC, TI-BASIC, Casio BASIC, Microsoft BASIC, QB64, Liberty BASIC, PowerBASIC и QBASIC Источник фото:

    Commons Commons. Хотя все языки программирования в этом списке изменили мир компьютеров, возможно, ни один из них не был более революционным, чем BASIC (Универсальный код символьных инструкций для начинающих).Впервые выпущенный в 1964 году в Дартмутском колледже Джоном Г. Кемени и Томасом Э. Курцем, BASIC позволил обычным людям, особенно студентам в областях, отличных от естественных наук и математики, программировать и использовать компьютеры.

    BASIC было настолько легко изучить, что в конечном итоге он стал наиболее широко используемым языком компьютерного программирования. В 1980-х годах использование BASIC сократилось, но в последние годы интерес к языку программирования возобновился.

    Знаете ли вы?

    Windows Me, выпущенная в 2000 году, была последней операционной системой Microsoft, поставляемой с QBASIC.


    3. COBOL

    Год выпуска: 1959
    Разработано: Говард Бромберг, Норман Дисконт, Вернон Ривз, Жан Э. Саммет, Уильям Селден и Гертруда Тирни
    [ Разработчик: COD , ANSI и ISO
    Основные реализации: GnuCOBOL, IBM COBOL и Micro Focus Visual COBOL

    Источник фото: Wikimedia Commons

    COBOL, что означает Common Business Oriented Language, был разработан в 1959 году Конференцией по языкам систем данных ( КОДАСИЛ).В то время пользователи и производители компьютеров были обеспокоены ростом стоимости программирования. Было высказано предположение, что если использовать общий бизнес-ориентированный язык, преобразование станет дешевле и быстрее. В результате этих проблем и встречи с Министерством обороны родился COBOL, который с тех пор используется в основном в деловых, финансовых и административных системах для компаний и правительств.

    Знаете ли вы?

    COBOL был частично основан на языке программирования FLOW-MATIC, разработанном Грейс Хоппер


    2.Lisp

    Год выпуска: 1958
    Разработано: Джон Маккарти
    [ Разработчик: Стив Рассел, Тимоти П. Харт и Майк Левин
    Основные реализации: Диалект Lisp широко варьируется в зависимости от диалекта используется (некоторые основные диалекты включают: Racket, Common Lisp, Scheme и Clojure)

    источник фото: Wikimedia Commons

    Выпущенный всего через год после Fortran, Lisp является вторым старейшим языком программирования высокого уровня, все еще широко используемым сегодня.Lisp был разработан Джоном Маккарти, легендарным компьютерным ученым, который считается одним из основателей дисциплины искусственного интеллекта (Маккарти является соавтором документа, в котором был введен термин «искусственный интеллект»).

    Маккарти начал разработку идеи для Лисп летом 1956 года во время работы над Дартмутским летним исследовательским проектом по искусственному интеллекту. Lisp, который происходит от процессора LIS t P , был готов к коммерческому выпуску в 1958 году.За прошедшие годы язык программирования много раз трансформировался, и теперь существует большое количество диалектов Лиспа (разновидность исходного языка программирования).

    Знаете ли вы?

    Самыми известными диалектами Лиспа общего назначения являются Racket, Common Lisp, Scheme и Clojure.


    1. Fortran

    Год выпуска: 1957
    Разработано: John Backus
    [ Разработчик: John Backus и IBM
    Основные реализации: Absoft, Cray, GFortran, GFortran, GFortran, GFortran, GFortran, GFortran, GFortran, GFortran, GFortran, GFortran, GFortran IBM XL Fortran, Intel, Hitachi, Numerical Algorithms Group, Open Watcom, PathScale, PGI, Silverfrost, Oracle Solaris Studio, Visual Fortran

    Источник фото: Wikimedia Commons