LINUX.ORG.RU

Автор Wayland композитора Way Cooler переписывает своё детище с Rust на C

 , ,


2

9

Как-то давно смотрел список Wayland композиторов, в нём был проект Way-Cooler, примечательный тем, что декларировался как духовный наследник AwesomeWM и проект использовал Rust. Но недавно я набрёл на пост автора с грустными новостями. В новостях про Rust часто просят привести примеры ПО, разрабатываемого на этом языке, т.е. многим интересен опыт реального применения этого языка. Именно таким опытом и делится автор по ссылке выше.

Для Ъ я попробую перевести пару самых главных, на мой взгляд, тезисов из поста. Надеюсь мой перевод не исказит смысл оригинала.

Автор на протяжении примерно года писал биндинг к библиотеке wlroots, за это время он внёс более 1000 изменений и в итоге репозиторий wlroots-rs содержал более 11 тысяч строк Rust кода, при чём это не просто копипаста одного куска для каждой сущности библиотеки, автор написал несколько макросов, один из которых сам же назвал уродливым. Автор пишет, что все 11 тысяч строк это просто обёртки, которые занимаются управлением памяти и при этом они не покрывают и половины API wlroots. Кроме того, автор заметил, что разобраться и пользоваться плодом его трудов довольно сложно и некоторые отказываются от использования wlroots-rs в пользу wlroots.

Основными проблемами при написании обёртки для wlroots автор называет описание модели владения объектами wlroots на языке Rust. По ссылке автор показывает несколько примеров кода, которые демонстрируют проблему. Кроме того, автор не видит возможности написать на Safe Rust расширение протокола Wayland.

В итоге автор принял непростое решение переписать Way-Cooler на C. Автор упоминает некоторые другие проекты, столкнувшиеся с аналогичной проблемой написания биндингов, которые приняли противоположное решение – переписать библиотеки на Rust.

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

Ответ на: комментарий от quantum-troll

И главное без минутного фриза при попытке собрать пять гб мусора при full gc)

Serbis
()
Ответ на: Нашел кулстори. от shkolnick-kun

Какие детские конструкторы, у меня вот в доме земля на фазу замкнута мимо УЗО. Из под крана текут честные 9А. Если взять лампочку на 40вт и ткнуть одним концом в нейтраль а другой под кран, она будет весьма качественно освещать помещение. Пол года пытаюсь донести на работников управляющий компании что рано или поздно кто-то будучи под душем с 230В да замнется на нейтраль и тогда они все сядут... Никакой реакции, а вы про детские конструкторы, тут вон как получается)

Serbis
()
Ответ на: комментарий от Serbis

Rust для сборщика FreeBSD — огромный неповоротливый монстр, лишняя сущность, которая почему-то нужная для сборки Firefox и Thunderbird и ни для чего ещё. Раньше без этого как-то обходились.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Вот из-за этой дряни я и перешел в генте на firefox-bin. Да, у меня теперь в нем нет звука, но я как-то и раньше для фильмов и тытрубы запускал хрома, т.к. firefox — для работы и флуда, а хромая поделка — для развлечений.

А еще помимо ненужной ржавчины firefox для сборки требовал вебкит! Это уж вообще ни в какие ворота не лезет, т.к. обновление вебкита даже на сильных компьютерах на несколько часов растягивается, а домашний комп приходилось пару-тройку суток гонять! Спать с гудящим компом как-то не очень...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от I-Love-Microsoft

С D на практике не сталкивался. Но по статье из Wikipedia с примерами кода вижу, что это нормальный, понятный и функциональный (во многих смыслах) ЯП высокого уровня, изживший многие рудименты классических языков и вобравший лучшее из языков с иной парадигмой — как Java в своё время. Надо сказать, что язык Java в настоящий момент переусложнён нюансами и нюансиками использования, мультипарадигменный монстр с «бородой» из анекдота про профессора, и от этого перестал быть хорошим языком.

