LINUX.ORG.RU
ФорумTalks

JavaScript выбран в качестве основного языка разработки приложений для GNOME


0

3

На состоявшемся на днях съезде GNOME Developer Experience Hackfest команда разработчиков GNOME рассмотрела вопрос выработки рекомендаций по выбору языка программирования для разработки приложений, создаваемых для работы в GNOME. Мотивом определения рекомендованного по умолчанию языка стали участившиеся вопросы начинающих разработчиков о том, какой инструментарий надо использовать при написании приложений для GNOME. До настоящего момента однозначного ответа на этот вопрос не было, но теперь команда разработчиков GNOME решила стандартизировать JavaScript как язык для написания пользовательских приложений GNOME, одновременно рекомендуя язык Си для написания системных библиотек.

Съезд разработчиков GNOME состоялся перед открытием конференции FOSDEM 2013 в Брюсселе. По вопросу выбора единого языка для разработки приложений GNOME было достигнуто обоюдное согласие участников обсуждения, поскольку единый язык упрощает разработчикам подготовку документации и обмен знаниями с новичками, а также облегчает задачу по интеграции приложений, написанных для десктопа с использованием предоставляемой проектом инфраструктуры.

Выбор JavaScript обусловлен несколькими факторами:

* JavaScript уже хорошо поддерживается в GNOME 3, так как GNOME Shell использует его для реализации пользовательского интерфейса и дополнений;

* Наблюдается большая работа по оптимизации производительности JavaScript, его развития как встраиваемого и не зависимого от фреймворков языка;

* Имеется успешный опыт применения JavaScript для аналогичных целей в таких системах, как Windows 8, Firefox OS, webOS, Tizen и KDE, что, как надеется команда разработчиков, упростит работу новых членов команды GNOME;

* JavaScript прекрасно отвечает потребностям GNOME в динамическом и высокоуровневом языке;

* JavaScript является самодостаточным решением, легко интегрируемым в платформу и не связанным с собственным набором базовых библиотек.

Разработчики GNOME отмечают, что выбор JavaScript по умолчанию вовсе не означает отказ от поддержки других языков. Разработка существующих биндингов и обеспечение совместимости с различными языками программирования будет производиться как и раньше. «Очень важно понять, что данное решение направлено на выдвижение на первый план JavaScript, а также связанных с ним биндингов, инструментария и документации, с целью достижения нового уровня качества, но это решение ни в коем случае не означает забвения биндингов для других языков», подчеркнул Рейттер.



Последнее исправление: Ok (всего исправлений: 1)
Ответ на: комментарий от Reset

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

Как говорится, «two out of three ain't bad».

tailgunner ★★★★★
()

Надо было брать руби. Была бы вполне себе хипстерская среда.

thesis ★★★★★
()

Да как-то плевать, есть второй гном и MATE =]

Ну и на крайняк - KDE и awesome.

neocrust ★★★★★
()

гы-гы, надо было учить node.js, ничего не поделаешь :)

Vit ★★★★★
()
Ответ на: комментарий от Deleted

это кстати проблема по которой линукс не готов для десктопов: писать кроссплатформенный софт неначем кроме явы

Deleted
()
Ответ на: комментарий от Deleted

Qt с плюсами стал приятным для использования не так уж и давно. Причём и там до сих пор есть некоторые вещи, которые хочется иметь, но некому реализовать.

Куче верных линуксу системщиков и веб-разработчиков почти некуда приткнуться, к Qt у некоторых тулкитофобия или «ой, да тут моей любимой фичи нет».

quiet_readonly ★★★★
()
Последнее исправление: quiet_readonly (всего исправлений: 1)
Ответ на: комментарий от Deleted

потому пока не заведется нечто со сборкой мусора и нормальным гуем (типа дотнета в виндовсе) под линукс никто писать не будет

ибо можно написать на какомнить pygtk или qt но потом это тормозящее нечто заюзать в виндоусе не получится

Deleted
()
Ответ на: комментарий от Deleted

qt полон костылей из-за убогости c++ и во главе этого moc с его Q_OBJECT

Пока вы строите идеальные ноги с паровым двигателем, люди бегают на костылях работающих на антиматерии.

quiet_readonly ★★★★
()
Ответ на: комментарий от quiet_readonly

Где вы берёте эту траву?

полагаю там же, где и виновники всего этого веселья и безобразия

der_looser ★★
()
Ответ на: комментарий от quiet_readonly

«ой, да тут моей любимой фичи нет»

Взяли бы и запилили. Всяко лучше, чем продолжать страдать.

Deleted
()
Ответ на: комментарий от quiet_readonly

мы тут пишем на языках где сборка мусора и интроспекция из коробки, без костылей

Deleted
()
Ответ на: комментарий от Deleted

C? Для десктопа?

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

border-radius
()
Ответ на: комментарий от border-radius

Тема и эта ветка была про десктопные программы. Понятное дело никто не предлагает внезапно выбросить весь написанный код и всё делать по новой.

Deleted
()
Ответ на: комментарий от Deleted

Что есть десктопная программа в твоём понимании? В моём это может быть хоть фронтенд на PyWebkitGTK с няшным HTML5/CSS3 интерфейсом (до которых всем тулкитам ещё кердеть и пердеть, имхо) плюс запущенный одновременно ультрабыстрый бэкэнд на чистом Си, подымающий локальный WebSocket-сервер на 12345 порту и туннелирующий инфу от/до того самого няшного фронтенда с невменяемой скоростью, входящий в состав того же приложения.

border-radius
()
Ответ на: комментарий от Reset

с отступами

Настоящие программисты на взрослых языках пишут без отступов. И нумеруют строки.

PolarFox ★★★★★
()
Ответ на: комментарий от border-radius

подымающий локальный WebSocket-сервер на 12345 порту

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

PolarFox ★★★★★
()
Последнее исправление: PolarFox (всего исправлений: 1)
Ответ на: комментарий от hi_artem

Яваскрипт замечательный язык.

Перегруженный синтаксис, убогие ";", умолчательная глобальность переменных, куча сюрпризов из-за динамической типизации.

PolarFox ★★★★★
()
Ответ на: комментарий от Deleted

Взяли бы и запилили. Всяко лучше, чем продолжать страдать.

Да, но люди предпочитают продолжать не любить Qt. А виндузятники вообще чуть ли не мёртвым грузом висят, потому что линуксоиды и маководы должны тратить время на проверку патчей под оффтопом (очень много времени, почти как в случае с IE6, ведь консоль там убогая), а вот оффтоповоды не любят вкладываться в опенсурс и отдачи мало даже в абсолютном количестве (о поправке из-за 90% против 1% лучше и не вспоминать).

Не так давно видел весьма ценный патч для QtCreator (выдирание флагов компилятора из CMakeList). Под линуксом/маком его написали и проверили, а под виндой надо было прогнать целых два юзкейза вместо одного: для студии и для mingw. Патч до сих пор висит, ведь не протестирован под оффтопом.

quiet_readonly ★★★★
()
Последнее исправление: quiet_readonly (всего исправлений: 2)
Ответ на: комментарий от PolarFox

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

Deleted
()
Ответ на: комментарий от border-radius

плюс запущенный одновременно ультрабыстрый бэкэнд на чистом Си

Пишите пишите.

Deleted
()
Ответ на: комментарий от Deleted

Ну вон в Go смогли опустить некоторые из ненужных скобок и сделать в парсере поддержку \n вместо ;. А js — какой-то слишком убогий чтобы быть модным хипстерским ЯП.

PolarFox ★★★★★
()
Ответ на: комментарий от border-radius

Люди находят тормоза в иксах, работающих через shared mem и юникс-сокеты, а ты через тцп гнать инфу на локалхосте предлагаешь.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

Почему бы благородным донам не совмещать оба этих качества одновременно?

Deleted
()
Ответ на: комментарий от border-radius

а зачем? или у тебя синдром школоты когда хочется наваять свой кулькацкерский интерфейс?

чем более интерфейс софта отличается от стандартного тем хуже у этой программы функионал

Deleted
()
Ответ на: комментарий от PolarFox

убогие ";"

Блджад. Ещё один учил JS по книгам 100500летней давности и не знает, что можно и без ";".

умолчательная глобальность переменных

Осиль уже var наконец.

куча сюрпризов из-за динамической типизации.

Ну-ка, озвучь.

border-radius
()
Ответ на: комментарий от border-radius

что можно и без ";"

Предлагаешь вместо того, чтобы молча ставить ; выучить в каких местах их отсутствие не сломает код?

PolarFox ★★★★★
()
Ответ на: комментарий от border-radius

Осиль уже var наконец.

Забываем поставить var и вместо ошибки получаем глобальную переменную.

Ну-ка, озвучь.

Уже озвучивали в презенташке по прозвищу WAT.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

в каких местах их отсутствие не сломает код?

Если есть переносы строк, то во всех, кроме внутри объявления циклов for. Ибо там ; несёт синтаксическую нагрузку.

border-radius
()
Ответ на: комментарий от quiet_readonly

порнография же, у меня был чудный DSL в котором кроме значений было два литерала <func>() и $<var> там такое обоснованно, а в js - нет

Deleted
()
Ответ на: комментарий от Deleted

а в каких сломает?

Видел код, написанный любителями пободаться с парсером, некоторые строчки им было нужно начинать с ;.

PolarFox ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.