Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/184: Рейтинг темы: голосов - 184, средняя оценка - 4.66
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484

Rust vs C++

26.06.2020, 16:10. Показов 47539. Ответов 660
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто-то писал на Rust? Стоит ли начинать учить? Насколько Rust хуже/лучше С++?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2020, 16:10
Ответы с готовыми решениями:

[Rust] Обсуждение возможностей и предстоящей роли языка Rust
Psilon, чем он тебя так привлек? И почему именно "убийца плюсов"? Если напишешь развернутый ответ, обещаю вынести в отдельную тему и...

[Rust] Как привязывать WinAPI-функции к коду на Rust?
Может кто-нить дать код, КАК привязывать вин апишные функции к растовскому коду (на примере MesageBox). ...

Расскажите о своём опыте программирования на Rust
Доброе утро! Расскажите, пожалуйста, о своём опыте программирования на Rust. Можно в сравнении с C# или Delphi. Спасибо.

660
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,681
Записей в блоге: 9
22.09.2020, 21:15
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от korvin_ Посмотреть сообщение
В Java SWT есть много виджетов, которые имеют метод getText, но они не реализуют какой-нибудь интерфейс HasText
По прошествии времени умные люди (а не местные изобретатели языков), понимают что это плохо, не обязательно авторы SWT тупые были, просто прогресс идёт везде, включая как ни странно, и программирование. И умные люди создают что ни будь новое, язык или фреймвёрк с учётом новых идей, где, если и будет общеупотребительный метод getText, то он войдёт в интерфейс/трейт.
Цитата Сообщение от korvin_ Посмотреть сообщение
Нет. Совсем нет.
Что нет? Да. плюсовые темплейты разновидность дженериков, обощённого программирования. Например.
Цитата Сообщение от korvin_ Посмотреть сообщение
Точно так же придётся, в чём разница?
В том что концепты не надо менять, если их просто нет.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вот в том то и суть что все в одном подстраивающемся шаблоне.
Это как, если для одних типов надо Set, другим Change и т.д.? Будете плодить варианты.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Т.е. суть как раз в том что поражденный тип может подстроится под интерфейс предка, а не требовать от предка соблюдения какого то интерфейса.
Если у "предков" нет соглашения об их интерфейсе, по любому, для каждого обёртку делать.
То что вы добавили через 6 минут понять невозможно. Вас, простите, иногда заносит, и становится похоже что это Ixmil писал.
А суть в том, что если у нас есть взимаодействие с базой, то должен быть протокол этого взаимодействия, интерфейс или что то подобное. И никаких портянок более, чем потребуется в любом случае реализовать для оборачивания несовместимого с остальными интрефейса. Есть сущность - базовое хранилище. Если мы с ним что то делаем, значит должны быть, к тому же, и сущности отражающие наше универсальное взимодействие.
0
Заблокирован
22.09.2020, 21:50
Цитата Сообщение от Curry Посмотреть сообщение
То что вы добавили через 6 минут понять невозможно. Вас, простите, иногда заносит, и становится похоже что это Ixmil писал
А еще у него ртуть с неба падает

Fulcrum_013, все нормальные языки отзываются от ООП, а ты все прошлый век вспоминаешь.
В Rust нет, в Go нет, в V нет, в Clojure нет, в Shen нет и тд.
Я, кстати, понимаю теперь почему perl6 не взлетел.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 22:29
Цитата Сообщение от Curry Посмотреть сообщение
Если у "предков" нет соглашения об их интерфейсе, по любому, для каждого обёртку делать.
В данном случае - абсолютно нет. Должно быть соглашение о том что добавляет в интерфейс обертак при наличии того или иного элемента в интерфейсе того типа на который она натягивется.

