The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.50, opennews (?), 12-Фев-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


255. "Выпуск языка программирования Rust 1.50"  –1 +/
Сообщение от Плохой Танцор (?), 13-Фев-21, 14:33 
Раст может и не плохой, но обилие колючих символов в тексте программы напрягает и отталкивает. "привет мир" смотрится на расте убедительно, чего не скажешь о серьёзных проектах, там все прелести раста теряются за обилием кракозябр и прочей нечитабельной мути. Хотя современный Си++ в плохом смысле даже раст кладёт на лопатки в плане читабельности и очевидности решений при постановке решений самых элементарных задач.
Ответить | Правка | Наверх | Cообщить модератору

269. "Выпуск языка программирования Rust 1.50"  +1 +/
Сообщение от Wilem82 (ok), 13-Фев-21, 20:54 
А на чём ты обычно пишешь?
Ответить | Правка | Наверх | Cообщить модератору

275. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Плохой Танцор (?), 14-Фев-21, 00:22 
Питон, Си и Си++.
Ответить | Правка | Наверх | Cообщить модератору

286. "Выпуск языка программирования Rust 1.50"  +2 +/
Сообщение от Wilem82 (ok), 14-Фев-21, 02:22 
> Питон, Си и Си++.

Ну с сями понятно - там меньше символов потому, что меньше фич. Фичи-то надо как-то в синтаксисе отображать.  В питоне тоже фич меньше - дженериков нету например.

Какие в расте необычные или просто вездесущие символы?

1. "!" - что бы отделять макросы от функций. Какой-то спец-символ всё равно для этого нужен. Читая код надо видеть, т.к. внутри вызова макроса может быть собственный под-синтаксис, определённый в описании самого макроса.  Пример: println!("abc") - выглядит как функция. А вот другой: lazy_static! { ... } - уже вообще ни на что не похоже, блок какой-то.

2. "::" - разделение имён в пути к чему-то через модули (неймспейсы, пакеты). Пример: std::path::Path.  Мне привычнее "." для этого - оно так в жаве, в котлине, в скале, да и много где. Хз зачем они так сделали, но вроде не бесит.

3. "T::<type_parameters>::function()" - так называемый turbofish. У самих пользователей раста притензия только к этому и эта конструкция многих бесит. Но убрать её пока не получается, см. https://github.com/varkor/rust/blob/b188c2a4eb7a3eede8477e3f... . Попытка указывать дженерики после имени фукнции, как это обычно делается в других языках, приводит к неоднозначности обработки туплов.

4. Описание дженериков в сигнатуре фукнции. Оно во всех языках, что я видел - многословно и турдночитаемо.  Но в отличии от жавы и котлина тут хотябы есть под-секция "where", где можно отдельно от основного определения сигнатуры развернуть условия.

Ответить | Правка | Наверх | Cообщить модератору

290. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (-), 14-Фев-21, 06:11 
>Ну с сями понятно - там меньше символов потому, что меньше фич.

Обьясните этому долбо?бу, что существует процедурный язык со структурной парадигмой. Си просто повторяет архитектуру компьютера. Именно потому он такой эффективный.

Виллем родившийся 1982 году, скажи, какие фичи ты видиш в плашке оперативной памяти?

Ответить | Правка | Наверх | Cообщить модератору

293. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Wilem82 (ok), 14-Фев-21, 08:17 
>>Ну с сями понятно - там меньше символов потому, что меньше фич.
> Обьясните этому долбо?бу, что существует процедурный язык со структурной парадигмой. Си просто повторяет архитектуру компьютера. Именно потому он такой эффективный.

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

Ответить | Правка | Наверх | Cообщить модератору

311. "Выпуск языка программирования Rust 1.50"  –1 +/
Сообщение от Аноним (279), 14-Фев-21, 12:53 
Ну ты прям подтвердил "нагромождение символов", приведя нагромождение символов :). Что и требовалось доказать.
Ответить | Правка | Наверх | Cообщить модератору

297. "Выпуск языка программирования Rust 1.50"  –1 +/
Сообщение от alex312 (?), 14-Фев-21, 09:53 
>Си просто повторяет архитектуру компьютера.

Начал фразу, так продолжай. Си просто повторяет архитектуру допотопного компьютера PDP-11.
И все кокруг (производители железа и писатели компиляторов) последние десятилетия натягивают сову на глобус.

Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

303. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (-), 14-Фев-21, 12:43 
> Обьясните этому долбо?бу какие фичи ты видиш

