URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 89439
[ Назад ]

Исходное сообщение
"Mozilla и Samsung объявили о совместной работе над браузерны..."

Отправлено opennews , 03-Апр-13 19:56 
Проект Mozilla объявил (https://blog.mozilla.org/blog/2013/04/03/mozilla-and-samsung.../) о кооперации с компанией Samsung в области разработки языка программирования Rust (http://www.rust-lang.org/) и развития экспериментального браузерного движка Servo (https://github.com/mozilla/servo). Ожидается, что подключение к разработке  Samsung позволит ускорить стабилизацию языка Rust и существенно подтолкнёт развитие нового браузерного движка, на разработку которого теперь будет выделяться заметно больше ресурсов.

Движок Servo написан на языке Rust и отличается поддержкой многопоточного рендеринга web-страниц и возможностью параллельного выполнения операций с DOM (Document Object Model) в процессе обработки одной web-страницы. Текущий браузерный движок Firefox не может в полной мере задействовать потенциал современных многоядерных систем из-за изначального использования однопоточных схем обработки контента. В частности, при обработке одной страницы однопоточным остается связанный с DOM (Document Object Model) внутренний API, функции формирования содержимого окна, парсинга HTML и выполнения JavaScript. Использование Rust позволит разбить код DOM и рендеринга на более мелкие подзадачи, которые смогут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. Кроме эффективного распараллеливания операций, используемые в Rust технологии безопасного программирования позволят кардинально поднять уровень безопасности, решив текущие проблемы с безопасностью браузеров, наглядно проявляющиеся в исправлении десятков уязвимостей в каждой новой версии.

Одновременно опубликован (https://mail.mozilla.org/pipermail/rust-dev/2013-April/00342...) релиз языка программирования Rust 0.6, сфокусированного на безопасной работе с памятью и обеспечении высокого параллелизма выполнения заданий (возможность порождать тысячи и даже миллионы подпроцессов). Исходные тексты проекта распространяются под лицензией MIT. Новая версия примечательна (https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes) приведением к финальному виду синтаксиса и семантики языка, проведением чистки возможностей, которые не оправдали себя в процессе разработки. Также проведено заметное расширение стандартной библиотеки. Подключившаяся к разработке компания Samsung реализовала поддержку архитектуры ARM и подготовила порт для платформы Android.

Rust является языком со строгой типизацией и по структуре напоминает C++, но существенно отличается в некоторых деталях реализации синтаксиса и семантики, а также примечателен ориентацией на блочную организацию структуры кода, которая позволяет реализовать задачи в виде легковесных сопрограмм. Автоматическое управление памятью избавляет разработчика от манипулирования указателями и защищает от возникающих из-за низкоуровневой работы с памятью проблем, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Rust поддерживает смесь императивных процедурных и объектно-ориентированных методов с такими парадигмами, как функциональное программирование и модель акторов, а также обобщённое программирование и метапрограммирование, в статических и динамических стилях.

URL: https://blog.mozilla.org/blog/2013/04/03/mozilla-and-samsung.../
Новость: http://www.opennet.me/opennews/art.shtml?num=36576


Содержание

Сообщения в этом обсуждении
"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 03-Апр-13 20:09 
Думаю Samsung запилит этот движок в Tizen, на мобилках ведь сейчас популярна "многоядерность" вот с ней и будет справляться этот движок.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено sdpoufwoe , 04-Апр-13 14:38 
ахха, ажно четыре штуки макимум. Обычно одна. Штука.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено лох , 03-Апр-13 20:13 
хоррош пример на сайте раста
fn main() {
    for ["Alice", "Bob", "Carol"].each |&name| {
        do spawn {
            let v = rand::Rng().shuffle([1, 2, 3]);
            for v.each |&num| {
                print(fmt!("%s says: '%d'\n", name, num))
            }
        }
    }
}

да чо уж там, зачем ваще букавки?
(&$(@*/%$+*.(!$#,*^#!.$@^__#$&,#@+@!&!*(,)!*@^!_.)[*&^]_))
по-моему, так куда понятнее.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено angra , 03-Апр-13 22:38 
Хотите заменить {} на begin end, [] на new Array(), | и & на еще какие-нибудь английские слова?

Как по мне абсолютно понятный код, причем я вижу этот язык впервые. Может как-то сказывается знакомство с Ruby.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Doris , 04-Апр-13 11:31 
Вот пример на Rust и D http://versusit.ru/rust-vs-d

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено angra , 05-Апр-13 02:53 
Вы продемонстрировали клинический случай натягивания совы на глобус. Во всех случаях лучше получился Rust, но вы упорно повторяли, что лучше D. Особенно посмеялся над вашим непониманием исключений. Для тех, кому лень идти по ссылке, продублирую. Сравниваются следующие фрагменты

try {  
os::open(filename);
} handle os::file_not_exist(str filename) -> file {  
ret os::create(filename);
}

и

if (exists(fileName)) {      
writeln(“file exist”);     }
else {      
writeln(“file do not exist”);    
}


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 03-Апр-13 22:53 
Абсолютно понятный код. Так и скажи, не осилил.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено all_glory_to_the_hypnotoad , 03-Апр-13 23:12 
только за одно это

> |&name|

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


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 00:05 
Я руста не знаю, но лично мне очевидно, что это биндинг сылки к какому-то итератору. Явный гибрид синтаксисов питона и плюсов

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено pavlinux , 04-Апр-13 00:21 
for ["Alice", "Bob", "Carol"].each

Что тут может быть .each, кроме указаных "Alice", "Bob", "Carol" ? :)


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 03:32 
1) может быть ref, const ref или копия
2) хз, может там можно сказать |ref a, ref b| и оно парами таскать будет? Синтаксис я не знаю, но было бы логично
3) может туда лямбда пихается?

в общем, ограничить чем-то надо. И визуально выделяется и грепается хорошо.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 07:25 
even odd может быть?

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено all_glory_to_the_hypnotoad , 04-Апр-13 00:25 
понять это можно, но всё таки не совсем очевидно и совсем неудобно набирать

> Явный гибрид синтаксисов питона и плюсов

ни то, ни другое. Питоновский вариант, кстати, более удобен

for name in ["Alice", "Bob", "Carol"]


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 03:34 
ну, набор - дело такое, но вообще дворак решает. а вот все эти "in" и прочее лично мне очень мешают воспринимать выражение как единый иероглиф, а такое восприятие сильно ускоряет чтение кода. Впрочем, я старый перловик, что с меня взять...

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 05-Апр-13 13:50 
> for name in ["Alice", "Bob", "Carol"]

Совершенно отстойная запись. Выражение размазано черти-как и не воспринимается логически целым.


"Mozilla и Samsung объявили о совместной работе над..."
Отправлено arisu , 05-Апр-13 21:37 
> питона

(умиляется)


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено angra , 04-Апр-13 01:03 
Вы можете внятно объяснить что именно вас смущает? Вам хочется многословности? Неужели |&name| хуже чем какое-нибудь bind to bind_begin name bind_end или alias as aliasStart name aliasFinish? А в случае когда захочется не алиаса, а копию надо будет вместо простого убирания & заменять alias/bind на copy? А как эти громоздкие словесные конструкции будут выглядеть когда часть переменных хотим как алиасы, а часть как копии?


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено trdm , 04-Апр-13 03:20 
> Неужели |&name| хуже чем какое-нибудь

хуже просто 'name'.
3 лишних знака. НА кой?


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 04:50 
Амперсанд там точно к месту - он указывает, что это ссылка, то естьпри изменении будет меняться соответствующий элемент в  коллекции. Не поставите - получите копию. Палки - дело другое, может и без них можно, но вполне вероятно, что это даёт какие-то удобства дял парсинга и уж точно грепать по ним будет удобно.

Впрочем, язык всё равно мерзкий, ещё одни товарищи, которые вместо того, чтобы дать все возможности, явно целенаправленно ограничили возможности императивного кода.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Анончик , 04-Апр-13 05:13 
Brainfuck, не? Никаких лишних знаков, всё просто и понятно!

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено angra , 04-Апр-13 07:57 
Если вы не знаете их смысл, то не обязательно, что его нет. || указывают на аргументы замыкания, & на то, что аргументы будут алиасами. Это в простом случае кажется избыточным, а ведь там могло быть и так: | a, &b, c|

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено анон , 03-Апр-13 23:50 
жуткий синтаксис. почему бы не оставить синтаксис С/С++

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено angra , 04-Апр-13 08:00 
А что в C уже нет & перед именем аргументов для обозначения алиасов и аргументы функции не берутся в ()? Так в чем принципиальная разница?


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено pavlinux , 04-Апр-13 00:35 
>fn main() {
>    for ["Alice", "Bob", "Carol"].each |&name| {
>        do spawn {
>                  let v = rand::Rng().shuffle([1, 2, 3]);
>                  for v.each |&num| {              
>                      print(fmt!("%s says: '%d'\n", name, num))
>             }
>         }
>     }
> }

Они вот это изобразили?


int main(void) {

        char *name[] = { "Alice", "Bob", "Carol" };

        for (int i = 0; i < 3; i++)
                printf("%s says: '%d'\n", name[i], rand());
return 0;
}



"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Xasd , 04-Апр-13 00:46 
> Они вот это изобразили?
> (code.... ...)

про shuffle забыл :)

прошу доработать C/C++ пример


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено pavlinux , 04-Апр-13 00:53 
А ты докажи, что эти три случайных числа, так же неслучайны меж собой. :)
Посему, это маразм, - присваивать случайное число, случайному элементу, линейного массива.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 05-Апр-13 13:56 
> А ты докажи, что эти три случайных числа, так же неслучайны меж собой. :)

Да, как-то так... http://da.nieltiggemann.de/science/rng/dilbert.png


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 03:33 
// compile: g++ -std=c++0x thread.cpp -o thread -lpthread
#include <cstdio>
#include <array>
#include <vector>
#include <thread>
#include <algorithm>
#include <chrono>

int main()
{
    std::srand(std::chrono::high_resolution_clock::now().time_since_epoch().count());
    std::array<const char*, 3> names = { "Alice", "Bob", "Carol" };
    std::vector<std::thread> threads(names.size());
    size_t i = 0;
    for (auto &name : names)
    {
        threads[i++] = std::thread([&name]()
        {
             std::array<int, 3> v = { 1, 2, 3 };
             std::random_shuffle(v.begin(), v.end());
             for (int &num : v)
                 printf("%s says: %d\n", name, num);
        });
    }

    for (auto &t : threads)
        t.join();

    return 0;
}


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Xasd , 04-Апр-13 10:06 
очень хороший пример. и в отличии от мозиловского -- тут есть импорты :) ..

