Здравствуйте, Bigger, Вы писали:
O>>Правильно, пускай эти растаманы сами свой линукс пишут, с блэкджеком и боксом B>Так уже написали
А можешь вот этот момент пояснить?
Вместо адресации через URL (например, для записи в лог мог использоваться URL "log://", а для сетевого взаимодействия "tcp://") задействован традиционный для Unix-систем формат файловых путей, что положительно повлияло на совместимость с программами и библиотеками POSIX/Linux.
Здравствуйте, vsb, Вы писали:
vsb>У меня почти никогда не бывает потребности в ООП и в макросах (кроме примитивных #define для констант). Я пишу просто — есть функции, есть структуры. Всё моё "ООП" это передача структуры первым параметром и именование функций по имени структуры для группировки.
O>Правильно, пускай эти растаманы сами свой линукс пишут, с блэкджеком и боксом
Вот вот. Ведут себя как долбанные черви-паразиты, присасывающиеся к чужой славе. У самих ни одного проекта калибра Linux, Unreal Engine, WebKit за плечами. У самих даже примитивная хрень типа эмуляторов терминалов настолько онкологически раздута, что бинари в десятки мегов весом. Боюсь представить, сколько терабайт занимали бы ОС или веб-движки в их исполнении.
vsb>>Людей, которые знают C, найти куда проще, чем людей, которые отлично знают С++. S>Тут точно не соглашусь. Голые С-шники вообще не от мира сего, где их искать — не ясно. Возможно какой-то школьник и знает конструкции С, но сможет ли он писать код для продакшена? Конечно нет. Тут же не только тупо знание языка нужно.
Они таки существуют, и в количестве, но есть пара нюансов:
1. Они заняты. Пилят ядро, гном, постгрес, ffmeg и т.д.
2. У них самомнение выше крыши. До написания очередного опердня и сервиса доставки еды они точно не снизойдут. Поэтому-то бизнюкам и приходится искать и людей попроще, и использовать языки, ведущие за ручку.
D>Компилятор rust есть под iOS/Android?
Да. Однако, как и всё в мире раста, оно производит глубокое впечатление сделанного для галочки, а не для реального мира. Был у нас в компании один такой проект. Через год новая версия Раста с новыми тулингами-обвязками, разумеется, его не собирала, и валилась с мегатоннами ошибок. То есть никакой стандартизации, никакой обратной совместимости, никаких комитетов, спецификаций и конкурирующих реализаций. Детский сад, короче.
Здравствуйте, zx zpectrum, Вы писали:
D>>Компилятор rust есть под iOS/Android? ZZ>Да. Однако, как и всё в мире раста, оно производит глубокое впечатление сделанного для галочки, а не для реального мира. Был у нас в компании один такой проект. Через год новая версия Раста с новыми тулингами-обвязками, разумеется, его не собирала, и валилась с мегатоннами ошибок. То есть никакой стандартизации, никакой обратной совместимости, никаких комитетов, спецификаций и конкурирующих реализаций. Детский сад, короче.
панятна, спасибо.
Я-то просто имею опыт кроссплатформенной разработки iOS/Android, когда бизнес-логика (в терминах архитектур MV* – слой Model и, возможно что угодно кроме слоя View), пилится кроссплатформенно на С++, а View пишется на родном для платформы фреймворке.
Если ВНЕЗАПНО Rust мог бы заменить C++ для этого — это было бы интересно.
Пока что удивительным образом может подходить Kotlin Native.
Здравствуйте, vsb, Вы писали:
vsb>У меня почти никогда не бывает потребности в ООП и в макросах (кроме примитивных #define для констант). Я пишу просто — есть функции, есть структуры. Всё моё "ООП" это передача структуры первым параметром и именование функций по имени структуры для группировки. А чтобы виртуальные функции нужны были — ну теоретически такое могу представить, на практике это скорей исключение.
ООП нужно для определенного класса задач — общая суть которых — язык. DSL (Domain-Specific Languages), язык описания элементов пользовательского интерфейса (GUI), или язык описания DOM, AST (abstract syntax tree).
Вообще вся наша цивилизация держится на языках — язык математики, разработки ПО и пр. И для всех задач, так или иначе связанных с более-менее сложным языком — нужно ООП.
Вот в том же Gnome Builder вроде пишут GUI на голом C, но по сути используют ООП. При этом весьма неудобно — куча бойлерплейт кода с макросами.
S>>Более того — не обязательно тащить и использовать все конструкции языка. Активный язык может быть не таким уж большим для решения задач, а пассивный (т.е. читаете, но так не пишите) — со временем нарабатывается.
vsb>Я не представляю себе такого использования языка.
Да ну как! Это ваше большое заблуждение.
По сути для разработки вам нужно знать около 100 вещей:
1. Как объявить ячейки для хранения данных, какие у них типы.
2. Циклы, условия и пр.
3. Структуры данных и удобная работа с ними — классы это или ваш вариант с void*
4. Работа с контейнерами — список, словарь и т.д.
5. Работа с памятью, динамическое выделение памяти. В C++ это автоматизировали уже частично.
6. Потоки, блокировки и пр.
7. И т.д.
И это все нужно знать, не зависимо от языка. В Си вам тоже нужно каждый из этих 100+ пунктов знать.
S>>Тут точно не соглашусь. Голые С-шники вообще не от мира сего, где их искать — не ясно. Возможно какой-то школьник и знает конструкции С, но сможет ли он писать код для продакшена? Конечно нет. Тут же не только тупо знание языка нужно. vsb>С знает почти любой, кто учился в университете по IT направлению. И даже те, кто его потом не применял — легко вспомнят и освоят недостающее, т.к. язык крайне простой и небольшой.
Просто знание языка не позволит сделать что-либо полезное.
Здравствуйте, Shmj, Вы писали:
S>Т.е. людей фактически принуждают сменить течение на более правильное. Причем принуждают со всех сторон. А люди упираются. Называют староверами, обвиняют что им просто лень учить.
Свободный мир — он такой.
Я посмотрю на Rust не раньше, чем его стандартизуют. Нет стандарта — не язык.
D>Я-то просто имею опыт кроссплатформенной разработки iOS/Android, когда бизнес-логика (в терминах архитектур MV* – слой Model и, возможно что угодно кроме слоя View), пилится кроссплатформенно на С++, а View пишется на родном для платформы фреймворке.
D>Если ВНЕЗАПНО Rust мог бы заменить C++ для этого — это было бы интересно.
В роли бизнес-логики на iOS/Android может работать, внезапно, даже гошечка.
Сам такой изврат не практиковал, однако официальный клиент Wireguard на айфинчиках уже много лет работает. Что удивительно, даже батарею при этом не высаживает, как многие другие постоянно включенные VPN
Здравствуйте, mrTwister, Вы писали:
T>Здравствуйте, netch80, Вы писали:
N>>PS: Если серьёзно — знакомые что на нём пишут говорят, что уровень копипастинга превосходит все мыслимые пределы, а язык этому очень активно способствует.
T>Вопросы к знакомым, а не к го
Учитывая, что они из совсем разных фирм и кругов — таки к го.
Здравствуйте, AntoxaM, Вы писали:
AM> vsb>Я не вижу преимуществ Rust в тех задачах, с которыми я сталкиваюсь. Я в последнее время много пишу на C и просто не допускаю багов. AM> Ах вот оно как всё просто. Пойду коллегам расскажу, чтоб тоже не допускали багов.
Да-да, расскажи, а то х#й кладут на культуру разработки, а потом бегают в коричневых штанах, серебрянную пулю ищут
Здравствуйте, Dair, Вы писали:
D> Если ВНЕЗАПНО Rust мог бы заменить C++ для этого — это было бы интересно.
D> Пока что удивительным образом может подходить Kotlin Native.
Когда я смотрел котлин натив, он был тормознее котлин жэвээм
Здравствуйте, Shmj, Вы писали:
S>Голый C возможно и имеет смысл заменить Rust-ом, и то не уверен. А вот C++ имеет намного более удобную ООП-реализацию, а косяки с отсутствием проверок (выход за границы массива, проверка что значение перемещено и т.д.) — не так уж критичны.
симпатичный видосик от letsgetrusty https://www.youtube.com/watch?v=sjsnuirLyKM
Правда на английском, но он там довольно понятный. Одна из интересных идей, что новые фичи (типа умных указателей) языку безопасности не прибавляют, так как всё равно остаются способы отстрелить себе ногу. Так что С++ только могила исправит.
Здравствуйте, rudzuk, Вы писали:
R>Здравствуйте, AntoxaM, Вы писали:
AM>> vsb>Я не вижу преимуществ Rust в тех задачах, с которыми я сталкиваюсь. Я в последнее время много пишу на C и просто не допускаю багов. AM>> Ах вот оно как всё просто. Пойду коллегам расскажу, чтоб тоже не допускали багов.
R>Да-да, расскажи, а то х#й кладут на культуру разработки, а потом бегают в коричневых штанах, серебрянную пулю ищут
тоже весь в белом и без багов? ну-ну, верим.
Здравствуйте, netch80, Вы писали:
N>Учитывая, что они из совсем разных фирм и кругов — таки к го.
Хз, у меня другой опыт. Копипаста на го (и не только на го) — это добровольный выбор программиста. Кривая абстракция может сэкономить пару строк копипасты за счет существенного усложнения кода и в го комьюнити так делать просто не принято. Но при этом сам язык тебя ни в чем не ограничивает, хочешь делать кривые абстракции для экономии 2-х строк кода — флаг в руки и вперед. А если смог придумать не кривую, а хорошую абстракцию, то и тем более проблем нет.
Здравствуйте, L.K., Вы писали:
LK>Староверы победили, переход на Rust отменяется, теперь можно просто освоить безошибочную писанину на С++: LK>https://habr.com/ru/news/842994/
Ну не факт что это будет одобрено староверами. Возможно признают как ересь.
Здравствуйте, FR, Вы писали:
FR>Главпингвин точно не одобрит C++.
Ну там же разные тусовки. В C свои староверы, в C++ — свои. Это как сравнить язычников и христианских староверов. А им хотят навязать модное православие. Какова будет реакция?
Здравствуйте, sergii.p, Вы писали:
SP>симпатичный видосик от letsgetrusty https://www.youtube.com/watch?v=sjsnuirLyKM SP>Правда на английском, но он там довольно понятный. Одна из интересных идей, что новые фичи (типа умных указателей) языку безопасности не прибавляют, так как всё равно остаются способы отстрелить себе ногу. Так что С++ только могила исправит.
Ролик пересмотрел, очень четкая дикция у ведущего, прямо приятно слушать, редко встретишь в техно-роликах.
Но дело в том что мы тут не пальцем деланы. Я прошел вступительные уроки по Rust и понимаю все эти фишки, не отрицаю полезности. Однако же есть и очевидные минусы, как-то отсутствие полноценного ООП как в C++/Java а так же слишком большое обилие макросов. Ну и отсутствие кодовой базы в таком же количестве, как у C++. По этому даже когда была возможность выбрать технологию для проекта, решил писать на ++ и не экспериментировать.