Основы программирования и основные языки программирования

Программирование для начинающих

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

Умение писать программы — это такое же умение, как и умение плавать, танце­вать или жонглировать. Некоторым людям действительно удается делать это намного лучше, чем другим, но любой человек сможет достичь определенных результатов при должной практике. Именно по этой причине дети становятся асами программирова­ния в раннем возрасте. Дети не обязательно гениальны; они просто склонны позна­вать новое и не боятся ошибаться.

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

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

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

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

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

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

Любознательность. Здоровая доза любознательности может подогревать ваше стремление к экспериментированию и дальнейшему совершенст­вованию навыков программирования даже после прочтения настоящей книги. Благодаря любопытству изучение программирования окажется для вас менее скучным и более интересным. А если вам интересно, вы обязательно изучите и запомните больше сведений, чем любой абсо­лютно незаинтересованный в этом человек (например, ваш начальник).
Воображение. Создание компьютерных программ — это навык, но во­ображение поможет сделать этот навык более совершенным и направ­ленным. Обладающий изрядной долей воображения начинающий про­граммист всегда будет создавать намного более интересные и полезные программы, чем замечательный программист без воображения. Если вы не знаете, что же делать со своими навыками программирования, ваш талант просто погибнет без воображения.

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

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

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

0010 1010 0001 1101

ООН 1100 1010 1111

0101 ОНО 1101 0101

1101 1111 0010 1001

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

Теперь мне бы хотелось разъяснить вам, что следует отличать язык программирования (Basic, Pascal) от его реализации, которая обычно представлена в составе среды программирования (Quick Basic, Virtual Pascal) — набора средств для редактирования исходных текстов, генерации исполняемого кода, отладки, управления проектами и т.д. Синтаксис и семантика языка программирования фиксируется в стандарте языка. Каждая среда программирования предоставляет свой интерпретатор или компилятор с этого языка, который зачастую допускает использование конструкций, не фиксированных в стандарте.

Рассмотрим основные и популярные языки программирования

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

Кобол — Язык программирования высокого уровня, разработанный в конце 1950-х гг. ассоциацией КАДАСИЛ для решения коммерческих и экономических задач. Отличается развитыми средствами работы с файлами. Поскольку команды программ, написанных на этом языке, активно используют обычную английскую лексику и синтаксис, Кобол рассматривается как один из самых простых языков программирования. В настоящее время используется для решения экономических, информационных и других задач.

Фортран — Язык программирования высокого уровня, разработанный фирмой IBM в 1956 г. для описания алгоритмов решения вычислительных задач. Относится к категории процедурно-ориентированных языков. Наиболее распространенными версиями этого языка являются Фортран IV, Фортран 77 и Фортран 90. Используется на всех классах ЭВМ. Последняя его версия также применяется на ЭВМ с параллельной архитектурой.

Ада — Язык программирования высокого уровня, ориентированный на применение в системах реального времени и предназначенный для автоматизации задач управления процессами и/или устройствами, например, в бортовых (корабельных, авиационных и др.) ЭВМ. Разработан по инициативе министерства обороны США в 1980-х гг. Назван в честь английского математика Ады Августы Байрон (Лавлейс), жившей в 1815-1851 гг.

BASIC (Beginner’s All-purpose Symbolic Instruction Code) Рожденный в 60-е годы в Америке. Бейсик был задуман как простой язык для быстрого освоения. Бейсик стал фактическим стандартом для МикроЭВМ именно благодаря своей простоте как в освоении так и в реализации. Однако для достижения этого качества был принят ряд решений (отсутствие типизации, нумерация строк и неструктурное GOTO, и др.), негативно сказывающихся на стиле изучающих программирование. Кроме того, недостаток выразительных средств привел к появлению огромного количества диалектов языка, не совместимых между собой. Современные, специализированные версии Бейсика (такие как Visual Basic) несмотря на приобретенную «структурность» обладают все теми же недостатками, прежде всего — небрежностью по отношению к типам и описаниям. Пригоден для использования на начальном этапе обучения, как средство автоматизации (в случаях когда он встроен в соответствующие системы) либо как средство для быстрого создания приложений.