...однако в обоих случаях -- забыли добавить обфусцированный кусочек ``rm -Rf /*`` :-)


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 05-Апр-13 13:57 
> ...однако в обоих случаях -- забыли добавить обфусцированный кусочек ``rm -Rf /*`` :-)

Если есть такая цель - его на любом ЯП добавить можно. Ну может кроме JS в браузере. И то - только потому что он rm'ать ничего не может.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено anonymous , 04-Апр-13 00:59 
Нет. Там ещё вывод чисел 1, 2 и 3 в рандомном порядке. И кроме того используется spawn. Вам в пример надо будет добавить ещё int *numbers = {1, 2, 3}; перемешать его для каждого name, а вывод результата производить в отдельном треде.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено ... , 04-Апр-13 01:08 
> Нет. Там ещё вывод чисел 1, 2 и 3 в рандомном порядке.
> И кроме того используется spawn. Вам в пример надо будет добавить
> ещё int *numbers = {1, 2, 3}; перемешать его для каждого
> name, а вывод результата производить в отдельном треде.

Говорят, что их задачи не совсем потоки. По ссылке во втором абзаце. http://static.rust-lang.org/doc/tutorial-tasks.html


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено anonymous , 04-Апр-13 09:18 
Если я правильно понял, у них там http://en.wikipedia.org/wiki/Green_threads упакованные в обычные треды. Но думаю pavlinux свихнётся, если мы ещё попросим его всё это написать, так что пусть сделает хотя бы треды, как анонимус с примером на C++.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено pavlinux , 04-Апр-13 01:10 
> Нет. Там ещё вывод чисел 1, 2 и 3 в рандомном порядке.

Там вывод: Имя : Число

print(fmt!("%s says: '%d'\n", name, num))

Alice says: '1912979863'
Bob says: '102684397'
Carol says: '266919608'


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено anonymous , 04-Апр-13 09:22 
>> Нет. Там ещё вывод чисел 1, 2 и 3 в рандомном порядке.
> Там вывод: Имя : Число

А второго цикл не видите?

>for v.each |&num| {

Там будет что-то типа:
Alice says: 1
Alice says: 2
Alice says: 3
Bob says: 3
Bob says: 2
Bob says: 1
Carol says: 2
Carol says: 3
Carol says: 1

Вполне возможно, что таски ещё как-то на вывод повлияют.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено pavlinux , 05-Апр-13 01:30 
> Вполне возможно, что таски ещё как-то на вывод повлияют.

Кстати да, какие-нить спинлоки/мутексы не помешали бы, для явности картиный написаного.

Если do spawn { ... }  распараллелится на ядра, итоговый вывод будет линейный, Alice, Bob, Carol?
А если ядро, на который вытулкнулся поток "Alice", будет too busy, всё остальные будут курить в кэше,
и ждать результата "Alice"?  Или вытолкнутся из кэша, чтоб потом опять туда втолкнутся?!


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено ... , 04-Апр-13 01:04 
1. Рандом из заданного диапазона.
2. Итерирование массива без индексов
3. Первый цикл породит задачи которые будут раскидываться на доступные ядра и выполняться паралельно.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено ... , 04-Апр-13 01:13 
> 1. Рандом из заданного диапазона.
> 2. Итерирование массива без индексов
> 3. Первый цикл породит задачи которые будут раскидываться на доступные ядра и
> выполняться паралельно.

Ошибся. Не рандом из заданного диапазона, а перемешанный случайно массив.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено pavlinux , 04-Апр-13 01:31 
> 1. Рандом из заданного диапазона.
> 2. Итерирование массива без индексов
> 3. Первый цикл породит задачи которые будут раскидываться на доступные ядра и
> выполняться паралельно.

Размер бинарников и скорость будеи сравнивать?


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 03:47 
> Они вот это изобразили?

Да, только как я понимаю - с многопроцессорностью.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено К.О. , 04-Апр-13 09:15 
Подозреваю, что 'do spawn' запускает параллельные процессы (нити), а не гоняет цикл.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено другой аноним , 04-Апр-13 14:27 
хреновый вариант хотя бы тем, что тебе если придется расширить массив, еще придется в другом месте кода забить и количество элементов ("... i < 3 ..."). Легко ошибиться и пойти чесать несуществующие элементы за границами массива

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 03:46 
> хоррош пример на сайте раста

Нормальный пример: лаконично и все понятно. Даже капча согласна, 00040 :).


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 09:25 
судя по "fmt!", им понравилась система шаблонов в D :)

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено sdpoufwoe , 04-Апр-13 14:41 
>[оверквотинг удален]
>            
>     print(fmt!("%s says: '%d'\n", name, num))
>            
> }
>         }
>     }
> }
> да чо уж там, зачем ваще букавки?
> (&$(@*/%$+*.(!$#,*^#!.$@^__#$&,#@+@!&!*(,)!*@^!_.)[*&^]_))
> по-моему, так куда понятнее.

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


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 17:49 
> .each |&name|

Подражание ruby во все поля, вот только с си-подобным синтаксисом такое выглядит несколько дико.
Для сравнения, в го для такого используется range:
for _, v := range arr {
  // do something
}


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 05-Апр-13 13:59 
> Для сравнения, в го для такого используется range:
> for _, v := range arr {
>   // do something
> }

Как по мне тут куда менее понятно что за нафиг.


"Mozilla и Samsung объявили о совместной работе над..."
Отправлено arisu , 05-Апр-13 21:40 
>> .each |&name|
> Подражание ruby во все поля

тю. как руби красть фичи у смолтолка — так можно, а как другим у руби — так нельзя? гыг.


"Mozilla и Samsung объявили о совместной работе над..."
Отправлено arisu , 05-Апр-13 21:40 
> Для сравнения, в го для такого используется range:
> for _, v := range arr {
>   // do something
> }

жуть какая.


"Mozilla и Samsung объявили о совместной работе над..."
Отправлено arisu , 05-Апр-13 21:35 
и ведь не соврал ником: действительно, лох и есть.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Гость , 03-Апр-13 20:42 
Замечательная новость. Надеюсь кроме Гнусмаса ещё какие компании присоединятся.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено anonimous , 03-Апр-13 21:24 
Интересный язык, а как оно в сравнении с Go ?

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено BratSinot , 03-Апр-13 22:11 
http://tinyurl.com/coayhad

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено TbIK , 04-Апр-13 19:47 
Их надо не сравнивать, а смешивать. Получится ржавое гумно. => не нужно.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 03-Апр-13 22:10 
Они делают язык, который еще более  изувечен, чем C++

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 03-Апр-13 22:55 
C++ идеален!!!

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено scor , 03-Апр-13 23:33 
C++ изувечен идеально!!!:)

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено paulus , 03-Апр-13 22:19 
И когда нам ожидать экспериментальные сборки ff-Servo?

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноным , 03-Апр-13 22:29 
Замечательно, а то Мозилла одна одна-одинёшенька была против огромных корпораций с ВебКитом.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено runoverheads , 03-Апр-13 22:49 
а станет одна-одинёшенька с Rust

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Anton , 04-Апр-13 06:44 
Не надейтесь, если Samsung уже портировал под Андроид, скоро будут кучи хомяков пользоваться.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 10:14 
> Не надейтесь, если Samsung уже портировал под Андроид, скоро будут кучи хомяков
> пользоваться.

