С каким формальным языком программирования вы знакомы для чего он нужен?

9 ответов на вопрос “С каким формальным языком программирования вы знакомы для чего он нужен?”

  1. LaNgAr_Track Ответить

    В IT-вселенной существует множество языков программирования. С каждым годом их становится всё больше и больше. Например, сравнительно недавно появились языки Scala, Kotlin, Go и Closure. Но история говорит нам о том, что выживут лишь немногие из них.
    Языки, о которых пойдёт здесь речь, внесли огромный вклад в мир разработки программного обеспечения. Именно поэтому они и попали в десятку самых влиятельных языков последних пятидесяти лет.

    Языки — это важнейшая составляющая индустрии программирования. Их часто обсуждают, критикуют, их, с течением времени, улучшают. Они у всех на слуху, но их историю, хотя бы то, как зовут их создателей, знают далеко не все. Такое менее характерно для популярных языков. Например, все знают о том, что Джеймс Гослинг — это отец Java. Но далеко не каждый программист знает о том, кто создал Perl, Pascal, Lisp или Erlang.
    Автор статьи, перевод которой мы сегодня публикуем, говорит, что к её написанию его подтолкнула вышеописанная ситуация. Здесь речь пойдёт о самых популярных и успешных языках программирования и об их создателях.

    Топ-10 языков программирования и их создатели

    Представляю вашему вниманию рассказ о десяти языках программирования и об их создателях. Языки здесь расположены в произвольном порядке за исключением первого в списке — языка Java. Я — Java-разработчик, поэтому решил поступить именно так.
    Знаю о том, что многие C-программисты со мной не согласятся и посчитают, что первым в списке должен быть язык C. Их можно понять, ведь C — это самый старый из языков, которые всё ещё широко используются. Но эта статья не является неким рейтингом языков. Это — материал, который призван напомнить всем его читателям о мастерах компьютерного искусства, которые изменили мир языков программирования и разработки программного обеспечения.

    1. Java — Джеймс Гослинг


    Джеймс Гослинг
    Java — это один из самых популярных и успешных языков программирования. Java создал доктор Джеймс Артур Гослинг. Он известен как «отец Java».
    Изначально разработкой и поддержкой Java занималась компания Sun Microsystems. С января 2010 года, после того, как компанию Sun купила Oracle, этим занимается Oracle.
    В основу Java положен принцип WORA («Write Once Run Anywhere», «Написано один раз, работает везде»). Платформонезависимость Java стала одной из фундаментальных причин успеха этого языка в корпоративной среде.
    В настоящее время Java — это один из самых популярных языков. Если вы хотите изучить Java — взгляните на этот учебный курс.

    2. C — Деннис Ритчи


    Деннис Ритчи
    Деннис Макалистэйр Ритчи, американский компьютерный специалист, занимался созданием языка программирования C в 1967 — 1973 годах в AT&T Bell Labs.
    Язык C всё ещё весьма популярен. Он широко используется в системном программировании. Он старше Java, но не сдаёт своих позиций.
    Деннис Ритчи, кстати, создал ещё и всемирно известную операционную систему Unix. Сделал он это вместе со своим давним коллегой Кеном Томпсоном.
    Если сравнить популярность Денниса Ритчи с популярностью Билла Гейтса или Стива Джобса, то окажется, что сравнивать тут почти нечего. Но мало кто может сравниться с ним в том, какой вклад он сделал в мир информационных технологий. Об этом стоит знать каждому программисту. Если вы хотите изучить C — взгляните на эту специализацию на Coursera.

    3. С++ — Бьёрн Страуструп


    Бьёрн Страуструп
    Бьёрн Страуструп родился 30 Декабря 1950 года в городе Орхус, в Дании. Он известен благодаря созданию и разработке широко используемого языка программирования C++.
    C++, как можно судить по названию языка, представляет собой язык нового поколения, следующего за языком C. C++ отличается поддержкой возможностей по объектно-ориентированному программированию. Это во времена появления C++ выглядело, в сравнении с C, невероятно интересно.
    C++ всё ещё остаётся одним из самых популярных языков. Он, например, широко используется при разработке систем высокочастотного трейдинга из-за того, что код, написанный на C++, довольно-таки близок к системным возможностям компьютеров, и из-за того, что этот язык поддерживает популярные в наше время объектно-ориентированные возможности.
    Если вы хотите изучить С++ с нуля — рекомендую взглянуть на этот учебный курс. В нём хорошо сочетаются теория и практика.

    4. Python — Гвидо ван Россум


    Гвидо ван Россум
    Язык Python разработал Гвидо ван Россум из Центра математики и информатики (CWI). Python — это высокоуровневый язык общего назначения. При его проектировании особое внимание уделялось хорошей читабельности кода. Его синтаксис считается чистым и выразительным.
    В США Python почти заменил Java в научной среде. В частности, это выражается в том, что современные студенты начинают осваивать программирование с изучения Python, а не C или Java, как это было раньше.
    Python широко используется в разных сферах, в частности, в веб-разработке и в области информационной безопасности. Этот язык применяется в таких компаниях, как Google, Yahoo и Spotify. Вот хороший учебный курс по Python.

    5. JavaScript — Брендан Эйх


    Брендан Эйх
    Если бы вы спросили меня о том, какой язык программирования можно назвать самым популярным в последние 5-10 лет, то я сказал бы, что это JavaScript. Он, совершенно определённо, господствует в мире клиентской веб-разработки, не в последнюю очередь — за счёт существующих JavaScript-библиотек. Кроме того, он пользуется серьёзной популярностью и в серверной среде — благодаря платформе Node.js.
    JavaScript — это скриптовый язык, в котором используются механизмы прототипного наследования. Это — динамический язык со слабой типизацией, который поддерживает работу с функциями высшего порядка. JavaScript создал Брендан Эйх, работавший во время разработки этого языка в Netscape Communications Corporation.
    JavaScript-код может выполняться в браузерах, на JavaScript пишут всё то, что приводит в движение современные веб-интерфейсы. JavaScript используется на практически каждом серьёзном сайте.
    Если вы хотите изучить JavaScript — к вашим услугам огромное количество материалов.

    6. PHP — Расмус Лердорф


    Расмус Лердорф
    Язык PHP (изначально он назывался Personal Home Page Tools, что переводится как «Инструменты для создания персональных веб-страниц») создал в 1995 году Расмус Лердорф. Вне зависимости от того, насколько сильно вы этот язык ненавидите, вам никуда не деться от того факта, что он довольно-таки популярен при разработке серверных частей современных веб-проектов.
    В настоящее время эталонная реализация PHP разрабатывается силами The PHP Group. PHP соперничал с технологиями Microsoft Active Server Pages (ASP) и Java Server Pages (JSP) и в итоге стал гораздо более востребованным, чем они. Это — опенсорсный язык, который используется такими интернет-гигантами, как Facebook, Wikipedia, WordPress и Joomla.
    Если вы хотите изучить PHP — загляните сюда.

    7. Perl — Ларри Уолл


    Ларри Уолл
    Perl — это высокоуровневый, динамический, интерпретируемый язык программирования общего назначения. Его создал Ларри Уолл в середине 1980-х. Своей популярностью Perl обязан замечательными возможностями по обработке текстов.
    Perl всё ещё является основным языком, используемым для разработки скриптов в UNIX-системах. Perl используется в сфере компьютерной графики, в приложениях для работы с базами данных, в сфере сетевого программирования. Среди компаний, которые используют этот язык, можно отметить IMDB, Amazon и Priceline. Вот хороший учебный курс по Perl.

    8. Ruby — Юкихиро Мацумото


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

    9. Lisp — Джон Маккарти


    Джон Маккарти
    Язык Lisp (LISt Processing language, язык обработки списков) был разработан Джоном Маккарти. Это — один из старейших высокоуровневых языков, которые используются по сей день.
    Я никогда не изучал Lisp, но говорят, что этот язык является прародителем таких языков функционального программирования, как Haskell, Erlang и Scala. Этот язык используется в самых разных сферах. В частности — в военной. По Lisp существует не так уж и много учебных курсов. Вот — один из них.

    10. Pascal — Никлаус Вирт


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

    Итоги

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

  2. Alukone Ответить

    Привет пикабушникам!
    В честь нового года решил сделать обзорную статью по программированию и языках программирования. Профессиональным программистам просьба не пинать т.к. пишется в стиле «не для специалистов».
    Если будет непонятно – не расстраивайтесь. Очень многие профессиональные программисты так же ничего в этом не понимают (что не мешает им эффективно работать).
    Итак, КО мог бы сказать, что язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Для того чтобы понять что такое язык программирования нужно понять, что такое… Инструкция.
    Многие сталкивались в жизни с различными инструкциями и руководствами, так вот для понимания сути вопроса – программа, это инструкция или руководство для вычислительной машины (в частности компьютера).
    Рассмотрим простую инструкцию – она написана на каком-либо языке, содержит разделы, приложения и имеет определенную структуру и стиль.
    Структура и стиль инструкции в программировании называется парадигмой.
    Разделы инструкции в программировании называют функциями.
    Язык инструкции – язык программирования.
    Основные парадигмы программирования:
    Класс декларативного программирования – это класс парадигм которые вместо алгоритма описывают результат который требуется получить. Представители класса:
    Чисто декларативное программирование, кстати, не всеми программистами считается программированием. Это такие языки как SQL, HTML. Кто видел код тот поймет почему программисты так считают. «Код» не обладает всеми возможностями языка программирования и является простым описанием требуемого результата.
    Логическое программирование – программирование на основе фактов и моделей связи между фактами. Единственный вменяемый представитель: Prolog
    Функциональное программирование – для использования программирования используется стиль математических операций. Если не знакомы с дискретной математикой, то ничего не понятно от слова совсем. Представители этой парадигмы: LISP, Erlang, Scala, Miranda, Haskell.
    Пример программы (Hello World) на LISP:
    (format t “Hello, world!~%”)
    Пример чуть сложнее:
    (defun fibonacci (n)
    (loop repeat n
    for a = 0 then b
    and for b = 1 then (+ a b)
    finally (return b)))
    Класс императивного программирования – программирование которое заключается в написании однозначной инструкции для компьютера на выполнение порядка действий. В этот класс входят:
    Процедурное программирование – классическое программирование, т.е. инструкция для вычислительной машины в чистом виде. Языков великое множество, наиболее известные С и С++.
    Пример программы (С++):
    #include
    int main()
    {
    std::cout < < "Hello, world!\n"; return 0; } Стековое программирование – программирование на основе принципа стека. На русском звучит так: «Последний пришел-первый вышел», в результате родилась шутка:
    Тайна речи магистра Йоды открыта:
    Старым программистом на Форте он был…
    Пример программы на Форте:
    \ Напечатать знак числа
    : .SIGN ( n — )
    ?DUP 0= IF
    .” НОЛЬ”
    ELSE
    0> IF
    .” ПОЛОЖИТЕЛЬНОЕ ЧИСЛО” ELSE
    .” ОТРИЦАТЕЛЬНОЕ ЧИСЛО” THEN
    THEN
    ;
    Объектно-ориентированное программирование (ООП) – как следует из названия программирование на основе объектов которые являются экземплярами классов. Является важной опцией языков программирвоания.
    В ООП производятся операции со свойствами экземпляров классов путем выполнения методов. Методы – набор инструкций по изменению классов.
    Основной концепцией ООП является система ООП на классах:
    Чтобы понятно перевести это на русский давайте посмотрим на домашних животных. Возьмем кота Ваську и собаку Жучку.
    У всех животных есть общие черты, значит корневой класс будет «животные», кошка и собака относятся к млекопитающим, подкласс «млекопитающие», Васька – кот, а Жучка – собака, но они не являются «родственниками». Поэтому у нас будут 2 подкласса «Собаки» и «Коты». Итоговая структура классов:
    Класс Животные
    Свойство: живет
    Метод: размножается
    Метод: питается
    Метод: умирает
    Класс Млекопитающие, наследует класс Животные
    Свойство: кормит молоком детенышей
    Класс Собака, наследует класс Млекопитающие
    Свойство: лает
    Класс Кот, наследует класс Млекопитающие
    Свойство: мурчит
    И теперь пример
    Васька – экземпляр класса Кот
    Жучка – экземпляр класса Собака
    Жучка и Васька могут иметь свойства: живет (от Животных), кормить молоком (от Млекопитающих), а так же могут: питаться, размножатся, умирать.
    Но Жучка может лаять и не может мурчать, а Васька может мурчать, но не может лаять поскольку их «фирменные» классы не содержат соответствующих свойств.
    Помимо классов есть программирование основанное на прототипах. В этом случае отсутствует описание класса, оно выводится в момент написания программы. Язык программирования для примера: JavaScript.
    Является парадигмой программирования, но не является определяющим для языка программирования:
    Структурное программирование – оформление программы так чтобы она легко читалась и понималась другими программистами. То есть это простой и понятный стиль написание программы. Язык, который частично заставляет это делать, Python.
    «Чистых» языков программирования (которые бы использовали только одну парадигму) не существует, каждый язык отражает в себе одну или несколько парадигм.
    Если тема будет интересна то напишу обзоры для Perl, Python, C++, JavaScript, Prolog, SQL, HTML+CSS.
    Всех с наступающим праздником! Счастья, здоровья, удачи!

  3. SlavaPlay Ответить

    C

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

    С++

    Тот случай, когда название раскрывает всю суть: С++ действительно является «улучшенным вариантом» языка С. Вот только модернизация сделала его более сложным для понимания, изучения и применения. Но даже несмотря на это он уже много лет не перестает быть востребованным.

    С++ – это билет для разработчика в мир всех шустрых программ: игры, антивирусное ПО, поисковики. И это далеко не полный перечень того, что создается посредством «Си плюс плюс».
    Как правило к знакомству с этим языком приступают только поработав с С или любой другой более легкой средой. Новичкам однозначно не нужно выбирать С++, тем более если вам не приходится работать со сложными математическими алгоритмами. Однако если в мечтах вы видите себя разработчиком таких потрясающих игр как легендарные WarCraft и Doom, а не простых мобильных тетрисов, тогда подружиться с С++ все-таки придется. Но начать настоятельно рекомендуем с чего-то более доступного.
    Большой курс по этому языку можете посмотреть на нашем сайте:

    C#

    Детище корпорации Microsoft и еще одно поколение языка С. От С++ Си-шарп отличается относительной простотой, так что курсы по его изучению подойдут и начинающим разработчикам. На С# сейчас пишутся веб-приложения, продукты для ОС Windows и даже для смартфонов с Windows Phone (наверное, надеясь, что Microsoft решит не забрасывать свою мобильную ОС окончательно).

    В нашей стране вакансий для айтишников-новичков C# сегодня хватает. Обладая хорошей базой знаний можно найти более-менее несложную работу в престижных компаниях. Так что если вы в поиске стабильной и неплохо оплачиваемой деятельности, путь «шарписта» – вполне подходящий вариант.
    Большой курс по этому языку можете посмотреть на нашем сайте:

    Swift

    Swift – это новый язык от Apple, призванный заменить неудобный и получающий большое количество упреков от программистов Objective-C. Пока нельзя утверждать, что Swift полностью оправдал возложенные на него ожидания.
    Однако популярность языка постоянно растет, вместе с тем Objective-C так же уверенно теряет свою востребованность. Поэтому, если вы планируете заниматься программированием под яблочные устройства, можете не тратить время и усилия на устаревающий Objective C, а сразу приступайте к изучению Swift.

    PHP

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

    Перспективы карьерного роста у специалистов со знанием PHP достаточно неплохи: как минимум, огромное количество написанных в данной среде проектов нуждаются в поддержке и/или доработке. Однако уровень зарплаты даже у опытных и высококомпетентных PHP-разработчиков заставляет желать лучшего: их коллеги, работающие с Java или C++ за тот же объем обычно получают большую прибыль.
    Большой курс по этому языку можете посмотреть на нашем сайте:

    Java

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

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

    JavaScript

    Свое название JS получил на волне актуальности Java, и поэтому их часто путают. К тому же теперь JavaScript вынужден бороться за статус равноправного ЯП. Стоит отметить, у него это очень хорошо получается, ведь именно он стал самым популярным среди разработчиков всего мира.
    Востребованностью JS обязан прежде всего развитию Web. На нем пишется пользовательский интерфейс всех интерактивных веб-приложений, благодаря которым браузер превратился в полезный и удобный рабочий инструмент, став в один ряд с пакетом Microsoft Office и сотнями других стандартных приложений для ОС Windows. Кроме того JavaScript нашел свое место в серверном программировании.

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

    Python

    «Питон» универсален и сравнительно прост для изучения. Он надежно осел в весьма перспективной сфере data mining или по-русски интеллектуальном анализе данных. Суть этой деятельности заключается в использовании бизнес-информации для поиска неявных закономерностей спроса с последующим изучением возможных направлений развития дела.
    Также Python применяют создатели веб-сервисов, разработчики серверной архитектуры многопользовательских онлайн игр и прочие. Потребность в профессионалах, знающих Python, увеличивается, поэтому вы точно не прогадаете, приступив к его изучению.
    Большой курс по этому языку можете посмотреть на нашем сайте:

    R

    Среда R создавалась специально для анализа данных, что объясняет высокий уровень ее распространенности в данной сфере. Зарплата у тех, кто пишет на узком языке R, выше, чем у Python-программистов, но и найти вакансию им сложнее. Одним словом, знание R не помешает, если ваша профессия связана с data mining. А вот пытаться сделать первый шаг в мир разработки ПО с такого рода языком все-таки не стоит.

    Ruby

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

    1C

    Специалисты со знанием бухгалтерского ЯП для всем известной 1С нужны везде: не только IT компаниям, но и крупным организациям других сфер деятельности. Поэтому изучение 1С – это прекрасный способ стать айтишником без высокого уровня владения английским языком.

  4. EJULYNY Ответить

    Язы?к программи?рованияформальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
    Так сказано в Википедии, и большинство остальных ресурсов либо полностью употребляет это определение, либо вольно излагает его без потери смысла. Рассмотрим поподробнее составные части определения ЯП:
    Формальный язык — это множество конечных слов (строк, цепочек) над конечным алфавитом.
    Знаковая система — это система однообразно интерпретируемых и трактуемых сообщений/сигналов, которыми можно обмениваться в процессе общения. Иногда знаковые системы помогают структурировать процесс общения с целью придания ему некой адекватности в плане реакций его участников на те или иные «знаки». В качестве примера знаковой системы обычно приводят язык (как в письменной форме так и, в случае естественных языков, в форме речи).
    Компью?терная програ?мма — последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины.
    Ле?ксика — совокупность слов того или иного языка, части языка или слов, которые знает тот или иной человек или группа людей.
    Синтаксис — сторона языка программирования, которая описывает структуру программ как наборов символов (обычно говорят — безотносительно к содержанию). Синтаксису языка противопоставляется его семантика. Синтаксис языка описывает «чистый» язык, в то же время семантика приписывает значения (действия) различным синтаксическим конструкциям.
    Сема?нтика в программировании — дисциплина, изучающая формализации значений конструкций языков программирования посредством построения их формальных математических моделей. В качестве инструментов построения таких моделей могут использоваться различные средства, например, математическая логика, ?-исчисление, теория множеств, теория категорий, теория моделей, универсальная алгебра. Формализация семантики языка программирования может использоваться как для описания языка, определения свойств языка, так и для целей формальной верификации программ на этом языке программирования.
    Язы?к — знаковая система, соотносящая понятийное содержание и типовое звучание (написание).
    Более простым языком это может быть изложено так:
    Язык программирования — множество заранее определенных, однообразных и понятных исполнителю (читай: интерпретатору/компилятору/компьютеру/программисту) инструкций, предназначенных для записи последовательно с целью их исполнения неким устройством, являющимся частью вычислительной машины. Также язык программирования должен обладать рядом особенностей: инструкций должно быть ограниченное число, и все их должны знать; инструкции должны выстраиваться определенным образом для получения определенных результатов, и все должны об этом знать; должны существовать правила написания инструкций и все должны их знать; каждая конструкция языка должна однозначно соотносить то что написано с тем, что требовалось обозначить.
    Вот так громоздко и некрасиво получилось, зато без сложных слов. Мы вернемся к этому определению чуть позже.

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


    Часто употребляют также разделение на низкоуровневые и высокоуровневые языки. Эти виды отличаются «толщиной прослойки» между процессором и программистом. Говоря простыми словами — в низкоуровневых языках каждая инструкция представляет собой одну или небольшое число процессорных команд, а в высокоуровневом языке каждая инструкция это большой набор процессорных команд.
    Рассмотрим поближе определения разных типов по версии Википедии:
    Аспе?ктно-ориенти?рованное программи?рование (АОП) — парадигма программирования, основанная на идее разделения функциональности для улучшения разбиения программы на модули.
    Структу?рное программи?рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
    Процедурное программирование — программирование на императивном языке, при котором последовательно выполняемые операторы можно собрать в подпрограммы, то есть более крупные целостные единицы кода, с помощью механизмов самого языка[1].
    Логи?ческое программи?рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
    Объе?ктно-ориенти?рованное программи?рование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.
    Функциона?льное программи?рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании).
    Мультипарадигма?льный язы?к программи?рования — как правило, язык программирования, который был разработан специально как инструмент мультипарадигмального программирования, то есть изобразительные возможности которого изначально предполагалось унаследовать от нескольких, чаще всего неродственных языков.
    Эзотерический язык программирования — язык программирования, разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи (так называемое «доказательство концепции», англ. proof of concept), в качестве произведения программного искусства[en], или в качестве шутки (компьютерного юмора).

    Императивный и декларативный подход


    Все языки программирования делятся на две группы: декларативные и императивные.
    Программа на императивном языке программирования с математической точки зрения представляет собой общее решение поставленной задачи, иными словами, ответ на вопрос «как делать?». Это последовательность команд, которые должен выполнить исполнитель.
    Программа на декларативном языке программирования является сочетанием формализованной в рамках языка программирования задачей и всех необходимых для её решения теорем, проще говоря, ответ на вопрос «что делать?». Конкретную последовательность выполняемых действий выполняет компилятор, или чаще интерпретатор – программа, в реальном времени выполняющая код программы без его преобразования в машинный код.

    Полнота по Тьюрингу

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

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

    Ответим на несколько вопросов:

  5. Barg Ответить


    Разработчики программного обеспечения пользуются огромным спросом в настоящее время. В некоторых компаниях даже стажеры-программисты получают высокую зарплату. ИТ-компании борются друг с другом за талантливые кадры.
    А кадры, в свою очередь борются за место под солнцем. Успех тех и других будет зависеть от того, насколько хорошо у них получается держать руку на пульсе, быть в тренде, использовать перспективные технологии и языки программирования. Чтобы понять, на что ориентироваться и в каком направлении идти, разработчики ПО и их работодатели изучают различные исследования и рейтинги популярности – будь то бизнес-модели или те же технологии и языки программирования.
    Однако некоторые игроки ИТ-рынка оказались предприимчивыми и создали проекты, посвященные ранжированию и трендам. К примеру, на этой неделе GitHub опубликовал собственный рейтинг 15 самых популярных языков программирования. Конечно же, популярность определялась по количеству pull-запросов на GitHub за последний год.
    В настоящее время в GitHub представлены 5.8 миллиона активных пользователей, 331 тысяча организаций и 19.4 миллиона репозиториев.

    No. 15 — TypeScript:

    Язык своим появлением обязан компании Microsoft. Он создан как средство разработки веб-приложений, расширяющее возможности JavaScript. Основным разработчиком языка TypeScript является Андерс Хейлсберг который ранее участвовал в создании Turbo Pascal, Delphi и C#. В ближайшее время выйдет релиз TypeScript 2.0.

    No. 14 — Swift:

    Язык собственного приготовления – от компании Apple. Он был создан для iPhone-приложений в 2014 году. Однако Swift за столь короткий срок сумел завоевать популярность.
    Такси-сервис Lyft переписал свое iPhone-приложение на этом языке и сообщил об «огромном скачке» в производительности.
    А совсем недавно вышло новое приложение Swift Playgrounds – самый простой способ познакомиться с языком Swift. По крайней мере, в этом уверен Крейг Федериги, старший вице-президент компании Apple по программному обеспечению.

    No. 13 — Scala:

    Этот язык программирования вышел в свет в 2001 году. Его подхватили такие крупные компании, как Airbnb и Apple. По их мнению, на нем проще и быстрее писать приложения для их нужд, нежели на набившем оскомину языке Java.
    Изначально Scala, поддерживающий объектно-ориентированную и функциональную парадигмы, был создан с расчетом на трансляцию в байт-код Java и .NET. Со временем также появился транслятор Scala в код JavaScript — Scala.js. Однако в мае 2016 года стало известно, что в рамках проекта Scala Native создается компилятор, обещающий ускорить выполнение приложений, написанных на этом языке.

    No. 12 — Objective-C:

    Изначальный С так понравился людям, что у него появились последователи. В частности, некоторые из них вдохновились на создание Objective-C, который предстал перед публикой в 1983 году. Конечно, в него были добавлены новые идеи и элементы языка Smalltalk, но буква С не зря венчает его название.
    Особенно распространился Objective-C среди разработчиков под платформы Apple. Пока он удерживает эти позиции, но Swift грозится потеснить потомка С в скором времени.

    No. 11 — Shell:

    Это гадкий утенок среди прочих участников списка: Shell – не столько язык, сколько интерпретатор команд для выполнения тех или действий в операционных системах семейства UNIX. Его скрипты используются, например, для автоматизации обновления ПО. Он содержит стандартные конструкции для циклов, ветвления, объявления функций и так далее.

    No. 10 — Go:

    Был разработан внутри компании Google. Первоначальная разработка Go началась в сентябре 2007 года, а его непосредственным проектированием занимались Роберт Гризмер, Роб Пайк и Кен Томпсон. Официально язык был представлен в ноябре 2009 года.
    Язык Go разрабатывался как язык системного программирования для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. Он может рассматриваться как попытка создать замену языку Си.
    При разработке уделялось особое внимание обеспечению высокоэффективной компиляции. Программы на Go компилируются в объектный код (хотя доступен и интерпретатор) и не требуют для исполнения виртуальной машины.

    No. 9 — C:

    Это язык, которому теперь пытаются найти замену. Язык Си был разработан Деннисом Ритчи в 1972 году в Bell Labs. Он является предшественником таких языков программирования как С++, Java, C#, JavaScript и Perl. По этой причине изучение этого языка ведет к понимаю и других языков. Язык С используется для разработки низкоуровневых приложений, так как считается ближе всего к аппаратному, уступая только ассемблеру.

    No. 8 — C#:

    С# принадлежит семье языков программирования Microsoft и был разработан в 2000 году и стал частью первого релиза .NET framework. Язык С# сочетает в себе надежность С++ с дополнительными возможностями Java. Поэтому если вы хорошо знаете Java, можно легко переключиться на С# и наоборот.
    Язык С# позволяет разрабатывать практически любые приложения, которые связаны с Visual Studio IDE.

    No. 7 — CSS:

    Cascading Style Sheets (каскадные таблицы стилей) — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
    Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам.

    Указан рост популярности языка в процентах. Его место в рейтинге определяется числом pull-запросов пользователей. Рейтинг отражает популярность применения языков программирования в репозиториях.

    No. 6 — C++:

    Языку Си не хватало работы с объектами. Чтобы решить проблему, в 1986 году был разработан С++, который является одним из самых распространенных языков в мире. Google Chrome, Mozilla Firefox, Winamp и линейка продуктов Adobe были разработаны с помощью С++. Кроме того, некоторые современные игры и операционные системы были разработаны на С++ из-за быстрого процессинга и компиляции. Кроме того, разработчики С++ имеют огромный спрос на рынке труда.

    No. 5 — PHP:

    PHP — это один из наиболее широко используемых языков для разработки динамических веб сайтов. PHP был разработан в 1995 году и является языком сценариев на стороне сервера, что означает, что PHP код обрабатывается на сервера, а конечный результат пользователь получает в виде обычного HTML.
    PHP открытый язык разработки, поэтому написаны уже тысячи модулей, которые можно модифицировать до требуемой функциональности.
    Однако недоброжелатели не дремлют: Джефф Этвуд. основатель Stack Exchange, как-то писал, что PHP – это даже не язык программирования, это куча не связанных друг с другом фрагментов функциональности.

    No. 4 — Ruby:

    Ruby — простой и читаемый язык программирования, ориентированный на разработку веб приложений. Разработанный Юкихиро Мацумто в 1995 году, фреймворк Ruby использовался для разработки Github, Scribd, Yammer, Shopify и Groupon. Ruby сочетает в себе некоторые возможности Lisp, Pearl и Eiffel. Ruby имеет хороший рынок труда и разработчики получают достойно.

    No. 3 — Python:

    Python — это другой высокоуровневый язык программирования и часто считается самым легким языком, благодаря своей простоте, читаемости и синтаксису. Python был разработан Гвидо Ван Россумом в 1991 году. Python не использовался так широко в прошлом, однако стал особенно популярным за последние годы благодаря инвестициям Google. В настоящее время некоторые весьма известные и надежные сайты работают на python, особенно pinterest.com, instagram.com и rdio.com. Как и PHP, Python можно использовать для разработки веб приложений.

    No. 2 — Java:

    Java был разработан Джеймсом Гослингом в 1990 году в компании Sun Microsystems. Java дополнительно увеличивает возможности языка С++. Особенность Java заключается в том, что это первый чисто объектно-ориентированный язык программирования. Java был разработан по принципу WORA (Write Once Run Anywhere или «написав код однажды, вы запустите его везде»). Речь идет про переносимость Java. Необходимо скомпилировать исходный код на Java всего лишь раз, а затем запустить на любой машине с установленным JVM (Java Virtual Machine) и затем использовать.

    No. 1 — JavaScript:

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

    Указан рост популярности языка в процентах. Его место в рейтинге определяется числом pull-запросов пользователей. Рейтинг отражает популярность применения языков программирования в репозиториях.

    По данным GitHub, JavaScript, C# и Go показали двойной рост аудитории. А аудитория Swift и TypeScript выросла в 3,5 раза.

    Индекс TIOBE распределил места немного по-другому: на первом месте оказался языка Java, далее следуют С, С++, С# и Python. А лидер рейтинга GitHub здесь занимает только 6-е место.

  6. Xameleon_007 Ответить

    C#
    Еще один потомок языка C, разработанный корпорацией Microsoft для своей платформы .NET. В отличие от C++, курсы C# подойдут и тем, кто только начинает программировать. На C# (си-шарп) сегодня создают программы для Windows, пишут Web-приложения, а кое-кто еще продолжает разрабатывать и мобильные приложения для Windows Phone, в надежде на то, что Microsoft ещё не совсем забросила свою мобильную операционную систему. Вакансий для начинающих программистов C# сегодня в Беларуси достаточно – во всяком случай, если вы хорошо освоили программирование на этом языке, то наверняка найдутся компании, готовые поручить вам более-менее простые задачи на нем. В общем, если вы хотите стабильную работу, которая достаточно неплохо оплачивается, то стать «шарпистом» – далеко не худший вариант.
    Objective C
    Четвертый только в нашем списке язык программирования, авторы которого вдохновлялись языком Си. Но при этом он стоит особняком от остальных «наследников Си», ведь когда-то его выбрала в качестве основного инструмента корпорация Apple. Поэтому Objective C применяется практически только для программирования под MacOS и iOS, но в связи с популярностью продуктов «яблочной компании» спрос на разработчиков, использующих Objective C, довольно высок. Впрочем, относительно недавно Apple выпустила новый язык, так что будущее Objective C выглядит не таким уж безоблачным. Да и сложность написания ПО на нем заставляет усомниться в том, что начинать изучения программирования с Objective C – хороший выбор.
    Swift
    На смену не всегда удобному и вызывающему немало нареканий у разработчиков Objective C компания Apple выпустила новый язык программирования – Swift. Пока что нельзя сказать, чтобы он совсем уж заменил своего предшественника в разработке под iOS и MacOS, но популярность Swift во всех рейтингах стабильно растет, в то время как популярность Objective C так же стабильно падает. Так что если вы хотите программировать под Apple-устройства, вполне можно сразу садиться за изучение Swift, не тратя время на Objective C.
    PHP
    Некогда самый популярный язык для написания сайтов и Web-приложений, сегодня PHP уже выглядит несколько устаревшим, особенно когда речь заходит о больших проектах для международных рынков.
    Тем не менее, благодаря простоте освоения и большому количеству небольших проектов, PHP можно рекомендовать в качестве первого языка для изучения даже тем, кто не имеет ни малейшего представления о программировании вообще. Карьерные перспективы у PHP-разработчиков пока что тоже достаточно неплохи, потому что существует большое количество проектов, ранее уже написанных на PHP, и нуждающихся, как минимум, в поддержке. Хотя при этом зарплата даже у высококвалифицированного PHP-разработчика будет ниже, чем у его коллеги, имеющего аналогичный по продолжительности работы, но использующего C++ или Java.
    Java
    Второй по популярности язык программирования в мире, который применяется так же широко, как C++, но не имеет большинства его недостатков. Java – это и разработка больших высоконагруженных продуктов для больших транснациональных компании, и небольшие приложения и игры для Android. Программисты, пишущие код на Java, востребованы во всем мире, и Беларусь – не исключение. При этом Java уже много лет остается одной из самых хорошо оплачиваемых массовых специальностей для разработчиков. При этом вероятность того, что в обозримом будущем Java исчезнет из списка востребованных специальностей, ничтожно мала. Правда, и цена за эти преимущества достаточно высока: для изучения Java вам потребуется гораздо больше времени и усилий, чем для изучения того же PHP. Но и отдача будет высокой.
    JavaScript
    Этот язык часто путают с Java, и неудивительно – когда-то название ему выбрали на волне популярности платформы Java, и с тех под JavaScript постоянно борется за звание настоящего языка. Сегодня, кажется, это уже в прошлом, потому что именно JavaScript – самый популярный язык программирования в мире. Своей популярностью он обязан, конечно, развитию Web, ведь именно JavaScript используется для написания Front-end (браузерной части) всех тех интерактивных Web-приложений, которые сделали браузер таким же рабочим инструментом, как Word, Excel и тысячи других традиционных приложений для Windows. Но сегодня JavaScript (часто пишут сокращенно JS) используется и для серверного программирования, и количество новых сфер применения этого языка растет буквально с каждым годом. При этом порог вхождения в профессию здесь заметно ниже, чем в случае с Java, а зарплаты могут быть часто на том же уровне. С уверенностью можно сказать, что JavaScript сегодня – один из лучших языков для старта карьеры программиста.
    Python
    Еще один достаточно универсальный и относительно несложный для изучения язык. Python (он же питон, читается как «пайтон») прочно утвердился в очень и очень перспектиной области, которую называют data mining. Если говорить упрощенно, то так называют применение различных данных, накопленных в бизнесе, для поиска скрытых закономерностей спроса и возможностей развития бизнеса. Но Python также активно используется для написания Web-сервисов, серверной части многопользовательских игр и многих других задач. Спрос на Python-разработчиков довольно быстро растет, поэтому если вы решите изучать этот язык программирования, то вряд ли прогадаете.
    R
    В отличие от «питона», этот язык заточен исключительно под анализ данных, что естественным образом сказывается на его распространенности и востребованности у работодателей. Правда, и платить узкому специалисту по R, видимо, будут больше, чем «питонисту», но попробуйте еще найти подходящую вакансию! В общем, курсы R будут полезны, если вы работаете в сфере анализа данных, и хотите освоить полезный навык. Начинать же карьеру программиста с такого специфического языка вряд ли будет разумным решением.
    Scratch
    В общем-то, Scratch – это даже не язык, а среда визуального программирования, придуманная для обучения программированию детей. Поэтому 99% курсов Scratch адресованы детям довольно юного возраста, и если вы уже к ним не относитесь, то себе посмотрите что-то другое. Если же у вас есть ребенок, которому 7-12 лет, то курсы Scratch – отличный вариант, чтобы заинтересовать его программированием. Кстати, здесь у нас есть еще подборка отличных советов, как заинтересовать ребенка программированием.
    Ruby
    Один из достаточно популярных языков Web-программирования, который, в прочем, на белорусском рынке труда не всегда способен обеспечить своего носителя топовым по заработной плате рабочим местом. Курсы Ruby вряд ли стоит изучать для освоения первого языка программирования, потому что с высокой долей вероятности поиски работодателя затянутся, ведь вакансии для junoir’ов на Ruby появляются довольно редко.
    Delphi
    Еще пять-семь лет назад именно Delphi был стандартным первым языком программирования – еще бы, ведь язык Pascal, который является предшественником Delphi, и был придуман для обучения школьников и студентов программированию. Но для реальной жизни Delphi уже подходит из рук вон плохо, поскольку программирование на нём оплачивается заметно ниже среднего, а новых крупных проектов на этом языке вы не найдете. Поэтому рекомендовать курсы Delphi начинающим программистам в наши дни уже вряд ли стоит.
    ActionScript
    Ещё один язык из славного прошлого – ActionScript был (да и остается) языком платформы Adobe Flash, на которой еще недавно была написана половина игр для Web. Сегодня уже Flash – это пережиток прошлого, и ActionScript тоже нужен разве что для поддержки всего того, что было раньше написано на Flash’е.
    VBA
    Язык программирования макросов для пакета Microsoft Office. VBA расшифровывается как Visual Basic for Applications, и используется для автоматизации рутинных действий в офисных пакетах. Так что если ваша работа тесно связана с Word и Excel, то курсы VBA будут полезны, но программистов на VBA на рынке труда никто не ищет, и вряд ли будет искать в обозримом будущем.
    1C
    Язык программирования для одноименной бухгалтерской платформы. Специалисты по программированию на 1С сегодня нужны не только в ИТ-компаниях; практически каждая крупная организация имеет в своем штате сегодня 1С-программистов. Так что курсы программирования 1С – хороший вариант для тех, кто не очень близок с английским языком, но при этом хочет работать в ИТ-сфере.

    Давайте подытожим то, что написано выше. Если вы решили учить программирование сегодня, то самое перспективное – это JavaScrip, Java, Python, 1С, Swift и C#. Но, конечно, это не значит, что остальные языки второсортные или неподходящие. Помните, главное – это стремление к цели и упорный труд, которые обязательно будут вознаграждены по достоинству.

Добавить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *