2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 О новом языке-лидере системного программирования
Сообщение10.08.2018, 17:01 
Аватара пользователя


11/06/12
8335
Минск
Выделено в самостоятельную ветку из «ограничения на выделение памяти malloc()»
(Тема ветки определена во втором сообщении Aritaborian)


Вот, почему нужно переходить на Rust.

 Профиль  
                  
 
 Re: ограничения на выделение памяти malloc()
Сообщение10.08.2018, 17:08 


27/08/16
4129
Aritaborian в сообщении #1331640 писал(а):
Вот, почему нужно переходить на Rust.

Сейчас многие высокоуровневые языки отлично оптимизируются. На том же Шарпе код летает. Только с микрооптимизацией ТС придётся завязать. :mrgreen:

 Профиль  
                  
 
 Re: ограничения на выделение памяти malloc()
Сообщение10.08.2018, 18:42 
Аватара пользователя


11/06/12
8335
Минск
realeugene в сообщении #1331645 писал(а):
Сейчас многие высокоуровневые языки отлично оптимизируются. На том же Шарпе код летает.
Я не об этом говорил. Мало ли что, где и при каких условиях летает. Питон тоже полетит, если его под хвост пнуть это Cython или PyPy. Причём здесь Си-шарп? Я имел в виду Раст как перспективную замену Си/С++ в качестве общераспространённого системного ЯП. И конкретно — его работу с памятью. Как языка, в котором выстрелить себе в ногу можно только лишь при чётко и громко высказанном желании, а не как в Си/C++.

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение10.08.2018, 19:18 


27/08/16
4129
Aritaborian в сообщении #1331657 писал(а):
Я имел в виду Раст как перспективную замену Си/С++ в качестве общераспространённого системного ЯП.
Я с Rust не знаком. Но задача у ТС, судя по всему, совсем не системная, а вполне себе вычислительная.

PS Системный язык без жесткой типизации? Занятно...

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение10.08.2018, 19:36 
Заслуженный участник
Аватара пользователя


27/04/09
23609
Уфа
Что вы понимаете под «жёсткой» здесь? По-моему, она довольно жёсткая. Статическая и менее вольная, чем у C, насколько читал.

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение10.08.2018, 19:39 
Аватара пользователя


11/06/12
8335
Минск
realeugene в сообщении #1331667 писал(а):
Системный язык без жесткой типизации?
С чего вы взяли, что её там нет? Лишь потому, что синтаксис не обязывает указывать тип переменной при её первом указании?

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение10.08.2018, 23:33 


05/09/12
2448
Тот случай, когда без колебаний угадал язык по заголовку темы :lol:

ЗЫ сам не растаман, но говорят, там внутри языка 2 условных подмножества с противоположными свойствами в плане гарантий/легкости написания: сейф и ансейв.

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение10.08.2018, 23:56 
Заслуженный участник
Аватара пользователя


16/07/14
2432
Москва
Что всё-таки такое жёсткая типизация? Сильная? Статическая? Ещё какая-то? (Какая?)

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение11.08.2018, 10:44 
Заслуженный участник
Аватара пользователя


02/08/11
5048
Rust — отличная замена C, а нередко и C++ (но не всегда). Он всё ещё весьма сырой, на основные проблемы уже заткнули библиотеками, так что пользоваться можно. Но если есть выбор — выбирать лучше другой язык (Python, C#, Java и т. п.), потому что то, что на Python или C# выглядит как a.b().c, в Rust — в лучшем случае — превратится во что-то вроде a.lock().unwrap().as_ref().b().unwrap().c. А в худшем — в красивую и логичную, но многострочную конструкцию (в какой-нибудь if let, или просто выражение придётся разбить на части, чтобы продлить жизнь промежуточным значениям).

-- 11.08.2018, 12:09 --

А типизация в Rust строгая и статическая. Строгая без всяких скидок:
1) i8 (8-битное целое) в i32 (32-битное) без явной конвертации присвоить не получится;
2) конвертация между usize и конкретными типами uXX всегда явная, какой бы размер не имел usize;
3) сконвертировать трейт (аналог интерфейса) в конкретный тип нельзя; вообще нельзя.

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение11.08.2018, 11:45 
Аватара пользователя


11/06/12
8335
Минск
mihaild в сообщении #1331704 писал(а):
Что всё-таки такое жёсткая типизация?
Видимо, это какой-то не общепринятый жаргонизм.

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение11.08.2018, 13:26 


27/08/16
4129
Aritaborian в сообщении #1331670 писал(а):
С чего вы взяли, что её там нет?

Вы правы: это первое поспешное впечатление по примерам в интернетах, в которых куча ключевых слов 'let' и ни одного типа. Внешне напомнило Бейсик. Или это какие-то неправильные примеры? В общем, перехожу в этой теме в режим чтения.

PS Единственное что проясните pls. Драйвера для Линукса народ на нём пишет, или всё же нет?

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение11.08.2018, 13:32 
Аватара пользователя


11/06/12
8335
Минск
realeugene, лучше перейдите в режим чтения The Rust Book ;-)

-- 11.08.2018, 13:40 --

realeugene в сообщении #1331765 писал(а):
Единственное что проясните pls. Драйвера для Линукса народ на нём пишет, или всё же нет?
На нём уже даже ядро Линукс переписывают ;-) Пока в качестве эксперимента, разумеется.

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение11.08.2018, 13:51 


27/08/16
4129
Aritaborian в сообщении #1331766 писал(а):
На нём уже даже ядро Линукс переписывают
;-) Пока в качестве эксперимента, разумеется.
"Переписывают" - не интересно. Разные операционки писали на разных языках. Интересно, можно ли использовать без особых сложностей в обычном ядре Линукса?

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение11.08.2018, 17:18 
Заслуженный участник
Аватара пользователя


02/08/11
5048
realeugene в сообщении #1331768 писал(а):
Интересно, можно ли использовать без особых сложностей в обычном ядре Линукса?
Смотря какие сложности считать особыми. Другой компилятор, другая система сборки... Стоимость интеграции довольно высока, а небходимость взаимодействовать с сишным кодом со всех сторон снижает выгоды от использования (кроме, возможно, именно случая написания драйверов, поскольку у них есть чёткая граница раздела от собственно ядра).

-- 11.08.2018, 18:19 --

realeugene в сообщении #1331765 писал(а):
Или это какие-то неправильные примеры?
Это называется вывод типов и это must have фича для любого современного языка, имеющего серьёзные претензии на что-то.

 Профиль  
                  
 
 Re: О новом языке-лидере системного программирования
Сообщение30.08.2018, 01:43 
Заслуженный участник
Аватара пользователя


28/07/09
1060
Aritaborian в сообщении #1331657 писал(а):
Я имел в виду Раст как перспективную замену Си/С++ в качестве общераспространённого системного ЯП. И конкретно — его работу с памятью. Как языка, в котором выстрелить себе в ногу можно только лишь при чётко и громко высказанном желании, а не как в Си/C++.


Нет такого языка Си/С++. Насчёт выстрелить в ногу -- это про си по большей части.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.

Модераторы: Karan, PAV, Toucan, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group