Добавлено через 3 минуты
Цитата Сообщение от sodda Посмотреть сообщение
В Rust нет, в Go нет, в V нет, в Clojure нет, в Shen нет и тд.
Ну дак и квалифицированных разработчиков среди тех для кого эти языки предназначены нет.
При развитии в ширину индустрия должна пробежать весь тот путь развития который прошла в глубтну от своего появления.
а путь этот шел именно по пути ФП - процедурщина - процедурщина с корутинами - ООП. И это абсолютно естесвенный путь.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,681
Записей в блоге: 9
22.09.2020, 22:30
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В данном случае - абсолютно нет. Должно быть соглашение о том что добавляет в интерфейс обертак
Так это и есть соглашение об интерфейсе.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 22:31
Цитата Сообщение от Curry Посмотреть сообщение
Так это и есть соглашение об интерфейсе.
Только такой подход к вопросу исключает общий интерфейс для базы. Вернее тот интерфейс который может быть общим - абсолютно пустой.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,681
Записей в блоге: 9
22.09.2020, 22:37
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Только такой подход к вопросу исключает общий интерфейс для базы.
Как вы не зная интерфейса взаимодействия с базой с ней работать будете?
И, если вы хотите у себя иметь какой то универсальный слой доступа к разным базам, а разработчики этих баз его не учитывают, то будете к каждой базе писать обёртку в любом случае. Даже если обёртка и не будет использовать весь интерфейс предоставленный разработчиками базы.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 22:41
Цитата Сообщение от sodda Посмотреть сообщение
все нормальные языки отзываются от ООП,
Вообще то ООП - это наиболее эффективная методология проектирования а не ключевое слово класс и т.д. Т.е. понятие полностью ортогональное языку. Если же языки не имеют средств ее поддержки - ну в конечном итогев более-мене сложной задаче все приходит к костыльной реализации, потому что имено ООП соответсвует мышлению человека - разложению задачи на экземпляры взаимодейтсвующих активных сущностей.
А соответсвенно все эти новомодные языки на самом деле предназначены для толп неквалифицированных разработчиков которых дно индустрии вынуждено превлекать для решения самых примитивных задач. Именно поэтому они появляются сейчас когда дефицит квалифицированных разрабов все сильнее и сильнее.

Добавлено через 2 минуты
Цитата Сообщение от Curry Посмотреть сообщение
Как вы не зная интерфейса взаимодействия с базой с ней работать будете?
Есть соглашение о том на что именно в интерфейсе стора и как именно будет реагировать обертка. Т.е. обертке передается тип стора. Она от него порождается и при наличии определенных методов в защищенной части добавляет определенные использующие эти методы операторы, определенные для хранимого типа, в публичную часть.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
22.09.2020, 22:45
Цитата Сообщение от Curry Посмотреть сообщение
По прошествии времени умные люди (а не местные изобретатели языков), понимают что это плохо, не обязательно авторы SWT тупые были, просто прогресс идёт везде, включая как ни странно, и программирование. И умные люди создают что ни будь новое, язык или фреймвёрк с учётом новых идей, где, если и будет общеупотребительный метод getText, то он войдёт в интерфейс/трейт.
:what: ? что за поток мыслей?

Цитата Сообщение от Curry Посмотреть сообщение
Да. плюсовые темплейты разновидность дженериков
Ты как обычно, рассуждаешь о вещах, о которых ничего не знаешь. https://docs.microsoft.com/en-... p-generics