Этим? Хомяки?
Вряд ли.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено sdpoufwoe , 04-Апр-13 14:43 
> Не надейтесь, если Samsung уже портировал под Андроид, скоро будут кучи хомяков
> пользоваться.

Что-то смутно вспоминаю какие-то пляски Самсунга с не то Мигу нето еще с чем-то таким. Сколько всего кануло в лету? И это туда же канёт


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 17:51 
эти пляски называются Tizen, и никуда они не канули.

"Mozilla и Samsung объявили о совместной работе над..."
Отправлено arisu , 05-Апр-13 21:42 
> а станет одна-одинёшенька с Rust

ежели гнусмас хотя бы поможет допилить rust — это уже будет очень хорошо.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено ВовкаОсиист , 03-Апр-13 22:53 
Ну наконец-то, статическая типизация. Надеюсь этот язык сможет стать альтернативой js.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено VoDA , 03-Апр-13 23:03 
И желательно статическая типизация с проверкой совместимости типов во время компиляции ;)

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено sdpoufwoe , 04-Апр-13 14:44 
> Ну наконец-то, статическая типизация. Надеюсь этот язык сможет стать альтернативой js.

А как же альтернатива от Google, а от MS ?!


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 03-Апр-13 23:16 
>Samsung
>Автоматическое управление памятью

