2014 dxdy logo

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

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




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


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


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

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


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

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

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


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

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


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

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

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


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

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


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

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


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

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

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


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

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


02/08/11
4935
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
8299
Минск
mihaild в сообщении #1331704 писал(а):
Что всё-таки такое жёсткая типизация?
Видимо, это какой-то не общепринятый жаргонизм.

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


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

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

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

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


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

-- 11.08.2018, 13:40 --

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

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


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

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


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

-- 11.08.2018, 18:19 --

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

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



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

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


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

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