Цитата Сообщение от Curry Посмотреть сообщение
В том что концепты не надо менять, если их просто нет.
При чём тут концепты? Что ты несёшь? Код не надо менять, если его просто нет.
0
Заблокирован
22.09.2020, 22:46
Цитата Сообщение от Curry Посмотреть сообщение
То что вы добавили через 6 минут понять невозможно. Вас, простите, иногда заносит, и становится похоже что это Ixmil писал
А еще у него ртуть с неба падает

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну дак и квалифицированных разработчиков среди тех для кого эти языки предназначены нет.
На Rust вообще-то ОС целая уже как несколько лет написана.
На Go написан Docker.
Дискорд - Go + Rust
Clojure - используется повсеместно. Например в сети Валмарт.
Выходи уже из пещеры.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вообще то ООП - это наиболее эффективная методология проектирования а не ключевое слово класс и т.д
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
а путь этот шел именно по пути ФП - процедурщина - процедурщина с корутинами - ООП. И это абсолютно естесвенный путь.
Это только в твоем воспаленном мозгу.
Все как раз наоборот. Поэтому все топовые современные языки от ООП отказывают в пользу функционального программирования.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 22:47
Цитата Сообщение от sodda Посмотреть сообщение
Поэтому все топовые современные языки от ООП отказывают в пользу функционального программирования.
Исключительно во влажных фантазиях недопонявших само ФП евангелистов. На самом же деле ФП языки семимильными шагами идут в сторону ООП.
0
Заблокирован
22.09.2020, 22:50
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А соответсвенно все эти новомодные языки на самом деле предназначены для толп неквалифицированных разработчиков которых дно индустрии вынуждено превлекать для решения самых примитивных задач. Именно поэтому они появляются сейчас когда дефицит квалифицированных разрабов все сильнее и сильнее.
Ты вообще юморист все *NIX сисетмы на чистом как слеза младенца С написаны без всяких ООП.
Если ты без класса два числа сложить не можешь, то это уже твои проблемы. И это говорит не в пользу твоей квалификации.

Добавлено через 2 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Исключительно во влажных фантазиях недопонявших само ФП евангелистов. На самом же деле ФП языки семимильными шагами идут в сторону ООП.
Да. Какие же?
Clojure вот новый и свежий, но никаким ООП не пахнет.
Shen - тоже самое.
Idris может? Смешно.
Перекреститесь, молодой человек, вам кажется.
Давай лучше пробедимся по фактам?
В Go есть ООП? Нету.
В Rust может? Тоже нету.
Там что завязывайте фантазировать.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 22:51
Цитата Сообщение от sodda Посмотреть сообщение
на чистом как слеза младенца С написаны без всяких ООП
"На чистом С" и "без ООП" - это в подавляющем большинстве случаев антогонизм. На самом деле с ручной имплементацией правил SOLID, за которой в языках с поддержкой ООП на уровне ядра просто следит компилятор.
0
Заблокирован
22.09.2020, 22:53
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
"На чистом С" и "без ООП" - это в подавляющем большинстве случаев антогонизм.
Там нет ниакакой поддержки ООП.
Линус уже 20 лет как едро написал и каждый день его эти 30 лет обновляет и поддерживает. И делает он это на С, а С++ просто ненавидит.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 22:55
Цитата Сообщение от sodda Посмотреть сообщение
Clojure вот новый и свежий
Новый и свежий - это антогонизм к "предназначен для квалифицированных разработчиков".
Создания языковых средств для инженеров завершилось в 80-х.На сегодняшний день идет только улучшение этих инструментов - их то как раз в целом заменять не надо.
А вот с иструментами подтирания задницы недопонимающим задачу неквалифицированным массам всегда проблемы. Поэтому они всегда свежие всегда новые и всегда ни на что не годные. Потому что проблему недопонимания задачи не способен решить ни один копмилятор или какой либо другой инструмент. Это решит только повышение квалификации разраба.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
22.09.2020, 22:55
На самом деле с ручной имплементацией правил SOLID, за которой в языках с поддержкой ООП на уровне ядра просто следит компилятор.
Лол, какая чушь, никакой компилятор не следит за соблюдением SOLID, также как и сам SOLID часто не нужен, не полон и служит лишь для того, чтобы его спрашивали на собеседованиях.
0
Модератор
 Аватар для Curry
