HPUNIX Сайт о ОС и не только!

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

11 февраля 2011 - unix
Мысли вслух о развитии языков программирования

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

Какую обувь приобрести для занятия спортом? Кроссовки, вроде, советуют всюду, но мне в ластах плавать удобнее! © developes.org.ua

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

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

***

Можно представить для себя json-структуру, аналогичную структуре интернет-страницы, либо запрос к БД, написанный на Haskell. Но здесь есть две трудности. Во-1-х, заниматься версткой «страниц на json» я бы и противнику не пожелал.

Во-2-х, кроме языков разметки и запросов к БД, есть еще огромное количество других языков — постоянные выражения, языки комментирования а-ля Doxygen (хотя в Haskell это тоже предвидено) и тп.

***

Непонятно, что когда-нибудь программеры будут использовать в собственной работе единственный язык. Но ведь ничто не мешает сделать язык, который можно будет использовать в 95% случаев. Либо 2-3 языка, таких, чтоб для 100% случаев подходил хотя бы какой-то из них.

***

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

А нужен ли кому-нибудь универсальный язык программирования? Навряд ли один программер единовременно занимается созданием веб-приложений, написанием драйверов под FreeBSD и разработкой мобильного Jabber-клиента. Так может, пусть веб-программисты пишут на PHP, системщики — на Си, а программеры под Android — на Java?

***

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

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

А чем плоха возможность уйти из веб-разработки в разработку компьютерных игр без необходимости учить очередной язык программирования? И самое главное — что, фактически, мешает созданию такового универсального языка?

***

При помощи Java можно писать приложения и для рабочего стола, и для мобильных устройств, и для интернет. Даже JavaScript можно рассматривать, как диалект Java. И жизнь была бы великолепна и изумительна, если б одна компания не сделала собственный форк Джавы, а еще одна не использовала для собственной мобильной платформы Obj-C.

***

Время от времени я утешаю себя тем, что большая часть языков программирования в некий степени являются диалектами языка Си. Либо тем, что все языки можно рассматривать как один очень-очень непростой язык программирования, применяемый жителями планетки Земля.

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

***

А еще можно рассматривать C++ как очень высокоуровневый язык ассемблера. В особенности если вспомнить, что в нем вправду можно использовать ассемблерные вставки. Также мне нравиться мыслить о Perl 6, как об обыкновенном Perl (который Perl 5) с прагмой «use v6».

***

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

***

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

***

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

Платформы .NET и JVM совершенно хороши. Неувязка в том, что не у каждого юзера Windows установлена JVM и не у каждого юзера Linux установлен Mono. Бизнес таковой бизнес.

***

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

***

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

К примеру, в Intel и AMD отказались от роста тактовой частоты микропроцессоров в пользу роста числа ядер, по этому сходу возрос энтузиазм к многофункциональным языкам программирования. Мы можем написать программку на C++, работающую под Windows, Linux и MacOS, но как написать кроссплатформенное мобильное приложение, работающее под Windows Phone, Android и iOS?

***

Неплохой язык должен быть высокоуровневым. К примеру, такие вещи, как unicode строчки, умные указатели и динамические массивы должны «идти из коробки». При всем этом нам не хотелось бы утратить какие-нибудь низкоуровневые вещи — к примеру, возможность вызывать системные API.

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

***

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

***

Некие проекты внушают надежду. К примеру, Haskell, Scala, в меньше степени — D и Shedskin. И не только лишь они.

Также существует увлекательное мировоззрение, что в скором времени C++ возвратится и безжалостно нас покарает.

***

Есть подозрения, что языки программирования развиваются подобно особям в генетическом методе. Другими словами, они мутируют (Perl 5 → Perl 6) и скрещиваются (Scala = Java + Haskell), а программеры определяют приспособленность особей.

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

***

Вот только любопытно, нет ли метода ее поторопить?

Give1Get4. Мысли вслух...

Похожие статьи

Теги:
Рейтинг: +6 Голосов: 15 783 просмотра
Комментарии (0)

Нет комментариев. Ваш будет первым!

Найти на сайте: параметры поиска

Windows 7

Среда Windows 7 на первых порах кажется весьма непривычной для многих.

Windows 8

Если резюмировать все выступления Microsoft на конференции Build 2013.

Windows XP

Если Windows не может корректно завершить работу, в большинстве случаев это

Windows Vista

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