Rust vs Go in 2024

Здесь будут размещаться ссылки и отзывы на интересные публикации по Linux

Модераторы: Olej, vikos

Правила форума
Запрещается помещать сообщения, не имеющие отношения к обсуждаемой статье. Все такие сообщения будут удаляться непосредствено после обнаружения.
Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Rust vs Go in 2024

Непрочитанное сообщение Olej » 24 янв 2024, 17:22

Rust vs Go in 2024
Rust is a low-level statically-typed multi-paradigm programming language that’s focused on safety and performance.

—Gints Dreimanis
Go is an open-source programming language that makes it easy to build simple, reliable, and efficient software.
—golang.org
Мне это особенно интересно, поскольку оба, Rusr & Go - входят в круг моих интересов.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Rust vs Go in 2024

Непрочитанное сообщение Olej » 24 янв 2024, 17:26

Olej писал(а):
24 янв 2024, 17:22
Мне это особенно интересно, поскольку оба, Rusr & Go - входят в круг моих интересов.
Хотя, как по мне, это 2 инструмнта для совершенн разных сфер применения:
Rust - язык системного программирования, достаточно небольших проектов, приближённых к низкому уровню.
G0 - язык проектирования проектов из прикладных областей ... с большим масштабированием - от однокристалок SoС, до многопроцессорных серверов - но прикладного назначения!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Rust vs Go in 2024

Непрочитанное сообщение Olej » 25 янв 2024, 00:47

Go — небольшой язык по своей конструкции: в нем очень мало синтаксиса, мало ключевых слов и настолько мало языковых конструкций, насколько это возможно. Вы можете очень быстро изучить основы Go и продуктивно работать с языком.

На другом конце шкалы у Rust есть практически все функции, которые вы можете себе представить в языке программирования, а некоторые вы, вероятно, не можете себе представить. Это делает его мощным и выразительным языком, предлагающим множество различных способов сделать одно и то же.

Если вы переходите на Rust с какого-либо другого языка, вы, вероятно, сможете найти эквиваленты Rust для большинства функций, к которым вы привыкли. Это дает Rust преимущество, когда большие проекты необходимо перенести с традиционного языка, такого как C++ или Java.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Rust vs Go in 2024

Непрочитанное сообщение Olej » 25 янв 2024, 00:49

В отличие от большинства языков, Go был разработан со встроенными функциями для параллельного программирования, такими как горутины (облегченная версия потоков) и каналы (безопасные и эффективные способы передачи данных между параллельными задачами).

Это делает Go идеальным выбором для крупномасштабных параллельных приложений, таких как веб-серверы и микросервисы.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Rust vs Go in 2024

Непрочитанное сообщение Olej » 25 янв 2024, 00:50

Безопасность

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

В результате так называемая «борьба с проверкой заимствований» является распространенной жалобой среди новых программистов Rust. Реализация вашей программы в безопасном коде Rust часто означает фундаментальное переосмысление ее дизайна, что может разочаровывать, но преимущества могут того стоить, когда надежность является вашим главным приоритетом.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Rust vs Go in 2024

Непрочитанное сообщение Olej » 25 янв 2024, 02:24

Скорость

Rust идет на ряд компромиссных решений для достижения максимально возможной скорости выполнения. Напротив, Go больше заботится о простоте, и ради этого он готов пожертвовать некоторой производительностью (во время выполнения).

Предпочитаете ли вы Rust или Go в этом вопросе, зависит от того, тратите ли вы больше времени на ожидание сборки программы или на ее запуск.
Корректность

И Go, и Rust призваны помочь вам писать правильные программы, но разными способами: Go предоставляет, например, превосходную встроенную среду модульного тестирования и богатую стандартную библиотеку, в то время как Rust ориентирован на устранение ошибок во время выполнения, используя заимствования.

Вероятно, будет справедливо сказать, что на Go легче написать данную программу, но результат может с большей вероятностью содержать ошибки, чем версия на Rust. Rust навязывает программисту дисциплину, но Go позволяет программисту выбирать, насколько дисциплинированно он хочет быть в отношении конкретного проекта.

Ответить

Вернуться в «Публикации, книги и обсуждения»

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

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