iZEN ★★★★★
()
Ответ на: комментарий от Eddy_Em

помимо ненужной ржавчины firefox для сборки требовал вебкит

Не было такого за 13 лет использования FreeBSD и Firefox в ней.

iZEN ★★★★★
()
Ответ на: комментарий от iZEN

Ай, звиняй! И правда: сейчас вебкит тянет только дропбокс! Зачем ему эта дрянь нужна, непонятно. Но мне дропбокс нужен — это единственный вменяемый облачный сервис, у которого демон в фоне непрерывной синхронизацией занимается. Дергать по крону grive — как-то ненадежно..

Eddy_Em ☆☆☆☆☆
()

другие истории использования Rust.

Ссылок нет, но овчинка выделки действительно не стоит.

Был на работе проект на расте - полная хрень. Все либы всё равно на сях и толку от этого safe code нет примерно никакого. Имхо язык создаёт больше проблем чем решает.

Си + огромное кол-во инструментов уже есть, а для параноиков ещё и MISRA с валидаторами.

sergej ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Неужели любители жабы одобряют D? Ты серьезно положительно оцениваешь D?

Классы в D с явы содраны. Для D1 были даже автоматические трансляторы и несколько довольно крупных библиотек так адаптировали.

anonymous
()
Ответ на: комментарий от iZEN

Раньше без этого как-то обходились.

Крепитесь дальше будет еще хуже.

anonymous
()

вот что бывает, когда сначала делаешь, а потом думаешь.

wlroots возвращает указатели, валидность которых в заданный момент времени зависит от фазы луны. И вот, вместо того чтобы тупо завернуть их в unsafe или сделать рантайм-проверки, чувак потратил кучу времени и сил на имплементацию всех этих фаз. Результат немного предсказуем.

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

anonymous
()
Ответ на: комментарий от andalevor

и лучше это время пустить на что-то другое.

Например, на поиск утечек и уязвимостей при обращениях за границу буфера. Очень серьезная работа! За нее и деньги платят, да.

anonymous
()

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

Повеселил, любитель C++!

dave ★★★★★
()
Ответ на: комментарий от dave

Нет, я не любитель C++. И другие истории в треде таки есть.

andalevor ★★
() автор топика
Ответ на: комментарий от bread

Боюсь, труп проще закопать, чем реанимировать... Вот написал бы кто-нибудь новый приличный браузер. Похожий на тормозиллу, но без зондов!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от MyTrooName

Там тысячи человеколет работы! Не издевайся...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Serbis

Как я к этому пришел?

Поменяли диллера?

Много писал на java за деньги и со временем мне стала закрадываться мысль о том, что это не очень удобный и довольно угловатый язык.

Да вашей расторопности можно только позавидовать. Прямо как в анектоде: «А на третий день Зоркий Глаз увидел, что одной стены в камере нет...»

Возникла мысль - а есть ли что-то лучше? Выяснилось что есть!

Очевидно, что вас ждет еще масса удивительных открытий.

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

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

Даже интересно, что может сподвигнуть кого-то сменить джаву на раст. Ручное управление памятью, отсутствие инфраструктуры, отсутствие опыта серьезного использования?.. Теряюсь в выборе.

На RSDN-е и Хабре некто Иван Дубров в обсуждениях рассказывает о своем опыте нескольких лет разработке на Rust-е в каком-то стартапе. И именно что разработки Ынтерпрайзной фигни. Например, об его опыте использования Rust-а можно прочитать в этой ветке.

Так вот в личной переписке он озвучил следующую причину как одну из важных в пользу выбора Rust-а (она была актуальна пару лет назад и, полагаю, пока все еще актуальна):

Основной принцип нашего CTO — принцип 20-10-10. Типа, как можно соревноваться с компаниями в 2000 разработчиков? Ответ: нанимаем 20 человек, которые в 10 раз более эффективны и пишут в 10 раз меньше кода по объёму. Немного идеалистично, но что-то в этом есть (я, как работавший в большой энтерпрайз компании, вот эти последние 10-10 отлично наблюдал). Чем в этом плане помогает Rust? Просто поставив требование «Rust» вместо «Java» поток кандидатов будет совсем другой. В пользу Rust. Просто потому что люди которые знают Rust (или хотят выучить, как я, например :) ) будут заведомо в среднем лучше. Ну, в теории.

Это совпадает с тем, что мне доводилось слышать и от других людей: многие стартапы на Западе искали разработчиков на Rust-е. Во-первых, потому, что уровень Rust-овских разработчиков сейчас в среднем по больнице выше, чем уровень Java-, C#- или C++ разработчиков (не говоря уже про пишущих на Python, Ruby, JavaScript, Go). Во-вторых, Rust – это хайповая тема и помогает в поиске инвестиций :)

eao197 ★★★★★
()
Ответ на: комментарий от Serbis

Не надо объяснять управляшке, там менеджеры еще более «эффективные», чем у этих долбоклюев с конструкторами.

Просто напиши заявление в прокуратуру «о предоставлении услуг, подвергающих опасности жизнь и здоровье потребителя».

К заявлению приложи письма в управляшку и их отписки.

Наличие доследственной проверки/уголовного дела резко снижает градус «эффективности» менеджеров.

shkolnick-kun ★★★★★
()
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Ответ на: комментарий от eao197

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

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

anonymous
()
Ответ на: комментарий от i-rinat

Чтобы жёсткая система владения в Rust пропитала библиотеку до мозга костей.

Это не представляется возможным. Не существует ни одного примера кода на rust, который safe-rust и который был бы сложнее хелворда.

tsaruchetkav1
()

Дамы, вы видимо не в курсе, что возле каждого приличного проекта есть такие хайпожоры.

Ruby is a ghetto, erlang is a ghetto, %something% is a ghetto.

Человек просто пытается привлечь к себе внимание, манерно встав на кучку говна повыше и заявив: на С писать проще и надежнее, чем на расте.

Это, конечно, ложь, раст — это следующее поколение, искупление грехов создания С++. А такие вот люди пытаются на этом процессе заработать социальных бонусов.

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

Да нет, там чувак после 10 тыщ строк сломался и решил: «хватит это терпеть». Все местные хелвордшики негодуют. Ты сам то много на расте написал?

anonymous
()
Ответ на: комментарий от max_lapshin

Это, конечно, ложь, раст — это следующее поколение, искупление грехов создания С++.

Это не искупление грехов. Это просто специально сделанный инструмент, который предохраняет руки тех, кто так и не смог осилить C++ в достаточной степени, чтобы «не разгребать корки по утрам».

Ну и, как показывает пока жизнь, именно C++ники не очень спешат приобщиться к Rust-у. В основном впереди бегут либо пользователи безопасных (читай, тормознутых языков), либо неасиляторы C++ (да и чистого C).

Вы, кстати говоря, яркое тому подтверждение.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Ну и, как показывает пока жизнь, именно C++ники не очень спешат приобщиться к Rust-у. В основном впереди бегут либо пользователи безопасных (читай, тормознутых языков), либо неасиляторы C++ (да и чистого C).

Неосиляторство никак ни мешает продолжать писать на том же С++, даже в клинических случаях https://rsdn.org/forum/cpp.applied/7485465.flat#7485465

anonymous
()
Ответ на: комментарий от anonymous

Классы в D с явы содраны.

Подтверждаю. Автор языка специально добавил вложенные классы для облегчения портирования ява кода на D. В результате один человек портировал на D swt практически в полном объеме.

yetanother ★★
()
Ответ на: комментарий от max_lapshin

на С писать проще и надежнее, чем на расте

