powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
25 сообщений из 146, страница 3 из 6
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930004
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ящик. Поддон. Тара.

Корзина
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930007
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корзина - для сбора грибов.
Лукошко - для сбора ягод.
А короб с крышкой, в нём, хочешь бумаги, а хочешь - молоко храни.
И всё переносное.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930025
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
mayton
Далее. Наследования нет. В стандартной доке я не вижу исчерпывающего теоретического обоснования.
Поэтому ищу ответы на семинарах и конференциях по Rust от смежных специалистов.

Вот щас в данный момент смотрю:

Rust Edinburgh #1 - Simon Brand "How Rust gets polymorphysm right"

наследования нет, конструкторов нет, классов толком нет...
бааа... Так мы же изобрели C

Да. С одной стороны выглядит так будто они что-то из языка выкинули. С другой стороны.

wikiRust (англ. rust — ржавчина, произносится [rʌst] — раст) — мультипарадигмальный компилируемый язык программирования общего назначения,
спонсируемый Mozilla Research, сочетающий парадигмы функционального и процедурного программирования с объектной системой, основанной
на типажах, и с управлением памятью через понятие «владения» (систему аффинных типов[en][7], позволяющую обходиться без сборки мусора).
Объектно-ориентированное программирование как таковое языком не поддерживается, но язык позволяет реализовать большинство понятий ООП
при помощи других абстракций[8].

Опять-же... я не нахожу пока того что подсветил красным цветом в официальной доке https://doc.rust-lang.org/book/

Если кто-то найдет внятное объяснение политического (тык-скыть) курса - буду признателен.
Эти тезисы КМК важны для понимания того куда вообще двигается этот язык и какие цели стоят.

И еще. Типаж - это trait?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930027
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
да, это уже почти устоялось, что trait - это типаж.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930028
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offtop
Какой типаж

...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930039
wiki
но язык позволяет реализовать большинство понятий ООП
при помощи других абстракций

"большинство понятий ООП" описано в книжке "Design patterns - Elements of reusable Object-Oriented software"
и как он их реализовывает?
про контейнеры уж не спрашиваю, коли там конструкторов нету...
а вектор объектов у него хотя бы есть?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вектор есть. Вот здесь описан https://doc.rust-lang.org/book/ch08-01-vectors.html
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930046
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
отнюдь.
Весьма контекстная картинка.
Играет роль, используется в роли, требуется борода, иначе не работает.

Причем дважды контекстная - Пуговкин здесь экземпляр системы проверки типов,
во время исполнения опознающий истинность реализации образа.

Вопрос - а в статической системе проверки типов - как выглядит Пуговкин?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930048
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пуговкин - off.

Давай лучше по топику.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930069
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что по топику?
ты подсвечиваешь красным фрагменты, которые либо вообще комментария не требуют,
либо требуют слишком много слов даже от того, кто на самом деле в теме.

Какой смысл вносил автор в "объектно-ориентированное программирование не поддерживается" - лучше бы спросить у автора текста.
Но весьма вероятно, подразумевалось, что слово класс в описании языка не употребляется, нигде нет речи об "экземплярах объектов", понятие "наследование" не используется как синтаксический конструкт.
И что с того?

про "парадигмы функционального" примерно понятно - переменные иммутабельны по умолчанию, есть лямбды и замыкания,
все это традиционно относят к "парадигмам функционального".


а "политический курс" я вижу примерно так:
технически заменить с++, выкинув "объектную ориентированность", но сохранив zero cors abstractions при статической типизации.

вот как мне кажется, выглядело самоосознание c++ в начале 21 века:
- нам уже понятно, что "ооп не нужен", но он казался нам таким привлекательным, что мы его сохраним, даже если его никто не использует.
- нам остро не хватает концепций и модулей - это точно будем допиливать, пока живы
- нам уже понятно, что сборщик мусора не нужен для "правильно написанной" программы, независимо, от того, использует оно "ооп" или нет. У правильно спроектированного объекта всё правильно освобождается автоматически, все RAII у нас для этого есть.
- хорошо бы нарастить мышцу "безопасного программирования" в части гарантированного исключения переполнения буфера,
исключить memory leak из-потерянных ссылок и крахи обращения к памяти по висячим ссылкам.
- да, еще кому-то что-то про сети, визуалку и параллельные вычисления надо, но это, по большей части, вещи, внешние, библиотечные, как нам кажется, потому второстепенные.

