На состоявшемся на днях съезде GNOME Developer Experience Hackfest (https://live.gnome.org/DeveloperExperience/Hackfest2013) команда разработчиков GNOME рассмотрела (http://treitter.livejournal.com/14871.html) вопрос выработки рекомендаций по выбору языка программирования для разработки GNOME-приложений. Мотивом определения рекомендованного по умолчанию языка стали участившиеся вопросы начинающих разработчиков о том, какой инструментарий надо использовать при написании приложений для GNOME. До настоящего момента однозначного ответа на этот вопрос не было, но теперь команда разработчиков GNOME решила стандартизировать JavaScript как язык для написания пользовательских приложений GNOME, одновременно рекомендуя язык Си для написания системных библиотек.
Съезд разработчиков GNOME состоялся в дни перед открытием конференции FOSDEM 2013 в Брюсселе. По вопросу выбора единого языка для разработки приложений GNOME было достигнуто обоюдное согласие участников обсуждения, поскольку единый язык упрощает разработчикам подготовку документации и обмен знаниями с новичками, а также облегчает задачу по интеграции приложений, написанных для десктопа с использованием предоставляемой проектом инфраструктуры.Выбор JavaScript обусловлен несколькими факторами:
- JavaScript уже хорошо поддерживается в GNOME 3, так как GNOME Shell использует его для реализации пользовательского интерфейса и дополнений;
- Наблюдается большая работа по оптимизации производительности JavaScript, его развития как встраиваемого и не зависимого от фреймворков языка;
- Имеется успешный опыт применения JavaScript для аналогичных целей в таких системах, как Windows 8, Firefox OS (http://www.opennet.me/opennews/art.shtml?num=35896), webOS (http://www.opennet.me/opennews/art.shtml?num=34965), Tizen (http://www.opennet.me/opennews/art.shtml?num=33742) и KDE (http://www.opennet.me/opennews/art.shtml?num=35910), что, как надеется команда разработчиков, упростит работу новых членов команды GNOME;- JavaScript прекрасно отвечает потребностям GNOME в динамическом и высокоуровневом языке;
- JavaScript является самодостаточным решением, легко интегрируемым в платформу и не связанным с собственным набором базовых библиотек.Несмотря на выбор JavaScript, разработчики GNOME отмечают, что это вовсе не означает отказ от поддержки других языков. Разработка других биндингов и обеспечение совместимости с различными языками программирования будет производиться как и раньше. «Очень важно понять, что данное решение направлено на выдвижение JavaScript, а также связанных с ним биндингов, инструментария и документации на первый план с целью достижения нового уровня качества, но это решение ни в коем случае не означает забвения биндингов для других языков.», подчеркнул Рейттер.
URL: http://www.h-online.com/open/news/item/JavaScript-becoming-d...
Новость: http://www.opennet.me/opennews/art.shtml?num=36021
Да... Приехали, понажрались Бланша, в состоянии абстиненции сгенерили амбивалентное решение.
Они не первые и не последние, Qt и кеды операжают их во внедрении этой гадости
Вы так говорите, что это КДЕ-разрабы начали. Это Нокла придумала, внедрив в Qt QML. Поэтому все проклятия стоит слать Нокле - сама слилась и нам всем подгадила ;)
Почему гадость? Просто надо знать где лучше применять.. я не считаю Си к примеру хорошим решением для GUI.
KDE рекомендует QML только для описания интерфейса и плазмоидов. А гномовцы, насколько я понял, собираются использовать JavaScript полностью для написания программ.
В тему та же политика http://habrahabr.ru/company/apps4all/blog/168239/
> В тему та же политика http://habrahabr.ru/company/apps4all/blog/168239/Вот вам плюсик за хорошую ссылку. Капитанинг, конечно, но это то чего так не хватает современному миру. Вероятно, стоит оформить это отдельной новостью?
> Вероятно, стоит оформить это отдельной новостью?э… что «нет рута — тебя нагнули», и что «пишите переносимый софт»? даже по моим капитанским меркам это мегакапитанинг, никак на новость не тянущий. юзерам эти все нюансы по барабану, а для программиста это должно быть очевидно, иначе он профнепригоден.
Прогресс не дремлет, он просто спит
Ну все, пропал Гнум. Кажется, его разработку захватили какие-то веб-хипстеры. Акромя JS языков не знают (ну Руби еще от силы), Мак - вершина дизайна, мобильные побрякушки вместо компьютеров, ну вы поняли.>JavaScript прекрасно отвечает потребностям GNOME в динамическом и высокоуровневом языке;
Python же, ну.
>не связанным с собственным набором базовых библиотек.Словно что-то хорошее.
> Python же, ну.Программисты на гвидобэйсике не осиливают нормальную многопоточность, а те что осиливают, делают это через адовые костыли.
> Программисты на гвидобэйсике не осиливают нормальную многопоточность, а те что осиливают, делают это через адовые костыли."многопоточность" -- в Python реализовывается обычным модулем threading, без костылей (и тем более без адовых).
не работают [из коробки] лишь -- "многопоточные вычисления" (например арифмитические) !
и GIL не тормозит обычные (не вычисляющие) потоки! а тормозит (блокирует) только лишь вычисляющие! например два вичисляющих цикла не смогут в Python работать одновременно в разных потоках! но два цикла которые записывают байты в два разных файла -- работать параллельно запросто (оба НЕ будут заблокированы GIL`ом) в разных потоках threading!
разницу между "многопоточностью" и "многопоточными вычисленими" -- рассказывать? или сами знаете?
....а то что на Чистом Python ни кто НЕ создаёт видео-кодеров и прочего вычисляющего софта -- знаете почему? думате это связанно лишь с отсутствием "многопоточных вычислений"?
открою вам секрет -- Python выполняет довольно медленно любые вычисления, даже если они однопоточные :).
поэтому на Python пишут софт связанный по большей части с управляющей и связывающей деятельностью. а надобности в нём кстате намного больше чем в вычисляющем софте!
>разницу между "многопоточностью" и "многопоточными вычисленими" -- рассказывать?А давай.
А то я вот что-то не пойму, чем же тогда занимается питон на электронно-вычислителных машинах.
> А то я вот что-то не пойму, чем же тогда занимается питон
> на электронно-вычислителных машинах.тормозит.
> тормозит.жрет свой хвост.
Жрать свой хвост проблематично - в питоне нет оптимизации хвостовой рекурсии
А мужики то и не знали что DOS был многопоточный.
Я тоже встал в очередь за сакральными знаниями о многопоточности, за мной не занимать.Маэстро, будьте добры, милости просим...
Питонисты всегда так оправдываются. Когда загонишь в угол убийственный аргумент multiprocessing :)Нет в Python многопоточности как ни крути.
> но два цикла которые записывают байты в два разных файла -- работать параллельно запросто (оба НЕ будут заблокированы GIL`ом) в разных потоках threading
Вы гоните.
Python ЕМНИП каждые 100 операций байткода отнимает управление у одного потока и передает другому. GIL работает только с одним потоком. Так решил Гвидо - однопоточных программ больше. Поэтому Global Interpreter Lock в CPython будет всегда.
Альтернативные реализации с многопоточностью всеже есть. Jython к примеру.
> Python ЕМНИП каждые 100 операций байткода отнимает управление у одного потока и передает другому.Есть такое. Только это называется «вытесняющая многозадачность» и никакого отношения к делу не имеет. Ведра ОС точно так же делают, например.
Проблема GIL же в том, что на весь интерпретатор одновременно выполняется только один поток. Точнее, как: если у процессора одно ядро — это нормально. Если много — это плохо, потому что остальные ядра простаивают без дела.
Правда есть multiprocessing, который все это решает.
> Поэтому Global Interpreter Lock в CPython будет всегда.
Тащемта, Гвидо сказал совсем другое. GIL будет пока кто-то не сделает патч, который его удалит, и от которого не пострадает производительность однопоточных программ.
Я не стал расписывать. Именно это и имелось в виду. Только один рабочий поток. И немного запамятовал со словами.Не все. У меня была задача которая multiprocessing не решается. Во всяком случае простыми средствами.
>Программисты на гвидобэйсике не осиливают нормальную многопоточность, а те что осиливают, делают это через адовые костыли.а нормальную многопоточность на JS покажете?
>>Программисты на гвидобэйсике не осиливают нормальную многопоточность, а те что осиливают, делают это через адовые костыли.
> а нормальную многопоточность на JS покажете?Яваскрипт немного асинхронный, поэтому многопоточность там не актуальна, а маньяка, который бы писал числодробилку на JS надо еще сыскать. Хотя... Говнокодеры везде найдуться.
дык и питон асинхронно умеет. А многопоточности по факту нету ни там, ни там.
и таки да, числа дробить тоже бывает надо...в общем vala наше все. зря они так с ней.
> Яваскрипт немного асинхронныйлол. ещё один школокодер, путающий язык и браузерный «недофреймворк» (или ноду.жс, что не лучше).
прикинь, эта ваша «асинхоронность» — не свойство языка per se, и даже не особо свойство интерпретатора: это как раз свойство «хоста». до этой вашей ноды.жс у бидона уже был «асинхронный сервер».
оба дрянь, кстати, потому что костыли; единственная нормальная реализация, где программисту не надо ломать мозг, возможна с применением continuations, каковые ни жс, ни гвидобейсик в нужном виде не поддерживают.
> оба дряньДумаю ыксперт может рассказать школьнику о "правильных" языках программирования. Я с радостью послушаю.
а лучше нормальный, реальный пример полноценного сервера на continuations, желательно не маргинальных языках
> а лучше нормальный, реальный пример полноценного сервера на continuations, желательно
> не маргинальных языкахчто значит «желательно не маргинальных языках»? ты оригинал, однако. я не знаю, что такое «маргинальные языки» для тебя. я тебе сейчас скажу «seaside», и ты радостно запляшешь: «аааа, маргинальщина! нет, ты мне на бидоне покажи! и пофигу, что в моих 'немаргинальных' нет нормальных continuations, ты всё равно покажи! а если вдруг и покажешь, я тебе с удовольствием расскажу, какой это страшный костыль!»
проще говоря: твой вопрос поставлен некорректно, и вне зависимости от моего ответа я в проигрыше, а ты на коне. если это и была цель — поздравляю: ты её достиг.
ох уж эти модераторы...в общем - ты дикий тролль)) цели у меня совсем другие, ближе к познанию чего-то нового (спасибо за seaside, но примерчики слабоваты там).
А вот чем JS костылен для continuations? замыкания там отродясь, yield уже тоже имеется. Синтаксис?
> в общем — ты дикий тролль))ну, не без этого.
> А вот чем JS костылен для continuations? замыкания там отродясь, yield уже
> тоже имеется. Синтаксис?вот тебе паста из ответа на стёртое сообщение:
замыкания != continuations, coroutines != continuations (хотя и очень похоже; помимо прочего — их нет в стандарте). посмотри на call/cc в Scheme. только аккуратно, от него поначалу мозг может закипеть.
> — их нет в стандарте). посмотри на call/cc в Scheme. тольковот их и смотрю собственно.
>замыкания != continuations, coroutines != continuation
насколько я понял coroutines & closures - лишь инструменты, на которых базируется техника continuations...
> насколько я понял coroutines & closures — лишь инструменты, на которых базируется
> техника continuations…неа, они для continuations не так уж и обязательны. если очень грубо, то continuation — это своеобразный «снапшот» состояния VM, с фичей «продолжи с места снапшота, опционально вернув какое-то значение». другое дело, что без тех же замыканий такой снапшот и не очень полезен, и труднее реализуем, но это уже технические детали. опять же, сопрограмму обычно надо как-то по особому оформлять, а «снапшот» можно где угодно «заснапшотить», просто тыркнув нужную функцию.
как только ты мне покажешь, где в этой дискуссии я говорил о «правильных языках программирования» и «неправильных языках программирования».
Они как раз много языков знают, можете посмотреть на количество биндингов. А вот что знаете вы кроме своего нового бейсика? В пользу выбора js есть два мощных аргумента - скорость и стандарт де-факто для аналогичных задач. А какие аргументы есть в сторону питона?
> В пользу выбора js есть два мощных аргумента - скоростьЯ прям слышу как у многих сейчас с громким треском рвутся шаблоны. А ведь V8 действительно быстрый исполнимый код генерирует.
> Я прям слышу как у многих сейчас с громким треском крутятся кулеры CPU//fixed
>> Я прям слышу как у многих сейчас с громким треском крутятся кулеры CPU
> //fixedИ со свистом садятся батарейки на лаптопцах и всяких там планшетках и смартфонцах.
> А ведь V8 действительно быстрый исполнимый код генерирует.Быстрый по сравнению с чем? С питоном, который интерпретер? Возможно. С сями и плюсами - удачи переплюнуть. Одна только динамическая типизация заставляет делать 100500 рантайм проверок "ой, а не изменился ли тип при этой опреации?".
Для логики интерфейса его скорости более чем достаточно.
Видимо ты не в курсе, но V8 и фоксовский движки анализируют код и статически типизируют переменные. Так что как минимум это не проблема. Ну и JIT с обратной связью к тому же, который вместо интерпретации генерирует бинарный код и ещё оптимизирует его в процессе. Так что JS на V8 хоть в основном и медленнее C, но не значительно. Приблизительно раза в 2, в то время как питон в десятки, а то и сотни раз медленнее в зависимости от того используешь ты PyPy или CPython… Кстати, оцени иронию, CPython написанный на Си выдаёт код в десятки раз более медленный, чем написанный на самом же Питоне. -_-
Да что я распинаюсь, сам посмотри. Вот, например: http://attractivechaos.github.com/plb/
В некоторых случаях код на JS под V8 оказывается даже более быстрым, чем код на C.
> Одна только динамическая типизация заставляет делать
> 100500 рантайм проверок «ой, а не изменился ли тип при этой
> опреации?».ты вот это серьёзно сейчас написал? современные JIT'ы намного умнее, и при нормально написаном софте «динамическая типизация» им особо не мешает (потому что на самом деле типы не меняются при каждом вызове, и умный JIT вполне в состоянии это увидеть).
вообще, при длительном исполнении хороший «умный» JIT вполне может *теоретически* выиграть у AOT-компилятора — за счёт оптимизации именно того, что имеет смысл оптимизировать и именно для тех случаев, для которых имеет смысл.
другое дело, JIT-ы для JS всё-таки не настолько «накручены». да и .net/mono/jvm тоже. в общем-то это не потому, что мегасложно, а потому, что не стоят усилия результата: мощность и скорость техники растёт, для критичных мест по-прежнему есть AOT, за которыми десятки лет развития, а для остального пойдёт то, что есть.
на самом деле - три - event-driven пригодность, что для GUI громадный плюс )
> на самом деле - три - event-driven пригодность, что для GUI громадный
> плюс )И в чём выражается event-driven пригодность? В возможности плодить анонимные функции чтоли?
> Ну все, пропал Гнумкогда же вы отстанете от бедного Гнома, со своими пессимистичными "пропал" ???
мне кажется вы вообще сидите там на KDE/XFCE , а рассуждаете про Gnome который только видите на картинках.
вы вот сидите на KDE (например), и мы же (Гномеры) вас не трогаем.
вы просто достали уже! :-/
# P.S.: в Gnome -- давно уже есть JS (gjs) и для тех кто сидит на Gnome это нифига не новость!
> писсимистичнымичего-чего?
Никогда не понимал, когда начинают докапываться до конкретных слов, пропуская весь текст вокруг этого слова.
> Никогда не понимал, когда начинают докапываться до конкретных слов, пропуская весь текст
> вокруг этого слова.безграмотный человек очень, очень часто безграмотен не только в области правописания. какой смысл парзить его текст и пытаться вычленить оттуда смысл при помощи libastral, если вероятность того, что там и посыл безграмотен — весьма велика?
приведу не совсем корректную, но более-менее подходящую аналогию: если вонючий бомж в засаленых ошмётках одежды приходит в ресторан и начинает критиковать еду, то бомж может быть прав. но слушать его вряд ли станут, а просто вытолкают взашей. даже если этот бомж пытается сказать вполне разумные вещи.
тут ведь всё просто: не умеешь грамотно писать — пиши так, чтобы минимизировать вероятность ошибки. короткими предложениями, простыми словами. несложно, а эффект будет огромен.
> безграмотный человек очень, очень часто безграмотен не только в области правописанияэто наверно тебе учитель Русского Языка такое откровение рассказал? :)
или от чего такие выводы сделал?
> тут ведь всё просто: не умеешь грамотно писать — пиши так, чтобы минимизировать вероятность ошибки. короткими предложениями, простыми словами. несложно, а эффект будет огромен.
тут всё просто -- пишу так чтобы людям было понятно.
а если вдруг ты не понял СМЫСЛ предложения из-за того что там допущена ошибка -- то значит ты просто не умеешь читать. (но веротно умеешь писать, и знешь правила грамматики. только вот НАФИГА оно надо хоть кому-то кроме тебя эта твоя грамотность? думаешь мы читаем твои предложения и восхищаесмя "о надоже! какой грамотный чувак! наверно пятёрки получал в своём гуманитарном униваре!! или ходил в кружёк любителей орфографии!" ды нет, мы так не думаем. уж прости).
достаточно, коллега, уже после! прогона! про! мультитредовость! ПИТОНА! было понятно, кто в этом треде главный граммар-антифа.
> или от чего такие выводы сделал?на основе многолетних наблюдений.
> тут всё просто — пишу так чтобы людям было понятно.
«чтобы людям было понятно» — это теперь синоним «пишу безграмотно»? круто.
> только вот НАФИГА оно надо хоть кому-то кроме тебя эта твоя грамотность?
собственно, ключевая фраза всего твоего ответа. и действительно: на кой эта дурацкая грамотность? особенно умиляет пассаж про восхищение. скажи, а если человек после сортира зад вытирает и руки моет — ты тоже задвигаешь ему про ненужность и пытаешься язвить по поводу восхищения? ведь лишние же действия: грязный зад жить не мешает. а кто зад вытирает — тот чистоплюй и делает это только чтобы выпендриться.
впрочем, я уверен, что ты не поймёшь.
> а кто зад вытирает — тот чистоплюй и делает это только чтобы выпендриться.если он не просто это делает -- но ещё и пишет на форумах и делает остальным замечания (кто не вытирает) -- то да -- считаю что чистоплюй и выпендрёжник :).
а если просто делает молча, и не ставит на этом акцент -- то нормальный парень! биру с него пример!
действительно, гад какой! видит человека с грязным задом — и не молчит, а говорит, что зад неплохо бы вытирать. нет, чтобы как все: «моя хата с краю!»
ну вытир ты один раз в неделю зад. и теперь хвастаешься. ага... :)для нормальных людей это норма. они об этом не говорят
> для нормальных людей это норма. они об этом не говорятмолодец, одну часть понял. теперь попробуй понять такую часть: когда нормальные люди видят тех, кто зад не вытирает, нормальные люди в меру сил пытаются научить таких красавцев зад всё-таки вытирать.
"Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе". © Щерба Л. В., 1957
> "Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе". © Щерба Л. В., 1957"использовать чёрные ботинки (вместо коричневых) -- значит хотеть украть у окружающих 12$ долларов (стащить из кармана). а это не допустимо в современном культурном информационном обществе развитых людей." Клавдий Л. М. 1861
Ну если через каждое слово ошибка, то да.. а если на большое предложение одна две, то это ничего не значит.. например после трудного дня, с большими умственными нагрузками, бывает грамматика отключается по полной, и перепроверять то что написано желания нету никакого.. но мысль хочется изложить, и эта мысль может быть правильной. Просто обертка получается не очень.
у данного персонажа безграмотность тотальная, практически везде и всегда (имею в виду его комментарии в новостях на этом сайте). при этом персонаж иногда пытается использовать «умные» слова, в которых вполне закономерно лажает. за что я его и пинаю, проходя мимо.впрочем, чтобы оценить другие аспекты — можно прочитать его пассаж про питоновскую многопоточность (где он зачем-то переименовал GIL в GIT): там рассуждения в стиле «Рабинович напел». что косвенно подтверждает мой тезис про безграмотность.
> где он зачем-то переименовал GIL в GITнаоборот -- сначало написал GIT, а потом заметил это и исправил на GIL...
если интересно почему -- расскажу.
(...рассказываю...)
потомучто в течении дня -- мне приходится тысячу раз набирать в терминале слово "git ..." и это доводит мозг до такого состояния что когда я нажимаю "g", "i", то буква "t" уже автоматом сама нажимается моторно! :)
> иногда пытается использовать «умные» слова
стараюсь всегда использовать простые слова [так как никто не любит умников :)]. но да, к сожелению умные слова иногда сами вылетают :) .. уж простите:)
> Рабинович напел
нет, Рабинович тут не причём. просто знаю чем отличается
http://docs.python.org/3/library/ctypes.html#ctypes.CFUNCTYPE
от
http://docs.python.org/3/library/ctypes.html#ctypes.PYFUNCTYPE
(хвастаться тут особо нечем, так как любой может вот так же как и я прочитать документацию :))> за что я его и пинаю, проходя мимо
за что я пинаю в ответ.
так прикольно выслушивать в ответ эти оправдания о важности орфографии :-)
> за что я пинаю в ответ.для этого у тебя интеллектуального ресурса не хватает. увы.
ну, и в GC/VM/JIT ты профан. увы.
а твои рассуждения о том, что «арифметика тормозит, остальное — нет» всё-таки повесилили.
кстати, напомните мне, кто знает: у гвидобейсика что, даже просто целые/плавающие в ящиках? даже на x86/x86_64? я, конечно, верю в безграничность гения гвидо, но чтобы настолько — не очень.
ну да, да, я ленивый, мне неохота в исходник лезть. его ещё качать надо.
> а твои рассуждения о том, что «арифметика тормозит, остальное — нет» всё-таки
> повесилили.нада же как легко тебя рассмешить... :-)
ну ты хоть по ссылкам моим прощёлся (по поводу отличий CFUNCTYPE и PYFUNCTYPE)?
> кстати, напомните мне, кто знает: у гвидобейсика что, даже просто целые/плавающие в
> ящиках? даже на x86/x86_64? я, конечно, верю в безграничность гения гвидо,
> но чтобы настолько — не очень.
> ну да, да, я ленивый, мне неохота в исходник лезть. его ещё
> качать надо.да, в терминологии Java -- это можно назвать Boxing.
целый числа кстате -- могут быть довольно огромнейших размеров в Python из-за этого :). и не нужно вводить отедельный класс.
но только это лишь когда мы в Чистом Python ... а на практике Python обычно используется совместно с Си (C/C++) .
> ну, и в GC/VM/JIT ты профан. увы.
почему так считаешь? потому что поумолчанию все дураки (кроме тебя) до тех пор пока они не докажут обратного? :-D :-D
(ну или там -- может быть судишь -- по "грязному заду" ? :))
> нада же как легко тебя рассмешить… :-)да, люблю над глупостями посмеяться.
> ну ты хоть по ссылкам моим прощёлся (по поводу отличий CFUNCTYPE и
> PYFUNCTYPE)?«прощёлся» — неа, я не знаю, что это означает.
> да, в терминологии Java — это можно назвать Boxing.
я тебе не особо доверяю, но если это действительно так — то с гвидобейсиком всё ещё хуже, чем я подозревал. про tagging гвидо никто не рассказывал, что ли?
> целый числа кстате — могут быть довольно огромнейших размеров в Python из-за
> этого :). и не нужно вводить отедельный класс.(умиляется) в моей домашней схеме вообще полный numerical tower. и что?
> но только это лишь когда мы в Чистом Python … а на
> практике Python обычно используется совместно с Си (C/C++) .угу. «чтобы программа на гвидобейсике не тормозила, перепишите её на C».
>> ну, и в GC/VM/JIT ты профан. увы.
> почему так считаешь?ты не поймёшь.
> про tagging гвидо
> никто не рассказывал, что ли?Гвидо в рассылке писал, что пробовал теггинг в ABC, и не может развидеть это до сих пор.
> развидеть это до сих пор.Питон так вообще развидеть хочется. Весь и целиком. Вьюжлбэйсик для веб 2.0 какой-то.
> Гвидо в рассылке писал, что пробовал теггинг в ABC, и не может
> развидеть это до сих пор.бедняша. но всё-таки интересно: это годы разработки бидона так ему мозг повредили, или это из-за изначально повреждённого мозга у него бидон вышел?
> «прощёлся» — неа, я не знаю, что это означает.тогда я для того чтобы ты повысил твой кругозор -- набросал для тебя небольшой тэстовый скрипт:
http://paste.ubuntu.com/1610011/
и сразу выкладываю результат его работы :-) :
$ python3 test-cfunc.py
############################################################
ТЕСТ: блокируются ли потоки, которые для системных (не вычислительных) целей?
РЕЗУЛЬТАТ: суммарно затрачено секунд на выполнение всех (5) потоков: 3.002041816711426 .
значит потоки не блокировались, а работали параллельно!
############################################################
############################################################
ТЕСТ: блокируются ли потоки, которые для вычислительных (не системных) целей?
РЕЗУЛЬТАТ: суммарно затрачено секунд на выполнение всех (5) потоков: 15.004966974258423 .
вероятнее всего потоки выполнялись поочереди! либо просто комп протупил :).
############################################################СРАЗУ УТОЧНЯЮ: этот тэст показывает НЕ производительность Python, а лишь немного раъесняет тему того как работает GIL!
# P.S.: а теперь даю подсказку: все системные функции (не связанные с Python-вычислениями... например копирование данных в файловый дескриптор) -- выполняются по аналогии с CFUNCTYPE -- то есть в режиме с освобождённым GIL . поэтому многопоточная программа на Python, выполняющая управленческую роль -- является вполне себе многопоточной [т.е. за одну еденицу времени -- выполнчется сразу несколько потоков, не заблокированных GIL, а не только лишь один поток].
>> «прощёлся» — неа, я не знаю, что это означает.
> тогда я для того чтобы ты повысил твой кругозор…ты бы лучше сказал, что такое «прощёлся». ни один словарь такого термина не знает.
>>> «прощёлся» — неа, я не знаю, что это означает.
>> тогда я для того чтобы ты повысил твой кругозор…
> ты бы лучше сказал, что такое «прощёлся». ни один словарь такого термина
> не знает.врёшь ведь, словари прекрасно знают :)
http://i1.minus.com/ibdGQOzVeDlFlq.png
с тобой даже уже становиться не интересно. слишком жирно прикидываешься инвалидом по способностям чтения текста :) .
а если собака за деревом спряталась и с одной стороны видно голову а с другой хвост -- то ты тоже в ступор впадёшь и будешь утверджать что это две разные собаки? да? :-D
> врёшь ведь, словари прекрасно знают :)в выдаче вижу «прошёлся». «прощёлся» не вижу. если уж ты лжёшь, то лги искусней.
> с тобой даже уже становиться не интересно. слишком жирно прикидываешься инвалидом по
> способностям чтения текста :)в твоём случае — лучше сто раз уточнить. а то мало ли…
> а если собака за деревом спряталась и с одной стороны видно голову
> а с другой хвост — то ты тоже в ступор впадёшь
> и будешь утверджать что это две разные собаки? да? :-Dпрежде всего — я не стану утверждать, что это одна и та же собака. но ты опять не поймёшь причины, даже если я 42 раза поясню.
> в выдаче вижу «прошёлся». «прощёлся» не вижу. если уж ты лжёшь, то лги искусней.что -- как маленькому объяснять?
там поле куда надо вписывать слова. вот и впиши туда незнакомое тебе слово :-D
нет, ты всё-таки даун.
кто даун -- тот сам знает!
ну так коли ты знаешь — сразу бы и признался…
> прежде всего — я не стану утверждать, что это одна и та же собака. но ты опять не поймёшь причины, даже если я 42 раза поясню.да, да, знаю.. начнёшь говорить что-то типа:
"слово ``собака`` пишется через букву ``О`` в первом слоге!" :)
p.s. я тебе намекал, что «вычислительные цели» тут не при чём, но ты не понял. и ты ещё спрашиваешь, отчего я считаю тебя профаном в GC/VM.
> отчего я считаю тебя профаном в GC/VM.похоже что ты являешься Java-программистом если так хвастаешься своим знанием GC...
(многие Java-программисты посвящают кучу времени на изучение того как работают ихнии унылые GC на поколениях, но без счётчика ссылок в реальном времени в отличии от Python)
если мы обсуждали Потоки -- то значит мы обсуждали Потоки. хрен ли мне переводить тему на GC/VM ? связь там слишком слабая с Потоками (только лишь в том связь -- что во время работы GC -- происходит переключение GIL в блокирующий режим для всех Потоков.. но выше я уже писал что GIL не влияет на системные функции написанные на C/C++ ..).
> похоже что ты являешься Java-программистом если так хвастаешься своим знанием GC…бедняша, погугли немножко на предмет того, в скольких разных интересных местах используют GC. так, ради интереса.
что забавно: ты, видимо, даже не можешь представить себе, откуда берутся GC. я тебе секрет открою: их не марсианцы гуманитарной помощью прислали. и не в жабке оно появилось.
> (многие Java-программисты посвящают кучу времени на изучение того как работают ихнии унылые
> GC на поколениях, но без счётчика ссылок в реальном времени в
> отличии от Python)лол. ты, бедняша, кажется, считаешь, что refcounting — серебряная пуля, да ещё и что-то там «обеспечивает» само по себе. я даже не буду пугать тебя дальше и открывать страшный секрет. хотя нет, открою: в гвидобейсике гибридный GC, который пытается решить задачу, которую решают (в том числе) incremental generational GCs. у меня, конечно, есть что сказать по поводу использования в бидоне refcounts (и не всё отрицательное), но не тебе же, ты и трети не поймёшь, увы.
кстати, этот самый бидоновый GC — одна из больших причин GIL. если его заменить на немножечко другой, то можно полумагически уменьшить количество простоя в лочке. можешь попробовать описать, как — вдруг ты не безнадёжен, и действительно что-то понимаешь?
> если мы обсуждали Потоки — то значит мы обсуждали Потоки. хрен ли
> мне переводить тему на GC/VM ?потому что связь прямая.
> связь там слишком слабая с
> Потоками (только лишь в том связь — что во время работы
> GC — происходит переключение GIL в блокирующий режим для всех Потоков..круто. ты вообще понял, что за чушь только что написал?
> но выше я уже писал что GIL не влияет на системные
> функции написанные на C/C++ ..).угу-угу. ровно до тех пор, пока им не надо обмениваться с VM объектами.
кстати, если ты в состоянии читать сишный код, можешь посмотреть на интересный маленький язычок nasal. который используется во FlightGear, например. он из коробки поддерживает многопоточность, и проблема Большой Лочки там решена достаточно забавно. ну, не то, чтобы совсем решена, но… короче, если читать умеешь — увидишь.
> лол. ты, бедняша, кажется, считаешь, что refcounting — серебряная пуля, да ещё и что-то там «обеспечивает» само по себевобщето это далеко не серебрянная пуля.
но зато программа становится с более предсказуемым поведением, а не с зависонами раз в 30 секунд (ну или как получится) как на Java :)
> в гвидобейсике гибридный GC
и я и не говорил что в Python -- только ЛИШЬ только refcounting :) ... а иначе БЫ была БЫ большая беда с цыклическими ссылками :) .
>> но выше я уже писал что GIL не влияет на системные
>> функции написанные на C/C++ ..).
> угу-угу. ровно до тех пор, пока им не надо обмениться с VM объектами.ну не идеальная консрукция, да. здесь согласен! :-)
но всё же чем меньше мы будем оставлять циклических ссылок, тем меньше будет тратится суммарного времени на работу GC в Python. а вот некоторые другие языки не могут похвастаться этим [говоря про языкы в которых GC работает без refcounting].
> но зато программа становится с более предсказуемым поведениемдано: цепочка из четырёхсот, например, объектов. односвязный список. и тут головной объект становится сиротой. дальше бедный GC с криками «вперёд! за родину! за сталина!» начинает уменьшать счётчики у всей цепочки. ужасно предсказуемо. а теперь представь сорок тысяч объектов. всё ещё предсказуемо? в данном случае, как ни странно, инкрементальный GC будет намного более предсказуем. а параллельный инкрементальный GC ещё и менее заметен.
> а не с зависонами
> раз в 30 секунд (ну или как получится) как на Javaэто тоже решается. и даже в жабке решается.
>>> но выше я уже писал что GIL не влияет на системные
>>> функции написанные на C/C++ ..).
>> угу-угу. ровно до тех пор, пока им не надо обмениться с VM объектами.
> ну не идеальная консрукция, да. здесь согласен! :-)и даже не самая лучшая. от «почти полноценного» GC всё равно никуда не делись.
> но всё же чем меньше мы будем оставлять циклических ссылок, тем меньше
> будет тратится суммарного времени на работу GC в Python. а вот
> некоторые другие языки не могут похвастаться этим [говоря про языкы в
> которых GC работает без refcounting].см. выше. ну, и потрать несколько дней, почитай о разных стратегиях сборки мусора, что ли. тогда, возможно, к тебе придёт одно маленькое озарение о возможных причинах именно такой реализации GC в бидоне.
>> но зато программа становится с более предсказуемым поведением
> дано: цепочка из четырёхсот, например, объектов. односвязный список. и тут головной объект
> становится сиротой. дальше бедный GC с криками «вперёд! за родину! за
> сталина!» начинает уменьшать счётчики у всей цепочки. ужасно предсказуемо. а теперь
> представь сорок тысяч объектов. всё ещё предсказуемо? в данном случае, как
> ни странно, инкрементальный GC будет намного более предсказуем. а параллельный инкрементальный
> GC ещё и менее заметен.да.. нашёл ты случай :)
ну и "быстрая сортировка" тоже иногда не такая уж и быстрая :) ..
однако СТОП! какой ещё односвязанный список? :) я же не советовал тебе выбирать Python для математики!
в Python уже есть класс list ``[aaa, bbb, ccc, ddd, eee, fff, ...]`` и никто из прикладных Python-программистов не станет делать свою собственную реализацию этого листа.
Python хорош для свох целей. которых 70%~90% (на мой субъективный взгляд)... а для остальных 10%~30% его выбирать ни-в-коем случае не рекомендую! :)
делать GUI для Gnome на Python -- думаю очень хорошо! ...и пользоваться (программами этими) тоже приятно :)
да-да-да-да. как только апологетам показываешь вполне нормальный случай, но который не укладывается в мечты — сразу начинается рассказ про то, что «так не надо».тут понимаешь, какое дело: ты же сказал, что refcount GC предсказуем. я тебе привёл простой пример, когда он тупо лажается. и что началось? «ааааа, а так делать не надо, иба!» ибо да: incremental generational GC уделывает в этом случае ваш refcount без напряга. а в других случаях он как минимум не хуже. но признать это — значит, признать, что гвидо лох.
> Python хорош для свох целей.Которые называются "быдлокодинг от школьников". И гномерам кажется нужно нечто наподобие. Фу, гадость.
> кстати, если ты в состоянии читать сишный код, можешь посмотреть на интересный маленький язычок nasal. который используется во FlightGear, например. он из коробки поддерживает многопоточность, и проблема Большой Лочки там решена достаточно забавно. ну, не то, чтобы совсем решена, но… короче, если читать умеешь — увидишь.немного щаз прочитал про Nasal (не сишный код, а просто текст на сайте).
вот это мне понравилось техническое решение, что выкинули GIL и в замен переложили обеспечение атомарности операций полностью на плечи прикладного программиста (а не интерпретатор).
я считаю это хороший подход, потому что сёравно ведь прикладному программисту приходится перестраховываться и реализовывать атомарность ещё раз в своей программе (не зависимо от того есть GIL или нет :)).
конешно из Python нельзя так просто взять и выкинуть GIL, так как врядле интерпретатор сам по себе сделан потокобезопасно на своих микрооперациях (или как их правильно эти микрооперации лучше назвать).
там не совсем «полностью» (хотя и сильно). ещё раз советую: если ты в GC соображаешь (а ведь ты сказал, что я ошибся, когда тебя профаном назвал) — почитай код.
а то!>>> dir(5)
['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__format__', '__getattribute__', '__getnewargs__', '__hash__', '__hex__', '__index__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', '__mod__', '__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'imag', 'numerator', 'real']
>даже на x86/x86_64?
а то ты его много на мипсах или поверах видел.
>>даже на x86/x86_64?
> а то ты его много на мипсах или поверах видел.я его и на интелях предпочитаю видеть поменьше. но собрать-то можно, полагаю.
>вы вот сидите на KDE (например), и мы же (Гномеры) вас не трогаем.
>вы просто достали уже! :-/Как же, не трогаем. Это вам, ребята, за троллинг про плазму и KDE4.x != KDE4.
> Python же, ну.а что -- его разве запретили в Gnome? o_0
> Python же, ну.Если заменить отстой на еще больший отстой - лучше не станет. Питон - тупой интерпритатор, даже без JIT, поэтому программы на нем - еще тормознее чем на JS.
А как же Vala?
думаю его тоже не удалят.это кстате отличный выбор для экспериментаторов и исследователей..
но если каждого новичка вместо того чтобы просто выучить новые библиотеки (и некоторые нюансы реализации JS) -- ещё и заставлять учить новый язык -- то этот новичёк лучше выбирет Qt и пошлёт Gnome подальше...
...потому что как это обычно бывает -- программу надо сделать уже вчера, а тут оказывается нужно [помимо всего прочего] ещё и новый язык выучить!
Этот язык после C# ботается за пару дней, он буквально скопирован с C# 4.0
> Имеется успешный опыт применения JavaScript для аналогичных целей в таких системах, как Windows 8, Firefox OS, webOS, Tizen
> webOS, Tizen
> успешный опытК успеху и GNOME пошёл, очевидно же.
И чем им Vala не сдался, вон у http://elementaryos.org всё хорошо (хм, в данный момент лежит, видимо под столом).
Для склеротиков: Gnome App == Micro$oft Аpp, т.е. html5 +css + JS? Если так, то вполне логично.
У MS свой DOM. И вообще, переходили бы на QML ради такого "кроссплатформия".
> У MS свой DOM.У GnomeOS свой DOM. У FirefoxOS свой DOM. У WebOS свой DOM. У iOS тоже свой "DOM". А современный "разработчик" точь в точь как пёс-бродяжка - бегает с высунутым языком от DOMа к DOMу в поисках очередного огрызка сосиски.
Ну он знал на что шел. Хотя майкрософту можно почаще фак показывать. По другому они не понимают. Выкидываешь табличку "this browser is unsupported, скачать нормальные - вон там" и все :)
Вы наверное забыли что до MS были другие, кто использовал этот стек технологий?
Последние конвульсивные подергивания. После этого у них перед каким-нибудь вебосом преимуществ ровно 0. Оно и к лучшему - пусть сдохнет наконец.
> Последние конвульсивные подергивания. После этого у них перед каким-нибудь вебосом преимуществ ровно 0. Оно и к лучшему - пусть сдохнет наконец.софт отличается друг от друга -- главным образом НЕ идеей -- а своей реализацией.
чем более продуманная реализация -- чем значит лучше софт.
а всякими модными словами -- "HTML5/JS/CSS" -- можно завлекать только до тех пор, пока дело не дошло до практического использования этого софта.
....это я намекаю на то что у Gnome (как у софта, так и у сообщества) -- долгая история и богатый технологический опыт.
а у WebOS (и прочего подобного) -- нет ничего.никуда из Gnome не делись другие языки программирования.
и технологический опыт -- тоже не делся никуда. тонны документации уже написанно в интернетах, и детских ошибок исправленно -- целые горы.
а у молодых WebOS-alike -- что в свою защиту они могут сказать?
десктоп хорош своей скоростью, доверием компонентов друг другу и богатством функционала. Но он также порождает сложность, а уж проекты вроде гнома, с богатой историей - сложность у них неслабая. Вебовские штуки, с другой стороны, дают иллюзию простоты. А дальше начинается психология - на JS идут те, кто надеется на простоту. Как вы думаете, куда эти люди пойдёт - на гном или на хромось/вебос/тому подобные? И в плане маркетинга всё плохо - как ты будешь объяснять, чем гном лучше, чем хромось какая-нибудь? Чем хуже понятно - за ним нет продвигающего его гугла.Сейчас если хочешь выжить как десктоп - надо максимально дистанцироваться от js/html, при этом давая доступ не только к десктопным, но и вебовским возможностям - плагинами и тому подобным. И позиционироваться примерно так: На бегу вы можете и в планшетик с HTML поглядеть, но дома ли на работе ля вас есть мощное, удобное окружение, которе не зависит ни от провайдера, ни от погоды на Марсе - а только от вас и ваших желаний, и с ним можно взаимодействовать много и удобно.
ну с маркетинговой (не технической) точки зрения -- мне тоже интересно что из этого всего выйдет :)
> ну с маркетинговой (не технической) точки зрения -- мне тоже интересно что
> из этого всего выйдет :)Ничего хорошего, имхо. На подкованных пользователей маркетинговый буллшит не действует, а ламерье и школие уже давно разбежалось по уютным быдлофончикам, вебне и ведроидам и какой-то там гном им не очень то и упал.
> обоюдное согласие участниковИх что, всего двое там сидело?
> Их что, всего двое там сидело?В состоянии что-то выбрать - да.
http://www.youtube.com/watch?feature=player_embedded&v=lVpmZ...
Лизергин выбран в качестве основного стимулирующего средства разработчиков GNOME.
> Имеется успешный опыт применения JavaScript для аналогичных целей в таких системах, как Windows 8, Firefox OS, webOS, Tizen и KDE, что, как надеется команда разработчиков, упростит работу новых членов команды GNOMEдва чаю этому господину. лучше не скажешь. восьмерка, правда, еще не окончательно к успеху пришла, а остальные да.
> Имеется успешный опыт применения JavaScript для аналогичных целей в таких системах, как Windows 8Можно, пожалуйста, подробнее об успешном опыте применения. В особенности интересуют реализованные на JS для Win8 приложения уровня Firefox, Adobe PS, Autodesk, etc. Приложения уровня "калькулятор", "курс акций/валют", фотовьювер во весь экран - не интересуют.
> особенности интересуют реализованные на JS для Win8 приложения уровня FirefoxДа не вопрос. Например, Firefox для Win8. Весь UI написан на JS.
> Да не вопрос. Например, Firefox для Win8. Весь UI написан на JS.Обращение к элементам UI не интересует, интересует логика и системка.
Логика тоже на JS. Всех расширений и самого браузера. Вся обработка внешних событий и т.д. На C++ самая системка (ядро рендеринга, сетевое ядро, близкие к этому вещи и, собственно, движок JS).
А что вы, собственно, хотели? Чтобы движок JS был написан на JS?Из крупных проектов на JS еще есть IDE Komodo (внутри движок рендеринга из Firefox, все внешнее - то, что на JS - переписано и создан редактор). Еще есть довольно фичастый музыкальный плеер SongBird. Опять же, собственно код декодеров аудио и сетевой движки там на C/C++ (по очевидным причинам), на JS интерфейс и логика.
Если для вас "переписать UI и логику на JS так, чтобы на основе движков рендеринга из браузера сделать IDE или музыкальный проигрыватель" не убедительный пример того, что логика под UI написана на JS, я и не знаю, что говорить.
> Да не вопрос. Например, Firefox для Win8. Весь UI написан на JS.У них он и раньше был на xul + js. И к нему всегда было много претензий, потому что он тормозит и его клинит. А так все хорошо, прекрасная маркиза...
> Приложения уровня "калькулятор", "курс акций/валют", фотовьювер во весь экран - не интересуют.почему не интересуют? потому что калькулятор у вас на сотовом телефоне есть? :)
а вдруг не будет сотового телефона под рукой? :-) :-)
и "курс акций/валют" мне кажется тоже обидили зря!
> почему не интересуют? потому что калькулятор у вас на сотовом телефоне есть?
> :)
> и "курс акций/валют" мне кажется тоже обидили зря!Цветной текст + простая рамка - "Applications" уровня html4+css. В чём отличие App от pure html в браузере?
предположим мне надо написать программу уровня "поглядеть курс акций/валют".1. я захожу на LOR/OpenNET и гипотетически спрашиваю:
"ребят! а на чём пишут программу для Gnome? случаем не на Javascript?"2. а мне гипотетический собеседник отвечает:
"НЕТ! ни в коем случае не используй Javascript! потому что на нём пишут программы только уровня калькулятор и курсы валют!!":-)
> предположим мне надо написать программу уровня "поглядеть курс акций/валют".
> 1. я захожу на LOR/OpenNET и гипотетически спрашиваю:
> "ребят! а на чём пишут программу для Gnome? случаем не на Javascript?"
> 2. а мне гипотетический собеседник отвечает:
> "НЕТ! ни в коем случае не используй Javascript! потому что на нём
> пишут программы только уровня калькулятор и курсы валют!!"Ты думаешь, ты сможешь впредь получать ответы квалифицированных спецов, отвечая своими же вопросами себе самому?
ОКЭ, хорошо, я буду задавать вопросы для квалифицированных специалистов -- от другово логина! [и использовать spell_checker, чтобы зашифроваться ещё шипче!]# P.S.: стоп, погоди. а [вымышленный] гипотетический собеседник -- это квалифицрованный специалист или нет?
> # P.S.: стоп, погоди. а [вымышленный] гипотетический собеседник -- это квалифицрованный
> специалист или нет?Для начала определись с кем ты беседуешь - с вымышленными, гипотетическими, реальными или какими другими собеседниками. Затем уже предметнее можно будет поговорить.
> В чём отличие App от pure html в браузере?первое *существенное* отличие которое пришло в голову (правда первое пришло не оно :)):
1. pure HTML -- работает в web-браузере :)
Большинство пищущих здесь удивленные комментарии вообще в курсе, что JavaScript уже как заметно больше года главный скриптовый язык Gnomе? То есть эта новость просто констатация факта, что выбор JavaScript оправдал себя в среде Gnome.
Куда там, тормоза DOM от JS бы отличить.
> Куда там, тормоза DOM от JS бы отличить.да этот JS выучить бы для начала.
тем хуже для гнома. Взять язык с кучей известных странностей для написания приложений на десктопе, где можно выбрать что-то получше, забив на свою валу... станно, мягко говоря.
Может в производительности дело?
> Может в производительности дело?скорее в том, чтобы привлечь «вебкодеров». на этой волне поднялась нода, на ней же пытаются выехать и гномовцы.
В сравнении с компилируемой в C валой? Вот её бенчмарки (там есть в сравнении с плюсами): http://code.google.com/p/vala-benchmarks/wiki/BenchResults - разница копеечная, причем часто - в пользу валы. Теперь смотрим на различия плюсов и джаваскрипта: http://benchmarksgame.alioth.debian.org/u32/benchmark.php?te...Так что JS никак не производительнее валы.
Да не в производительности дело :) У Gnome практически весь оконный менеджер написан на JavaScript. Все дело в удобстве написания: вместо того чтобы все базовые библиотеки и вызывающие высокоуровневые функции писать на том же C, прошло разделение - все библиотеки GTK остались на C, а все высокоуровневые конструктивы были переписаны на скриптовый язык. В таком подходе отлаживать и писать код получается значительно быстрее. Был выбран JavaScript, а не тот же Python, поскольку у Python-а есть очень сильная привязка к сопустствующим библиотекам, в частности. Но, волноваться не стоит, GObject Introspection никто не отменял, так что "байндинги" позволяют вам писать в Gnome на чем хотите - Python, Vala и т.п.
Оконный менеджер на JS O_o? Можно поподробнее?
> Оконный менеджер на JS O_o? Можно поподробнее?а в чём проблема? какая разница, на чём, собственно? при наличии враперов к иксам — хоть на gwbasic'е из-под DOSBox, был бы драйвер коммуникации.
>> Оконный менеджер на JS O_o? Можно поподробнее?
> а в чём проблема? какая разница, на чём, собственно? при наличии враперов
> к иксам — хоть на gwbasic'е из-под DOSBox, был бы драйвер
> коммуникации.Я не о проблеме, а о том что впервые слышу об оконном менеджере на JS.
Скорее всего тут перепутали *дисплейный* менеджер LightDM с *оконным менеджером* (Compiz etc)
> Я не о проблеме, а о том что впервые слышу об оконном
> менеджере на JS.а. пардон, я не понял правильную причину удивления.
да и LightDM тоже не при чём, думается. впрочем, это уже исходники гнума читать надо, а это без доплаты то ещё удовольствие.
Полная деградация гнома.
> Имеется успешный опыт применения JavaScript для аналогичных целей
> в таких системах, как Windows 8, Firefox OS, webOS
> ...
> JavaScript прекрасно отвечает потребностям GNOMEВектор движения понятен.
> Вектор движения понятен.Хомячковое DE вырисовывается. Вот только где же у них в пользователях хомячки? Вот потому и теряют пользовательскую базу с рекордной скоростью.
>На состоявшемся на днях съезде GNOME Developer Experience Hackfest команда разработчиков GNOME рассмотрела вопрос выработки рекомендаций по выбору языка программирования для разработки приложений, создаваемых для работы в GNOME.Мотивом определения рекомендованного по умолчанию языка стали участившиеся вопросы начинающих разработчиков о том, какой инструментарий надо использовать при написании приложений для GNOME.Разработчики,которые не знают на чём им писать,похожи на юнцов,которые не знают где им посс*ть.И матёрые гномеры,походу,как-то прикольнулись,или просто не
нашли другого ответа на подобные вопросы.
Картина Репина "приплыли". Всю ночь грeбли, а лодку отвязать забыли. Если раньше гномовские приложения были шустрее кедовых, то теперь гномеры кажется решили исправить это упущение.
Надо спасать GNOME от нашествия "начинающих разработчиков".
Всё закономерно.
Сначала реестр, потом systemd, теперь java...
На очереди NTFS и kernel.dll
Лучше CoffeeScript. Он красивее.
Это новость-детектор, сразу видно кто из местных хейтеров знает GNOME, а кто нет.
> Это новость-детектор, сразу видно кто тут школие падкое на маркетинговый буллшит.//little obvious fix.
А чем он лучше Perl для конкретно этой задачи?
> А чем он лучше Perl для конкретно этой задачи?Скоростью исполнения?
> А чем он лучше Perl для конкретно этой задачи?Ничем: оба подходят для нее как топор для заплыва по реке.
Не могу избавиться от мысли о GIMP на JavaScript, плавно переходящей в мысль о суициде...
> Не могу избавиться от мысли о GIMP на JavaScript, плавно переходящей в мысль о суициде...Да вон в лисе сделали вьюху на JS. Зашибись, оно большой пдф рендерит минуту на мощном проце. И каждую страницу еще секунд по 20. И некорректно. А evince открывает этот же пдфник МГНОВЕННО. И намного корректнее. Вот уж нафиг такое "счастье" - отключил встроенный просмотрщик к ...ням собачьим.