Это — истина. Ты можешь вообще любой ЯП вместо ржавчины подставить. И это на 100% будет истиной. Т.к. проще и надежней, чем С, ты языка не найдешь! Ну и, понятное дело, т.к. на С уже дикое количество библиотек и сниппетов, писать на этом ЯП еще и быстрей!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

D это фактически приглаженный С++ с GC.

Плюс ряд моментов как ctfe - исполнение кода во время компиляции и шикарная рефлексия - у меня есть две реализации одной и той же системы на D и на плюсах. Там где на D все кратко, красиво и читабельно, на плюсах жуткие макросы. Они тоже короткие, но ужасные на вид и не читабельные. Да и модули многого стоят - где на D один файл `foo.d`, на плюсах три - `foo.h`, `foo_fwd.h` и `foo.cpp`. Из таких вот мелочей потом складывается уверенное впечатление, что D на голову превосходит плюсы за единственным исключением - размер экосистемы у плюсов на пару порядков больше.

И да, про сборщик мусора - он опциональный в полном смысле этого слова, но естественно, что отказавшись от него, часть возможностей вы теряете. Но даже если вы используете gc, нет никаких препятствий переписать на ручное управление памятью позднее, когда основной алгоритм отлажен. Если конечно, вы потрудитесь вынести код по работе с памятью в собственный аллокатор. А если у вас работа с памятью проходит через весь код красной линией, либо вы пишите аллокатор, либо проблема в архитектуре.

Что касается непредсказуемых задержек от сборки мусора, то я открою тайну тем кто не знает, что указатели со счетчиком ссылок это тоже сборка мусора и она обладает точно таким же эффектом. Если у вас из области видимости выходит такой умный указатель и счетчик становится равным нулю, и в памяти, на которую указывал этот указатель был другой умный указатель у которого счетчик был равен единице и т.д. - то может возникнуть каскадное освобождение ресурсов. С той же самой latency. В общем gc далеко не так страшен как его малюют. Хотя он меня очень бесил в первые месяцы разработки на D, а потом оказалось что надо забить на управление памятью и сразу все стало работать. Ну и естественно, никто не запрещает выделять память на стеке - я например, так делаю с удовольствием и отлично работает.

yetanother ★★
()
Ответ на: комментарий от anonymous

И наверняка такие кадры склонны к сложным заковыристым реализациям с безумным криптокодом. И уж точно они презирают промышленные паттерны.

На самом деле это ваша ошибка восприятия, не более. Не зная и не понимая те практики, подходы и паттерны принятые в Scala/Haskell/Rust, и натыкаясь на код с их использованием вы вешаете ярлык «криптокод». Я в прошлом работал с Golang, теперь работаю на Scala с ФП стеком и могу сказать, что после Go Scala для меня стала торжеством читаемости, простоты и поддерживаемости кода. Вместо того, чтобы изобретать велосипеды, разработчики тут используют общепринятые паттерны и библиотеки. То что в Golang было десятками строчек кода тут выражается парой комбинаторов, при использовании которых очень сложно ошибиться. Проблема только одна, прежде чем самому это всё понимать и использовать, мне пришлось потратить своё личное время на изучение этих подходов и библиотек.

Nexmean
()
Ответ на: комментарий от eao197

либо неасиляторы C++ (да и чистого C).

А видели людей которые осилили его? Я не могу сказать за С++, так как особенно много на нем не писал, но вот про С могу сказать честно - неосилил. Написал несколько драйверов, десяток прошивок под stm32 и nordic, одна из них довольно сложная - аппаратный сетевой интерфейс. И вот честно могу сказать - я не могу написать программу на си, которая бы не требовала на отладку, по крайней мере в два раза меньше времени чем потребовалось на ее написание. Я вроде как бы далеко не первый год занимаюсь программированием. В багаже думаю уже точно за миллион строк кода написанного на различных яп. И не слышал о себе мнения от других, что я пишу говнокод. И вот напрашивается странный вопрос - как же так получается, вроде бы программировать умею, а софт на си получается глючный. Так может быть все таки не человек виноват а язык?

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

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

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