Как отвечает rust (имхо):
- хорошо, что вам "ооп не нужен" - тогда у нас его сразу и не будет
- сейчас (в 2009м) вы еще сами не договорились, что считать концепциями, и как точно их есть, а у нас на этом месте будут traits (хотя само слово это не совсем точно для этого контекста).
- ага, вы говорите, что следующие оба два пункта обслуживаются правильной и аккуратной передачей владения объектом?
во, вот это нам точно надо, и правила передачи владения... кхм... о - объектом памяти, мы прямо в синтаксис языка вошьем.
(имхо, содержательно, именно это и есть центральный пункт и цель всего проекта)
- так-так, там в вашей последней корзине, кажется, что-то полезное завалялось...
а... мы помним, глядя на кого, вы свои обобщения в язык "внедряли". У тех ребят еще "легковесные таски" завалялись, вот их мы себе тоже сразу возьмём, потому что мы "для интернета", пока вы откладываете это на потом.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930073
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Как отвечает rust (имхо):
- хорошо, что вам "ооп не нужен" - тогда у нас его сразу и не будет
- сейчас (в 2009м) вы еще сами не договорились, что считать концепциями, и как точно их есть, а у нас на этом месте будут traits (хотя само слово это не совсем точно для этого контекста).
- ага, вы говорите, что следующие оба два пункта обслуживаются правильной и аккуратной передачей владения объектом?
во, вот это нам точно надо, и правила передачи владения... кхм... о - объектом памяти, мы прямо в синтаксис языка вошьем.
(имхо, содержательно, именно это и есть центральный пункт и цель всего проекта)
- так-так, там в вашей последней корзине, кажется, что-то полезное завалялось...
а... мы помним, глядя на кого, вы свои обобщения в язык "внедряли". У тех ребят еще "легковесные таски" завалялись, вот их мы себе тоже сразу возьмём, потому что мы "для интернета", пока вы откладываете это на потом.

По поводу передач владения и прочее.

Мне интересно. Какова будет "цена вопроса"? Тоесть насколько глубоко программист должен решать этот
вопрос чтобы код считался безопасным по memory. Тоесть без утечек и попыток "чиркнуть" по памяти чужого
объекта.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930081
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

смотря что считать "ценой вопроса".
rust считает, что у вопроса нет цены. Просто используешь rust за бесплатно, и в этом месте он за бесплатно безопасен.

C++ говорит - у нас теперь есть безопасное подмножество, используя которое вы не сможете выстрелить себе в ногу.
Цена примерна та же - в минимуме - это цена изучения и освоения нового языка/ нового подмножества существующего языка.

У вопроса о цене много разных граней может оказаться, как у хорошего бриллианта.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930085
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пока еще смотрю конфы. Сейчас - RustConf 2910 - Bringing Rust Home

Фрагмент слайда
Rough rule of thumb. A new language need to be 10 times better at something than any of the existing languages to make it worth the effort of introducing and support it.

- Rust detects large classes of serious bugs at compile times
- The cost of a bug at compile time is orders of magnitude less than in productions


Rust детектирует классы серъезных багов в фазе компилляции. И еще вдогонку очевидный тезис
о цене фикса этого бага. Тут как-бы и ежу понятно.

Но фраза выше - заявляет о том что новый язык должен быть на порядок лучше чем существующие.
Очевидно что идет попытка доказать что существующие языки (Java/C++/Python) в этом смысле хуже.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930096
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, не на Java/Pyton они замахиваются, и не с ними сравниваются. Об этом просто забудь навсегда.
Для них оказаться в одной категории с Java/Pyton, это в лучшем случае сделать красивую мину в момент признания поражения.
И я бы это не за попытку доказать, а за оговорку на случай признания поражения принимал.
Не в том их радость, чтобы к ним люди с Java приходили (хотя и в этом тоже в период начального создания
самовоспроизводящегося коммюнити), а в том, чтобы плюсовики побросали свои знамёна,
и стройно сформировали новые ряды ржавых программистов.

PS
Java, на моё удивление, сама, как пластилин, мнётся, и с большими видами на будущее, после смены владельцев и изгнания
из проекта первосоздателей.

Rust пережил фазу изгнания из проекта своих создателей почти мгновенно, за два-три года,
и двинулся примерно перпендикулярно первоначальным планам, но само по себе это не доказательство непременной живучести.
Не волею божьей, а волею пославших разработчиков жён, языки программирования развиваются.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930097
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что до статической проверки типов в момент компиляции - по тому, что ты говоришь, похоже, что еще не смотрел посвященных этому вопросу с cppcon-2019 роликов. Вот советую это сделать.

Это гонка. И гонка не только с rust, но по тому, как вопрос активизируется, и как реагируют
выступающие на упоминание rust в вопросах, неявно с ним в первую очередь, как текущим предметом жёсткого хайпа.