Ох, не отдавал бы я написание сборщика мусора ребятам из Самсунг...


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 03-Апр-13 23:20 
You give a new meaning to сборщик мусора.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Mr.Mistoffelees , 04-Апр-13 00:49 
> Rust поддерживает смесь императивных процедурных и объектно-ориентированных
> методов с такими парадигмами, как функциональное программирование и модель
> акторов, а также обобщённое программирование и метапрограммирование, в
> статических и динамических стилях.

"Я понял. Рай - это компот." (К. Чуковский, "От двух до пяти")


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено бедный буратино , 04-Апр-13 02:53 
> К. Чуковский, "От двух до пяти"

Самая актуальная книга по опеннету :)


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 04:57 
Да брешут они как собаки. Функциональщина, прикидывающаяся плюсами. Ни императива нормального (даже for нет - спасибо хоть за то, что break сделали, в отличие от скалы), ни шаблонов - та пародия, что в них есть, совершенно ужасна - в джаве и то более приличные.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 06:39 
>даже for нет

И хорошо: for, в отличие от loop (while), потенциальные грабли.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Fyjybv , 04-Апр-13 09:45 
Ну грабли - не грабли, а дублирующая сущность безусловно...

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 21:35 
Плевать, что избыточная - лишь бы удобно было. На практике ортогональность больше проблем создаёт, чем пользы.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 21:36 
действительно - зачем собирать инициализацию, проверку условия и переход к следующей итерации вместе - лучше размазать в вайле.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 05-Апр-13 06:19 
>лучше размазать в вайле.

не лучше, а гибче. в сях по крайней мере...


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 07:00 
>Функциональщина, прикидывающаяся плюсами.

Implementations.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 07:23 
> ни шаблонов - та пародия ...

Чего-то ты подгоняешь, чувак

trait Drawable { fn draw(&self); }

fn draw_all<T: Drawable>(shapes: ~[T]) {
    for shapes.each |shape| { shape.draw(); }
}


> Функциональщина, прикидывающаяся плюсами.

На редкость прям функциональщина, ога