Pascal Разработанный известным теоретиком Н.Виртом на основе идей Алгола-68, Паскаль предназначался прежде всего для обучения программированию. Построенный по принципу «необходимо и достаточно», он располагает строгим контролем типов, конструкциями для описания произвольных структур данных, небольшим, но достаточным набором операторов структурного программирования. К сожалению, обратной стороной простоты и строгости является громоздкость описаний конструкций языка. Наиболее известная реализация — Turbo/Borland Pascal — несмотря на отличия от стандарта Паскаля, представляет из себя среду и набор библиотек, сделавшие из учебного языка промышленную систему для разработки программ в среде MS-DOS.

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

Delphi — это не продолжатель дела Borland Pascal / Borland C, его ниша — т.е. быстрое создание приложений (Rapid Application Developing, RAD). Подобные средства позволяют в кратчайшие сроки создать рабочую программу из готовых компонентов, не растрачивая массу усилий на мелочи. Особое место в таких системах занимают возможности работы с базами данных.

Лисп — Алгоритмический язык, разработанный в 1960 г. Дж. Маккарти и предназначенный для манипулирования перечнями элементов данных. Используется преимущественно в университетских лабораториях США для решения задач, связанных с искусственным интеллектом. В Европе для работ по искусственному интеллекту предпочитают использовать Пролог.

Пролог — Язык программирования высокого уровня декларативного, предназначенный для разработки систем и программ искусственного интеллекта. Относится к категории языков пятого поколения. Был разработан в 1971 г. в университете г. Марсель (Франция), относится к числу широко используемых и постоянно развиваемых языков. Последняя его версия Prolog 6.0

ЛОГО — Язык программирования высокого уровня, разработан в Массачусетском технологическом институте в ориентировочно 1970 г. для целей обучения математическим понятиям. Используется также в школах и пользователями ПЭВМ при написании программ для создания чертежей на экране монитора и управления перьевым графопостроителем.

Java Как яркий пример специализации, язык Java появился в ответ на потребность в идеально переносимом языке, программы на котором эффективно исполняются на стороне клиента WWW. В ввиду специфики окружения, Java может быть хорошим выбором для системы, построенной на Internet/Intranet технологии.

Алгол — Язык программирования высокого уровня, ориентированный на описание алгоритмов решения вычислительных задач. Был создан в 1958 г. специалистами западно-европейских стран для научных исследований. Версия этого языка Алгол-60 была принята Международной конференцией в Париже (1960 г.) и широко использовалась на ЭВМ 2-го поколения. Версия Алгол-68, разработанная группой специалистов Международной федерации по обработке информации (ИФИП) в 1968 г., получила статус международного универсального языка программирования, ориентированного на решение не только вычислительных, но и информационных задач. Хотя в настоящее время Алгол практически не используется, он послужил основой или оказал существенное влияние на разработку более современных языков, например, Ада, Паскаль и др.

Самого лучшего языка не существует. Если вы собираетесь стать профессионалом в написании программ, вам необходимо изучить один из языков программирования высокого уровня (наиболее популярен язык программирования C++), а также один из языков программирования баз данных (например, SQL). Изучив язык программиро­вания C++, вы не ошибетесь. Зная этот язык, вы всегда сможете найти работу в любой компании, занимающей­ся программированием.
Несмотря на большую популярность языка программирования C++, часто исполь­зуются и другие языки. На многих устаревших компьютерах до сих пор работают программы, написанные на языке программирования COBOL. Поэтому нужны про­граммисты, которые умеют усовершенствовать данные программы, а также писать но­вые. Очень часто крупные компании выплачивают таким программистам высокую за­работную плату.
Если вы собираетесь работать самостоятельно, предпочтительнее всего научиться создавать собственные программы для баз данных. Для этого вам понадобится изучить такие языки программирования, как SQL или VBA, которые используются в програм­ме Microsoft Access. Для того чтобы создавать Web-страницы, необходимо знать HTML, а также немного знать Java, JavaScript, VBScript и другие языки программиро­вания для Internet. Самым нужным будет тот язык программирования, который по­зволит решить поставленные перед вами задачи легко и быстро. Это может быть язык программирования C++, BASIC, Java, SQL или язык ассемблера.

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

Желаю удачи в освоение программирования!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Комментарии: 26
  1. Gek-Lamer

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

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

    AMPL — полный и мощный язык алгебраического моделирования. Позволяет решать задачи линейной и нелинейной оптимизации с дискретными или непрерывными переменными.

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

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

    DYLAN — язык общего назначения, пригодный как для прикладного, так и для системного программировани я, разработанный, прежде всего, усилиями Apple.

    EIFFEL — объектно-ориентированный язык программировани я с алголоподобным синтаксисом, разработанный Бертраном Мейером. В этом языке впервые был реализован метод контрактного программировани я.

    FORTH — язык среднего уровня и интерактивная среда разработки, в котором программы записываются в постфиксной записи и в стековой нотации.

    HASKELL — стандартизованн ый чистый функциональный язык программировани я общего назначения. Является одним из самых распространённы х языков программировани я с поддержкой отложенных вычислений.

    ML (meta-language) — семейство языков, как правило, функциональных, характеризуемых четкой семантикой, полиморфной системой типов и параметризованн ыми модулями. Включает Standard ML, Lazy ML, CAML, CAML Light и многие экспериментальн ые языки. Особенную популярность ML-языки завоевали в сфере науки. В некоторых университетах их даже преподают в качестве первого языка программировани я.

    MODULA-2 — язык программировани я общего назначения, разработанный Никлаусом Виртом в 1978 году

    MODULA-3 — (Modula-3, M3) — это системный язык программировани я, который является продолжением языка Модула-2. Разработан в исследовательск ом центре System Research Center (SRC) корпорации Digital Equipment Corporation (DEC), совместно с Olivetti.

    NETREXX — новый язык общего назначения. Призван служить альтернативой языку JAVA. К числу основных достоинств относятся простота синтаксиса Rexx в сочетании с надежностью и переносимостью JAVA. В результате язык подходит как для написания скриптов, так и для разработки приложений.

    OBERON, OBERON-2 — языки, продолжающие традицию PASCAL и MODULA. OBERON-2 включает в себя автоматическую сборку мусора и объектно-ориентированное программировани е.
    OCCAM — Язык программировани я — процедурный язык параллельного программировани я высокого уровня, разработанный в начале 1980-х годов группой учёных из Оксфорда под руководством Дэвида Мэя

    PL/1 — язык общего назначения, Programming Language/One – язык программировани я/первый.

    POSTSCRIPT — язык, оптимизированны й для вывода текста и графики. Изображение может выводиться на произвольное устройство, будь то принтер или дисплей. Сейчас POSTSCRIPT часто называют «языком описания страниц». Разработан фирмой Adobe в 1985 году.

    REBOL — контекстно-зависимый объектный язык программировани я, созданный специально для распределенных вычислений в Web. Аббревиатура REBOL: Relative Expression Based Object Language.

    REXX — интерпретируемы й язык программировани я, изначально предназначенный для создания макросов и использования в качестве скриптового языка. Он был разработан в IBM для проприетарных операционных систем (z/VM, z/OS, z/VSE, OS/2, AIX).

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

    SIMULA — первый в мире объектно-ориентированный язык программировани я, он разработанный в 1967 году. Широко применяется практически для всех видов обработки данных. Стандартизирова н в 1986 году. Язык SIMULA реализован почти на всех моделях компьютеров: от больших машин до персональных.

    SMALLTALK — объектно-ориентированный язык программировани я с динамической типизацией, разработанный в Xerox

  2. Gawrilowalex

    Полезно =)

  3. игорь

    надо обезательно выучить

  4. Олжас

    Уже выучил!!!

  5. Виталик

    Вот ето супер уважуха, уже виучил спс

  6. андрей

    а какой лучше учить?

  7. Антон

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

  8. FasT

    Цитирую Антон:Посоветуйте, какой языку лучше, если не собираешься быть програмистом, но надо писать небольшие програмки для работы ( точнее для ее упрощения) я работаю в финансах
    VBA (Visual Basic for Applications) если хорошо его знать то можно почти все автоматизироват ь

  9. Антон

    Цитирую FasT:VBA (Visual Basic for Applications) если хорошо его знать то можно почти все автоматизироват ь

    VBA, я уже знаю, но на одних макрасах все равно иной раз не протянешь((((

  10. pilot

    какой язык учить чайникам,посове туйте

  11. Админ (автор)

    Цитирую pilot:какой язык учить чайникам,посове туйте
    Почитай вот эту статью про то как выбрать язык программирования

  12. Николай

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

  13. Антон

    А какой лучше для создания не больших игрушек?И где писать надо

  14. Иван

    всем привет ! посоветуйте с чего бы начать очень хочу научиться !

  15. Артур

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

  16. Даулет

    Какой язык выбрать чтобы НАЧАТЬ программировани е? Какие языки похоже на С? После этого БУДУ учиться на С.

  17. vratari135

    Для программиста по сути не должно быть разницы,на каком языке писать,это дело 2-3 недель(а то и меньше).Лучший язык для обучения-Pascal.
    Вот тут подробный ответ на этот вопрос: http://www.institutps.ru/goprog/2013/01/yazyk-dlya-izucheniya-programmirovaniya/

  18. Ярослав

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

  19. Админ (автор)

    Ярослав:
    Цитата:чтобы верстать шаблоны с любых сайтов
    HTML и CSS

  20. Ярослав

    Цитирую Softvt:Ярослав:
    Цитата:чтобы верстать шаблоны с любых сайтов
    HTML и CSS
    Большое спасибо за ответ

  21. ТЧК

    Какой лучше всего язык может подойти для человека который нечего не понимает в програмировании , который хочет создать маленькую игру где деруться и который еще не закончил(а) школу?

  22. юра

    СПАСИБО это один из самых классных и понятных сайтов в интернете
    без рекламы и без наё.а

  23. SoftGames1000

    А Lisp сложно изучать по сравнению с Java

  24. Кирилл Егоров

    Цитирую Николай:Уж 20 лет пытаюсь какой-нибудь язык освоить. Бесполезно. Я виню в этом авторов учебников. Все самоучители написаны каким-то вывернутым языком. Учебники надо писать так, чтобы дураку понятно стало, а их пишут так, как буд-то его будет читать программист со стажем.
    посмотри в интернете «HTML редакторы», «HTML шаблоны» и т.д. Также посмотри про Visual Basic (.vbs если мало будет), Java Script (.js). Все эти языки некомпилируются и легко изучаются! Вот мне только 11 лет и я знаю почти полностью HTML, чу-чуть яваскрипт с визулбэзиком. А если книжек не найдётся то поищи {какой тебе язык захотелось} вирусы . Я на них и учусь.
    К сати, PHP для меня полная

  25. Антон

    Цитирую Николай:Уж 20 лет пытаюсь какой-нибудь язык освоить. Бесполезно. Я виню в этом авторов учебников. Все самоучители написаны каким-то вывернутым языком. Учебники надо писать так, чтобы дураку понятно стало, а их пишут так, как буд-то его будет читать программист со стажем.
    Кип Р. Ирвин язык АССЕМБЛЕРА, если работать в Windows, то изучи shell-scrip для создания .bat файлов)))

  26. Шел мимо

    «Изучив язык программиро­ван ия C++, вы не ошибетесь.

    Зная этот язык, вы всегда сможете найти работу в любой компании, занимающей­ся программировани ем.»

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

Добавить комментарий для андрей Отменить ответ

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.