Прочие потенциальные конкуренты слишком нишевые, а со стороны Java только JIT мог бы серьёзно нервировать, но пока Java
не жилец без gc, с++ может чувствовать себя совершенно комфортно, и даже не реагировать на попытки Java ускориться в развитии.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930098
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел более менее внятное сравнение С++/Rust.

RustConf 2019 - The Symbiotic Relationship of C++ and Rust


[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930100
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
что до статической проверки типов в момент компиляции - по тому, что ты говоришь, похоже, что еще не смотрел посвященных этому вопросу с cppcon-2019 роликов. Вот советую это сделать.

В CppCon2019 плейлист на 160 видосов.

Ты хочешь чтобы я смотрелл до следующего года? Что там особо важное? Хотя-бы на 1-2 часа.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930102
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
ну, не на Java/Pyton они замахиваются, и не с ними сравниваются. Об этом просто забудь навсегда.
Для них оказаться в одной категории с Java/Pyton, это в лучшем случае сделать красивую мину в момент признания поражения.

Это я просто комментировал этого бородача.

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Java, на моё удивление, сама, как пластилин, мнётся, и с большими видами на будущее, после смены владельцев и изгнания
из проекта первосоздателей.

Java как виртуальная машина достаточно консервативна. Она до сих пор совместима на уровне байткода с 1.1.
И это правда.

А наличие владельца роли не играет. Существует теневое правительство в виде JCP. Благодаря ему Java - надежна
и лидирует в ентерпрайзах. Очень часто муссируется вопрос что будет если Оракл то или Оракл-сё? Купит-продаст
или запретит. Да по большему счету - по барабану. Пока существует OpenJDK. Этот джин уже выпущен из бутылки
так же как и Linux в 90х.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930109
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Прочие потенциальные конкуренты слишком нишевые, а со стороны Java только JIT мог бы серьёзно нервировать, но пока Java
не жилец без gc, с++ может чувствовать себя совершенно комфортно, и даже не реагировать на попытки Java ускориться в развитии.

Она и никогда не будет жилец без GC. Исполнительная среда и язык - неотделимы. Нельзя вообще рассматривать этот язык
без GC т.к. при его разработке ставились определённые цели и они были достигнуты именно так.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930131
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Исполнительная среда и язык - неотделимы.
Отделимы. Задача, мягко, нетривиальная, но ничто не мешает использовать JVM с совершенно отдельным генератором байт-кода и без Java SE API.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930142
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В вопросах сравнения Rust с чем-то неизвестным мы неизбежно будем обсуждать C++ и Java.

Но если сильно углубляться - то лучше создать отдельный топик IMHO.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930150
mayton
Rough rule of thumb. A new language need to be 10 times better at something than any of the existing languages to make it worth the effort of introducing and support it.

ну пусть Go это расскажут.
Google создал Go для одной глобальной цели - чтобы его программисты могли быстро программировать.
Они снизили порог вхождения до минимума, при этом оставив производительность на около-максимуме.
Там конечно му**к с комплексом бога делал оформление, как в микрософте - взял и навводил новых стандартов, вместо тех, к которым все привыкли.
и поэтому там массив инициализируется как-то так:
Код: plaintext
1.
s := []int{2, 3, 5, 7, 11, 13}


но и хвост с ним. Язык таки зашёл и свою функцию выполняет на 200%. А главное - он всего в 1.5 раза медленее C/C++! В основном потому, что вся эта простота (в частности GC) - не бесплатна. Но учитывая возросшую скорость разработки - сойдёт.
Так что если у ржавого корыта (или коробки, или чё там?) выйдет стать круче и проще Go...
...то он всё равно на хер никому не нужен будет.
Я так думаю.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930155
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза

но и хвост с ним.

Wow-wow... легче с метафорами. А то он обидется.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930157
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза

А главное - он всего в 1.5 раза медленее C/C++! В основном потому, что вся эта простота (в частности GC) - не бесплатна. Но учитывая возросшую скорость разработки - сойдёт.

Смотря на чём сравнивать. Я думаю что основные фичи связанные с I/O во многих ЯП уже достаточно хорошо вылизаны
чтобы не вызывать явных Bottlenecks. Тем более что Golang позиционировался как замена Python/C++ в гугловских
микросервисах. Я думаю что с сетью он работает достатончно быстро.

Но вот с качеством оптимизатора - там не очень. Синтетический и простой тест рендеринга 3Д-графики.
(интенсивное использование double-чисел в виде вектора или tuple с публикацией на выходе ) показывает что Golang во много больше
медленнее чем С++. А C++ и Rust идут примерно вровень.

С++ - 9s
Golang - 43s
...
Рейтинг: 0 / 0
25 сообщений из 146, страница 3 из 6
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]