1.1, Аноним (-), 22:45, 30/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Как насчёт использования APL символов? Обычные то закончатся скоро, а слова писать, по всей видимости, не Ъ.
| |
|
|
3.3, Crazy Alex (ok), 23:26, 30/03/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот как раз подумалось, что очень похоже становится. И запросто может сфейлиться по той же причине - перестарались с "крутостью".
| |
|
4.36, авыф (?), 07:11, 01/04/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
да, скала это, конечно, это вещь в себе.
Разработчики такие: "
А че это у нас скобочки как у всех? Давайте скорее угловые скобки сделаем квадратными... а квадратные - круглыми! Нужен какой-нибудь крутой концепт, чтобы "всё было чем-нибудь", подождите, минуточку, ... о госпади, это гениально "every value is an object"!. Тааак, интерфейсы мы переименуем во что-нибудь модное, готово! Вот эту хрень возьмем из питона. Вот эту хрень из js. Язык готов!"
Вообще, весь язык похож на концепт, который не должен был дойти да разработки на нём.
Извиняюсь, если что, это только моё мнение.
| |
|
3.4, Аноним (-), 00:24, 31/03/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
Ууу, ыкспердс опеннета, неосиливший Scala. В Scala нет операторов.
| |
|
|
5.7, Аноним (-), 00:49, 31/03/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
>То, что операторы используют механизм методов
Ещё раз. По слогам - В СКАЛА НЕТ ОПЕРАТОРОВ, есть только методы классов/объектов. Инфиксная форма вызова метода с одним параметром - синтаксический сахар компилятора. Например "оператор" + это метод класса и без синатксического сахара записывается как 1.+(2). В случае настоящего оператора, как в джаве или с++ такое просто не возможно, ибо там это именно операторы.
| |
|
6.10, Буратино (?), 01:20, 31/03/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
Лолчто?
В C++ спокойно пишется что obj1 += obj2, что obj1.operator+=(obj2).
| |
6.11, angra (ok), 01:44, 31/03/2018 [^] [^^] [^^^] [ответить]
| +10 +/– |
> В СКАЛА НЕТ ОПЕРАТОРОВ
Если написать большими буквами, то убедительней не будет, особенно в свете того, что официальная дока говорит об обратном.
> Инфиксная форма вызова метода с одним параметром - синтаксический сахар компилятора.
Ага, а их приоритет чем является?
> В случае настоящего оператора, как в джаве или с++ такое просто не возможно, ибо там это именно операторы.
Ты похоже даже близко не представляешь, что в С++ возможно с операторами. Причем это там было, когда не только scala, но и java в проекте не существовало.
| |
6.13, Аноним (-), 06:49, 31/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
>Например "оператор" + это метод класса и без синатксического сахара записывается как 1.+(2).
Если оператор + можно записать как-то по другому, он не перестает быть оператором.
| |
6.23, Илья (??), 14:06, 31/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
> как в джаве или...
извините, но скала работает на jwm.
Обратите внимание на то, что операторы практически везде таким же образом "появляются".
Вот пример из .net:
public static bool operator ==(Decimal d1, Decimal d2)
{
return Decimal.FCallCompare(ref d1, ref d2) == 0;
}
| |
|
|
|
|
2.5, мурзилла (?), 00:31, 31/03/2018 [^] [^^] [^^^] [ответить]
| +11 +/– |
ну что вы, apl - детище древних serial терминалов, у которых только половина ascii и то неполная.
У нас в XXI веке - полный unicode тех символов. Правда, пока голоса разделились поровну- никак не определим, смайлик-какaшка это унарный или бинарный оператор?
| |
|
3.9, funny.falcon (?), 01:12, 31/03/2018 [^] [^^] [^^^] [ответить]
| +11 +/– |
Думаю, как с минусом: если у себя наложил, то унарный; если же соседу по дверь, то бинарный.
| |
|
|
1.14, Аноним (-), 07:49, 31/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
Можно узнать про связь языка Раст с LLVM?
Зачем Расту LLVM? Без LLVM компилятор Раста не умеет компиляить себя? А может для компиляции исходников *.rs нужна стороняя виртуальная машина?
Зачем разработчикам языка, который к тому-же, позиционирует себя как системный язык вообще понадобилась эта виртуальная машина?
К тому же LLVM не любят во Free Softwere Foundation.
| |
|
2.15, сишечка с пюрешечкой (?), 09:01, 31/03/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
если совсем просто, то писать компилятор очень тяжело. llvm - одна из лучших вещей, которые случались с компиляторами, она позволяет писать только фронтенд и сэкономить кучу времени и сил, а заодно и получить качественный результат. в приличных ОС (Fedora например) вообще весь llvm это 20 мегабайт, можно и потерпеть ради такой прелести.
| |
|
3.16, Аноним (-), 10:18, 31/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> если совсем просто, то писать компилятор очень тяжело. llvm - одна из
> лучших вещей, которые случались с компиляторами, она позволяет писать только фронтенд
> и сэкономить кучу времени и сил, а заодно и получить качественный
> результат.
Насколько я понял очень трудно создавать свой бекенд, который и превращает исходный код в машинные инструкции.
Хорошо, но почему они выбрали в качестве бекенда LLVM? Почему нельзя в качестве бекенда выбрать GCC с его лютой GNU GPL ver.3? LLVM разрешительно-пермиссивная, есть опасность, что вокруг LLVM могут создастся проприетарные сервисы.
>в приличных ОС (Fedora например) вообще весь llvm это 20 мегабайт, можно и потерпеть ради такой прелести.
20 мегабайт это обманка. Твой дистр видимо просто разрезал LLVM на части и упаковал их. Чуть что, при первой же необходимости, ты очутишь прелести недостатка по зависимостям. Это типично для дистрибутивов с deb и RPM пакетной системой.
| |
|
4.19, leap42 (ok), 12:28, 31/03/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Почему нельзя в качестве бекенда выбрать GCC?
Он так не может
> вокруг LLVM могут создастся проприетарные сервисы
это норма, его же проприерасты из Apple придумали, но исходники открыты и всегда будут (* по крайней мере старые версии никуда не денутся)
> 20 мегабайт это обманка. Твой дистр видимо просто разрезал LLVM на части и упаковал их
это не обманка, а адекватная работа пакетного менеджера, он на то и нужен
> Чуть что, при первой же необходимости, ты очутишь прелести недостатка по зависимостям
нет никакого "чуть что", это вздор
годами пишу на Си, использую в т.ч. и шланг, и никогда такого не бывало
| |
|
5.27, Аноним (-), 17:45, 31/03/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
> по крайней мере старые версии никуда не денутся
Ага, и ассемблер никуда не денется. Причём тут это? В новости явно сказано, что требуется новая версия LLVM. Какой будет прок со "старых версий", если ржавый зависит от новых?
| |
|
6.32, Аноним (-), 21:04, 31/03/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Rust версию llvm с собой таскает. Обожаю когда свободофобы придумывают очередную невероятную причину не любить свободные лицензии.
| |
|
7.41, Alan Walk (?), 13:40, 01/04/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
LLVM это компилятор, с возможностью запуска кода в виртуальной машине. Раст поступает так. Он своим оптимизатором оптимизирует код используя возможности языка, а после готовит байт код для LLVM. А LLVM уже готовит оптимизирует, разворачивает этот байт код для какого-нибудь железа.
Вокруг LLVM крутятся огромные деньги, все его пилят оптимизируют, используют, он открытый. Тотже эпль язык использует LLVM. И множество других компилируемых.
Взять сишный Clang компилятор, он работает также(в связке с LLVM и по такомуже циклу).
А GCC, он для единственного си идет только...
В итоге мы имеем скорость как у сишки на Clang(хром в последнее время на Clang везде собирается если что).
| |
|
8.44, Led (ok), 21:00, 01/04/2018 [^] [^^] [^^^] [ответить] | +1 +/– | Ты специально сегодня зарегался только для того, чтобы показать какой ты недалёк... текст свёрнут, показать | |
|
|
|
|
4.25, Аноним (-), 15:08, 31/03/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
>> Хорошо, но почему они выбрали в качестве бекенда LLVM?
Альтернатив нет. GCC не был написан по подобному модульному принципу. Если только Вы не хотите компилировать свой язык в Си (как в Vala), который в свою очередь через GCC прогонять.
| |
|
|
2.21, Аноним (-), 13:07, 31/03/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Зачем разработчикам языка, который к тому-же, позиционирует себя как системный язык вообще понадобилась эта виртуальная машина?
Ты бы почитал про LLVM что-нибудь, кроме расшифровки названия. Это не (только) виртуальная машина, это фреймворк для создания компиляторов.
| |
|
|
2.24, Илья (??), 14:08, 31/03/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> По структуре язык Rust напоминает C++
> Нет.
ну чуточку. Вообще, эта фраза мигрирует из новости в новость :)
| |
|
1.18, Аноним (-), 12:26, 31/03/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
> Предложен новый способ использования выражения
Мне одному кажется, что Rust становится новым перлом?
Если что-то легко реализовать в компиляторе, это не значит, что это что-то нужно тащить в язык...
| |
|
2.26, Аноним (-), 15:11, 31/03/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
>> Предложен новый способ использования выражения
> Мне одному кажется, что Rust становится новым перлом?
> Если что-то легко реализовать в компиляторе, это не значит, что это что-то
> нужно тащить в язык...
Здесь люди получают удовольствие от реализации всё новых и новых сложных фич в языке. Ими руководит не здравый смысл, психология и статистика, а банальное получение удовольствия от разработки. Да, будет новый Пёрл со всеми вытекающими последствиями. Мало того, он ещё и популярен станет, т. к. будет считаться сложным для освоения, а это хороший способ для многим людей повысить свою самооценку.
| |
|
3.30, Аноним (-), 20:36, 31/03/2018 [^] [^^] [^^^] [ответить]
| –5 +/– |
Никому не нужное дерьмо тащат, а ООП так и не завезли. Без ООП не нужен. Нам одних си-фанатиков хватает с их макросно-процедурным гoвнокодом, а сюда ещё раст-фанатиков завезли с тем же дерьмoм.
| |
|
4.34, Nexmean (?), 06:16, 01/04/2018 [^] [^^] [^^^] [ответить]
| +/– |
Не нужен ООП в расте, никогда его там не будет. В расте куда более мощная и гибкая система типов нежели ООП.
| |
|
5.35, авыф (?), 06:53, 01/04/2018 [^] [^^] [^^^] [ответить]
| +/– |
Расскажите подробнее, интересно посушать.
Вообще, по мне так в ООП нет ничего плохого кроме переопределения методов базовых классов.
В некоторых компаниях на уровне кодоанализа разрешают наследовать типы только от абстрактных классов, и это круто
| |
|
6.38, Аноним (-), 07:23, 01/04/2018 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Расскажите подробнее, интересно посушать.
> Вообще, по мне так в ООП нет ничего плохого кроме переопределения методов
> базовых классов.
Поподробнее не могу, скажу просто, ООП нужно тем, кто неможет, или не умеет в алгоритмы.
> В некоторых компаниях на уровне кодоанализа разрешают наследовать типы только от абстрактных
> классов, и это круто
Эти "некоторые компании" отсавь себе, на второе. Я знаю одно, для системного программирования ООП не нужно. Лишняя сущность.
Короче, любители ООП идите стройным шагом прямо в лес. Не загрязняйте чистые воды Раста.
| |
|
7.39, афаф (?), 11:35, 01/04/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Поподробнее не могу, скажу просто, ООП нужно тем, кто неможет, или не умеет в алгоритмы.
Извините, не вижу никакого противоречия Вы его сами придумали?
> Я знаю одно, для системного программирования ООП не нужно.
Раст вроде не только про системное программирование.
Взгляните на количество http-фреймворков: https://github.com/flosse/rust-web-framework-comparison
Имеются привязки к gtk/qt Есть ОРМ-ка, diesel. Да и вообще, насколько я понимаю, он изначально для SERVO писался
| |
|
8.40, Аноним (-), 12:53, 01/04/2018 [^] [^^] [^^^] [ответить] | +/– | Хорошо, попытаюсь в лоб Людям, которые ничего кроме ООП и готовеньких шаблонов ... текст свёрнут, показать | |
|
9.42, Афаф (?), 16:01, 01/04/2018 [^] [^^] [^^^] [ответить] | –2 +/– | Я бы сказал общепринятых шаблонов Наличие паттернов оо проектирования это скоре... текст свёрнут, показать | |
|
|
|
|
|
4.37, Аноним (-), 07:16, 01/04/2018 [^] [^^] [^^^] [ответить]
| +/– |
Боже упаси! Не нужно никакого ООП! Для языка, который позиционируется системным ООП не нужен.
| |
|
|
|
|