LINUX.ORG.RU

Началось формирование и тестирование сборок движка Servo

 ,


2

6

По сообщению разработчиков Mozilla, началось формирование ежедневных тестовых сборок браузерного движка Servo. Движок написан на языке Rust, тестовые сборки формируются для OS X и Linux 64bit, сборки для Windows и Android обещаются в самое ближайшее время.

В настоящее время, как сообщается, движок не полностью совместим с веб-стандартами и готов лишь для проведения тестирования и экспериментов.

На базе Servo предлагается браузер Browser.html с интерфейсом, полностью реализованным при помощи технологий HTML5. Данный браузер включён в ночные сборки и предлагается в качестве эталонного интерфейса для тестирования возможностей движка.

>>> Подробности (на английском языке)

★★★★★

Проверено: tailgunner ()
Последнее исправление: DeadEye (всего исправлений: 1)

Ответ на: комментарий от asaw

И результат этот жалок по сравнению с результатами, достигаемыми на С++

Какими-такими результатами? Неужели ты сейчас нам выкатишь статистику работоспособности написанных с нуля веб-движков на С++, находящихся в пре-альфе?

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

При чём тут веб?

Я имел в виду, что лично твой опыт применим не ко всем областям [потенциального] применения Раста.

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

«Статические массивы - редкость» != «я использую статические массивы очень редко».

Тем более, ты пишешь на плюсах, а там считается идиоматическим пихать std::vector даже туда, где он не нужен.

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

Ты как всегда передергиваешь. WebKit не надо переписывать

Может, его и пару раз перепроектировать не надо?

А Servo никакая не реальность, он же никаким веб-стандартам не соответствует

Бгг. Знаток такой знаток.

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

Тем, что нет необходимости предполагать повреждение памяти.

И как это тебе поможет разобраться с причиной возникновения проблемы?

Никак. Но это дает мне возможность не перезапускать всю программу.

И как это поможет пользователю, у которого все завершилось «классическим диалогом» uncaught exception?

Не завершилось.

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

Может, его и пару раз перепроектировать не надо?

Главное не переписывать с нуля изобретая для этого ещё один язык. ))

Бгг. Знаток такой знаток.

Что мне в тебе нравится так это когда тебя припёрли в угол и сказать тебе больше нечего ты всегда начинаешь корчить из себя спеца. Реально смешно ))

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

Главное не переписывать с нуля изобретая для этого ещё один язык. ))

Перепроектировать и переписать WebKit - идея asaw. Обсуждай технические детали с ним.

А Servo никакая не реальность, он же никаким веб-стандартам не соответствует

Бгг. Знаток такой знаток.

тебя припёрли в угол и сказать тебе больше нечего

А ты реально ожидаешь, что на дешевый троллинг типа «никаким веб-стандартам не соответствует» тебе будут перечислять стандарты, говорить о степени соответствия, объяснять, чем собственно стандарты отличаются от распространенных реализаций? Реально смешно.

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

Может, его и пару раз перепроектировать не надо?

Перепроектировать и переписать WebKit - идея asaw. Обсуждай технические детали с ним.

Что ты несешь? На свой первый комментарий посмотри, ты сам зачем-то приплёл переписывание webkit, хотя я об этом ни слова не говорил а теперь предлагаешь мне с кем-то это обсудить. Признавайся честно, пьян?

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

Ну конечно нет, гораздо проще написать «Бгг. Знаток такой знаток». Это когда реально нечего сказать по теме, а сказать очень хочется. Успокойся, никто от тебя большего не ждал. ))

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

На свой первый комментарий посмотри, ты сам зачем-то приплёл переписывание webkit

Надоел ты своим враньем. Ссылку на коммент или GTFO.

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

Это тот же ML, где есть let и let rec.

Ты про val anon = ref «debilko»? Одинаковый синтаксис, прям не отличишь.

Окей, забыл уточнить, что имелся в виду OCaml (оригинальный ML они почти как оригинальный лисп). Аналогично пишется и в F#. Прекращай вести себя как обезьяна.

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

Тебе нравится когда тебя носом тыкают? ОК.

WebKit не надо переписывать

Может, его и пару раз перепроектировать не надо?
Перепроектировать и переписать WebKit - идея asaw. Обсуждай технические детали с ним

Первый комментарий мой, ответы твои. Я говорю что не надо переписывать, ты отвечаешь что нужно перепроектировать и предлагаешь обсуждать перепроектирование и переписывание с asaw. Опять юлить начнёшь, типа тебя не так поняли? Ну признайся уже что выпил с утра немного, с кем не бывает ))

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

Ссылку на коммент или GTFO.

Тебе нравится когда тебя носом тыкают? ОК.

Мне не нравится, но ты и не сможешь - ссылку ты не привел.

отвечаешь что нужно перепроектировать и предлагаешь обсуждать перепроектирование и переписывание с asaw

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

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

AFAIK, там то же самое. Хочешь доказать обратное - давай ссыль.

https://ocaml.org/

Рад, что помог в этой трудной задаче.

П.С. дальше стартовой страницы идти не придется

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