Serbis
()
Ответ на: комментарий от max_lapshin

раст — это следующее поколение

Нет. Раст, как и все языки с «сильной» типизацией, - это язык для узкозаточенных инструментов, которые оперируют минимальным разнообразием входных данных. На практике доходит до минимального количества входных данных, вроде генераторов числа пи, при полном отсутствии (пользовательского) ввода. Такие языки сложно, практически невозможно использовать как связывающий клей разных инструментов. Условно, язык для библиотек с формальными гарантиями.
Чтобы такие языки были более-менее универсальными, нужен мощный и интерактивный (надо же программисту чем-то заниматься) вывод типов. Интерактивное автоматическое доказательство теорем. «Интерактивное» и «автоматическое» - можно ли их сочетать в одном термине? Наверно здесь «интерактивность» - это как рандомная эвристика. Можно ли заменить рандомную эвристику квантовой механикой?

anonymous
()
Ответ на: комментарий от Nexmean

Я вот полностью согласен по части Scala, это действительно имхо самый читаемый язык на сегодняшний день. Единственный минус это среда выполнения, ну вот не могу выносить тормознутость jvm, по крайней мере на своем личном серваке). Я вот из-за этого и изучил rust. У меня теперь это любимая парочка. Scala для работы и медитации над идеальным кодом а rust для личных проектов и скоростных решений.

Serbis
()
Ответ на: комментарий от anonymous

у нас рабочий проект примерно на 50 тыс строк кода на расте, но здесь о нём нельзя рассказывать — модератор с ума сходит и сносит мои посты.

max_lapshin ★★★★★
()
Ответ на: комментарий от anonymous

Неосиляторство никак ни мешает продолжать писать на том же С++, даже в клинических случаях https://rsdn.org/forum/cpp.applied/7485465.flat#7485465

Счастье Rust-а в том, что подобные упорышы до него еще не добрались. А вот когда их на Rust пересадят (как пересадили многих недопрограммистов в свое время с Фортрана на C и на C++), вот тогда настоящая веселуха и начнется.

eao197 ★★★★★
()
Ответ на: комментарий от Serbis

А видели людей которые осилили его?

Людей, которые пишут нормальный, не текущий и не падающий код на C++, полно. Можно сказать, в товарных количествах. Особенно с учетом развития динамических и статических анализаторов для плюсов.

И, вас это может сильно удивить, для этого _не_ нужно знать _весь_ C++.

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

Давайте без экивоков: вы считаете себя п*здатым программистом.

И вот напрашивается странный вопрос - как же так получается, вроде бы программировать умею, а софт на си получается глючный.

В переводе на русский это звучит так: «Я классный программист, но не могу нормально писать на C. Поэтому C говно».

На самом деле у вас проблемы с логикой (а может и вообще с головой). Плюс к тому вы яркий образчик Блаб-программиста. Просто сейчас находитесь на стадии восхищения Scala/Haskell/Rust.

C — говно. Но не потому, что такой п*здатый программист, как вы, не может на нем программировать.

по настоящему знающих с++ во всем мире врятли наберется больше тысячи человек.

Открою вам страшную тайну: знать весь C++ нужно разве что разве что разработчикам компиляторов и стандартной библиотеки, плюс отдельным бустоводам. Подавляющему большинству действующих C++ников достаточно знания лишь отдельных подмножеств языка.

В реальности умение писать на этом языке сводит у способности писать чуть менее глючный код чем у остальных коллег. Но все равно глючный...

Сказал п*здатый программист, ничего не знающий про C++ и про разработку на C++.

Вы лучше продолжайте задвигать сказочки о том, как на Scala вам пишется гораздо приятнее, чем на C. Только не особо заостряйте внимание на том, что на C вы писали низкоуровневую системщину, к которой Scala вообще не пригодна, а на Scala какую-то высокоуровневую прикладуху. А то ваши проблемы с логикой станут совсем очевидны.

