Это не совсем статья о Vala, хотя я думаю, что Vala заслуживает большего внимания. Речь идет об общей философии оценки языков программирования. Я также написал пост, который на самом деле не о Perl.

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

Я отмахнулся от Vala как от Gnome, не представляющего интереса для тех, кто не входит в сообщество Gnome, но недавно я видел, как Vala появлялась в нескольких неожиданных местах, поэтому я решил взглянуть на нее поближе.

Один из способов оценки языка программирования — посмотреть, какие классные проекты создаются с его помощью. Я делаю это, перейдя на страницу трендов GitHub и выбрав Vala из раскрывающегося списка языков справа.

Если все, что я нахожу, это интерпретатор/компилятор языка, фреймворк веб-приложения и несколько различных библиотек, я обычно не собираюсь тратить много времени на этот язык. Меня интересуют языки, которые люди используют для создания интересных вещей. Каждый язык (независимо от того, насколько он малоизвестен), кажется, имеет по крайней мере одну платформу для веб-приложений. Трендовая страница Crystal в этом месяце показывает не менее четырех веб-фреймворков: Amber, Amethyst, Kemal и Lucky. Далее, 1991. У Nim есть Jester.

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

Я понимаю, что GitHub может не содержать все классные вещи, которые делаются на языке, но я думаю, что он является представительным. Может быть, некоторые классные вещи сделанные на языке являются проприетарными. Если язык интересно использовать, я думаю, что он будет использоваться как в проприетарных проектах, так и в проектах с открытым исходным кодом, поэтому я считаю, что проектов с открытым исходным кодом достаточно для оценки языка. Также интересные проекты могут быть на SourceForge, GitLab и т.д. На данный момент GitHub обладает самой большой коллекцией проектов с открытым исходным кодом, поэтому он дает довольно хороший обзор того, что доступно на данном языке.

Часть о Vala

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

  • Akira . Это инструмент проектирования UI / UX для создания макетов UI. У него еще даже не было стабильной версии, и у него уже есть 1526 звезд на GitHub и $ 560 / месяц, обещанные на Patreon . У него тоже действительно классный талисман . Ведущий разработчик также имеет клиент SQL и FTP - клиент, написанные на Vala.
  • Birdfont . Редактор шрифтов. Он имеется во многих дистрибутивах Linux, и в OpenBSD. Есть также бинарники для Windows и Mac. Этот проект свидетельствует о том, что Vala не ограничивается GNOME. Мне также показалось забавным, что GitHub считает, что 11,3% исходного кода написано на Brainfuck из-за расширения .bf, используемого для шрифтов в формате Birdfont.
  • Peek. GIF экран рекордер. Упаковано для большого количества дистрибутивов. Может быть полезен для создания анимированных скриншотов для README.
  • pdfpc. Консоль Presenter с поддержкой нескольких мониторов для файлов PDF. Vala должно быть легко изучать, или есть много разработчиков, которые уже знают её, потому что некоторые из этих проектов привлекают много участников. Проект имеет 43 разработчика с последним коммитом 19 дней назад.
  • Timeshift. Инструмент восстановления системы для Linux. Это еще один проект Vala с небольшим, но активным сообществом. Он имеет 30 участников и пользователей, которые отправляют вопросы и запрашивают запросы.
  • Final Term. Это был эмулятор терминала с расширенными возможностями. Он больше не поддерживается, но был очень популярен (у него 3999 звезд на GitHub). —– Это все еще самый популярный проект на Vala, надеюсь ненадолго.
  • Большинство стандартных приложений в Elementary ОС написаны на Vala. Я не использовал EOS (я не откажусь от своего рабочего стола MATE), но Elementary ОС - это популярный дистрибутив Linux (в настоящее время № 4 в DistroWatch). Это магазин приложений, аудиоплеер, калькулятор, календарь, почтовый клиент, файловый менеджер, просмотрщик изображений, панель, инструмент для создания скриншотов, эмулятор терминала, текстовый редактор, видеоплеер и даже оконный менеджер - все написано на Vala. Я подвергаю сомнению необходимость написания такого большого количества своих собственных приложений, когда для многих из них уже есть так множество аналогов, но у них действительно есть последовательная эстетика дизайна и экосистема. Многие сторонние приложения, написанные для Elementary ОС (но работающие с другими дистрибутивами), также написаны на Vala (например, это приложение для чтения электронных книг и специализированное приложение для написания статей с MarkDown разметкой).

———————–— Тут я бы хотел добавить что имеется более 100сторонних приложений написанных специально для Elementary OS на Vala, потому что Elementary AppCenter работает на усовиях 3070 пожертвований разработчику, помещая такие приложения в начало списка и устанавливая цену, пока пользователь не изменит ее на 0. Считаю это отличной идеей.

У Vala, возможно, нет разработчиков, которые «переписывают все», таких как у Rust или поддержки такого технического гиганта, как у Go или Reason. Я изучаю новый язык программирования каждые семь лет, так что это важное решение. Я не тороплюсь. Я собираюсь сделать Rust or D своими следующими языками, но сейчас я буду рассматривать Vala.