Ты когда так выкручиваешься на что рассчитываешь? Ну видно же что ты врёшь и изворачиваешься. Тебе нравится смешить людей? Ну ОК, как скажешь. Удачного дня тебе! И давай закусывай в следующий раз ))

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

И даже больше, вот это, например, F#:

let mutable x = 1

Что-то напоминает, не правда ли? Ну а в свою очередь я признаю, что в Rust свой уникальный синтаксис, но не тянущий на определение, что его придумали, его «подсмотрели» и добавили своих элементов.

П.С. не для Esper, кстати, у Swift синтаксис тоже во многом похож ;)

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

дальше стартовой страницы идти не придется

Но тебе стоило бы:

«Recursive functions are defined with the let rec binding»

А теперь расскажи, с чего ты вообще взял, что оный let rec - аналог let mut.

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

А теперь расскажи, с чего ты вообще взял, что оный let rec - аналог let mut.

А кто говорил, что это аналог именно mut? Речь шла о конструкции и подобии. Кроме того аналог я привел выше. Как и в случае с fn, авторы Rust просто «урезали» готовое решение.

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

Я знаю, что C++ ещё до всякой «стабилизации» и вообще огласки в 1983-м году, тянул сложные проекты внутри AT&T. Это язык, который моментально нашел широкое практическое применение и дал видимые результаты. Именно поэтому появилось так много его диалектов, а в конце концов - стандарт. С растом такого не заметно даже близко. И понятно почему. Что касается 20-летнего геко, то это по-моему как раз пример решения проблемы не с того конца.

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

Это язык, который моментально нашел широкое практическое применение

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

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

KHTML через четыре года после начала разработки уже успел побывать и в KDE 2, и в KDE 3, и был вполне стабильным.

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

Я знаю, что C++ ещё до всякой «стабилизации» и вообще огласки в 1983-м году, тянул сложные проекты внутри AT&T. Это язык, который моментально нашел широкое практическое применение и дал видимые результаты. Именно поэтому появилось так много его диалектов, а в конце концов - стандарт.

Неправда. Именно про C++ придумана шутка, мол он, в соответствии с названием, является улучшением C, но используется как простой C, до улучшения. C++ принимался очень медленно, о чём можно догадаться хотя бы из факта, что в нём не было нормального нативного динамического массива до начала 90х.

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

А кто говорил, что это аналог именно mut? Речь шла о конструкции и подобии.

Хватит юлить. Речь шла об «альтернативном синтаксисе». Подразумевается, что синтаксис альтернативен для аналогичных конструкций. А с твоей «логикой» можно вообще можно скатиться на: «авторы ЯП никакой синтаксис не придумывали, просто слизали с естественных языков».

Кроме того аналог я привел выше.

А такое твой «аналог» умеет?

let (mut a, b) = (4, 2);
Esper
()
Ответ на: комментарий от asaw

Я на работе сидел на kde 2 и 3. Были у нас любители пользоваться conqueror, но их было не больше чем любителей opera и им также приходилось периодически переключаться на мозиллу, если сайт работал странно. Ну и надо не забывать, в то время HTML/CSS/JS попроще были

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

KHTML зарелизился в начале нулевых. Тогда интернет был совсем другой. Ваш кеп.

А еще «кеп» хочет отметить, что konqueror из KDE 2.2.2 (только что специально в виртуалке поставил) прекрасно показывает, например, opennet.ru, а современный servo показывает его так:

http://i.piccy.info/i9/63d681a284551e0e8519bb1c0537ba47/1467454780/218427/104...

linux.org.ru оба показывают с косяками на стартовой. Так что пусть этот ваш servo дорастет сначала до начала нулевых.

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

Хватит юлить.

О_О, это ты сказал, что авторы Rust придумали альтернативу синтаксиса С. Теперь не знаешь как съехать.

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

Не узнал коня

то ты сказал, что авторы Rust придумали альтернативу синтаксиса С

Там выше было приведено определение термина «придумывать» из толкового словаря. Хинт: это слово не означает «создавать что-то не имеющее аналогов».

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: Не узнал коня от tailgunner

Там выше было приведено определение термина «придумывать» из толкового словаря. Хинт: это слово не означает «создавать что-то не имеющее аналогов».

Без вопросов, «взяли готовый аналог» - меня устраивает.

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

Без вопросов, «взяли готовый аналог» - меня устраивает.

Хотя это и бесполезно, я вынужден сказать: синтаксис ML еще дальше от Rust, чем синтаксис Си. Так что именно «придумали», имено в смысле из толкового словаря.

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

Теперь не знаешь как съехать.

Не знаешь, как съехать, ты. А я привёл уже три аргумента в защиту своей позиции, и ты ещё ни на один вменяемых возражений не выкатил.

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

Хотя это и бесполезно, я вынужден сказать: синтаксис ML еще дальше от Rust, чем синтаксис Си. Так что именно «придумали», имено в смысле из толкового словаря.

В той части, где синтаксис Rust ближе к С, он вероятно его и заимствует. Впрочем у меня нет желания обсуждать это, уболтали, пусть придумали, пусть альтернативу.

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

Не знаешь, как съехать, ты. А я привёл уже три аргумента в защиту своей позиции, и ты ещё ни на один вменяемых возражений не выкатил.

Если это аргументы уровня «let mut» - это провальные аргументы, можно было взять куда более основательные.

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

Если это аргументы уровня «let mut»

Это аргументы:

1) «Изобрести» - не единственное значение слова «придумать».

2) Ключевые слова - тоже синтаксис.

3) mut.

это провальные аргументы

Ню-ню. Что-то ты mut так и не провалил. Я уже сказал, в эф диез - не аналог.

можно было взять куда более основательные

С первыми двумя я бы тебя слишком быстро слил. Решил поразвлекаться с последним, всё равно в любой момент мог сослаться на остальные.

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

Окей, тогда сойдемся на том, что тогда почти каждый компилятор С написан под свой новый язык со своим новым придуманным синтаксисом и закончим этот треп.

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

тогда сойдемся

Не сойдёмся.

со своим новым придуманным синтаксисом

Синтаксис тот же, но с придуманными расширениями.

закончим этот треп

Не я его начал.

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

Синтаксис тот же, но с новыми придуманными расширениями.

Т.е. в Rust одно новое/переименованное ключевое слово - доказательство нового синтаксиса, а в gcc, например, целая их пачка - это тупо расширение, а синтаксис остается тот же. Хорошо, я уже и с этим согласен.

Не я его начал.

Но без тебя бы его не было. В общем ставим точку на этой теме.

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

Хорошо, я уже и с этим согласен.

Это странно, ибо в твоё утверждение затесалась ошибка - переименованных относительно сишного стандарта слов в gcc нет. Ну и ещё я писал «альтернативный», а не «новый», но это уже мелочь.

Esper
()
Ответ на: комментарий от quantum-troll

Ещё лучше проверять границы во время компиляции.

Не вопрос, «лучше быть богатым и здоровым чем бедным и больным».

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

Вы хотели бы чтоб браузер из KDE версии 2.2.2 работал так же плохо, как экспериментальный браузер альфа-версии? Khtml на момент 2.2.2 было 3 года, да, но начинался он не с нуля, а с khtmlw. И писался на стабильном языке со стабильными библиотеками. Логично предположить, что разработка servo в таких условиях идёт медленнее. Показ конкретного сайта ни разу не показатель: как видно на картинке там проблема основная в кодировке, возможно этот самый opennet отдаёт какую-нибудь koi-8r, поддержка которой для современного браузера в списке приоритетов на предпоследнем месте.

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

Вообще-то да. Тот же страуструп советует использовать вектор и не парить мозг, что разумно, учитывая, что вектор эффективнее других контейнеров почти всегда, копирование/перемещение более-менее правильно работают и компилятор обеспечивает вызов деструктора.

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

Никак. Но это дает мне возможность не перезапускать всю программу.

Для сегодняшнего софта это норма. Я вон браузер по несколько раз на дню перезапускаю, чтобы память не жрал и тормозил поменьше ИЧХС это не совсем вина браузера.

Не завершилось.

Ну так и по segfault-у можно не завершаться.

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

это дает мне возможность не перезапускать всю программу.

Для сегодняшнего софта это норма. Я вон браузер по несколько раз на дню перезапускаю

Сам перезапускаешь или он у тебя падает? Ну и в любом случае, софт не исчерпывается браузерами.

Ну так и по segfault-у можно не завершаться.

Не завершайся, какие проблемы.

tailgunner ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Я же не наркоман, в конце концов...

да откуда ж мне знать то.

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

Не завершайся, какие проблемы.

Тогда каким боком тут «безопасность языка»? Напоминаю, что все началось с

Безопасность языка заключается в том что оно должно упасть с конкретной ошибкой, например неожиданый результат вызова API функции, а не с SIGSEGV

И вопросом об отличии SIGSEGV от uncaught exception

P. S. кстати, первый же проект на расте показал, что глючное зависающее говно на нем пишется элементарно.

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

Ну так и по segfault-у можно не завершаться.

Не завершайся, какие проблемы.

Тогда каким боком тут «безопасность языка»? Напоминаю, что все началось с

Никаким.

Напоминаю, что все началось с

Не знаю насчет «всего», а я отвечал конкретно на «А чем uncaught exception отличается от SIGSEGV?». Случилось это в безопасный язык или нет - неважно.

кстати, первый же проект на расте показал, что глючное зависающее говно на нем

Первым проектом на Rust был его компилятор - расскажи о глюках и зависаниях rustc.

пишется элементарно.

АААААА НАС ОБМАНУЛИ!!!!!111

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

Вообще-то да. Тот же страуструп советует использовать вектор и не парить мозг, что разумно, учитывая, что вектор эффективнее других контейнеров почти всегда

Это немного разные вещи. По моему, Страуструп говорит, что не надо мучительно выбирать между vector, deque, list и т.д. А так чтобы повсеместно брали вектор вместо статических массивов? Вот в этом есть сомнения.

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