eao197 ★★★★★
()
Ответ на: комментарий от Serbis

Я вот полностью согласен по части Scala, это действительно имхо самый читаемый язык на сегодняшний день.

А мужики-то и не знают:

I remember when I first saw the potential issues of scaling Scala at Gravity back in 2009/10ish. It was close to the end of the day when we had a major issue reported in production that was affecting our large customers. Several of us started investigating and were able to track the source of the issue. The only problem was we had no idea what the code was doing at first. We came across a strange symbol we hadn’t seen in our projects before. The spaceship operator <|*|> . Someone said out loud “what the hell is that?”. There was some other implicit magic going on that wasn’t immediately apparent.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Во первых, я не называл себя п*здатым программистом. Я лишь указал тот факт, что я далеко не первый день этим занимаюсь. Судить о том п*здатый я программист или нет, не мне и не вам а тем людям которые мне платят деньги за мою работу.

Во вторых, я не называл си говном! Это очень важный момент, как и не говорил это же про с++. Смысл моего посыла был в том, что с и его прямой наследник с++ появились в те далекие времена, когда о таком программировании как сейчас, даже вообразить не могли. Ввиду этого оба этих языка являются основанными на идеях, которые давным давно себя изжили.

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

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

Serbis
()
Ответ на: комментарий от Serbis

Во первых, я не называл себя п*здатым программистом.

Пречитайте еще раз. Я сказал, что вы «считате» себя таковым, а не «называете». Раз вы начали доколупываться до слов, то такое напоминание будет вполне уместным.

А то, что вы себя таковым считате — это как раз очевидно из подчеркивания факта, что давно программируете и ваш код говнокодом не называли.

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

Смысл вашего посыла в том, что вы продолжаете с умным видом рассуждать о вещах, в которых не разбираетесь. В частности, вы не имеете понятия об эволюции того же C++ за последние 25 лет. И не в курсе, что C++ образца 1985-го сильно отличается от C++98 и еще более сильно от C++17. Хотя, при этом, есть неплохие шансы заставить работать древний C++ даже с современными компиляторами. Поэтому вы находитесь в заблуждении, что C++ основан на изживших себя идеях.

В третьих, Блаб-программистом вы сейчас выставили в первую очередь, ввиду того, что блаб-эффект как раз-таки основан на агрессивной неспособности принимать новые технологии в программировании

Правда? И где у меня эта самая «агрессивная неспособность принимать новые технологии»?

Эффект Блаба у вас проявляется в том, что вы, освоив очередной ЯП (или решив, что освоили), начинатете свысока смотреть на то, чем пользовались раньше.

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

Так что ж вы сами-то так поступаете?

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

C++ старается не отставать https://habr.com/ru/company/microsoft/blog/458242/

В C++ это будет расширение стандартных операторов. Тогда как в Scala каждый может собственный набор операторов определять.

А так-то в C++ и сейчас можно operator,() переопределить и грести приключения полной ложкой.

eao197 ★★★★★
()
Ответ на: комментарий от Serbis

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

драйверы для того же Linux писать очень просто и быстро, а вот отлаживать долго приходится и язык вообще никак на это не влияет.

anonymous
()
Ответ на: комментарий от anonymous

драйверы для того же Linux писать очень просто и быстро, а вот отлаживать долго приходится и язык вообще никак на это не влияет.

Ну не скажите. Я видел как в сишечке функция с типом long возвращает переменную типа char или наоборот, уже не помню, чем это грозит описывать не буду. Тот же D например выдаст ошибку компиляции. Так что язык очень даже влияет.

yetanother ★★
()
Ответ на: комментарий от yetanother

уже не помню, чем это грозит описывать не буду.

А было бы интересно. Именно применительно к long и char.

eao197 ★★★★★
()
Ответ на: комментарий от yetanother

переменную типа char

это неосилятор-детектор, расскажите - для чего такие переменные используете

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.