и горькая слеза скатилась в стакан со смузи

Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

310. "Выпуск языка программирования Rust 1.50"  –1 +/
Сообщение от Аноним (279), 14-Фев-21, 12:50 
> какие фичи ты видиш в плашке оперативной памяти?

Ну ты валишь его! Прям как на экзамене студента вопросом "а не 4 ли получится при 2+2?". А студент сидит и только "Му... му..." в ответ.

Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

318. "Выпуск языка программирования Rust 1.50"  +4 +/
Сообщение от Аноним (-), 14-Фев-21, 14:09 
>> Описание дженериков в сигнатуре фукнции. Оно во всех языках, что я видел - многословно и турдночитаемо.
> Обьясните этому долбо?бу, что существует процедурный язык со структурной парадигмой.

Он то все верно написал - долбо?б здесь исключительно аноним, прочитавший только первое предложение и бросившийся отвечать.

> Си просто повторяет архитектуру компьютера. Именно потому он такой эффективный.

Бред. Отсутствие дженериков, неймспейсов и нормальных макросов не делает язык волшебным образом эффективным, только снижает требования к выразительности языка.


https://queue.acm.org/detail.cfm?id=3212479
> C Is Not a Low-level Language
> Your computer is not a fast PDP-11.

Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

324. "Выпуск языка программирования Rust 1.50"  –1 +/
Сообщение от Аноним (279), 14-Фев-21, 16:02 
> дженериков, неймспейсов и нормальных макросов

Обычный неймспейсный дженерик головного мозга.

Ответить | Правка | Наверх | Cообщить модератору

328. "Выпуск языка программирования Rust 1.50"  –1 +/
Сообщение от Аноним (328), 14-Фев-21, 16:26 
>> дженериков, неймспейсов и нормальных макросов
> Обычный неймспейсный дженерик головного мозга.

Обычное анонимное балабольство мимо темы, ничего нового.


Ответить | Правка | Наверх | Cообщить модератору

339. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (45), 14-Фев-21, 22:24 
С каких пор ассемблерные вставки это Си?
Или по-другому: на каком нормальном компилируемом языке нет ассемблерных вставок?
Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

360. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (360), 15-Фев-21, 13:21 
На java
Ответить | Правка | Наверх | Cообщить модератору

362. "Выпуск языка программирования Rust 1.50"  –1 +/
Сообщение от Аноним (45), 15-Фев-21, 14:58 
Точно?
Его младший брат (C#) позволяет использовать ассемблерные вставки, да и вообще, на нём при сильном желании можно писать сравнимый по производительности с C++ код.

А насчёт Java - не знаю, писал на нём только в университете, по сравнению с C# не понравился. Вот Kotlin у шарпистов популярный язык на JVM.

Ответить | Правка | Наверх | Cообщить модератору

365. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (279), 15-Фев-21, 16:09 
> Java
> C#

Ты бы ещё перл и питон сравнил.

Ответить | Правка | Наверх | Cообщить модератору

368. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (45), 15-Фев-21, 17:00 
Так речь о компилируемых языках. В данном случае ещё и со сборкой мусора, со своей виртуальной машиной (JVM/CLR), что ИМХО корректное сравнение.
Но да, ущербность джавы можно оправдыватьтем, что его нельзя сравнивать с C#, конечно.
Ответить | Правка | Наверх | Cообщить модератору

370. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (370), 15-Фев-21, 17:10 
> Виллем родившийся 1982 году, скажи, какие фичи ты видиш в плашке оперативной памяти?

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

Ответить | Правка | К родителю #290 | Наверх | Cообщить модератору

375. "Выпуск языка программирования Rust 1.50"  +/
Сообщение от Аноним (-), 16-Фев-21, 05:56 
>Могли бы уже как в других языках, ввести соответствующий базовый тип,

Переименовать или переизобрести malloc, calloc, realloc?

>хотя бы неявный счетчик символов прикрутить к массиву символов и код-обвязку для управления этим хозяйством генерировать компилятором.

То есть ты хочешь чтобы, компилятор брал на себя функцию Стандартной библиотеки: fgets, gets_s... ?

Скажи, ты хочешь убить Дух Чистого Си? Или ты хочешь сделать из чистого Cи ещё один "Си плюс-плюс"? СПЕЦИАЛЬНО так сделано, что чистом Си нет строкового типа. Дабы не усложнять язык и чтобы не убить дух языка.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру