Дискуссионная площадка Stack Overflow опубликовала результаты ежегодного опроса, в котором приняло участие более 83 тысяч разработчиков ПО...Подробнее: https://www.opennet.me/opennews/art.shtml?num=55587
Миллионы мух не могут ошибаться.
На похапе пишешь?
На MySQL, но жуть как обожаю RUST ни строчки на нём не написал, но обожаю очень сильно даже проголосовал за него в этой дурацкой голосовалке.
> в котором приняло участие более 83 тысяч разработчиков ПОтысячи профессионалов уровня «Hello, World!» на всех упомянутых языках
с уровнем зарплаты $77 000 за Rust :)
И что после налогов ты все равно будешь только щи хлебать. Это зарплата как раз Хеллоу ворлдщика, нормальные программист получает в разы больше.
Судя по тому, сколько по данной статистике получают сишники и приплюснутые, среди них нормальных программистов сильно меньше, что, в общем-то, неудивительно
среди веб-погромистов нормальных программистов нет вообще
среди веб-девелоперов программистов нет вообще *очевидный фикс*
Двое господ выше, дайте пожалуйста определение профессии "программист"
Чинит чайники, утюги... за спасибо.
Какое счастье, что я не программист
Так тыж погроммист.
Как же мало для счастья человеку нужно
Устанавливает винду и чистит реестр.
>Судя по тому, сколько по данной статистике получают сишники и приплюснутые, среди них нормальных программистов сильно меньше, что, в общем-то, неудивительносравнение ЗП самих разрабов Раста и Лисицы (ну а кто ещё на нём пишет кроме хеллоуворлдщиков)
с зарплатами приплюснутых студентов (потому что только они на SO ищут ответы на свои лабы)
ну такое...хотя далеко не все разрабы Лисицы на SO ответы ищут, их даже меньше 10%
https://4e6.github.io/firefox-lang-stats/
Ну ведь ты же приведешь свою *правильную* статистику? Или сойдемся на этих цифрах?
> Ну ведь ты же приведешь свою *правильную* статистику? Или сойдемся на этих
> цифрах?ведут статистику комментаторов опенета,
по количеству вбросов пока что анонимные глупые тролли выигрывают с отрывом
ну то есть ты балабол, а приведенные данные из новости считаем примерно верными
> ну то есть ты балабол, а приведенные данные из новости считаем примерно
> вернымину в твоих способностях что-либо считать и читать "поперёк" сомнений никаких нет
поразительно, правда, как растоману удалось получить хоть какой-то уровень зп фактически без наличия вакансий
> поразительно, правда, как растоману удалось получить хоть какой-то уровень зп фактически без наличия вакансийКонечно поразительно, раз до тебя не доходит, что если есть зп, есть и вакансии, то есть где то в твоем утверждении опять балабольство
это ж насколько растоман оторван от реального мира, а связь с реальностью через призму каких-то синтетических рейтингов и тестов
хотя и не удивительно, перебор канабинолом тоже вредит умственной деятельностиспустись с неба на землю, зайди на HH и тд, чтобы взглянуть на реальный рынок этой планеты в настоящее время
посчитай количество вакансий, требуемых технологий и уровень соискателя (можешь сравнить в таком же ключе с C++ или C).
ну это если ты вообще считать умеешь
> это ж насколько растоман оторван от реального мираПруфы на то, что я растоман, тоже занеси, а то трижды балабол получишься
> перебор канабинолом тоже вредит умственной деятельности
Причина, по которой не пишу на си - осуждаю наркоту
> спустись с неба на землю, зайди на HH и тд, чтобы взглянуть на реальный рынок этой планеты в настоящее время
Еще раз - есть цена на оплату труда, занчит вакансия, хотя бы одна, есть. Прекращай тупить. Можешь посчитать и привести другую статистику, если сишники умеют считать, а не только бить память. Я тебе уже второй раз предлагаю привести "правильную" статистику.
> ну это если ты вообще считать умеешь
Конечно умею, я же не ты
>Пруфы на то, что я растоман, тоже занеси, а то трижды балабол получишьсявесь твой свистёжь - сплошной пруф (при этом и я не утверждал, что ты вообще знаешь Rust)
>Причина, по которой не пишу на си - осуждаю наркоту
мда, неплохо обклал, в общем-то, бОльшую часть ядрописателей/железячников
причина, по которой ты не пишешь - потому что сам очевидный бабабол, сомеваюсь что хотя бы js осилил
>Еще раз - есть цена на оплату труда, занчит вакансия, хотя бы одна, есть.
ещё раз:
* 1 вакансия синьора с упоминанием Rust = 300.000
* 100 вакансий C++ девелоперов от джуна до сеньёра: от50.000 до300.000 и где-то там будет "средняя" ниже чем у раста (судя по данным, которые ты считаешь как что-то объективное)
збс сравнение>Прекращай тупить.
видно в переводе стрелок ты мастер
>а не только бить память
память тебе совсем не Си отбил *если ты понял о чём я, см.п.1*
>Конечно умею, я же не ты
https://i.imgur.com/s5sDF3V.jpg
удачи тебе в твоём мире фей и единорогов
> весь твой свистёжь - сплошной пруф(при этом и я не утверждал, что ты вообще знаешь Rust)Я и не говорю, что не пишу на раст. Я говорю, что тебе следует завезти пруфы на то, что я растоман, можешь начать с определения этого слова.
> причина, по которой ты не пишешь - потому что сам очевидный бабабол, сомеваюсь что хотя бы js осилил
А ты не сомневайся, ведь так легко быть во все уверенным без пруфов
> ещё раз:
Изначальное утверждение звучит так:
> поразительно, правда, как растоману удалось получить хоть какой-то уровень зп фактически без наличия вакансий
Потом говоришь, что хотя бы одна вакансия есть. Точно ничего не смущает? Хотя бы одной вакансии недостаточно? Внеси поправки и пересчитай, третий раз предлагаю, иначе твои доводы не имеют под собой никакого обоснования
> память тебе совсем не Си отбил *если ты понял о чём я, см.п.1*
видно в переводе стрелок ты мастер
> удачи тебе в твоём мире фей и единорогов
Спасибо, она мне понадобится
это всё даже забавно :-D
1 vs сотни - это уже что-то?окей, буду пользовать твой вариант взглядов на вещи:
https://salaries.dev.by/
средняя зп C++ 2500-2900
средняя зп Rust - 0
вакансий 0судя по твоей логике - эти данные можно использвоать как объективный пруф
вопрос, получается, закрыт?
> 1 vs сотни - это уже что-то?1 вакансия есть - имеем право говорить, что там что то зарабатывают
> окей, буду пользовать твой вариант взглядов на вещи:
да ладно
> средняя зп C++ 2500-2900
> средняя зп Rust - 0
> вакансий 0средняя зп за раст неизвестна, потому что вакансии нет, когда будет вакансия на раст с зп в 0, тогда средняя зп на расте будет 0
> судя по твоей логике - эти данные можно использвоать как объективный пруф
Да ради бога, используй. Не забывай упоминать, что это во версии сайта https://dev.by, позиционирующего себя как сайт про ИТ в Беларуси, а потом можешь попытаться это экстраполировать на весь мир
>45,33+25,32+25,19+3,29+0,18 = 100%Не стал бы я доверять данным из этой новости...
>>45,33+25,32+25,19+3,29+0,18 = 100%
> Не стал бы я доверять данным из этой новости...ну, может у растоманов операции с числами с плавающей запятой ещё не стабилизрованы,
но это же не повод для недоверий...
$77K? лол даже опс первого уровня не соглатится с такой з\п
На оппенет не любят rust в комментах, вот только 99% из них не разработчики поэтому не учитываются в опросах и их мнение никого не волнует.
А правильный ответ на вопросы опроса они также искали на Стеке :))
Дiды на COBOLe действительно получают меньше Rustoхрусто? Куда катится мир...
Если бы на коболе была хорошая зарплата, то не было бы проблемы найти программистов. А так даже самим обучать пришлось.
> А так даже самим обучать пришлось.Гм, а учителя работали совсем за еду?
А учителя работали за деньги компании IBM чтобы их мейнфреймы были хотя бы чуточку более ликвидны. А то дурацкая ситуация получается мейнфреймы по стоимости чугунного моста уже куплены заказчиком. А программистов, которые должны допиливать заглючивший софт не существуют. https://habr.com/ru/news/t/496748/
Ну, возможно. Видимо, учителя в помойку голосовать не ходют.
Они уже не хотят, а многие даже не могут
Мне сейчас не найти ссылку, но я читал где-то разбор того, что за должности для COBOL-программистов. Всё сводится примерно к тому, что COBOL-программист работает в организации, которой рулят финансисты. В такой организации программист -- second class citizen, что-то типа электрика/сантехника. Он не принимает никаких стратегических решений, он просто делает, что ему говорят. "Не принимает решений" значит не несёт никакой ответственности за стратегию развития, значит не получает за это денег.Ну и люди там собираются определённого склада -- хорошие семьянины, которым нужна стабильная работа, где можно работать от звонка до звонка, где можно, уходя с работы вечером, забывать о ней до завтра и полностью переключаться на то, чтобы забрать ребёнка из школы, покормить, сделать с ним домашнее задание, уложить спать.
Ты ошибся, это не хорошие семьянины, это не рабы, это свободные граждане правовой страны.
Обычные хомяки.
А где-то программисты принимают стратегические решения? Сколько ни попадаются под руку программисты, постоянно бегут от ответственности и хотя бы одного разумного шага в сторону от ТЗ, в котором этот шаг не был учтен.
Хорошо это или плохо - отдельный разговор, но на стратега-программиста с удовольствием бы поглядел.
Любой, который работает над собственным проектом или имеет долю в бизнесе.
> А где-то программисты принимают стратегические решения? Сколько ни попадаются под руку
> программисты, постоянно бегут от ответственности и хотя бы одного разумного шага
> в сторону от ТЗ, в котором этот шаг не был учтен.ТЗ? Ты про аутсорс? Естественно аутсорс держится ТЗ -- если он нарушит ТЗ, он даст заказчику формальный повод придраться при сдаче проекта. И заказчик, возможно, придётся только для того, чтобы заплатить меньше.
Вероятно, при тесных и доверительных отношениях между заказчиком и исполнителем возможна ситуация, когда программисты готовы отходить от ТЗ, но... Я хз, бывает ли так в реальности. Для исполнителя это дополнительные риски, бонус от сговорчивости лишь в том, чтобы заказчику понравиться, чтобы тот ещё заказов накидал. И там куча проблем с коммуникациями -- отдел продаж будет сопротивляться изменениям в ТЗ, потому что их программисты съедят за изменения ТЗ в середине проекта -- это добавляет объёма работ, юристы будут хмурится, потому что ситуация осложняется. Это им всем надо встретится и обсудить конкретную просьбу об изменении ТЗ, и такие переговоры между компаниями могут затянуться на недели и месяцы. Сложно, муторно.
> Хорошо это или плохо - отдельный разговор, но на стратега-программиста с удовольствием
> бы поглядел.Linux -- открытый проект, процесс принятия решений прозрачен, все роли видны, можно посмотреть там. Или тебе именно коммерческая структура нужна? Я пальцем показывать не буду, но в качестве ориентира для поиска -- надо искать в компании, в которой программисты есть на всех уровнях иерархии, вплоть до топ-менеджмента. Это не достаточное условие, но почти необходимое.
> Вероятно, при тесных и доверительных отношениях между заказчиком и исполнителем возможна ситуация, когда программисты готовы отходить от ТЗ, но... Я хз, бывает ли так в реальностиБывает. Да и ТЗ никто не пишет, заказчик зачастую сам в деталях не понимает, что ему надо. Выслушать его хотелки и преобразовать это в четкую постановку задачи в своей голове - это важная часть работы. Заказчику куда полезнее получить то, что ему на самом деле надо, чем формальное соответствие результата ТЗ (хотя получилось и не то, что он на самом деле хотел).
Разумеется, оплата при этом почасовая, а не за проект, поскольку объем работы четко не определен и меняется по договоренности на лету.
>[оверквотинг удален]
> Вероятно, при тесных и доверительных отношениях между заказчиком и исполнителем возможна
> ситуация, когда программисты готовы отходить от ТЗ, но... Я хз, бывает
> ли так в реальности. Для исполнителя это дополнительные риски, бонус от
> сговорчивости лишь в том, чтобы заказчику понравиться, чтобы тот ещё заказов
> накидал. И там куча проблем с коммуникациями -- отдел продаж будет
> сопротивляться изменениям в ТЗ, потому что их программисты съедят за изменения
> ТЗ в середине проекта -- это добавляет объёма работ, юристы будут
> хмурится, потому что ситуация осложняется. Это им всем надо встретится и
> обсудить конкретную просьбу об изменении ТЗ, и такие переговоры между компаниями
> могут затянуться на недели и месяцы. Сложно, муторно.Да не только оутсорс. В принципе чаще попадаются рассуждения о том, что надо держаться жестко ТЗ, хотя лично я стою на том, что всего через ТЗ не опишешь и должна быть инциатива и от программистов, но, все что тобой описано - так и есть. А раз так, то стратеги-программисты - часто единороги из сказки (:
У вас с логикой проблемы.
Не несите чепухи. Даже в последнем ентерпрайзе програмист может по своему решению выбрать реализацию какой-то функции которая спасёт компании миллионы, или наоборот просрёт.Но так как бонус в пару миллионов $ ему за это решение не выплачивают, то разумной стратегией будет либо согласование с начальством с фиксацией на диктофон, в переписке, итд, того, что это решение начальствы.
Либо саботаж, тоесть выбор худшего решения самостоятельно.
> А где-то программисты принимают стратегические решения?Принимают.
> Сколько ни попадаются под руку
> программисты, постоянно бегут от ответственности и хотя бы одного разумного шага
> в сторону от ТЗ, в котором этот шаг не был учтен.Программисты не от ответвенности бегут, а от произвола самодуров придурков.
Ответственность же без предоставления должного уровня власти и денег не существует в компаниях в отличном от "козёл отпущения" смысле.>но на стратега-программиста с удовольствием бы поглядел.
Вот только ему вы с вашими гляделками ненужны.
> Он не принимает никаких стратегических
> решений, он просто делает, что ему говорят.Хфинансисты выходят ответственны за разработку архитектуры их ПО?
А потом "внезапно" кризис и госсударство эти денежные мешки спасает
от банкротства дотациями из кармана своих граждан..."And it's gone." (с)
ЗЫ: Видимо, это не только на кобол распространяется, судя по тому ***щу,
которое является веб-интерфейсом Сбера.
судя по опросу, java съезжает всё ниже
Я погуглил, кто такой кложур, который в топе списка, и не понял, зачем их с жавой разделили на 2 разных языка.
Погугли ещё раз
Если используешь PHP+JS+SQL, надо вычислить среднюю ЗП?
Просто надо выбрать что-то одно
SELECT AVG(salary) FROM employees;
нас учили для сущности (таблицы) давать название в единственном числе
Теперь понятно почему ты не нашел себе работу по специальности DBA
Не знаю, где вас учили, но обычно используют множественное число, поскольку select from users или insert into users грамматически корректно.
Нет, брать минимальную.
не надо, просто WHERE pants.color <= 'gray'а то у тебя в запрос попадают носители желтых и синих штанов, с которыми тебе равняться не полагается.
Ну и где-то еще цвет детектора полезно учитывать, красный от радужного отличать.
> Если используешь PHPто надо сжигать
haiters gonna hate
> haiters gonna hateMGIMO finished?
И почему так мало за новомодный Dart?
Потому что Фуксия еще не появилась на мобилках
Есть Flutter
Только сейчас узнал что есть Flutter
- видишь flutter?
- нет
- и я не вижу... а он есть!
И вот flutter классная кстати штука, шустро выполняется, быстро писать код, язык яаваобразный кто знает яву почти сразу может начать что то делать.
Он слишком НОВОмодный, чтобы быть основным языком у опытных разработчиков - там обычно JS/TS или Swift/Java/Kotlin, а Dart до кучи в каком-нибудь новом проекте. Так что основным его выбрали начинающие разработчики по большей части.
Все мы знаем, что любимым на самом деле является vlang.
Как там дела? Утечки памяти уже ликвидировали?
А как в vlang'е реализован полиморфизм? (Т.е. как писать темплейты/макросы/дженерики или как они там называются?) Просмотрел документацию по диагонали и ничего не нашел.
BSD даже видно, прикольно.
Консольщики, же!
> BSD даже видно, прикольно.Там вообще какой-то неправильный график!
Эксперты Опеннета нас не раз заверяли, что "BSD некому нинужна, почти совсем не работает и вообще давно рип!", а все разработчики "свалили с венды на линукс!".
Ну так всё верно. Линуксоиды традиционно подбирают подходящий инструмент под конкретную задачу и не заморачиваются. Соответственно, увидев подобный опрос, крутят пальцем у виска и молча проходят мимо.
А вендузятники с бэсэдэшникам, увидев что кто-то, в кое-то веке раз, готов выслушать их мнение, перевозбуждаются и спешат поделиться наболевшим. Прям как Вы, в общем-то...
>> 25% macOS
> Ну так всё верно. Линуксоиды традиционно подбирают подходящий инструмент под конкретную задачу и не заморачиваются.Оно и видно
> А вендузятники с бэсэдэшникам, увидев что кто-то, в кое-то веке раз, готов
> выслушать их мнение, перевозбуждаются и спешат поделиться наболевшим. Прям как Вы,
> в общем-то...Какая занимательная (нет) демаго^W проекция "традиционного опеннетного линуксоида".
>Оно и видноУже поняли, где протупили? Не буду тыкать Вас носом в лужу, так интереснее.
>традиционного опеннетного линуксоидаХм... Судя по бессвязному изложению мыслей, сами Вы сидите даже не на бсд или венде а на каких-то веществах. Вы, это, осторожнее, здоровье оно одно.
>> Оно и видно
> Уже поняли, где протупили? Не буду тыкать Вас носом в лужу, так интереснее.Как обычно - опять по теме ноль целых, фиг десятых, зато очередная занимательная (нет) проекция о лужах и носах.
Разговор вообще велся не с вами и не о вас, поэтому непонятно, с чего это вы так настойчиво влезли с вашим "ценнейшим мнением".
Или "вендузятники с бэсэдэшникам, увидев что кто-то, в кое-то веке раз, готов выслушать их мнение, перевозбуждаются и спешат поделиться наболевшим" - это вы о себе?> Хм... Судя по бессвязному изложению мыслей, сами Вы сидите даже не на
> бсд или венде а на каких-то веществах. Вы, это, осторожнее, здоровье оно одно.Какой однако "аргументативный аргумент" (нет).
Впрочем, ничего иного от опеннетного балабола и не ожидалось.
>Как обычно - опять по теме ноль целых, фиг десятыхНичего не понятно? Бывает...
>Разговор вообще велся не с вами и не о вас
>с чего это вы так настойчиво влезли с вашим "ценнейшим мнением"
>аргументативный аргумент
>опеннетного балаболаНу извините, что сделал Вам больно. Я не хотел. (Кого я обманываю? Конечно хотел!)
линуксоиды неспособны подобрать подходящий инструмент - поскольку кроме linoops в wsl ничего просто не умеют.(сарказм других комментаторов до вас, похоже, не дошел)
Просто пихают свой linoops во все возможные и невозможные дырки. Когда им там прищемляют достоинства - обижаются.
Говнокод он на любом языке одинаков, винить в этом язык глупо...
Ну ладно Brainfuck уж совсем для мазохистов.В опросе не участвовали меньшинства из других ОС.
Не все спагетти одинаково вкусны. И про соус не стоит забывать.
зависит от сорта пшеницЫ
> зависит от сорта пшеницЫГречневые лучше всех!
на самом деле, все спагетти одинаково НЕ вкусны (те что я пробовал) :)
Другое дело пельмени!
HTML/CSS язык программирования. Ясно-понятно.
Знаю язык программирования JPG, PNG и OBT
> OBTОсновной Боевой Танк что ли?
Нет, это "Основной Воевой Танк".
Кстати, css разве не тьюринг-полный? Формально, это html. Шуточки про язык программирования html были актуальны лет 30 назад разве что.
Да не удивлён. Во времена, где фронтендовская вебня лезет куда не надо, оно так и мутирует.
никто не мутирует. новые CSS фичи завозят не активно, не говоря уже про поддержку браузерами этих самых новых фич
CSS тьюринг полный так-то.SQL тоже в графиках есть
https://coderoad.ru/2497146/%D0%AF%D0%B2...CSS не является полным Тьюрингом
> https://coderoad.ru/2497146/%D0%AF%D0%B2...
> CSS не является полным ТьюрингомОпеннетный оналитег классически, дальше заголовка по своим же ссылкам не читающий?
>> Является ли CSS Тьюринг полным?
>> CSS, насколько я знаю, не является полным Тьюрингом. Но мои знания о CSS очень ограничены.
> Вы можете закодировать правило 110 в CSS3, так что оно является полным по Тьюрингу, если вы считаете, что соответствующий сопровождающий файл HTML и взаимодействие с пользователем являются частью “execution” из CSS. Имеется довольно хорошая реализация http://eli.fox-epste.in/rule110-full.html
>
Там по ссылке и дальше ;)Поскольку мы только что решили проблему остановки для CSS, из этого следует, что CSS не является полным Тьюрингом
> Там по ссылке и дальше ;)
> Поскольку мы только что решили проблему остановки для CSS, из этого следует,
> что CSS не является полным ТьюрингомЭто так не работает (и btw. проблема остановки включает в себя "user input").
Т.е. у нас есть:
1) Rule 110, считающийся "полным по Тьюрингу"
https://arxiv.org/abs/0906.3248
"Computational Complexity (cs.CC); Formal Languages and Automata Theory (cs.FL)"2) Реализация, как минимум упомянутая 1 CS профессором https://lemire.me/blog/2011/03/08/breaking-news-htmlcss-is-t.../
> Apparently, HTML5 + CSS3 is now also Turing complete because it can be used to program a Rule 110 automaton. I have not yet had time to investigate further.3) простой ответ на StackOverflow, основанный на "рассуждизмах" (в которых рассматривался CSS сам по себе, а не эмуляция машины Тьюринга на нем - что как минимум странно), результат которых противоречит первым двум пунктам.
> Там по ссылке и дальше ;)
> Поскольку мы только что решили проблему остановки для CSS, из этого следует,
> что CSS не является полным Тьюрингом
>> Но мы можем вывести такой алгоритм для CSS! Вот он:
>> Если таблица стилей не объявляет никаких анимаций , то она остановится....
>> В противном случае он остановится.
>> Вот и все. Поскольку мы только что решили проблему остановки для CSS, из этого следует, что CSS не является полным Тьюрингом .Логика уровня:
Компьютеры не являюстя системами, полными по Тьюрингу, потому что мы можем вывести алгоритм:
Если в кроне есть шатдаун, то компьютер остановится
Если нет, то нет ...
Таким образом мы решили проблему остановки для компьютеров, из этого следует ...
Искал этот комментарий.
всякие проходимцы, которые даже кодить без архитектурных ошибок не могут - влияют своими голосованиями на ещё большее таких же проходимцев. недумать - легко и приятно и питон/js/rust это обеспечивает.
Я поставил тебе минус, но ты же понимаешь, что это просто разные области. И хайповые язычки популярны в основном за счёт хайповости.
> Я поставил тебе минус, но ты же понимаешь, что это просто разные
> области. И хайповые язычки популярны в основном за счёт хайповости.mc, я видел этот коммент под друним сообщением. пофикси свой форум. отпрвьте это сообщение к модератору.
Про хайповую природу популярности rust слышу уже лет 5-7. Когда ожидается, что хайп пройдёт?
> Про хайповую природу популярности rust слышу уже лет 5-7. Когда ожидается, что
> хайп пройдёт?При этом, до сих пор ничего не написали, а что написали, так лучше бы и не написали. Сложно сказать, насколько хорош вебрендер фф (у меня только вкладки зависать с ним начали -- глюки мп синхронизации и приходится браузер перезапускать), но всё остальное никуда не годится. Как видно, от проблем не избавляет, и добавляет новых. LLVM-онли, производительность не очень хорошая, решает 1% пробем, нескучность создаёт миллион новых.
Можно расценивать как экспериментальный сахар, который попадёт в плюсы при некоторой пригодности. Но скорее, это заговор низкоквалифицированных работников, которые рассчитывают таким образом поднять свои значимость и востребованность. Вкладываться ли в это? Тут выбор у каждого свой, мне кажется интересным для экспериментов, однако для работы есть более удобные и пригодные к использованию инструменты
> При этом, до сих пор ничего не написали, а что написали, так лучше бы и не написали.С чего вы взяли? Я вот пользуюсь продуктами на Rust.
Ну вот посмотрел какой софт написали, оценил его качество, вот и взял. Меня уверяли, что рипгреп -- это самая лучшая программа на расте, что есть (других не смогли переписать наверно), и она оказалась одной из самых низкокачественных программ, что я когда-либо встречал. Какие ещё "продукты", пардоньте?
Rust это романтизм 21 века.
Мечта о потерянном идеале. Фантазия идеального кода.
Гуголь заявляет, что 70% всех уязвимостей и ошибок связаны с неправильной работой с памятью. Плюсовики бьют пяткой себе в грудь, что они умеют работать с памятью, но статистика говорит обратное.
Так что такой язык как Раст всё-таки нужен.
> Так что такой язык как Раст всё-таки нужен.А что, Python, LISP, Go, <нужное вписать, их легион> (все, что умеет автоматическое управление памятью) - неправильно работают с памятью?
Это все слишком много мусорит.
> Это все слишком много мусорит.А что, в Rust придумали какие-то новые алгоритмы для автоматического управления памятью?
Да.
Как всегда, раст-хейтеры понятия не имеют, о чем говорят.
> Да.Ссылки на публикации в реферируемых научных журналах будут в студии?
Раст-хейтеры не верят в магию.
Если вкратце, то время жизни любой ссылки не должно превышать время жизни того на что ссылается эта ссылка, и в расте эти (и еще куча всего) проверки происходят во время компиляции, а по этому бесплатны с точки зрения производительности.
Официальная документация:
https://doc.rust-lang.org/book/ch04-02-references-and-borrow...
Для тех кто шарит:
https://arxiv.org/pdf/1903.00982.pdf
Мы знаем
Только бонус это мелкий и слишком дорогой
>> Это все слишком много мусорит.
> А что, в Rust придумали какие-то новые алгоритмы для автоматического управления памятью?Конечно же нет. Всего лишь добавили borrow checker, это что-то наподбее надсмотрщика над программистом, который фигурально выражаясь бьет его палкой, если программист использует неодобренные borrow checker'ом конструкции. Технология аппробированная египетскими и советскими фараонами при строительстве пирамид и беломорканалов.
Притом растовский borrow checker достаточно тупой, что не всегда признает синтаксически правильные прогаммы [1]. В этих случаях растовский программист пишет по старинке (с unsafe) со всеми вытекающими следствиями.
В общем Гулаг 2.0 от FAANG.
[1]
https://stackoverflow.com/questions/63437935/in-rust-how-do-...
Ну да. Наука-то - не нужна, верно? Трясти надо...
> А что, в Rust придумали какие-то новые алгоритмы для автоматического управления памятью?В Rust нет сборщика мусора, программист должен убирать за собой сам, а компилятор просто проверит, что все чисто. А так как компилятор все равно проверяет чистоту, то в 99% случаев руками убирать ничего не надо - сам компилятор вставит код уборки в нужных местах. И вуаля, мы получаем что-то вроде "статического сборщика мусора".
> А так как компилятор все
> равно проверяет чистоту, то в 99% случаев руками убирать ничего не
> надо - сам компилятор вставит код уборки в нужных местах.Сразу видна глубокая наука... Ну а что будет в 1%? Компилятор
грязноту не заметит?> вуаля, мы получаем что-то вроде "статического сборщика мусора".
Тыкву.
В 1% компилятор не сможет вставить код уборки автоматически и программисту придется написать уборку самому.
> А что, в Rust придумали какие-то новые алгоритмы для автоматического управления памятью?Не алгоритмы, а синтаксис описания задумки программиста о том, какой из алгоритмов управления памятью должен быть использован в том или ином месте программы.
Стековой памятью надо управлять так, памятью в куче эдак, причём если копнуть глубже, то и стековой памятью можно управлять по-разному и памятью в куче тоже. Раст позволяет кодировать эти соглашения в API. И проверяет чтобы API соответствовало коду. Причём он проверяет, чтобы реализация API соответствовала бы заявленному в API. И он проверяет, чтобы код, пользующийся API, пользовался бы им так, как требует выбранная стратегия управления памятью.
Вот собственно и всё. Программист затем может использовать любую стратегию управления памятью, которая ему кажется лучшей для задачи, он даже может смешивать эти стратегии произвольно. rustc же просто проверит, что тот не накосячил нигде.
Правда надо понимать, что с такой стратегией управления памятью, как сборка мусора, как-то не задалось. Эта стратегия, была даже в std в до-v1.0 расте, но не сложилось. Сейчас есть попытки запилить gc крейтом, но там пока неясно всё. Правильнее было бы говорить не о попытках запилить, а об исследовании путей к тому, чтобы это сделать. Если интересно можно обзор таких попыток[1] посмотреть.
[1] https://manishearth.github.io/blog/2021/04/05/a-tour-of-safe.../
> Стековой памятью надо управлять так, памятью в куче эдак, причём если копнуть
> глубже, то и стековой памятью можно управлять по-разному и памятью в
> куче тоже.Ну, так это так или иначе делают при реализации структур данных в высокоуровневых языках (типа того же питона).
> Раст позволяет кодировать эти соглашения в API. И проверяет
> чтобы API соответствовало коду. Причём он проверяет, чтобы реализация API соответствовала
> бы заявленному в API. И он проверяет, чтобы код, пользующийся API,
> пользовался бы им так, как требует выбранная стратегия управления памятью.Эта задача там действительно решается или "мамой клянус, в 99% случаев это сработает"?
Проверка корректности программ в общем случае - задача алгоритмически
не менее безнадежная чем сравнение двух вещественных чисел.
>> Стековой памятью надо управлять так, памятью в куче эдак, причём если копнуть
>> глубже, то и стековой памятью можно управлять по-разному и памятью в
>> куче тоже.
> Ну, так это так или иначе делают при реализации структур данных в
> высокоуровневых языках (типа того же питона).Насколько я понимаю в пайтоне единственная стратегия управления памятью -- сборка мусора.
>> Раст позволяет кодировать эти соглашения в API. И проверяет
>> чтобы API соответствовало коду. Причём он проверяет, чтобы реализация API соответствовала
>> бы заявленному в API. И он проверяет, чтобы код, пользующийся API,
>> пользовался бы им так, как требует выбранная стратегия управления памятью.
> Эта задача там действительно решается или "мамой клянус, в 99% случаев это
> сработает"?"мамой клянус". Есть ведь unsafe который позволяет тебе творить всё, что возможно творить в C. Есть unsafe inline asm, который позволяет тебе творить всё, что позволяет asm.
> Проверка корректности программ в общем случае - задача алгоритмически
> не менее безнадежная чем сравнение двух вещественных чисел.Во-первых, здесь не об общем случае доказательства корректности. Речь о безопасности работы с памятью.
Во-вторых, ... лирическое отступление. Опеннет влюблён в миф о том, что достаточно квалифицированный программист на C может писать безбажные программы. Если мы допустим, что этот миф верен, то из него вытекает, что этот программист про свои программы может доказать их корректность. У него есть в голове какой-то способ это доказать, этот способ -- часть его квалификации. Если он не может доказать, то каким образом он знает, что вот теперь его программа корректна? Вся теория идёт лесом: если теоретически невозможно доказать в общем случае, значит этот программист практически выбирает такие _частные_ случаи (такие способы написать программу), в которых доказательство корректности возможно.
Доказать корректность про целую программу на C практически невозможно. Если это невозможно только потому, что внимания и терпения недостаточно, то это ситуация, с которой C'шные программисты вынуждены мириться, и поэтому она считается нормальной. Но если C'шный программист не видит способа как можно было бы доказать, имея достаточно внимания и терпения, то ему надо переписывать свою программу или быдлокодер. То есть, если у меня в программе есть массив, если я подозреваю, что индекс может выходить за границу его... если я подозреваю, но не знаю, это значит, что я не могу доказать корректность своей программы, это значит, что это гумно, а не программа. В большинстве случаев, когда упираешься в такое, всё же доказываешь -- либо находишь баг и исправляешь его, либо доказываешь корректность. Но мне приходилось переписывать шматы кода, потому что я не понимал, почему они работают: программа падает, почему падает непонятно, падает явно не в том месте кода, где ошибка. Но в программе есть какой-то кусок кода, который я не понимаю -- может из него иногда вылетает висящий указатель? Хз. Доказать не могу, опровергнуть тоже. Начхать, нахрен такой код, я вот сейчас напишу такой, который я буду понимать и про который докажу, что из него не вылетает висящих указателей.
Так вот, _во-вторых_, раст позволяет тебе инкапсулировать unsafety в модулях, чтобы оно если и протекало через границы модулей, то явно и контролируемо. Если ты про каждый модуль с блоками unsafe доказал его safety, разглядывая его в отдельности, если ты затем отдельно разобрал каждый вызов unsafe функции пересекающий границы модулей, и если в процессе выстраивания доказательств ты не совершил ошибок, то ты выстроил доказательство safety. Фишка в том, что тебе не придётся выстраивать доказательств, которые ссылаются на много разных файлов с кодом. Каждое доказательство в отдельности будет ссылаться только на код одного файла. Исключения могут возникать только когда ты вызываешь unsafe функцию из другого модуля.
Но простор для ошибки человека всё же есть, всё же, "мамой клянус".
С интересом прочитал, спасибо.
> Насколько я понимаю в пайтоне единственная стратегия управления памятью -- сборка мусора.Мда, неудачный пример.
Кстати, а вообще в расте это используется (т.е. в std)?
> Есть ведь unsafe
Не, конечно без.
> допустим, что этот миф верен, то из него вытекает
Не. Не следует. Может доказать сможет Ваня, а не чудо-программист. А может доказать и никто не может, а программа корректна. Ты - верь! (Тем более, что это - миф.)
>> Насколько я понимаю в пайтоне единственная стратегия управления памятью -- сборка мусора.
> Мда, неудачный пример.
> Кстати, а вообще в расте это используется (т.е. в std)?Какие стратегии в принципе есть? Сборка мусора. Подсчёт ссылок. Или какие-то вручную выстроенные, например, мы на каком-то стековом фрейме выделяем память, а все верхние стековые фреймы работают с этой памятью как со статической, не выделяя или парясь освобождать. Ну, чтоб конкретный пример, допустим у нас есть груда текста в каком-то синтаксисе, мы парсим и может что-то ещё по-мелочи делаем. Как?
Можно весь текст прочитать из файла в буфер, выделив память, прокинуть в функцию парсинга, и та будет считать что буфер существует столько, сколько надо, брать оттуда токены подстроками, не выделяя под них память, жонглировать ими как угодно, не освобождать память и делать всё что надо. Это тоже своего рода стратегия, мы накладываем на парсер определённые правила работы с памятью, с тем чтобы сделать менеджмент памятью тривиальным, а значит с минимумом ошибок.
Но внезапно оказывается, что подстроки (скажем идентификаторы) надо заносить в AST, и AST должен оставаться валидным и после того, как буфер с исходным текстом будет освобождён. Эммм... Ну ок, мы будем прежде чем заносить в AST делать strndup, то есть будем выделять память. Стратегия становится сложнее...
Но тут мы задумываемся о том, что вовсе не нужно на каждое вхождение идентификатора делать новый strndup, надо на каждый идентификатор делать это единожды. Значит перед strndup надо попытаться найти существующий идентификатор с таким именем, и strndup'ить только если он не найден. Стратегия становится ещй сложнее...
А потом вдруг выяснится, что вот тут надо не просто с подстрокой поработать, а хотелось бы её модифицировать, а потом поработать. Но если мы сделаем так, и если подстрока -- это ссылка внутрь буфера со всем исходным текстом, то мы модифицируем буфер, хотя мы до сих пор писали программу исходя из предположения, что буфер неизменен. Можно рискнуть и изменить, но очень возможно что где-нибудь вылезет странный трудноуловимый баг. Можно сделать на подстроку strndup, модифицировать копию, и поработать с ней. Но надо не забыть освободить потом память. Стратегия становится ещё сложнее...
В стратегии появляются усложнения, дополнения, исключения, и в некоторых случаях она может превращаться в что-то невыразимое словами. Чем сложнее стратегия, тем сложнее ей следовать, тем более вероятны баги. Когда я прочитал какую-то книжку про структуры данных, я был восхищён без меры, и первым делом я запилил такую структуру данных, что... Мне повезло, что тогда я уже сидел в венде, а не в DOS'е, потому что программа падала постоянно, в DOS'е я бы замучался перезагружаться. И никакие объёмы отладки не могли исправить все баги. Потом в моей практике подобное случалось ещё пару раз.
В расте это не проблема, потому что borrowed указатель внутрь неизменяемого буфера отличается от owned указателя, эта разница отслеживается статически, и если я позволяю себе делать с borrowed что-то, что с ним нельзя делать, компилятор будет ругаться. В расте я могу, скажем, для строк-идентификаторов завести специальную кучу -- это может быть просто HashSet, например, чтобы закидывать туда идентификаторы, -- и получить (или может создать вручную) специальный тип указателя, который будет жить немного по своим законам. Типа указатель на идентификатор вроде и borrowed, но используется так же просто как указатель на статическую память -- делай что хочешь, кроме изменений внутри объекта. По-сути, я описываю свой план менеджмента памятью в своих API, и компилятор потом проверяет, насколько мне удалось этому плану следовать. Я могу сколь угодно угодно сложную стратегию изобретать -- всё что мне удастся закодировать в API, -- и не бояться, что эта стратегия слишком сложна для меня, что у меня процессорной мощности серого вещества не хватит на неё. (Ну, то есть, может и не хватит, но я не смогу этого не заметить, потому что в этом случае дело кончится некомпилируемым кодом, который мне не удаётся довести до компилируемого состояния. Это будет очень досадно, но это лучше, чем код который компилируется, и падает в рандомные моменты.)
RAII, на фоне этого, выглядит мелким дополнением, которое избавляет меня от необходимости явно писать free. Иногда это не столь мелко, если это даёт возможность писать полиморфный код, который один раз компилируется в код с вызовом free, а другой раз в код без вызова free, в зависимости от того, с каким куском памяти он работает.
Возвращаясь к std: в ней используются все элементы, из которых можно запилить любую такую стратегию. Используется предача borrowed ссылок, используется передача значения с возвратом его из функции (что позволяет функции, например, принять буфер, при необходимости перевыделить его, изменить содержимое и вернуть обратно), передача "указателя на указатель" (если я закидываю в функцию &mut String, чтобы та дописала что-то, при необходимости перевыделяя память, то это аналог передачи (char** s, size_t* len) в C)... Элементы все используются, то есть примеры использования можно найти. Но естественно в ней не используются все возможные такие стратегии, которые можно построить из этих кирпичиков.
>> Есть ведь unsafe
> Не, конечно без.Строго говоря без unsafe'а совсем не выйдет. Придётся использовать std, а в std есть, например, реализация массива -- slice и Vec, -- а их невозможно реализовать без unsafe: там внутри работа с raw-указателями в C'шном стиле. Но если принять допущение, что std не содержит ошибок, то дальше всё доказывается строго компилятором.
Да как ты не поймешь используя раст ты сразу постигаешь дзен. IQ сразу повышается до 1000, а уязвимости рассасываются сами собой. Больше не надо думать вообще раст сам за тебя все напишет. Кто не верит в это тот еретик.
Поэтому мы не будем даже пытаться разрабатывать инструменты, которые позволяли бы меньше ошибаться или закрывали некоторый класс ошибок вообще
Такие инструменты есть и это точно не раст.
> Такие инструменты есть и это точно не раст.И почему же их не используют? Почему хотя бы здесь, на опеннете, регулярно появляются новости об очередном битье памяти сишниками в крупных проектах по типу ядра или какого-нибудь браузера? Или это такие же убогие инструменты, как и раст?
>> И почему же их не используют?Нет нужды
Зато есть нужда память бить
Пытайся, тебе кто-то запрещает? Иди, разрабатывай! Иди давай!🤣 Никогда ты ничего не разработаешь. В лучшем случае будешь юзать чужое, попутно обсирая.
будем, но называть инструмент ржавым, и делать его для инопланетян... а потом удивлятся почему вменяемые человеки его обсирают
> а потом удивлятся почему опеннетные анонимы, у которых девиз по жизни "Ничего не обос*ал сегодня? День прошел зря!", его обсираютДа нет, никто особо не удивляется.
Правильно, но, к сожалению, медленно
> Правильно, но, к сожалению, медленноА в Rust быстро - это магия такая или предмет веры?
Время покажет, по плодам узнаем их. Вспомним, что говорили они.
В одной конторе посчитали, что большая часть багов делается перед обедом и в конце рабочего дня. Ввели кофе-таймы посреди первой и второй половины. Багов стало меньше, профит всем.
Раст может быть и нужен, но вряд ли любители стильного-модного будут переписывать старое, мечтать не миллионы строк кода писать, много лет для этого нужно, 5-10, когда нужное будет по-новому сделано.
Нужен или нет опрос не показывает.
А вот то, что Rust любим, показывает.А любовь это очень хорошо на самом деле.
Ненужна людям С++ порнуха, она вся шаблонная и не даёт людям испытать настоящую любовь.
Хруст это зачатый неудачником по пьяни синтаксис, выношенный алкоголичкой и рожденный семимесячным в тамбуре вагона пригородного поезда.
Правильно говорить экспериментальный
> Правильно говорить экспериментальныйЖаль, что Отцы и Деды предусмотрели так мало разных скобочек на клавиатуре: в Хрусте нашлось бы место всем им!
Какая-то статистика курильщика.Куча бабла в мобайле, но Java чуть ли не в конце, да и Swiht не сильно далеко от нее ушел. На серверах важна скорость, но в топе у нас интерпретируемые F#, тормоз-руби и erlang, который не умеет в быструю производительность.
Другой топ называется интегрированые среды разработки, но в нем у нас куча текстовых редакторов - vscode, np++, atom, sublime, vim, neovim, emacs, textmate
Топ по используемым инструментам и там что-то делают игровые движки и IDE для C#, которая кстати в топ по IDE даже не попала.
UPD: erlang не умеет в быструю многопоточность*
Эрланг хорошо скалируется зато.
Если брать эрланг как язык, то в нём вообще нет многопоточности. Есть лишь "процессы", обменивающиеся сообщениями.А вот разруливать "процессы" по тредам реализация эрланга умеет весьма хорошо. Раньше действительно были проблемы, и наверное потому у Вас такие воспоминания. Но вроде как починили.
По крайней мере, WhatsApp не жалуется.
>erlang, который не умеет в быструю производительностьЭто такой троллинг?
>интерпретируемые F#
Это какой-то новый вид троллинга или что-то другое?
>Куча бабла в мобайле, но Java чуть ли не в конце
В амазоне много денег, но грузчики почему-то получают копейки.
> Это такой троллинг?Я же поправился в первом комментарии. Анонимусам нельзя редактировать уже отправленные сообщения - они не наши
> Это какой-то новый вид троллинга или что-то другое?
а разве dotnet уже стал нативным, он же всегда крутился на виртуалке, как java
> В амазоне много денег, но грузчики почему-то получают копейки.
теплое с мягким сравниваете. Нет на грузчиков такого спроса, как на мобайл разработчиков
> а разве dotnet уже стал нативным, он же всегда крутился на виртуалке, как java.Net (и dotnet) (и даже Mono) ни когда не использовали интерпретатор, в отличие от Java. (По крайней мере на x86/x86_64). Байт-код всегда перед выполнением проходил и проходит через JIT.
Спрос большой и там и там.
И там и там он компенсируется высоким предложением.
Поэтому цены остаются низкими.Дотнет работает на джите и по скорости близок к сипипи. На нём успешно делают хайлоад.
Впрочем F# немного о другом как я слышал.
>а разве dotnet уже стал нативнымВ стандарте предусмотренна такой вариант.Есть и реализации компиляторов которые сразу генерят наитивный код,недостаток размер не маленький:-(
И во многих случаях (зависит от платформы) нет управления памятью ,получаеться unsafe реализация.
>>>erlang, который не умеет в быструю производительность.товарищ, вы перепутали. эрланг не умеет в быструю скорость и в медленные тормоза.
Самый резонный график - с БД.
Ещё с ОС более-менее понятно.
Остальное - ужасы и странности. Особенно зарплаты.
Стеоверфлоу там M$ ещё не купил, случаем?
Если перейти на сайт оригинальной статьи там еще статистика по трансгендерам и другим гендерам среди опрошенных разработчиков, вот где мякотка, на опеннет такое не принесли потому что ор был бы выше гор.
я надеюсь, там были люди, сексуально идентифицирующиеся как боевой вертолёт? а то, кажется, мне никогда не найти свою вторую половинку...
Man 91.67%
Woman 5.31%
Prefer not to say 1.75%
Non-binary, genderqueer, or gender non-conforming 1.42%
Or, in your own words: 0.92%
ну такое, вовсе и не выше гор.
Почитал. Да, с этим они как-то явно перебарщивают.
>>>Самый резонный график - с БД.ElasticSearch ванлав
> ElasticSearch ванлавElasticSearch мэни ООМ, мэни лагс, мэни релокейшнс, мэни трабл
>> ElasticSearch ванлав
> ElasticSearch мэни ООМ, мэни лагс, мэни релокейшнс, мэни траблElasticSearch БД селект ми мани тайм :)
>> Остальное - ужасы и странности. Особенно зарплатыВыборка - те, кто отвечал на опрос из тех, кто увидел опрос из тех, кто заходит на SO
Аудитория SO - 95-97% задаёт вопросы, причем не сильно умные
И ещё люди "фантазируют" в ответах
Stop liking what I don't like!
> Stop liking what I don't like!systemctl liking stop;
> systemctl liking stop;сразу видно человека, который остался в эпохе /etc/init.d
systemctl stop liking
Можно пламенно всем сердцем любить, но не пользоваться... Программистки совсем видимо, отчаялись.)
Можно считать что это коэффициент хайповости, потому что любить можно то чем ты не пользуешься. В там чем ты каждый день пользуешься ты каждый косяк знаешь и удивляешься как это вообще может работать.
> Можно считать что это коэффициент хайповости, потому что любить можно то чем
> ты не пользуешься. В там чем ты каждый день пользуешься ты
> каждый косяк знаешь и удивляешься как это вообще может работать.а вы товарищ не путайте любовь и законный брак :)
Хорошую вещь браком не назовут.
Да ерунда!..
Сколько лет язык должен быть популярным, чтобы это был уже не хайп?
Скорее это демонстрирует желание/готовность перейти на этот язык. Просто пока спрос маленький, а желающих писать на Rust - тыщи. Но, надо понимать, что это все новички, а все имеющиеся вакансии требуют уже опытных. Таким образом создается определенное напряжение на рынке и рано или позно - прорвет.
Да-да, а спрос маленький потому что хейтеры и заговор, а не потому что раст ненужен.
> Да-да, а спрос маленький потому что хейтеры и заговор, а не потому что раст ненужен.Расскажи поподробнее про "нинужно-спрос" на сишку в 1976-1980, плюсы в 1985-90, на питон в 1996 ... оналитек ты наш опеннетный.
В 1972 году Unix уже был переписан на «С» с «B». А что такого написали на обосрасте что надо резко на него переходить?
>> Ritchie, Dennis M. (March 1993). "The Development of the C Language".
>> By early 1973, the essentials of modern C were complete. The language and compiler were strong enough to permit us to rewrite the Unix kernel for the PDP-11 in C during the summer of that year....
>> During the 1980s the use of the C language spread widely
> В 1972 году Unix уже был переписан на «С» с «B».
> Вы все врети!Ну да, кто такой Деннис Ричи супротив цельного анонимного опеннетного оналитека?
>> спрос маленький потому что
> А что такого написали на обосрасте что надо резко на него переходить?Какой резкий спрыг с темы ...
> "нинужно-спрос" на сишку в 1976-1980лёхко.
универовским одминам нужно было обеспечить школоте учиться при минимальных расходах на железо и софт.
результат страдает нас до сих пор.
Кстати C++ попер в рост с распространением Windows и GUI которое обьектно чуть менее чем полностью....С тех пор с виндового десктопа С++ даже C# с Java не смогли потеснить
На Rust хотят писать не новички, а как раз опытные люди.
> На Rust хотят писать не новички, а как раз опытные люди.На Rust разные люди хотят писать. Я знаю, так как проводил собеседования. Но вы не поняли смысл моего комментария, в котором я говорил, что абсолютное большинство вакансий по Rust хотят опытных Rust-разработчиков. Сколько бы у тебя не было опыта в C/C++/Java/Python и т.д., если сказано, что берем сеньор-раст-не-менее-года-опыта-в-проде, то что ты будешь делать со своими несколькими месяцами борьбы с Borrow Checker?
Мы с вами в разных мирах живём. В моём мире ищут фундаментальные скиллы, а не опыт работы на конкретном языке. А конкретный язык выбирается уже на месте по проекту.
Ну вот по этому я вам и рассказываю, как реально обстоят дела с вакансиями на Rust.
Вот, правильный рейтинг, который обычно указывают в научных статьях и презентациях
https://www.tiobe.com/tiobe-index/
Прекрасный топ: C/C++/Java/C#/PHP - в нисходящем тренде.
Это хотя бы похоже на правду.
Реальность жестока и не романтична.
Людям нужна мечта.
C++ хоронят уже больше 20 лет, но при этом если выходит новая модная нетормозящая софтина то как правило она нам плюсах(если не считать софт гейоси)Пых хоронят чуть поменьше, но тоже уже лет 10, при том что все новые сайты которые выстреливают написаны на все том же PHP
Java/C# ну это парочка всегда тусила в бэкэнде узкоспециализированных внутрикорпоративных систем и как бы оттуда уходить не собирается
Факт в том, что если попытаться слезть с C++ придется переписать весь дестоп вообще, если слезть с PHP то почти весь интернет, а если Java.NET весь рынок цифровых услуг
Ну, я думаю так оно и происходит, развитие. Все будет переписано. Да уже этот процесс идет - он никогда и не прекращался. Нет ничего застывшего, вечного. Поэтому если Rust действительно имеет перспективу как замена C++ (а других конкурентов у плюсов сейчас нет) и Java (потому что производительнее, строже и гибче), то можно с этого знания получить профит, ибо "поезд" еще не разогнался и остается много вариантов "вскочить".
Это не тот, который через поисковые запросы? То есть где 30 лет написанной литературы о каком-нибудь языке делает его чрезмерно "популярным" игнорируя сколько реально этот язык используют в настоящий момент? И наоборот кбирающий молодые популярные языки ниже плинтуса, так как у них нет 30 летней истории литературы.
То, что мы и так знали: Шлак Оверфейл — любимый ресурс хвостатых копипастеров бессмысленного и беспощадного гоBнокода.
Зото бесъ карпарастафф.
Ну ты-то не копипастил ни разу оттуда, ты никакой, и говнокод ты тоже не пишешь...
Ты, должно быть, новенький на впоппеннете и не знаешь, что я старпёр, луддит, виндузятник и гуманитарий. Так что для меня на Шлаке ничего интересного не пишут.
кг/ам.
на расте ничего не написано, не может он быть самым любимым по определению.
плюсую камент про https://www.tiobe.com/tiobe-index/
Воу, чувак, твое мнение перевешивает весь StackOverflow по авторитету!
И судя по графикам лет через 10 Java и C++ умрут окончательно.
Java точно не умрёт. Rust ей не конкурент. Бизнесу надо на чём-то разрабатывать ПО. Не на микрософт же перелезать?....
На rust дофига всего написано.
*chan сила бгг
Ядро и все системные утилиты должны быть написаны на Rust
Все скрипты и сайты на PythonВсё, другие языки не нужны в принципе. Разве что останется сишечка и asm для микроконтроллеров, но постепенно умрут в связи с развитием "железа" и будут узкоспециализированны.
Также (если считать языком программирования) сохранятся портянки скриптов на bash
И пожалуй всё.
Давайте лучше скрипты и сайты на руст, а ядро и системные утилиты на си и асм. Т.е. осталось только начать писать сайты на русте, да и проще осуществить наверное, да? Приступайте, засилье го напрягает.
> Давайте лучше скрипты и сайты на руст, а ядро и системные утилитыНа Питоне и ЖС!
Еще один языкочёс, классика.
Кто кому чего должен?... За наличие питона на сервере, человека, допустившего это следует пристрелить на месте обнаружения. Просто из соображений безопасности.И вообще, пора уголовную ответственность ввести за преподавание питона в школе. Ну, или, переиспользовать статью за растление как итог покалеченной детской психики.
там полгода назад столяров опять свой трехтомник зарелизил.напиши в российский ск, пусть его за совращение малолетних паскалем накажут.
Паскаль, в отличии от питона, хотя бы не портит мозги. Его преподавать можно.
> Паскаль, в отличии от питона, хотя бы не портит мозги. Его преподавать
> можно.питон тож не портит мозги per se.
мозги портят папа с мамой, аккаунт вхтагнтактике/ин100грамчике, ответы мейл ру и образовательные видео на ютупе.
(дисклеймер: абсолютно никакого наезда ни на Столярова, ни на паскаль не планировалось)
> питон тож не портит мозги per se.Если человек не способен реализовать эффективный алгоритм обработки данных потому, что он "питон-программист", то это проблема подготовки. Но на питоне не бывает других программистов. Просто потому, что базы нет для подготовки. Сам язык не предполагает воспитание человека, способного понимать проблемы железа. Именно поэтому, если кто-то вырос на питоне, его мозги очень сильно отравлены. И можно ли из него сделать программиста - очень большой вопрос.
товарищ, питон сейчас занял нишу бейсика. это по определению не инструмент для людей, кушающих "эфективный алгоритм обработки данных" на завтрак. но это прекрасный инструмент для людей, которые кое-что соображают в своем проблем домене, и которым достаточно для решения своих задач велосипеда, а не спейс шаттла.когда в мединституте тетка с кафедры онкологии попросила меня помочь разобраться с сочиненным ей vba кодом для ехель таблички, последнее, что я мог сделать, было бы "фу визуляр бейсик какая гадость!". она не была бейсик программист, она была врач, и из нее не нужно было делать программиста.
Если бы питон позиционировали именно как средство "изучи хоть что-нибудь, чтобы пользоваться калькулятором, но потом ты не сможешь ничего понять", то проблем нет. Но его же в ШКОЛЫ впихивают. То есть туда, где дети думать должны учиться, а не на кнопочки нажимать. Мы ещё получим многолетний провал программистов только потому, что целое поколение "училось" на питоне. То есть, поколение, не способное создать что-то новое....
> Если бы питон позиционировали именно как средство "изучи хоть что-нибудь, чтобы пользоваться
> калькулятором, но потом ты не сможешь ничего понять", то проблем нет.
> Но его же в ШКОЛЫ впихивают. То есть туда, где дети
> думать должны учиться, а не на кнопочки нажимать. Мы ещё получим
> многолетний провал программистов только потому, что целое поколение "училось" на питоне.
> То есть, поколение, не способное создать что-то новое....товарищ, кмк, вы воюете не в ту сторону.
питон - простая среда программирования. как бейсик и турбопоскакаль в свое время, набрал turbo.exe и понеслась. к "учиться думать" не имеет никакого отношения. до микрософта это в свое время дошло, когда они квикси запилили. (а потом и Хайльзберга схантили))
это велосипед, на который пятилетний сел да поехал. без байкшопов, бе3 шестискоростных передач, титановых смазок, силиконовых сидушек и поликарбонатных рам. от подъезда до детской площадки и обратно. пятилетнему нафиг не нужна тур де франс, гиты и симейки. школьнику не нужно учиться "на программизда", ему нужно учиться быть человеком в окружающем обществе. чем заняться дальше, он потом и сам сообразит.
> За наличие питона на сервере, человека, допустившего это следует пристрелить на месте обнаружения. Просто из соображений безопасности.сделай yum remove yum тогда, в целях безопасности.
точнее, yum remove python*, сам юм подхватится в зависимостях.
Если не вдаваться в детали, то да.
Который год Rust всё любят и любят... Но он всё равно никому не нужен.
Пока одни хейтят раст, другие на нем просто молча пишут. Язык самый быстрый и безопасный. Сложный, да, не для всех. Но он решает проблемы, пока другие(с\с++) их создают.
Пишут и все и ничего не напишут. Ну сколько можно рассказывать сказки?
Пишут. Любительскую операционную систему Redox которая запускается на избранных ноутбуках. В нём есть браузер под названием netsurf. Тот самый браузер который активно развивает С (си) и GTK. И он является единственным доступным браузером в Redox на данный момент.
С чего вы взяли?
Мне нужен. Так что пусть будет.
Что за маркетинговый bullshit снова на попенете?
Использует раст 7% при этом самый любимый у 86% опрошенных? вместе с уродливым clojure?
Просто по опросам?
Это когда просто кого то спросили и кто то просто ответил?
лол шта это?
Может харе мутную статистику нагонять?
Топистартер прочитал учебник по маркетингу и оттачивает на читателях оттуда примитивные фишки?
это показатель как люди ведутся на тренды.
> это показатель как люди ведутся на тренды.А в каком это тренде Rust? Кроме тренда хейтеров на Opennet.
Уродливый - это ты. А Clojure - это LISP в JVM.
лол Clojure это уродливый LISP \o/
> лол Clojure это уродливый LISP \o/Он невзрачный.
Уродливый Lisp это JavaScript.
Для лохов жеж!
и таки да, нормальный рейтинг
https://www.tiobe.com/tiobe-index/
> Шестой год подряд Rust признаётся самым любимым языком:Шестой год подряд разработчики на Rust не вылазят с форумов stackoverflow.
Если бы я целый день мог сидеть на stackoverflow и получать при этом зарплату, я был бы тааак счастлив...И тоже любил бы за это Rust.
присылай резюме, в чем проблема-то? У нас все "разработчики" сутками не вылазят со стека - где еще код-то брать для разработки?Но есть один нюанс, да - любить хруст ты можешь сколько угодно, но разрабатывать будешь на пихоне с пехепе и js.
> но разрабатывать будешь на пихоне с пехепе и js.Реальность бессердечная ты самка
Я как-то хотел отвечать на вопросы по Rust на Stack Overflow. Но оказалось, что вопросов слишком мало и на те, что появляются, ответы приходят очень быстро. Так что на Stack Overflow растоману ловить нечего.
На самом деле у Rust отличная документация, ей пользобавться удобно. Так что Stack Overflow для программирования на Rust не нужен.
Зачем нужен язык, которому не нужен стек оверфлоу?Где, спрашивается, я буду столоваться^Wдергать снипеты?
Компилятор раста сам предлагает исправления для вашего кода.
> Компилятор раста сам предлагает исправления для вашего кода.это что же, он и на SO вместо меня ходить будет?
Ага )
Более того, код за тебя напишет: https://github.com/rust-lang/rustfix
А интерпретировать статистику кто правильно будет?Два бала.
Вот растоманы как всегда. Stack Overflow Провёл какие-то опросы, которые просто опросы и никакой аналитики не дал. И правильно, тем кто знаком будет очень интересно а растоманы удушатся.Ну статистика и статистика, без аналитики. Но этим фанатам надо было выхватить свой раст.
И в итоге сами и показали аналитику. Раст признани языком с самым большим количеством глупых тупо-фанатиков.
Аналогичные результаты у GitHib-овских опросов, кстати говоря :)
julia то как поднялась в списке любимых языков.....
Оказывается зарплата программистов использующих ЯП "HTML/CSS" выше, чем Java. Не тем я занимаюсь похоже.
>Используемые web-фреймворкиОпять перемешали всё в кучу. И js-библиотеки и бекенд 🤦
А веб и так одна большая куча всякого ...Ну и к томуже как я говорил. Статистика ни о чём.
Да, тут статистика, вообще странная. Пригляделся к "Используемые инструменты" - тут перемешались люди, кони. В одном списке Git, Docker, потом идут игровые движки Unity 3D, Unreal Engine. Не хватает ещё Blender. Можно было ещё любимый плеер закинуть в список, гулять дак гулять :)
Владею фреймворком jquery - классика же
э... а что тогда такое jquery если одним словом? Лет десять назад вполне годилось "фреймворк", когда еще не было б-жественных vue.js с ангуляром. А сейчас как те пацаны на шестисотом въехавшие в груженный баксами камаз - "а мы... а мы теперь вот хрен его знает".
Не, ну то, что slackoverflow уже давно жырное уг - кто бы сомневался.
> Не, ну то, что slackoverflow уже давно жырное уг - кто бы
> сомневался.иди нахрен, без стековерфлова никакая сириозная современная разработка невозможна в принципе. Откуда еще я буду копипастить-то?!
Всё ожидаемо. Прикладное ПО пишут на Java и JVM-based языках. Путь к успеху (бабкам) - учишь Java, набираешь 2-3 года опыта, потом переползаешь на Clojure/Scala. И по выходным или проектно можно подрабатывать на RoR.
Scala мертва. Её нет за пределами Apache Spark. Взлёт интереса к Clojure вряд ли приведёт к росту количества реального кода на ней. Storm 2 переписали с Clojure на Java. Просто не было желающих это поддерживать.
Это потому что котлин в тренде?
Scala все уже, закопана лежит себе отдыхает
Почему мертва? Там 3ья версия вот недавно вышла. Развивают также Native движок, чтобы побыстрее работало если JVM не нужен..
Это старые наработки, которые силами минимального количества фанатиков, за 5 лет смогли довести до чего-то стабильного. А закидон 3-й версии в виде питоноподобного синтаксиса непонятно на кого рассчитан. Питонисты не смогут писать на Скале. Просто квалификации не хватит. А деградировать Java/Scala-программисту до питона - это как-то слишком....И без JVM она тоже никому не нужна.
Java не сравнится с Rust по количеству приносимого бабла. В БЧ со знаниями Rust можно "майнить" со скоростью 300k/сек.
Смешно... самый любимый и неиспользуемый язык в мире? Brainfuck? Неа... Rust
Rust хороший :)
Brainfuck лучше
Пока практика это не подтверждает.
недавно смотрел советский док. фильм про опыт стадного инстинкта, когда среди нескольких испытуемых только 1 настоящий испытуемый а остальные подсадные. Все они смотрели на физический объект и выражали свое мнение с ошибкой. Испытуемый отвечал последний, и его мнение зачастую было идентично всеобщему с ошибкой.
Сейчас с растом происходит нечно подобное. Если в интернете читать что раст это круто, а си++ это 100500 процентный выстрел в ногу, то человек перестает считаться с личным опытом, и доверяется мнению "большенства".Не будте быдлом.
Тоже верно про растохейтеров, причём в куда большей степени.
Иронично, не правда ли...
Я вижу больше хейта в адрес раста. Интересно, сколько % от хейтеров пробовало на нём писать.
Почему растаманы отказываются писать на самом любимом языке в мире?
Самая сильная любовь - на расстоянии.
Ты нанимаешь прогера
Кандидат топит за раст
Вывод - неосилятор в память и сам признаёт
Смотришь другого кандидата
Я вот тоже подумал, что большую любовь к Расту можно использовать в качестве одного из важных фильтров.
Как можно ниасилить в память, если ты - программист на пихоне?! что-то я не знаю еще про пихон?
когда это они отказывались? Просто зарплаты платят не за переписывание уже написанного.
А когда еще нет объекта для переписывания на хруст - хрустеры теряются, и не понимают, как жыть.Приходится сначала писать на пихоне. Потом уже поздно, проект закрыт.
Человек, способный писать на Rust, вряд ли прикоснётся к питону. Просто из соображений брезгливости - синтаксически грязно и не технологично.
ха, а кто сказал что они способны? А...да, писаа-а-а-ать! А не написать.
Наклепали языков будто бы столько надо. А тем временем "быстро склепать" скоро может перестать работать потому что нужна скорость. Достали эти тормозные сайты. Сначала мутировал тытуп, а потом каждый занюханный макакер решил что ему позволено писать через задницу как в пинтересте нещадно расходуя чужие ресурсы. Скоро надо будет вводить ограничения чтобы первые 15 лет программист мог программировать только для PDP 11. Чтобы он собака включал мозги и думал падла как это будет работать у людей. Микроконтроллеры тоже как вариант. А то воют про глобальное потепление, а жопоголовых программистов, равно как и создателей поганых неэффективных языков никак не наказывают. Оценим нагрев планеты энергопотреблением сотен миллионов процессоров и графических чипов.
Для начала придётся отказаться от майнинга
Забавно, что в числе любимых есть АПЛ. На мой взгляд, код на нем напоминает одноразовые скрипты на перл, за исключением того, что для перла не нужна специальная раскладка да и читать его проще
не хватает главного пункта: "этот опрос сосёт".
Каждый программист 🧑💻 мечтает писать на Rust
Каждый программист-на-пихоне.Поправил, не благодари.
Не бывает на питоне программистов. Программисты питон не используют.
пробелы на питоне сами собой не вставятся - кто-то должен запустить модный ide.Просто ты путаешь две разные сущности - есть "программисты" (вымирающий или уже вымерший вид, в дикой среде почти не осталось) а есть "программисты на пихоне" (как раньше были "программисты под windows", к примеру).
И always have been (еще со времен "программистов на фортране" - когда те лабали простыни по десятку тыщ строк, а потом приходил просто программист, и собирал это и еще кусок кода на си, для работы с базой, и еще вот, асмовскую либу управления чудо-плоттером, в единое целое, попутно поправив их ошибки). Просто разные виды.
Кому кроме школьников и студентов может понадобиться питон в нашей жизни?
Ну кроме стеба про жопоголовых "программистов", кои могут быть на любом языке и горе если такой окажется (спойлер: соседи справа и слева лол) рядом с тобой например в C++ проекте, питон например используется в плагинах блендера. Там он очень к месту и плагины частенько весьма нетривиальны.
А что, блендер стал популярным программным продуктом?
непонятно о чем ты, читай комментарии внимательнее. выше привели конкретный пример успешного использования питона там где он оказался востребован.
Как раз пример, где питон впихнули не к месту. И эксперименты с Julia на Blender, например, показали кратный рост производительности. А питон можно вообще выбросить оттуда без потери функциональности.
И что плагины на питоне написанные десятками тысяч человек тоже можно будет выкинуть да? Простой гуглеж на скрещивание блендера и julia дает пару статей 15 года, невнятный кусок кода на гитхабе и все на этом. Вы видимо не в курсе архитектуры и концепции блендера.
и да, Julia прекрасный язык, но не нужно пихать любимую игрушку куда ни попадя
Вообще то да, прикинь)))
> пробелы на питоне сами собой не вставятся - кто-то должен запустить модный
> ide.В IDLE, кстати, таки вставятся сами. Но кто ж из пихтоно-хвостатых пишет на этой примитивщине? Им подавай IDE под максимальную загрузку 16 ядер и 64 гигов памяти.
Ты перепутал с какими-то другими программистами: для питона в целом достаточно kate/vim с плагинами типа парсера символов и минимальным автодополнением. Ну а что вы хотели, в блокноте только приветмиры пишутся, но java тут вовсе не обязательна.
> Каждый программист 🧑💻 мечтает писать на RustSweet dreams are made of this
Who am I to disagree?
I travel the world and the seven seas
Everybody's looking for somethingSome of them want to use you
Some of them want to get used by you
Some of them want to abuse you
Some of them want to be abused
Два отстойных языка в топе
Ну так тоже участвуйте в опросах от StackOverflow и GitHub :)
Ты что-то перепутал, в топе Раст, лучший системный язык на сегодня
Что и требовалось доказать, Раст - лучший.
Сишники, боящиеся потерять работу, могут отрицать конечно
Любой сишник без проблем освоит раст, а вот обратное не так просто.
perl во всех опросах, кроме зарплат, отсутствует. В зарплатах в лидерах. Это прекрасно.
Чем более маргинальный язык тем выше зп? Зп хоть в год?
Пойду писать портянки на баше за 70к
Ты лох, вон некто продал свой башскрипт для обновления сертов letsencrypt корпам, за совсем другие суммы. Хотя если 70К было в долларах в год - лох, но не лох-лох.
Прям перепись поехавших растоманов
> большинство участников Stack Overflow web-разработчикиОпрос среди вебманки показал что они пользуются яваскриптом, HTML и CSS. А подпольно они любят rust и вообще все что хайповое и с движухой.
Кстати все помнят как одно время взлетел уровень интереса к ФП как идеальной но не фига не практичной парадигме, а с ним и Scala которой пророчили светлое будещее, а жабке с ее ООП смерть, адские муки и погибель...История повторяется
Scala не из-за ФП умерла, а из-за чрезмерно расширенного синтаксиса и предоставления возможности писать write-only код, который никто, кроме автора, поддерживать не сможет. Примеры успешных ФП - это Ruby и Julia. Первый в своей нише уже лет 15 как стабильно сидит. Второй, судя по диаграмме, впервые до пятёрки любымых языков дотянулся. И это через 3 года после объявления о начале промышленного использования.
> Примеры успешных ФП - это RubyНапример успешного бизнесмена мы можем посмотрем в соседнем ряду. Видете могилу с огромным железным крестом?
Ruby здох уже давно, его Python сожрал
Ruby и Python не пересекались. И ни один проект с Ruby на Python не переносили. Просто ниша у Ruby осталась только в Web.
Да ладно? Зумерскин Django и RoR ни разу не пересекались?В вебе если без смузи, то там в основном пых, у тех у кого бабла очень много жабка с дотнетом... а нишу смузи пихон с джангой подмяли
Жуля вратли R потеснит, если его Python не одолел, то жулия и подавно
Python не пригоден для математики. А Julia - вполне. И, в отличии от R, на Julia легче обучать программировать. + на Julia можно делать бинарники, а ни R, ни python это не позволяют делать.
Для жоского матан тебе в Matlab со Scilab, тот же R это про статистику, может и в другое но плохо...Julia это некий франкештейн Mat/Scilab изнасилованный R, а режессером была Java
Matlab со Scilab легко по миру пустит любой стартап. Julia - это рубиподобный лисп. С синтаксисом у неё вполне всё в порядке. Там с временем компиляции при запуске не в порядке, но и этот вопрос постепенно решается.
Чет не пустили еще...Matlab ровестник C++
Scilab ровестник Java
Платить за Matlab и Scilab кто будет? Julia - доступна бесплатно.
Scilab бесплатен
Если тебе так нужна компиляция юзай C++ у него матановских либ на любой вкус и цвет, а не жди пока юля взлетитПссс... чисто между нами можешь Fortran попробывать
Ну зачем математику делать на C++?..... Я понимаю, что кому-то кактусы вкуснее... Но всё же... Особенно, когда есть современная Julia. Ну а Fortran уже вообще мало кто знает.
Fortran поболее чем Julia знают
Не будет молодёжь изучать Fortran. А Julia - вполне молодёжна. Да и инструментами она вполне себе перекрывает то, чем ещё недавно привлекал питон.
Без нормальной среды разработки типа Matlab или Scilab она юзерам и нафиг не нужна будет... а программистам фортрана с плюсами хватит с головой
Самое неприятное во всей этой истории с растом и ему подобными ЯП это бессмысленная трата времени на них наслушавшихся сказок лошковC мать его 49 лет
C++ уже 38 лет
Python 30 лет
Java и PHP 26 лет
C# 20 летИ не один из них не проектировался как псевдоидеал типа Scala, Haskell Rust, а постепенно эволюционировал из того что задумывал автор в то что мы умеем сейчас, добавляя новые парадигмы, выпиливая там где можно старое, расширяя библиотеку, вводя новый синтаксис...
Эти ЯП будут еще через 30 лет, потому что они умеют развиваться, а не бредить маняпонятиями с монадами и бароучекерами
Не, хрустики в принципе подозревают что хотят сишники. То-есть, compile time check лучше чем runtime fail. И на сях макросней можно довольно сурово это забабахать если задаться такой целью.Но вот реализация у хрустиков - это аццкое УГ с кучей закорюк, костылей, а половина потребного для системных дел до сих пор в ночных горшках. Это при том что они сразу понтовались системностью, вебманки позорные. На самом деле напрашивается что-то типа C next gen, где из хруста передерут некоторые вещи, типа, вот, compile-time проверок массивов и проч. У классического си для этого некоторые опции очень уж неудобны для анализа.
ппкс
С процентами накосячено! Если проценты складывать должно быть 100.
> Rust признаётся самым любимым языкомЛюбить надо людей, а не ЯП
А смысл, если некоторые из них хотят на питоне писать? Или... О каком значении "любить" идёт речь?.....
щас бы хтмл/ксс назвать языком программирования