5168 / 3530 / 536
Регистрация: 01.06.2013
Сообщений: 7,681
Записей в блоге: 9
22.09.2020, 22:59
Цитата Сообщение от korvin_ Посмотреть сообщение
:what: ? что за поток мыслей?
Перестал понимать, да?
И сразу понёс бред. С тобой так обычно.
Зачем ты привёл ссылку где сравнивают плюсовые шаблоны и сишарпные джененрики? Я не писал что плюсовые шаблоны, это сишарпные джененрики. Но дженерики.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 23:00
Цитата Сообщение от sodda Посмотреть сообщение
Там нет ниакакой поддержки ООП.
Нет поддержки ядром языка и не используется - это абсолютно разные вещи.
не забывайте что
C
1
2
3
4
5
struct Foo { ... }
void Foo_Bar(Foo*) {....};
....
Foo foo;
Foo_Bar(&foo);
и
C++
1
2
3
4
5
6
7
8
class Foo{
...
    void Bar(){....};
...
};
...
Foo foo;
foo.Bar();
Это одно и то же. Только во втором случае с поддержкой имплементации правил SOLID компилятором, в первом без таковой.
0
Заблокирован
22.09.2020, 23:02
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Новый и свежий - это антогонизм к "предназначен для квалифицированных разработчиков".
Ну однако же на нем тут же была написана масса проектов и он используется в большом продакшене.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Создания языковых средств для инженеров завершилось в 80-х.На сегодняшний день идет только улучшение этих инструментов
Улучшение как раз и состоит в отказе от ООП и внесение большей функциональности.
Персистентные данные, чистые функции, отсутствие глобального состояния, конструкции как выражения и тд.
Вот тенденции современности. Потому что это означает лаконичность, удобность и безопасность.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Нет поддержки ядром языка и не используется - это абсолютно разные вещи.
не забывайте что
Где наследование и тд?. Ты еще список назови классом.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.09.2020, 23:04
Цитата Сообщение от sodda Посмотреть сообщение
Персистентные данные, чистые функции, отсутствие глобального состояния, конструкции как выражения и тд.
НЕ более чем бредятина существенно усложнающая разработку, а то и заводящая ее в тупик. Спросите любого из этих апологетов можно ли обойтись без состояний? Он вам ответит - их можно эмулировать. О чем там может дальше вообще идти речь? Все будет все равно жить по статефулл правилам только делать это придется через задницу.
ФП годно только для вычисления элементарных выражений и мелкой параметризации кода кодом. Для решения же более серьезных задач используется ООП.
Все оно хорошо на том уровне для которого предназначено.
0
Заблокирован
22.09.2020, 23:09
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
НЕ более чем бредятина существенно усложнающая разработку, а то и заводящая ее в тупик. Спросите любого из этих апологетов можно ли обойтись без состояний? Он вам ответит - их можно эмулировать. О чем там может дальше вообще идти речь? Все будет все равно жить по статефулл правилам только делать это придется через задницу.
ФП годно только для вычисления элементарных выражений и мелкой параметризации кода кодом.
Ты двже не понимаешь почему такие изменения вносятся.
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Для решения же более серьезных задач используется ООП.
Все оно хорошо на том уровне для которого предназначено.
Каких серьезных задач? Вот это умора
Пока ты миллион классов создашь то забудешь уже о сколько каких-нибудь серьезных задачах.
.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.09.2020, 23:09

[Rust] Time
Подскажите как узнать время в Rust. //Rust extern crate time; fn main() { let now = time::get_time(); ...

Rust+assembler
Как связать язык rust и ассемблер не используя ассемблерные вставки(неудобно использовать их в RUSTе)?

Frontend Для RUST
Нужна помощь! Есть класс Participant, в этом классе есть функция new. impl Participant { /// Create a new `Participant`. ...

Просадки FPS в Rust
Всем привет нужна помощь! У меня ноут HP, установлен процессор i5-8300H 2,3 ггц, 6 ядерный 8 поточный, так же установлена видеокарта Nvidia...

Rust ошибка E0623
при компиляции появляется ошибка E0623 в документации этот номер пропущен. в чём может быть проблема? ошибка: error: lifetime...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
620
Ответ Создать тему
Новые блоги и статьи
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru