Страницы

Поиск по вопросам

четверг, 1 ноября 2018 г.

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

Нужно ли платить за используемые мною языки программирования? Слышал что в С++ не нужно платить за то, что не используешь, вот и возник вопрос.
На данный момент у меня такое представление : "Платить за инструмент нужно тогда, когда ты с его помощью делаешь продукт или используешь для бизнеса (За исключением отрытого ПО). В частности интересует JS PHP nodeJS python SQL etc. Скажите где я ошибаюсь, или напишите как оно есть.


Ответ

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

Соответственно, ваш вопрос заключается в том, нужно ли платить за использование реализации языка. И тут как с ПО в целом – на разные вещи разные цены.
Большая часть самых популярных реализаций языков программирования бесплатна.
JS – язык. Если вы про реализацию в браузерах... Браузеры вы покупаете? Референсная (она же самая популярная) реализация PHP – бесплатна. HHVM от Facebook тоже бесплатен. NodeJS бесплатен. Все известные мне реализации Python бесплатны. SQL есть в довольно большом ассортименте, практически в каждой СУБД свой диалект, и ситуация с ними разнится. Смотрите на конкретные СУБД и их бесплатность.
Коммерческие реализации тоже встречаются. Но они обычно очень нишевые и потому редки. Видел коммерческие JVM, один компилятор C++. И бывают языки, реализации которых существуют лишь в коммерческих продуктах, они "де-факто платные", но тоже редки.
Что же касается редакторов и IDE, то среди них коммерческих продуктов побольше.

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

Комментариев нет:

Отправить комментарий