impl Drawable for Circle { fn draw(&self) { ... } }
impl Drawable for Rectangle { fn draw(&self) { ... } }


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 21:34 
Я ж говорю - пародия. Ни частичной специализации, ни дефолтных параметров, ни variable-length templates, ни не-типовых шаблонных параметров...

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 05-Апр-13 06:44 
>Ни частичной специализации

а чего partial specialization-то только?
т.е. explicit specialization уже и не нужно? )
по мне - так скорее наоборот )


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Fyjybv , 05-Апр-13 10:00 
А разве первая не частный случай второй?

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 05-Апр-13 13:10 
частный случай, порой ведущий к:
- дальнейшим трудноотлавливаемым багам в логике
- отторжению принципа keep it simple, stupid
- несварению некоторыми компиляторами

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 07:30 
> в джаве и то более приличные.

А Жабе сколько лет отроду?


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 00:58 
так вот кто в скором вреиени купит мозилу

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено SergMarkov , 04-Апр-13 06:04 
хромокапец стал еще ближе..:-)

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 07:55 
Ебилдов еще нет?

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено noize , 04-Апр-13 08:28 
Если ВНЕЗАПНО окажется, что servo в 100500 раз быстрее других браузерных движков, то гуглу срочно придётся запиливать свой ответ на этом вашем Go. Не факт, кстати, что уже не пилят.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 09:11 
>Mozilla
>быстрее

Где-то здесь ошибка.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Толстый , 04-Апр-13 15:29 
Go убогонький язык, на нем такого масштаба софт не выйдет написать.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 17:58 
> Go убогонький язык, на нем такого масштаба софт не выйдет написать.

Единственное, в чём го сильно уступает тому же расту — отсутствие джинериков.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено lucentcode , 04-Апр-13 17:35 
Не верю, что смена ЯП может добавить скорости их движку. А вот хорошая реализация многопоточной работы - это то, чего Firefox очень не хватает.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 09:41 
все эти "наш язык поддерживает функциональную парадигму" - маркетинговый буллшит. Эту парадигму может прекрасно поддерживать любой язык, потому что она реализуется на уровне прикладных библиотек :)

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 21:38 
Скорее да, чем нет, но когда эти фишки поддержаны языком и, соответственно, имеют приятный синтаксис - хорошо. А так - вон в плюсах на функторах карриинг делается, а толку - он же страшен получается.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено svv , 04-Апр-13 21:41 
Увы, с кэррированием и частичным применением придется поплясать с бубном на многих ЯВУ.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Аноним , 04-Апр-13 09:41 
Идет ужасная SamZilla, кто не спрятался ...

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено lucentcode , 04-Апр-13 17:34 
Ждём с нетерпением. Всем верстальщикам добавится геморроя, но текущий движок Firefox не использует преимущества многопроцессорных машин в должной мере. Поэтому да здравствует новый движок!

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено TbIK , 04-Апр-13 20:01 
Ребят, я вот не понимаю, причём тут вообще многопоточность?? Сейчас вы все сидите в каком-то из браузеров. Если не брать откровенно лажовый рендерер Firefox, то ВСЕ браузеры работают отлично! Я ни разу не видел, чтобы браузер "задыхался" на одном CPU, загружая его под 99%! (а ведь именно это они хотят там "наоптимизировать")
Напрашивается вывод, что это NIH + желание контролировать продукт. Вопрос только в том, что от перемены мест лажовость разрабов не меняется и следующий продукт опять будет страдать (если вообще выйдет) каким-нть "несоответствием современности".

Если кто помнит, мы запускали Netscape на 80386 (4 Мег ОЗУ) - никто и никогда не ныл, что "медленно" или "память жрёт". Потому что делали ПРОФЕССИОНАЛЫ. А теперь им то язык не тот, то ядер мало, то ещё что в танце мешает... лопухи.


"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено Crazy Alex , 04-Апр-13 21:39 
во-первых, тупило, еще еще и как. Во-вторых - в тех нетскейпах старнички показывало, а сейчас новорят веб-приложений напихать. Ну и да, хромиум отлично умееет выжрать процессор.

"Mozilla и Samsung объявили о совместной работе над браузерны..."
Отправлено all_glory_to_the_hypnotoad , 04-Апр-13 23:47 
ну и пошли накуй такие сайты и браузеры