Языки программирования
3.5 Языки разработки
Неудивительно, что как программное обеспечение, созданное на основе вклада программистов, Linux имеет отличную поддержку для разработки программного обеспечения. Оболочки спроектированы так, чтобы их можно было программировать, и в каждую систему включены мощные редакторы. Существует также множество доступных средств разработки, и многие современные языки программирования относятся к Linux как к первоклассному гражданину.
Языки компьютерного программирования предоставляют программисту возможность вводить инструкции в более удобном для человека формате, и эти инструкции в конечном итоге преобразуются во что-то понятное компьютеру. Языки делятся на два лагеря: интерпретируемые и компилируемые . Интерпретируемый язык переводит написанный код в компьютерный код по мере выполнения программы, а скомпилированный язык переводится сразу.
C и C++
Сам Linux был написан на компилируемом языке C. Основное преимущество C заключается в том, что сам язык тесно связан с генерируемым машинным кодом, так что опытный программист может писать небольшой и эффективный код. Когда память компьютера измерялась в килобайтах, это было очень важно. Даже при больших объемах памяти сегодня язык C по-прежнему полезен для написания кода, который должен работать быстро, например, операционной системы.
C был расширен за эти годы. Есть C++ , который добавляет поддержку объектов в C (другой стиль программирования), и Objective C , который пошел в другом направлении и активно используется в продуктах Apple.
Java
Язык Java по-другому использует компилируемый подход. Вместо компиляции в машинный код Java сначала представляет гипотетический процессор, называемый виртуальной машиной Java (JVM) , а затем компилирует в него весь код. Затем каждый хост-компьютер запускает программное обеспечение JVM для преобразования инструкций JVM (называемых байт-кодом) в собственные инструкции.
Дополнительный перевод с помощью Java может заставить вас думать, что он будет медленным. Однако JVM относительно проста, поэтому ее можно быстро и надежно реализовать на чем угодно, от мощного компьютера до устройства с низким энергопотреблением, которое подключается к телевизору. Скомпилированный файл Java также можно запустить на любом компьютере, на котором реализована JVM!
Еще одним преимуществом компиляции в промежуточную цель является то, что JVM может предоставлять приложению услуги, которые обычно недоступны на ЦП. Выделение памяти для программы — сложная задача, но она встроена в JVM. В результате создатели JVM могут сосредоточить свои улучшения на JVM в целом, поэтому любой достигнутый ими прогресс мгновенно становится доступным для приложений.
С другой стороны, интерпретируемые языки транслируются в машинный код по мере их выполнения. Дополнительная мощность компьютера, затраченная на это, часто может быть компенсирована повышением производительности труда программиста, поскольку ему не нужно прекращать работу для компиляции. Интерпретируемые языки также обычно предлагают больше возможностей, чем компилируемые языки, а это означает, что часто требуется меньше кода. Сам интерпретатор языка обычно написан на другом языке, таком как C, а иногда даже на Java! Это означает, что на JVM запускается интерпретируемый язык, который во время выполнения транслируется в реальный машинный код.
JavaScript
JavaScript — это высокоуровневый интерпретируемый язык программирования, который является одной из основных технологий всемирной паутины. Он похож на Java, но принципиально отличается от него, который является полностью объектно-ориентированным языком программирования, принадлежащим Oracle. JavaScript — это кроссплатформенный язык сценариев для добавления интерактивных элементов на веб-страницы, который широко используется в Интернете. Используя библиотеки JavaScript, веб-программисты могут добавлять все, от простых анимаций до сложных серверных приложений для пользователей Интернета. JavaScript постоянно развивается, чтобы удовлетворить потребности пользователей Интернета в функциональности и безопасности, и может быть выпущен под лицензией GNU GPL.
Учти это
Термин объектно-ориентированный относится к программированию, которое абстрагирует сложные действия и процессы, так что конечный пользователь имеет дело только с основными задачами. Чтобы визуализировать эту концепцию, представьте себе машину, которая выполняет сложный набор задач, просто нажимая кнопку.
Perl
Perl — это интерпретируемый язык. Изначально Perl был разработан для работы с текстом. С годами он завоевал популярность у системных администраторов и продолжает совершенствоваться и использоваться во всем, от автоматизации до создания веб-приложений.
PHP
PHP — это язык, изначально созданный для создания динамических веб-страниц. Файл PHP читается веб-сервером, таким как Apache. Специальные теги в файле указывают на то, что части кода следует интерпретировать как инструкции. Веб-сервер собирает все различные части файла вместе и отправляет их в веб-браузер. Основные преимущества PHP заключаются в том, что его легко освоить и он доступен практически в любой системе. Из-за этого многие популярные проекты построены на PHP. Известные примеры включают WordPress (для ведения блога), кактусы (для мониторинга) и даже части Facebook.
Ruby
Ruby — это еще один язык, на который повлияли Perl и Shell, наряду со многими другими языками. Это делает сложные задачи программирования относительно простыми, а благодаря включению среды Ruby on Rails является популярным выбором для создания сложных веб-приложений. Ruby также является языком, на котором работают многие ведущие инструменты автоматизации, такие как Chef и Puppet , которые значительно упрощают управление большим количеством систем Linux.
Python
Python — это еще один широко используемый язык сценариев. Подобно Ruby, он упрощает сложные задачи и имеет структуру под названием Django , которая упрощает создание веб-приложений. Python обладает отличными способностями к статистической обработке и является фаворитом в академических кругах.
Язык программирования — это всего лишь инструмент, облегчающий указание компьютеру того, что вы от него хотите. Библиотека объединяет общие задачи в отдельный пакет, который может использоваться разработчиком. ImageMagick — одна из таких библиотек, которая позволяет программистам манипулировать изображениями в коде. ImageMagick также поставляется с некоторыми инструментами командной строки, которые позволяют программистам обрабатывать изображения из оболочки и использовать возможности сценариев.
OpenSSL
OpenSSL — это криптографическая библиотека, которая используется везде, от веб-серверов до командной строки. Например, он предоставляет стандартный интерфейс для добавления криптографии в сценарий Perl.
На гораздо более низком уровне находится библиотека C. Библиотека C предоставляет базовый набор функций для чтения и записи файлов и дисплеев и используется как приложениями, так и другими языками.
Last updated