Компания Microsoft опубликовала (https://community.skype.com/t5/Linux/What-s-New-in-Skype-1-1...) очередной альфа-выпуск новой редакции Skype для Linux, переведённой на использование web-технологий и протокола WebRTC (приложение построено на базе платформы Electron и является надстройкой над Chromium и Node.js, в которой выполняется расширенный web-клиент Skype). Для загрузки подготовлены 64-разрядные пакеты в формате DEB (https://www.skype.com/en/download-skype/skype-for-linux/down...) и RPM (https://www.skype.com/en/download-skype/skype-for-linux/down...).
Новая версия примечательна добавлением возможности совершать видеовызовы (прошлые альфа-выпуски ограничивались (https://www.opennet.ru/opennews/art.shtml?num=44783) текстовыми сообщениями и голосовыми звонками). В новом выпуске поддержка видеозвонков помечена как экспериментальная и может использоваться только для связи двух абонентов, использующих альфа-ветку Skype for Linux (при соединении с другими вариантами клиентов видеовызовы не работают). Одновременно с новым выпуском компания Microsoft заблокировала работу старых выпусков Skype for Linux 1.1-1.6, пользователям которых следует произвести обновление до новой версии.
URL: https://community.skype.com/t5/Linux/What-s-New-in-Skype-1-1...
Новость: https://www.opennet.ru/opennews/art.shtml?num=45300
>>В Skype для Linux 1.10 появилась ограниченная поддержка видервызовов
>>видервызововЖесть какая. Впрочем, не понимаю, что эта галимамая поприетарщина делает на opennet?
>приложение построено на базе платформы Electron и является надстройкой над Chromium и Node.js, в которой выполняется расширенный web-клиент SkypeВот это действительно жесть.
Я понимаю ,что программисты/манагеры не хотят работать, а хотят бабла рубить, но совесть то надо иметь.
>программисты/манагерывот именно, что манагеры, по недоразумению/недомыслию считающие себя программистами.
>>программисты/манагеры
> вот именно, что манагеры, по недоразумению/недомыслию считающие себя программистами.Было бы интересно полистать ваш git.
Ссылку дадите?
Полистать гит? Гитхаб может?
> Гитхаб может?Конечно, может. И bitbucket тоже может. И даже webgit на домашнем сервере может. Все могут.
WhatsApp, Slack, Skype — все на Electron. И каждый — в своём экземпляре браузера со своей версией Node.js.
> WhatsApp, Slack, Skype — все на Electron.Телеграм на qt. И это здорово
>> Телеграм на qt.Оф. клиент? Неправда, не на Qt он.
> Оф. клиент? Неправда, не на Qt он.Попробуй хотя-бы на их гитхаб сходить, чудак.
https://github.com/telegramdesktop/tdesktopда вроде qt. Хотя какая разница если потребляет памяти меньше в шесть раз чем слак
> меньше в шесть раз чем слакхотя вру, сейчас на моем рабочем компе отличие примерно в 12 раз.
>> Оф. клиент? Неправда, не на Qt он.
> Попробуй хотя-бы на их гитхаб сходить, чудак.Оно пока что только под стол и под себя может.
>> Телеграм на qt. И это здоровоХоть и не на Qt, но и не веб-клиент. Вот вторая половина предложения - это здорово.
А на чем?
> WhatsApp, Slack, Skype — все на ElectronElectron - это та хрень с ga.js в комплекте? Просто интересно.
>>> не хотят работатьУ вас лично проблемы с JS? Какие именно?
Очень простые - он до сих пор не подох
Он и не подохнет ближайшие лет 50.
К 2020 году по моим аналитическим рассчетам количество легаси кода на js станет самым большим количеством кода на одном языке в истории человечества.
Хотите вы того или нет, но js это наша реальность и за наши жизни он никуда не денется.
Не станет. Из-за стремления жаваскриптеров постоянно переезжать каждые 2 месяца на очередной новый фреймворк, легаси очень быстро дохнет.
Но сам Javascript при этом остаётся. Его уже никто не читает, это что-то типа кодов неведомой машины... METAL.
Какие с JS проблемы? В нем собрали почти все грабли которые вообще можно собрать в ЯП!!!
1) Он не может быть быстрым и даже очень навороченные оптимизаторы дают довольно посредственные результаты пожирая гигазы оперативки и нагружая проц.
2) Он позволяет легко сравнить доски с шурупами и получить результат, не пикнув что програмер хотел чего-то странного. Очень доставляет большим проектам. Отдельные эстеты городят суперкостыли типа Dart и TypeScript. Но раз пошла такая пьянка, может быть это стоило бы переделать не через такую жёппу на костылях?
3) В нем штатно нет ни модулей ни библиотек. В ноде прилепили какие-то костыли. Но в вебе эти костыли не работают.
4) Работать с бинарными данными в нем не то чтобы совсем невозможно, но глядя на такую порнографию, C++ покажется простым и логичным ЯП, пожалуй ;). Потому что выглядит менее страшно и костыльно.
А у меня всё работает.
И на Ноде тоже.
И в больших проектах.
leftpad свой уже написали?
> А у меня всё работает.
> И на Ноде тоже.
> И в больших проектах.Забойные аргументы, только это напоминает южного парня на шохе с наклейками спарцо. Тот тоже жжот резину входя юзом в перекресток, показывая всему миру что у него все работает и вообще крутая тачила.
> 1) Он не может быть быстрым и даже очень навороченные оптимизаторы дают
> довольно посредственные результаты пожирая гигазы оперативки и нагружая проц.Он очень быстр для скриптового языка. Или ты его с С сравниваешь?
> 2) Он позволяет легко сравнить доски с шурупами и получить результат, не
> пикнув что програмер хотел чего-то странного.Это позволяет сделать подавляющее количество языков. Сильная типизация это редкость. Кстати, в С ее нет.
> 3) В нем штатно нет ни модулей ни библиотек. В ноде прилепили
> какие-то костыли. Но в вебе эти костыли не работают.Это недостаток, но гибкость языка позволяет добавить эту возможность, в том числе и в веб. А как с возможностью отучить С от разделения на .h и .c?
> 4) Работать с бинарными данными в нем не то чтобы совсем невозможно,
> но глядя на такую порнографию, C++ покажется простым и логичным ЯП,
> пожалуй ;). Потому что выглядит менее страшно и костыльно.А оно ему надо? Вон С не умеет нормально работать со строками, выкидывать?
> Он очень быстр для скриптового языка.Я не понимаю почему кто-то смеет требовать себе какие-то скидки, имеючи при этом адовый jit-компилятор жрущий ресурсов как три gcc. Синдром утенка долбит?
> Или ты его с С сравниваешь?
Можно и с C. А почему я не должен сравнивать с ним? Если C позволяет получить из той же машины в разы больше - значит JS тормозной.
Что до скриптовости - typescript и dart докатились до препроцессинга и чуть ли не половины фазы компиляции, jit компилятор который ресурсов трескает не хуже gcc какого. Только еще и в памяти висит всегда, в отличие от gcc который AOT и после того как закомпилит - отвалит из памяти "навсегда". Жеппоручки имени js даже какие-то эрзацы make родили. Emscripten всякие - изипнулись сделать из js IR, только он полчился такой же бамбуковый как и остальное у веб-макак, вобрав в себя все недостатки технологий без каких либо достоинств.
Я понимаю что скрипткидям хочется ощутить себя взрослыми, на равных с теми кто нормальные тулсы делает, вот и делают самолеты из бамбука. Но летные качества у бамбуковых самолетов - #$%нуться с обрыва. Для сородичей по племени даже это кажется крутым, но работающие турбины у бамбуковых не очень получаются. Лошки таскают воду в хижину на хребте. Потому что не могут даже ветряную мельницу и примитивный водопровод.
> Это позволяет сделать подавляющее количество языков. Сильная типизация это редкость.
> Кстати, в С ее нет.В си этот момент забавен. Если ты уверен что хочешь доски и гвозди вместе - можно зафорсить. Позволяет избавиться от мозготраха инструментарием там где надо (паскалеобразные нещадно сожрут в такой ситуации мозги и процесс превращается в борьбу с инструментом). На си можно написать бутлоадер который разберет какой-нибудь ELF файл и не поперхнется его разложить в правильные адреса и запустить. Какой у секции ELF уталкиваемой в адрес памяти 0x200000 формальный тип?
А на JS - сначала задолбаешься бамбуковый самолет строить, а потом обнаружишь что он летать не может принципиально. Патамучта двигателя нету и про аэродинамику папуасы не слышали, лол.
> Это недостаток, но гибкость языка позволяет добавить эту возможность,
Только скрипткидиз может что-то такое назвать гибкостью.
> в том числе и в веб.
В результате либ в нормальном виде не сложилось. Сложились бамбуковые самолеты. Почти как настоящие, но летают только с обрыва.
> А как с возможностью отучить С от разделения на .h и .c?
Посмотри на какое-нибудь LZO или UCL от маркуса оберхамера. Старый извращенец тебе и приколы типа .ch файлов покажет. Мало? Ну тогда посмотри на либу lodepng.h. Веселая такая "либа" - состоит из одного .h файла, который просто #include'ится в свою программу.
В си многие вещи не прибиты на гвозди, просто есть некие джентльменские договоренности которые условились соблюдать. Для удобства и возможности реюзать чужой код. У вебмакак даже с этим вышел конкретный факап.
> А оно ему надо?
Компьютеры оперируют значениями от 0 до 255. Есть множество форматов данных использующих полный диапазон значений. Практически любой алгоритм сжатия или шифрования, например. Неиспользование полного диапазона значений сильно нагибает скорость, усложняет кодирование/декодирование и ощутимо раздувает результат в размере (что для например сжатия вообще убивает смысл затеи). И JS получается как бы быстрый и как бы все может. Но даже реализовать на нем декодер формата поддержки которого нет в системе и/или браузере - редкостная джеппа почему-то. Что, утята, ваш бамбуковый самолет почти как настоящий, но летает только с обрыва? :)
> Вон С не умеет нормально работать со строками, выкидывать?
По сравнению с JS он пожалуй не так уж плохо с ними работает. По крайней мере, единственное что требует специальной обработки в дефолтной реализации это код 0x00. Не говоря о том что желающие могут запилить (или подключить запиленное кем-то еще) по вкусу. Нуакули, это ж не js, там можно и строки себе какие удобно запилить и это не будет тормозить, заметим.
А так в порядке порнографии - на JS есть например парсер OSM PBF и прочих vector tiles. И как бы например планета от OSMщиков в XML весит под 300 Гб (да, "текстарь" в треть терабайта, удачи в его редактировании, хаха). А pbf как бы 30Гб. В 10 раз меньше. С vector tiles такая же фигня. Да и мысль выпихнуть весь рендер от и до на клиента оставив серверу только отгрузку статики - забавная по своей наглости. Весь тормозняк достается клиенту, сервер может хоть на raspberry pi работать, если статику vector tile-ов успевает в интерфейс пхать. Смешно же - никаких баз, никакого парсинга. Отгрузка файликов по индексу, а дальше клиент сам вкалывает от и до. Вишенка на торт - ты попробуй код таких штук почитать. Знаешь, на фоне этого даже плюсы покажутся простым и логичным языком. Потому что на JS с бинарными данными работать можно, но - порнографически, особенно если еще и с fallback на случай если нет типизированных массивов. Там вообще крыша съедет.
Чтобы было более дато - в js нет препроцессора. Поэтому никаких аналогов #define там нет. Можно сколхозить эрзац, но самолетик будет бамбуковый. Да что там, const вон запилили. Только он тоже получился как обычно у вебмакак. Зачем нужна константа которая не очень то и констифицирует? Я не понял, честно-честно.
Если у си накопились скелеты в шкафу то в js не мелочатся и сразу выводят вызывающего дикий ужас мутанта. Который в виде скелета будет пожалуй менее стремным ;)
От того, что ты десять раз скажешь сахар, во рту сладко не станет. От того, что ты десять раз повторишь про бамбуковый самолет, веб-макак и без понимания смысла употребишь слово скрипткидиз, утверждение "В нем собрали почти все грабли которые вообще можно собрать в ЯП!!!" не станет доказаным.
> не станет доказаным.Послушайте, я знаком с несколькими языками не слишком глубоко (OCaml, Java, Lua, Rust, JavaScript, PHP) и очень глубоко с C++ и отдельно с С. И я могу сказать, что C++ (и С) не идеал. Но не нужно доказательств, где больше грабель или меньше - это видно на мало-мальском проекте для продакшена. И JS тут уступает разьве что PHP. Я не буду тут указывать на закономерности, умному достаточно. Просто, "доказательства" - это что по вашему?
клоун: Многие "грабли" являются следствием непонимания языка. Его архитектуры, подходов к разработке, предметной области и пр.В C++ ты пишешь #include "PATH_FILE", а в java import my.loc.pork.new - это разные идеологии, разные подходы к решению одной проблемы. Не исключаю, что есть на свете ЯП где можно вообще без include, просто сложив файлы проекта в одну папку и подпапки. Привыкнув к одному из подходов, тебе будет неудобно пользоваться другими.
Аналогично с мягкой и жёсткой типизацией. Преимуществ и недостатков у них равное количество.
Тебе не нравится, что можно помножить число на строку, а меня раздражает, что деление на 3 приводит к логической ошибке, а на 0 - к ошибке выполнения. И я не вижу проблемы сравнить строку с числом - они не равны (независимо от значения в них), результат будет FALSE, но сравнить то их можно!
И чем сильнее различаются языки (напр. компилируемый универсальный и скриптовый предметно-ориентированный), тем больше в них будет таких различий.
>> сравнить строку с числомвот такие парни как ты в нашей канторе хранят числовые значения в базе данных как строку. иди в Ад!
клоун: Мягкая типизация есть только в коде. При записи в БД значения преобразуют к требуемому типу.Мягкая типизация позволяет сосредоточиться на программировании вместо борьбы с компилятором. Если тебе нужен класс для работы с L2 он пишется 1 раз и работает с любыми типами данных: структуры, массивы, строки, числа, с чем угодно.
Любая структура в любой момент может получить любое количество полей. Это очень похоже на XML или HTML:
a href=URL
img src=PATH width=X height=Y
if(tag.name='a') URL = tag.URL
else if(tag.name='img') width=tag.width;И наоборот, ты заполняешь только то, что тебе нужно:
tag.name = 'img';
tag.path = 'PATH';Если реквизита нет, он будет создан. Если обращаешься к пустому, считаешь незаполненное значение, которое потом корректно сравнится со строкой и условие tag.name='a' не вылетит с ошибкой даже если tag.name не заполнен.
По сравнению с жёсткой типизацией, это избавление от оков синтаксиса и начало чистого творчества.
> Мягкая типизация позволяет сосредоточиться
> Любая структура в любой момент может получить любое количество полей.Кое-кто, не буду невежливо тыкать пальцем, совсем не делает различия между динамичной и слабой типизациями, (тот же питон -- классический пример динамичной, строгой типизации).
Но мнение на счет (не)нужности имеет ))> По сравнению с жёсткой типизацией, это избавление от оков синтаксиса и начало
> чистого творчества.Результирующий, «сбросивший» оковы, «творческий» код ... даже представить страшно.
клоун: А мне страшно видеть вот такое:template <int I>
template <int J>
Templ<I>::operator Templ<J>&()
{
return reinterpret_cast< Templ<J>& > (*this);
}Это же как нужно рехнуться, чтобы писать такой бред! И ради чего? Это так один тип преобразуется к другому.
А ты видел когда-нибудь реализацию L2 списка с разными (неизвестными на этапе компиляции) типами данных?
Это когда от класса ГеометрическаяФигура наследуются Круг, Квадрат, Треугольник. Затем от Круг наследуем Овал. А теперь хотим хранить овалы, треугольники и квадраты в одном L2 и рисовать функцией Нарисовать(), которая есть у родительского класса и перегружена в дочерних.
Прикол в том, что компилятор не хранит тип переменной, поэтому ссылку на родительский класс нужно привести к типу дочернего класса. Т.е. в родительский класс записать переменную, которая бы хранила ссылку на шаблон типа дочернего (ещё не определённого) класса. А потом нужно её заюзать на этапе исполнения без switch по всем типам классов. Попробуй на досуге. Только мозги не сломай.
Некоторые статические языки позволяют опускать определение типа с которым работают, и выводят его автоматом. то есть, например, у вас есть метод:string stringify<T>(T obj){
return obj.ToString();
}вызывать вы его будете как
var someName = stringify(realObj);
можно так
string someName = tostring<MyType>(realObj);В итоге в коде будет статическая типизация без явного указания типов.
А вообще, я бы всегда явно указывал типы всех переменных, с которыми имею дело. Так приучаешься давать более осмысленные названия. Но это дело вкуса.
И вообще, если вам страшно, займитесь чем-нибудь другим, например пойдите в брадобреи или устройтесь лесником.И перестаньте писать слово клоун перед каждым сообщением.
Мы и так неявно выводим ваш тип
>И перестаньте писать слово клоун перед каждым сообщением.
>Мы и так неявно выводим ваш типухохотал :-D
> похоже на XML или HTML:
> a href=URL
> img src=PATH width=X height=Y
> if(tag.name='a') URL = tag.URL
> else if(tag.name='img') width=tag.width;В каком месте энтот высер является HTML? И какому из стандартов HTMLей этот высер соответствует? А то я ни одного тэга тут не вижу - странный какой-то HTML получается.
А теперь пойди и расскажи авторам sqlite как правильно писать код. Разумеется после того, как сможешь написать что-то хоть в половину такой же эффективный и надежный продукт.
Ты вообще в курсе, что в машине числа имеют не десятичное, а двоичное представление и для float это порождает любопытные проблемы?
> А теперь пойди и расскажи авторам sqlite как правильно писать код.Яаскриптер теперь и рассказывает о достоинствах сишечки? :) А теперь иди и напиши такое же на JS, кидиз. Тогда мы поговорим из какого материала твои самолеты. А потом еще можно бенчмарков сделать, лол.
Кстати заметь: скулайт можно подцепить ко всему что шевелится, было бы желание. А кусок крапа на js - попробуй прицепи этот крап куда-нибудь кроме JS, собственно. Это называется code reuse, но у жабаскриптеров про это не слышали.
Поэтому если мне потребуется мелкая бд, на сишечке - я подцеплю этот скулайт как два байта переслать. А если мне нужно что-то такое же в вебне - это эпикфэйл и попадалово, потому что в лучшем случае можно надеяться что браузер низкоуровневым кодом сам это реализует. А припереть сравнимую имплементацию на JS - блин, самолет бамбуковый и хорошо летает только с обрыва. Теоретически коненчо можно и JS обтянуть парусиной и аэродинамическую форму придать. Но практически проще будет реализовать это как-то иначе.
> Разумеется после того, как сможешь написать что-то хоть в половину такой же
> эффективный и надежный продукт.Если ты такой защитничек яваскрипта - покажи как на нем можно сделать продукт сравнимый с скулайтом хотя-бы вполовину.
> Ты вообще в курсе, что в машине числа имеют не десятичное, а
> двоичное представление и для float это порождает любопытные проблемы?Проблемы с этим в основном у вебмакак и прочих скрипткидизов. Остальные понимают как это работает и не парятся особо. Ну да, могут потребоваться какие-то сериализаторы из транспортного формата в рабочий. И можно было бы побухтеть про костыли, но - не яваскриптерам. Которые при первом намеке на такие поползновения посылаются читать парсер OSMного PBFа для понимания того как все это может выглядеть у них :)))
> Яаскриптер теперь и рассказывает о достоинствах сишечки? :)На С я писал примерно лет за десять до знакомства с js. Но ты можешь продолжать воевать с ветряными мельницами, это забавно.
> А теперь иди и напиши такое же на JS, кидиз.
> Если ты такой защитничек яваскрипта - покажи как на нем можно сделать
> продукт сравнимый с скулайтом хотя-бы вполовину.Зачем? Если ты настолько туп, что не можешь освоить ничего кроме молотка, то это не значит, что и остальные должны его использовать вместо отвертки, лобзика, долота и кучи других инструментов.
> Кстати заметь: скулайт можно подцепить ко всему что шевелится, было бы желание.
> А кусок крапа на js - попробуй прицепи этот крап куда-нибудь
> кроме JS, собственно. Это называется code reuse, но у жабаскриптеров про
> это не слышали.Ты не поверишь, но фронтенд на js легко цепляется к бекенду на любом ЯП. Именно это является основной причиной популярности вебинтерфейсов.
> Проблемы с этим в основном у вебмакак и прочих скрипткидизов. Остальные понимают
> как это работает и не парятся особо. Ну да, могут потребоваться
> какие-то сериализаторы из транспортного формата в рабочий.То есть ты вообще не понял о чем речь. Зато от пафоса вот-вот лопнешь.
P.S. Хотел тебе еще раз напомнить, чтобы ты посмотрел значение слова скрипткидиз, но вспомнил, что тебя в гугле забанили. Продолжай и дальше демонстрировать свое невежество.
> На С я писал примерно лет за десять до знакомства с js.Этот пример иллюстрирует лишь то что си - не такой уж и сложный. Просто эффективно и комфортно пользоваться сишечкой получается не у всех, скрипткидизы испытывают там джеппаболь. В си удобно и комфортно системщикам, а к недопрограммистам не понимающим как работают компьютеры - си суров, колюч и недружелюбен. Это нормально.
В общем сколько ни газуй хилым движком на повороте - даже отрывание глушака не поможет. Да и восприятие придурка с наклейками спарцо, ревущего двиглом - не такое как хотелось бы этому придурку.
> Но ты можешь продолжать воевать с ветряными мельницами, это забавно.
Я по-моему всего лишь озвучил почему я считаю JS гхэвном. Это вызвало конкретную джепаболь у утят, которые понеслись доказывать что не такой уж он и плохой. Ну да, JS быстрый. Если с питоном сравнить. Только радости то с этого? Ни на том ни на другом не напишешь декодер формата которого в системе нет. И получается что рантайм как бы есть но годен только для игрушечной бамбуковой куйни и сдувается на любой более требовательной задачи. Что досадно, потому что наворочено там уже весьма и весьма и скидки таким монстрилам не полагаются.
> Зачем?
Ну как, хороший ЯП должен наверное позволять делать себе хорошие компоненты если вдруг их изначально в рантайме их в желаемом виде не оказалось. А если яп такого не позволяет - он таки совсем уж неполноценное гхэвно для скрипткидизов. Такой себе васик для неполноценненьких.
> Если ты настолько туп, что не можешь освоить ничего кроме молотка,
> то это не значит, что и остальные должны его использовать вместо
> отвертки, лобзика, долота и кучи других инструментов.Ты не понимаешь. Когда нужного инструмента еще нет на планете - некоторые могут взять и сделать этот инструмент. А другие пролетают и до скончания веков тыкают землю палкой-копалкой и строят самолеты из бамбука. Мне такой подход не нравится. Плохо если инструмента не хватает, а сделать его невозможно или получается гхэвно. Оказывается вот что лобзика нет. Т.к. либ в js не сложилось - да там вообще пустой ящик для инструмента. В нем есть какие-то зубы мамонта и лианы, ими и предлагается изобразить и лобзик и долото. Отвертки - "нинужна!!111". Закручивать ими нечего: библиотека "обработка металла" отсутствует а запилить все это самому - шибко утомительно.
> Ты не поверишь, но фронтенд на js легко цепляется к бекенду на
> любом ЯП. Именно это является основной причиной популярности вебинтерфейсов.Понимаешь, понятия о легкости - штука относительная. Прицепить JS можно к чему угодно. А вот чтобы это не было томозным кривым д3рьмом, генерящим сотни траффика (который денег стоит) - грабельки. А тем паче написать кодек, декомпрессор или парсер формата который системой не поддерживается штатно - вообще пипец. Что-то конечно получается, если как следует подолбаться, но смотреть на этот трэш без слез невозможно. Потому что наглухо неконкурентоспособно с нативным кодом получается. Невзирая на jit и проч, которые по сложности и аппетитам чего доброго gcc воткнут.
> То есть ты вообще не понял о чем речь. Зато от пафоса вот-вот лопнешь.
Почему же, я понял - на JS как максиму можно делать кривое лагучее гхэвно. Реально он годится для мелкой автоматизации странички эпохи веб 1.0. Все остальное на нем делать попросту батхерт и костыли.
> P.S. Хотел тебе еще раз напомнить, чтобы ты посмотрел значение слова скрипткидиз,
> но вспомнил, что тебя в гугле забанили. Продолжай и дальше демонстрировать
> свое невежество.Скрипткидиз - это кидиз который страдает легким скриптингом, но мнит себя крутым мегапрограмером, просто по определению. Впрочем отдельные уникумы умудряются остаться такими чуть ли не в пенсионном возрасте. Что их совсем не украшает, кстати.
> В си удобно и комфортно системщикам, а
> к недопрограммистам не понимающим как работают компьютеры - си суров, колюч
> и недружелюбен. Это нормально.Ну нельзя же так! *еле уклонился от потока жыра*
Кстати, доктор: мне всегда было удобнее и комфортнее в асме (но к сожалению, тут уже лет 10 все как в поговорке про слона " ... да кто ж ему даст!"). Это хорошо или плохо?
Спасибо, посмеялся. Это даже не пригорает, это натуральное жерло вулкана. Генерируй еще. Я тебе даже топлива подкину. Сишники вроде тебя пишут жутко уродливый, а главное тормозной код на PHP, Perl или JS. Даже те, у кого пых первый язык, пишут лучше.
> Rust, JavaScript, PHP) и очень глубоко с C++ и отдельно с
> С. И я могу сказать, что C++ (и С) не идеал.С этим никто и не спорил, просто у JS проблемы гораздо более фундаментальные и почти невозможные в починке. Там делают через анус все что можно через него сделать. Даже вот const запилили. Мало того что опциональный так еще defective by design с самого начала.
> Но не нужно доказательств, где больше грабель или меньше - это
> видно на мало-мальском проекте для продакшена. И JS тут уступает разьве что PHP.И то не факт. Хотя всякие facebook тоже пишут HHVM и hack наверное все-таки не от хорошей жизни.
> Но не нужно доказательств, где больше грабель или меньше - это
> видно на мало-мальском проекте для продакшена. И JS тут уступает разьве
> что PHP.Среди перечисленных языков(OCaml, Java, Lua, Rust, JavaScript, PHP) пожалуй да.
> Я не буду тут указывать на закономерности, умному достаточно.
> Просто, "доказательства" - это что по вашему?Уж точно не награждение эпитетами и взывание к эмоциям. Вообще доказать утверждение "В нем собрали почти все грабли которые вообще можно собрать в ЯП!!!" весьма проблематично. Предварительно нужно составить список граблей во _всех_ ЯП, причем грабли должны быть безусловными, а не как слабая и сильная типизации. А вот для опровержения можно протись по списку известных граблей для какого-нибудь языка и показать, что в js многих из них нет. Отлично подойдет "Why Pascal Is Not My Favorite Programming Language" или "PHP: A Fractal of Bad Design"
> Уж точно не награждение эпитетами и взывание к эмоциям.Если нечто выглядит как утка, плавает как утка и крякает как утка - мы называем это уткой.
> в ЯП!!!" весьма проблематично. Предварительно нужно составить список граблей во _всех_
> ЯП, причем грабли должны быть безусловными, а не как слабая и сильная типизации.Учитывая количество воркэраундящих типизацию в js - можно с уверенностью сказать что за грабли это считают как минимум гугл и мелкософт и еще сколько-то менее видных представителей. Запиливание всяких типизированных массивов - и вовсе формальное признание того что да, лажа вышла, вот вам блин костыль. Только костыль опциональный и кривой, как и все остальное у яваскриптеров.
Ты в вообще в курсе, что js относится к типизированным языкам? Слабая, динамическая, неявная типизация. Как и в большинстве скриптовых языков. Если ты фанат явной типизации, то это не значит, что другие виды однозначно плохие. Ну а мелкософту нужно переводить кодеров C# на js, а у них нет соответствующей культуры написания кода, вот и приходится создавать для них промежуточную форму.
> Ты в вообще в курсе, что js относится к типизированным языкам?А ты вообще в курсе что я класть хотел на формальные отбрехивания? Меня интересует насколько долбательно сделать то и се и насколько парашно оно потом работает. И вот с этой точки зрения JS тот еще трэш. Может дойти до феерии когда сделать то же самое на си и быстрее за счет подключения готовых либ и работает в разы лучше. Ну не позор ли для высокоуровневого ЯП? Там собственно плюсы от высокоуровневости извлечь почти и не получается.
> Слабая, динамическая, неявная типизация.
Да, все слагаемые для творческих узбеков - на месте. Поэтому код на JS выглядит как один сплошной джамшутинг.
> Как и в большинстве скриптовых языков.
Да я заметил что вебмартышки вообще любят запрыги по граблям. Сперва создадут себе проблем, а потом героически их решают, пытаясь выкопать беломорканал палкой-копалкой и решая проблему неэффективности увеличением числа мартышек и оптимизацией палки-копалки.
> Если ты фанат явной типизации, то это не значит, что другие виды однозначно плохие.
Они плохие потому что убивают производительность. Приходится в рантайме делать уйму проверок и дополнительных действий. И даже очень навороченные оптимизаторы затрудняются что-то с этим сделать.
> Ну а мелкософту нужно переводить кодеров C# на js, а у них нет соответствующей
> культуры написания кода, вот и приходится создавать для них промежуточную форму.Ой, учить майкрософт жабаскрипту... а ты не много на себя берешь, если вспомнить кто XMLHttpRequest придумал? :) Правда нынче мало кто именно XML через него гоняет, но общая идея остается.
Talk is cheap. Show me the code
Вот тебе вполне обычная для админа задача: "получить список через запятую всех поднятых ip на сервере". Реши ее на С, а потом я тебе покажу решение на скриптовом языке.
> От того, что ты десять раз скажешь сахар, во рту сладко не станет.Это все что ты имеешь сказать по делу? Технические аргументы кончились?
> От того, что ты десять раз повторишь про бамбуковый самолет,
> веб-макак и без понимания смысла употребишь слово скрипткидиз, утверждение "В нем
> собрали почти все грабли которые вообще можно собрать в ЯП!!!" не станет доказаным.Так я привел вполне конкретные примеры достаточно фатальных грабель, но ты предпочел прицепиться к веб-макакам и скрипткидисам с бамбуковыми самолетами. Наверное потому что по делу сказать все-равно нечего.
Смотри выше.
>> Он очень быстр для скриптового языка.
> Я не понимаю почему кто-то смеет требовать себе какие-то скидки, имеючи при
> этом адовый jit-компилятор жрущий ресурсов как три gcc. Синдром утенка долбит?
>> Или ты его с С сравниваешь?...
> Да и мысль выпихнуть весь рендер от и до на клиента оставив серверу только отгрузку статики - забавная по своей наглости....
пилять, и не только рендер, два контейнера виски этому контрагенту..
> Сильная типизация это редкость. Кстати, в С ее нет.тяжело, наверное вам живется в важем унылом скриптовом мире.
когда узнаете о том, насколько клиент может быть тонким, и что большую часть кода можно запихнуть на сервер - вы будете приятно удивлены.А там не нужно вот этих всех модных нод и питонов. Там чужие денежки обсчитываются, а они отсутствие типизации не переносят
Вот жеж в PayPal тупые, энтерпрайзную java на node.js сменили. Куда им до аналитиков с оппенета...
Это показатель чего? Вот энное количество лет тому назад была авиакомпания панамерикан. Круче в аваиции были только яйца. Пара не очень правильных бизнес-идей и где она, эта компания? Вряд ли найдёте, даже если захотите. Или сантехники со спарками и джявой. Где там г-н МакНили то? Так шта...(ц) вполне возможно, что и пэйпал ждёт та же участь и не исключено что node.js окажется в этой печальной истории не последним аргументом.
Туда же отправился McDonald Douglas. Да и Yahoo где-то там же, да и America Online что-то в последнее время известны разве что тем что абонентов из-под земли пытаются достать.
Если рассуждать о примерах внедрения ч/л в топ-энтерпрайзе, лично я смотрел бы ну например на Боинг, Локхид и Джэенерал Дайнемикс. А ЧСНХ они то как раз весьма консервативны в ИТ сфере.
> как раз весьма консервативны в ИТ сфере.Если Боинг и Эйрбас начнут следовать веяниям моды и стилю разработки вебмартышек ... хехе, пусть вебмартышки и полетают на самолете где софт написан по их принципам, так им будет понятнее, если конечно вообще смогут приземлиться не по частям :)
> Вот жеж в PayPal тупые, энтерпрайзную java на node.js сменили.А теперь фантомас в очках на аэроплане: попробуй на этом написать парсинг сообщений биткоина, во.
> А как с возможностью отучить С от разделения
> на .h и .c???
Что за идиотские глупости? Зачем отучать? Тем более что C сам по себе никак к этому не приучен - устоявшаяся практика.
начнём с того, что это исключительно внутрибраузерный язык для оживления страничек (nodejs — это недоразумение), тогда многое встаёт на свои места
1) проблемы браузеров
2) это да
3) уже есть модули. раньше мусорили прямо в глобальный объект. при грамотном именовании - вполне себе модули и библиотеки
4) зачем это в браузере?в результате из 4-х пунктов претензий остаётся 1. haters gonna hate
> в результате из 4-х пунктов претензий остаётся 1. haters gonna hateТехнично отмазался. Но не объяснил почему в вебе рантайму можно быть настолько дефективным. Почему вебстранички должны быть третьим сортом? И почему когда кто-то хочет распарсить vector tiles - ему надо жесточаяше изгаляться? Парсить их они не перестанут, потому что рендерить на сервере дорого, а неэффективные форматы - жрут оптом траффик, который денег стоит.
Это конечно не проблема сайтика "я и моя сцаная кошка", но как только кто-то хочет на своем сайте немного нестандартную карту прикрутить, рендеря ее на клиенте... уппппппс, оказывается на JS с этим уже конкретное дерьмецо. Ну то-есть так можно и даже реализации есть. Только их читать страшнее чем игровой движок на си++.
1) "Он не может быть быстрым" - это не технический аргумент, а гуманитарный. Быстрый на какой задаче? Математику на нем считать? Ну да не быстрый. Это скриптовый язык общего назначения, адаптированный для web-приложений.
2) "Он позволяет легко сравнить доски с шурупами и получить результат" - не он первый, не он последний. Perl в первую очередь, например, или PHP.
3) "В нем штатно нет ни модулей ни библиотек". Для загрузки модуля с жёсткого диска требуется наличие стандартной библиотеки, которая изначально не была предусмотрена из-за web-специфики. Node.js как раз реализация, коротко говоря, там реализована функция, которая загружает модули с диска и кэширует. Принципиально другой подход - AMD в Dojo, например. Это для загрузки модулей по сети, как раз для web. "какие-то костыли. Но в вебе эти костыли не работают." - пример так называемого вранья. Зачем в вебе модули через очередную реализацию require? Откуда их грузить с файлухи клиента?
4) И что имеется в виду под "Работать с бинарными данными"? Цеплять бинарные библиотеки или работать с бинарными буферами? И то и то работает, несмотря на то, что язык изначально не предназначен для работы с таким.IMHO_1 мода на JS и желание пихнуть его куда попало - это плохо. У него есть свои сильные стороны и у Node.js тоже.
IMHO_2 Javascript вызывает лютую ненависть у разработчиков C++, потому что синтаксис C-образный а семантика иная. С точки зрения разраба крестов использование замыканий функций вместо пространств имён - это костыль. Наследование экземпляров вместо наследования классов - кошмар. Функции высшего порядке > Объекты высшего порядка, О УЖАС! Куча эмоций в основном из-за непонимания, что создавать на нем С++-образные объекты и потом ныть, что язык кривой, как минимум, непрофессионально.
> Быстрый на какой задаче? Математику на нем считать? Ну да
> не быстрый. Это скриптовый язык общего назначения, адаптированный для web-приложений.Общего не получается: general-purpose алгоритм сжатия, видеокодека или чего там еще фиг сделаешь. Потому если браузер не умеет LZMA штатно - ну, гм, теоретически то декодер вроде можно сделать а практически - выглядит как ужас и работает так же. Генерал не не Пурпоз а Фэйлор.
> 2) "Он позволяет легко сравнить доски с шурупами и получить результат" -
> не он первый, не он последний.Без н3гров и линчевок - отмазка будет не полная.
> 3) "В нем штатно нет ни модулей ни библиотек". Для загрузки модуля
> с жёсткого диска требуется наличие стандартной библиотеки,На сях кстати не требуется. Можно хоть самому себе стандартную либу написать. Хоть это и будет системозависимо и такой уровень доступа к системе все-таки не для вебни. Но я не понимаю - а что, нельзя было сделать стандартный builtin у которого просишь модуль, а builtin разбирается как в своей имплементации дать, если модуль есть? Это слишком сложно и круто?
> которая изначально не была предусмотрена из-за web-специфики.
А что мешает в этом случае вгрузить модуль по URL с того же сервера что и остальной сайт? Некоторые так даже делают, но у них свои плагины/модули которые совместимы только с ними.
> Node.js как раз реализация, коротко говоря, там реализована функция,
> которая загружает модули с диска и кэширует.И все бы ничего но в вебе это не работает.
> Принципиально другой подход - AMD в Dojo, например.
В результате есть какие-то "модули для dojo" и "модули для node.js". А когда кто-то захочет "распаковать данные сжатые LZMA" - они не могут на js взять библу для этого как сишники и парой вызовов сделать что хотели. Как максимум - можно прицепить 10 фреймворков ради 10 незначительных плагинов. Сайтик hello world начинает весить пять мегабайтов, поэтому пользователи не дожидаются окончания загрузки или ловят клин браузера и уходят.
> через очередную реализацию require? Откуда их грузить с файлухи клиента?
А вот пусть конкретная имплементация и разбирается - откуда. Нода с диска, вебня с урлы. Это слишком просто и логично? :)
> 4) И что имеется в виду под "Работать с бинарными данными"?
Ну вон сожми файлик LZMA. А теперь, допустим код утянул это с сервера в оперативку и хочет распаковать. Если в сях для этого подцепил либу да распаковал - на js оказывается что ложки нет. И либы нет. В лучшем случае есть мегакостыль с кучей проблем и ограничений на непонятных условиях лицензирования, в хучшем - сам такое пиши.
> Цеплять бинарные библиотеки или работать с бинарными буферами? И то и то
> работает, несмотря на то, что язык изначально не предназначен для работы с таким.И то и другое работает, но опционально и через джеппу. Как и все остальное в js.
> IMHO_1 мода на JS и желание пихнуть его куда попало - это
> плохо. У него есть свои сильные стороны и у Node.js тоже.Единственной сильной стороной которую я могу придумать: подсвечивает жеппоруких хистюков с кривыми проектами которые сдохнут через несколько лет, потому что майнтайнить их таки боль а js хотят использовать потому что резульат быстро и без усилий. На первый взгляд js такой и есть. Но внешность обманчива.
> IMHO_2 Javascript вызывает лютую ненависть у разработчиков C++, потому что синтаксис C-образный
> а семантика иная.Попробуй пересадить КВС-а из эйрбаса А320 в бамбуковый самолет и послушай его мнение о летных качествах и умениях конструкторов этой штуки. Матерый плюсовик отличается от яваскриптера так же как КВС в эйрбасе отличается от wannabe-пилота бамбукового самолета.
> Куча эмоций в основном из-за непонимания, что создавать на нем С++-образные
> объекты и потом ныть, что язык кривой, как минимум, непрофессионально.Я про это вроде бы нигде не возмущался? Или ты сам придумал и сам опроверг? :)
Тебя еще и в гугле забанили?
https://github.com/nmrugg/LZMA-JS
> https://github.com/nmrugg/LZMA-JSАга, осталось еще на внутренности посмотреть. На то когда появился обычный LZMA и когда JS версия. Как оно работает и как устроено. Может быть string, а может быть типизированный массив? Может быть нода, а может быть веб? А может быть собака, а может быть корова. А может страус злой. Поэтому если посмотреть на начинку этого недоразумения - знаешь, пожалуй в сишный вариант врубиться проще, cruft там меньше, а скорость работы - выше. И получается что единственное достоинство - "зато ан js". Которое и не достоинство вовсе. Потому что сишную либу прикрутишь к чему-нибудь еще только в путь (ну там ruby например) и либа с алгоритмом вообще без выписывания кучи разных костылей/вариантов и упования на опциональности будет прекрасно работать на всем от микроконтроллера до суперкомпьютера. А тому кто либу пишет вообще не надо знать где либа работает и тем более выписывать кучу вариантов. Бывают конечно исключения с #ifdef, но в js нельзя даже это. И поэтому трэш и угар фалломорфирует прямо в код, а не какие-нибудь обертки и определения. А потому что препроцессора нет и весь служебный cruft только и можно что в виде логики намешать.
Это же насколько нужно быть неадекватным человеком чтобы сравнивать скриптовый язык с С?
Общее назначения для скриптового языка не такие как для нормального.
> На сях кстати не требуется.В С модуль загружается не из текста программы, который исполняется, а из препроцессора, а в скриптовых языках из кода. Для скриптовых языков ТРЕБУЕТСЯ наличие стандартной библиотеки для загрузки модуля. На JS принципиально не было стандартного способа подгрузки модулей и никогда не будет, я надеюсь. Ты волен сам писать как ты грузишь модули и что потом с ними делаешь.
> А что мешает в этом случае вгрузить модуль по URL с того же сервера что и остальной сайт?Ничего, для этого есть AMD. Есть разница когда ты выполняешь код на сервере и на клиенте, поэтому 2 подхода. И библиотеку они тоже взять могут.
Для nodejs можно так: https://nodejs.org/api/addons.html
Кулибины написали автобиндинги для удобства: https://github.com/node-ffi/node-ffiОстальной бред про LZMA, нативные библиотеки и бамбуковые самолеты комментировать смысла нет, ввиду отсутствия у вас минимальных знаний по JS и всему, что с ним связано.
Просто представьте себе мир в котором все веб-сервисы, веб-приложения, сайты, и серверная и клиентская часть всё написано на С. И автоматизация тоже на С, вместо сценариев С. Даже небо, даже Аллах, всё на С. С, С, С. Представьте этот мир, и живите в нем, а реальность, пожалуйста, оставьте в покое.
> Это же насколько нужно быть неадекватным человеком чтобы сравнивать скриптовый язык с С?А почему собственно монстрило требующее оптимизатора размером и ресурсоемкостью сравнимой с gcc должно получать какие-то скидки? Не понимаю.
> Общее назначения для скриптового языка не такие как для нормального.
Оказывается, бамбуковый самолет и не предназначен для перевозки грузов и пассажиров.
> В С модуль загружается не из текста программы, который исполняется, а из препроцессора,
Спасибо, посмешил. Я то думал что модуль или влинковывается в код программы статически, если статическая линковка, или динамически вгружается из системных библиотек. Хотя можно и что-нибудь позабористее. Ну там распаковать код программы и заменить ей самого себя. Более того, execve и сотоварищи именно так и работают - процесс остается тот же самый, но его содержимое полностью заменяется.
> а в скриптовых языках из кода. Для скриптовых языков ТРЕБУЕТСЯ наличие
> стандартной библиотеки для загрузки модуля.Требуется для этого как максимум какой-нибудь builtin который можно было бы дернуть из кода. А дальше пусть его реализация и разбирается где модуль взять. Просто это надо было стандартизировать как-то (хотя-бы де-факто) и при том сразу, а не через цать лет. Тогда в языке были бы библиотеки в человеческом виде. Но куда до этого вебмартышкам.
> На JS принципиально не было стандартного способа подгрузки модулей и никогда не будет,
Я не понимаю какие проблемы потребовать от реализатора рантайма предоставить какой-нибудь встроенный require() или типа того. Дальше нода поищет такой файл на диске, браузер попробует утащить этот файл с сервера откуда взят скрипт и проч. Какие проблемы?!
> я надеюсь. Ты волен сам писать как ты грузишь модули и что потом с ними делаешь.
А сишник волен написать свой loader кастомного бинарного формата и вгружать кастомные библиотеки хитрозадо выпиленные линкером в необычный формат. Даже работать будет. Только все остальные крепко напрягутся от такой порнографии для всего лишь вгрузки либы. Потому что они не привыкли юзать либы через такую джеппу. А яваскриптеры считают что такой крындец - нормальное положение вещей.
Так что я конечно волен писать модули как мне угодно и грузить как мне угодно. Но вот остальные ими потом пользоваться без геморроя в своих проектах не могут. И по факту получается что я вообще не могу реюзабельную библиотеку скроить.
> Ничего, для этого есть AMD. Есть разница когда ты выполняешь код на
> сервере и на клиенте, поэтому 2 подхода.Я не понимаю почему это меня должно колыхать например в каком-ниудь чисто алгоритмическом куске типа парсера формата. Ему дали данные на вход и сказали куда отгружать выход. И все это in-memory. С какого меня должно взволновать - клиент это или сервер? Вот реально - распаковка буфера в LZMA что на сервере что на клиенте одинаковая и что-то типа require("lzma") было бы логично, не? Бонусом можно было наладить интероп с нативным кодом. Ну там "lzma" мог бы вызвать нативный код на самые требовательные к скорости функции. Если авторам рантайма не западло накодить более быстрый вариант. До чего-то такого в некоторых скриптовых яп даже доперли, но это не про js.
> И библиотеку они тоже взять могут.
> Для nodejs можно так:Это прекрасно но в браузере это не работает и получается или куча костылей или вообще оказывается что гранаты не той системы.
> Кулибины написали автобиндинги для удобства: https://github.com/node-ffi/node-ffi
А надо было сделать цать лет назад и везде. Ну вот накуя мне твои автобиндинги для ноды если я кусок кода для вебни пишу? Мне этот кусок гхэвна чем-то поможет? Нет? Ну тогда идите на...й с такой реализацией. Я вообще не понимаю зачем создавать такую фрагментацию на ровном месте.
> нет, ввиду отсутствия у вас минимальных знаний по JS и всему,
> что с ним связано.Утята учатся летать, чо :)
> реальность, пожалуйста, оставьте в покое.
Это почему это я не должен хотеть чтобы в реальности софт работал нормально, т.е. не требовал совсем уж левых изгалений при написании, не тормозил, не глючил и не раскладывал глупые граблины там где их быть не должно? Потому что это оскорбляет чувства утят, привыкших к своим бамбуковым еропланам?
Есть задачи, которые не делают на С, потому что их разработка и отладка не выгодна ни по времени, ни по стоимости. Посмотрите на такие языки как perl, python и прочие скриптовые языки. Говоря о монстрилах тут же вспоминается и java. У каждого есть свои плюсы и минусы. И потребление ресурсов компьютера, кстати, - разменная карта. Ты либо пишешь оптимальный код и отлаживаешь на потребление ресурсов, либо пишешь быстро и оптимизаторы делают это за тебя пожирая ресурсы твоего сервера и компьютеров твоих пользователей. Кто-то может написать на С, есть время и деньги, а большинство нет вот и пишут, на чем умеют и могут себе позволить. Не вы решаете, на чём будет написан тот или иной проект и никогда не сможете, слава Богу, склад ума какой-то бамбуковый у Вас.>Спасибо, посмешил. Я то думал что модуль или влинковывается в код программы статически, если статическая линковка, или динамически вгружается из системных библиотек.
...
#include <stdio.h>
...
Кто загрузил stdio? Это программа его загрузила из кода? Нет! Это мы указали компилятору, что нам нужен такой-то модули и вуаля, он у нас есть.
А это что?
...
import javax.swing.*;
...
Здесь тоже у нас что-то линкуется? Нет. Вы прекрасно понимаете о чём я говорю, только зачем-то ломаете комедию.
> Я не понимаю какие проблемы потребовать от реализатора рантайма предоставить какой-нибудь встроенный require() или типа того. Дальше нода поищет такой файл на диске, браузер попробует утащить этот файл с сервера откуда взят скрипт и проч. Какие проблемы?!Проблемы в том, что нода не единственная такая вся неповторимая, и она еще и чисто серверная. И на клиенте уж лучше использовать define. Вот тут можно почитать: https://github.com/amdjs/amdjs-api/wiki/AMD https://github.com/amdjs/amdjs-api/wiki/require
Я уже не говорю, что require - синхронная функция, а AMD - асинхронный механизм. Причем вы можете пользоваться require из AMD-API. И как вы вообще представляете единую реализацию волшебного единого для всего 'require', если в одном случае это синхронная функция возвращающая объект, а в другом у тебя код в callback или промис. Это же синтаксически невозможно. Ну хочешь переименуй define и напиши своё API, реализующее asynchronous module definition.>вебмартышкам
Ой, всё! Вот только не надо давать качественные суждения по целой отрасли в которой вы не в зуб ногой. Например, судя по вашему комментарию выше у вас нет понимания что клиентский и серверный JS похожи только синтаксисом и различаются в семантике. И вот доказательство:
> Вот реально - распаковка буфера в LZMA что на сервере что на клиенте одинаковая и что-то типа require("lzma") было бы логично, не?Не! На сервере надо работаеть с LZMA через бинарную библиотеку с биндингами к JS, для скорости. На клиенте использовать реализацию написанную на JS, т.к. никто не даст вам выполнить код вне браузера. Причем там не будет общего кода, даже близко! Сама попытка использовать один и тот же код и на сервере и на клиенте для этой задачи - признак непрофессионализма.
Давайте уже отделим мухи от котлет. Есть 2 javascript-а. Один серверный, с реализацией в виде nodejs, второй клиентский в браузере. Синтаксис там одинаковый, но подходы нужно использовать разные.
В вебе вы не дотягиваете даже до мартышки, потому что пока не перечислили реальные проблемы JS и node, а их полно. Когда следующий раз будете пытаться набрасывать на JS изучите сложности, например, с асинхронным IO и c реализацией параллельных вычислений. А еще лучше попробуйте из материнского процесса собрать данные из нескольких дочек, работающих асинхронно, не завершая их. Вот где реальные грабли, хотя это проблемы именно nodejs, а не JS в целом. А все ваши печальные потуги надавить на загрузку библиотек упираются лишь в ваше непонимание разницы между сервером и кастрированным клиентом внутри браузера. И, кстати, ничьи чувства вы не обижаете.
> Вот где реальные грабли, хотя это проблемы именно nodejs, а
> не JS в целом.нет, мартышка, это как раз проблемы js. а node.js такой корявый именно потому, что js корявый. continuations нет, actors нет, userspace threads/fibers нет — и это удолбище ещё лезет в async i/o. а потом мартышки доказывают, что царь^w js на самом деле хороший, это нода плохая.
нет, анимашка, это как раз проблемы node.js, нету там реализации параллелизма, только процессы плодить. Вот так они решили в стиле хромов сделать, интересно почему, ах да там же v8 всё выполняет.
как и следовало ожидать, мартышка ни слова из того, что я написал, не поняла.
> Но я не понимаю - а что, нельзя было сделать стандартный builtin у которого просишь модуль, а builtin разбирается как в своей имплементации дать, если модуль есть?var getUserMedia; var browserUserMedia = navigator.webkitGetUserMedia || // WebKit
navigator.mozGetUserMedia || // Mozilla FireFox
navigator.getUserMedia; // 2013...
if ( !browserUserMedia ) throw 'Your browser doesn\'t support WebRTC';
getUserMedia = browserUserMedia.bind( navigator );Ы. :-)
«совесть-то», позорище
Очень странно что не в виде пакета докера и с собственной копией виртуалки
Чо. Как возможность могла появиться в 10 версии, если была ещё во 2?
В это время в Gajim реализована экспериментальная поддержка OMEMO для конференций https://github.com/omemo/gajim-omemo/issues/47
боже, какой маразм у них там в M$ происходит
А это не маразм. ИМХО это доказательство того, что они не справляются с саппортом нормальной десктопной версии клиента. Вот и пытаются перейти на что-то, что проще тащить.
Не подскажете что нужно сделать чтобы пересылался текст с тегами в этом скайпе? Содержание показывает нормально а сами теги не видно.
Спасибо.
Использовать XMPP.
> Использовать XMPP.Тогда отпадет передача файлов и начнут прое... сообщения :)
С помощью плагина скайп-веб для пиджина можно удивлять всех выставляя разный цвет сообщений.
Но к сожалению ни для чего кроме этого плагин не годится, больно уж глючный.
Вопрос не для того чтобы все было красивенько и в цветах, если пересылать кусок кода в этом скайпе, тот же XML, HTML та по сути все что содержит теги, то они не отображаются. А сам скайп нужен для конференций, которые старая версия (которая 4.3) не поддерживает.
{code}твой кусок ХМЛя{code}
Два восклицательных знака перед любым текстом
Что за каша..
Вебклиент и так работает без всяких Chromium. И опять же только х64.
Linux 1.10?!111 O_O
Чего вы хотите, это же мелкомягкие)
> Linux 1.10?!111 O_OПри этом, в альфа версии никакой 1 не должно быть и в помине. Версии 1.0 и 1.1 это стабильные версии. Skype for Linux 0.1 вот правильное название!
А пока, есть Skype for Linux 4.3, который и на 4.8.1, через apulse32 без проблем работает.
Кто-то поьзовался Ghetto-skype или другими достойными альтернативами?
Ghetto-skype подвисает после долгого простоя (github/stanfieldr/ghetto-skype/issues/90), skypeforlinux - пока не заметил
> новой редакции Skype для LinuxДо чего же нужно быть упоротыми копирастами, что бы приложение для хромиума, которое можно запустить из консоли chromium --app=https://web.skype.com называть официальной редакцией для Линукса.
А в пакете там, случаем, не этот самый шел-скрипт лежит?
Там и sh-скрипт есть и JS и еще много всякого говна, типа иконок в упакованном виде.
Основа вот это.
-rw-r--r-- 1 user user 58177 сен 16 12:52 blink_image_resources_200_percent.pak
-rw-r--r-- 1 user user 15 сен 16 12:52 content_resources_200_percent.pak
-rw-r--r-- 1 user user 9872914 сен 16 12:51 content_shell.pak
-rw-r--r-- 1 user user 10127152 сен 16 12:51 icudtl.dat
-rw-r--r-- 1 user user 2508952 сен 19 17:19 libffmpeg.so
-rwxr-xr-x 1 user user 21305224 сен 16 13:01 libnode.so
-rw-r--r-- 1 user user 394778 сен 16 12:51 natives_blob.bin
drwxr-xr-x 3 user user 4096 окт 5 13:45 resources
-rwxr-xr-x 1 user user 67682384 сен 16 13:01 skypeforlinux
-rw-r--r-- 1 user user 809996 сен 16 12:51 snapshot_blob.bin
-rw-r--r-- 1 user user 157298 сен 16 12:52 ui_resources_200_percent.pak
-rw-r--r-- 1 user user 60296 сен 16 12:50 views_resources_200_percent.pak./resources:
итого 37392
-rw-r--r-- 1 user user 37947075 окт 5 13:45 app.asar
drwxr-xr-x 3 user user 4096 окт 5 13:45 app.asar.unpacked
-rw-r--r-- 1 user user 145012 сен 16 12:53 default_app.asar
-rw-r--r-- 1 user user 187711 сен 16 12:53 electron.asar./resources/app.asar.unpacked:
итого 4
drwxr-xr-x 3 user user 4096 окт 5 13:45 node_modules./resources/app.asar.unpacked/node_modules:
итого 4
drwxr-xr-x 3 user user 4096 окт 5 13:45 keytar./resources/app.asar.unpacked/node_modules/keytar:
итого 4
drwxr-xr-x 3 user user 4096 окт 5 13:45 build./resources/app.asar.unpacked/node_modules/keytar/build:
итого 4
drwxr-xr-x 2 user user 4096 окт 5 13:45 Release./resources/app.asar.unpacked/node_modules/keytar/build/Release:
итого 24
-rw-r--r-- 1 user user 21468 окт 5 13:45 keytar.node
нет не тот...
там свои закладки и фильтры...
> нет не тот...
> там свои закладки и зонды...//пжлст
клоун: единственное стабильное API в Линукс - это браузерное. Работа с окнами - единая (без ньюансов KDE,Qt,..), работа со звуком - единая (без ньюансов), работа с видео - единая (без ньюансов) и т.д. Странно было ожидать другого. Коммерческие компании умеют считать деньги и по 10 раз одно и то же для всех комбинаций зоопарка писать и поддерживать не станут.
> клоун: единственное стабильное API в Линукс - это браузерное.Деграднутому мышевозиле из винды конечно виднее какие там у кого апи стабильные. Только эт, MS кажется решил отправить скайп по стопам ICQ. А какие собствено у скайпа есть преимущества перед конкурентами? P2P хорошо пролазил в файрволеных/корпоративных сетках без настройки. А уебапи и уебприложение в этом плане ничем таким не интересны, зато тормозные и неповоротливые громадины от индусни. Ну и смысл в этом? К тому же всякие вазапы и телеграфы подинамичнее будут и скайп скоро рискует имхо отправиться за асечкой.
win10 оказался настолько удачен, что даже сам некрософт решил потихоньку переходить на линукс?
Это конечно интересное кино: установить Linux, чтобы избавиться от корпоративных и АНБ закладок, а потом добровольно скачать себе проприетарный зондированный блоб.
> установить Linux, чтобы избавиться от корпоративных и АНБ закладокНаверное, ты единственный, уникал, кто "ставит" линукс для этого.
> Наверное, ты единственный, уникал, кто "ставит" линукс для этого.Это такое завуалированное признание что в альтлинукс зондов таки понапихали?
Кому это нужно? У меня skype только для 2х человек которые отрицают вацап вайбер и телеграм
Ну так если тебе это нужно даже ради одного человека - тебе всё равно это нужно.
Так а зачем ради этого всякую бяку в нормальную ось тащить? Купить китайца за 1,5-2 тр и держать там всю нечесть в изолированном виде.
а у меня 200+ контактов. причем все иностранные заказчики автоматом хотят созваниваться в скайп. это типа стандарт сейчас .
Вообще-то это плевок в лицо, и плевок сознательный. МС не хотят, чтобы скайп можно было использовать. Я уже давно перешёл на appear.in - требует нажатия кнопки "разрешить" в браузере, чтобы использовать микрофон и камеру, позволяет устраивать видеоконференции на несколько человек (хоть и тормозит).
> МС не хотят, чтобы скайп можно было использоватьв линуксе.
ой какая неожиданность.
> Skype 1.10 для Linuxничё не понимаю. когда я последний раз видел skype для linux, а прошло уже немало лет, у него была версия 2.кучацифр
а теперь 1.10
они повернули время вспять?
ничё не понимаю. когда я последний раз видел Linux, а
прошло уже немало лет, у него была версия 2.кучацифра теперь 1.10
они повернули время вспять?
> а теперь 1.10это какая болезнь?
сейчас - 4.9 или сколько там уже натикало
Прочитайте внимательно заголовок новости.
В Skype для Linux 1.10 ...