|
2.7, Аноним (7), 11:13, 17/08/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +10 +/– |
Так-то аналогов Раста фактически нет. Хочется zero cost abstraction и скорости плюсов? И чтоб популярный за пределами круга чей-то мамы?
Ну и кто кроме него?
А синтаксис вырвиглазный только до того момента, пока не начинаешь его понимать. Сам через это прошел.
| |
|
|
4.83, Wilem (?), 23:46, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Я например написал около 6-ти инструментов, серьёзно упрощающие работу. Четыре из них для работы с логами. Logmerge - мержит тысячи логов в один файл сохраняя записи в хронологическом порядке и корректно обрабатывая многострочные записи, типа стектрейсов. Изначально тулза была на жаве. Отрабатывала за 25 минут и съедала 2500 мегов памяти. На расте те же данные за 1 минуту и съедает 3 мегабайта памяти.
| |
|
|
|
Часть нити удалена модератором |
|
|
|
|
3.16, user90 (?), 11:35, 17/08/2019 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| –1 +/– |
«zero cost abstraction» - это случайно не из методичек по Расту?
Я вот не знаю, хочется ли мне этого, т. к. не знаю, что это такое ;)
> А синтаксис вырвиглазный только до того момента, пока не начинаешь его понимать.
То есть этот момент может не наступить никогда?))
| |
|
4.17, Аноним (7), 11:51, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Это ещё из методичек по C || C++ :)
Например, заменяешь цикл расчета суммы до аналогичной функций в одну строку с лямбдой (типа как map/reduce)
C++/Rust не это потратят столько же мс, сколько и обычный цикл (условные 20 мс). В других языках может потратиться на несколько сотен больше мс (500, к примеру)
> То есть этот момент может не наступить никогда?))
У меня наступил почти сразу после нескольких лекций с ютубчика)
В Расте довольно неплохой синтаксис, пускай и загружен управлением памятью
Но в тех же плюсах есть моменты и похуже
| |
|
|
6.79, Ordu (ok), 22:53, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +9 +/– |
В C есть абстракции, если ты их не видишь, то это значит, что ты не кодил на ассемблере. Возьмём, скажем, понятие "переменная". В ассемблере такого понятия, по-хорошему, нет. Там есть регистры, есть стек, есть RAM. И ты перекладываешь значения с места на место. Некоторые места в RAM могут иметь вполне определённую семантику, и такие места можно назвать переменными, но подчастую работа с этими переменными сводится к тому, чтобы забрать оттуда значение, что-то с ним сделать, положить обратно. В C же, переменная -- это переменная, она может располагаться на стеке, в куче, в статической памяти, в регистре, иногда это определяется контекстом, но очень часто компилятор за тебя решает, когда и какая переменная будет представляться регистром, а когда ячейкой стека.
А типы? В асме нет типов, тип значения определяется операцией, которую ты выполняешь. Если add -- это целочисленное сложение 32-х битных целых, то она будет складывать 32-х битные флоаты как целые числа. В C тип определяется типом переменной или другого источника/приёмника откуда ты берёшь или куда ты кладёшь значение. Если ты используешь операцию + для сложения целых, то она сложит целые. Если ты используешь её для сложения float'ов, она сложит флоаты. При этом при необходимости типы аргументов будут приведены до соответствия друг-другу. Особенно эти сишные типы заметны на указателях: для асма нет разницы между целым значением, void* и char*. Ты когда пишешь на асме думаешь об указателях как о целых числах. В C же, указатель с некоторой натяжкой можно назвать целым числом, но в зависимости от типа указателя операция сложения будет выдавать разные значения. (char*)0 + 1 даст 1, а (int*)0 + 1 даст 4.
В C есть функции -- это тоже абстракции. В ассемблере есть код и есть данные, деление между ними условно -- ты можешь сделать jmp на данные, или прочитать байт кода в регистр. В асме ты можешь создавать функции, но при этом ты можешь сделать call в середину функции, или jmp из одной функции в другую. И, я отмечу, это не всегда глупость, это может быть вполне осмысленным и полезным действием. Скажем, tail call'ы так и делаются -- вместо call func/ret, мы делаем jmp func. Функции с несколькими точками входа тоже не редкость в асме.
Абстракции есть в любой проблеме, о которой ты в состоянии думать. Если ты не видишь этих абстракций, значит ты недостаточно глубоко копнул.
| |
|
|
|
|
|
|
|
3.10, Аноним (9), 11:20, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –4 +/– |
И зачем нужна это скорость в синтетике бизнсу? Зачем эта скорость в синтетике пользователям? Спойлер: Пользы нет.
| |
|
4.18, Аноним (7), 12:02, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +3 +/– |
Есть польза
Например, тесты на моем компе:
NodeJs Fastify: 15к в секунду
C++ Pistache: 50-55
Go FastHttp: 70
Rust Actix: 80
И если добавить больше логики, скриптовые языки просто потеряют скорости более чем в два раза, когда как компилируемые могут выжимать максимум из оптимизации, ресурсов сервера и ссд с бд (грубо говоря)
Без скриптовых языков выбор бэка вообще не особо велик, и Раст тут уже очень хороший вариант
Одна из причин, почему я начал его учить
| |
|
5.19, Аноним (9), 12:43, 17/08/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| –4 +/– |
Нет пользы. Увеличить скорость на 14% в синтетике и потратить в три раза больше времени на разработку чем на том же го. Время работы программиста дороже машинного времени. Поэтому вменяемый бизнес юзает джаву.
| |
|
6.30, Ванга в кедах (?), 13:40, 17/08/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +2 +/– |
Через 15 лет таких как ты будут отлваливать роботы, чтобы отомстить за своих друзей, которые зависли и впали в кому из-за дерьмового кода. Скриньте.
| |
|
7.39, Аноним (39), 14:15, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +5 +/– |
Предварительная оптимизация - сущее зло. Пока тестировщик не пожаловался на скорость - пишите подджерживаемый код.
Ну и желательно не пишите на JS и прочей xyетe с специалистами, которые по роликам на ютюбе учатся
| |
|
6.38, Аноним (7), 14:15, 17/08/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +/– |
Я выбирал между Го и Растом фактически
Го не понравился, и синтаксис какой-то более всратенький
Так что будущее за Растом
А Джава в 2020 - это садомазо.
| |
|
7.43, Аноним (39), 14:20, 17/08/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
> А Джава в 2020 - это садомазо.
Почему? Как язык джава очень даже норм: типы статические, функцию в функцию положить можно. Юнит-тестирование божеское. IntelliJ есть. Обвязки для всего, что нужно есть. Андроид есть.
Я вообще не java-программист, но в 2020 году серьёзно бы рассматривал писать на java/kotlin
| |
7.73, Аноним (77), 21:17, 17/08/2019 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +1 +/– |
> Я выбирал между Го и Растом фактически
> Го не понравился, и синтаксис какой-то более всратенький
> Так что будущее за Растом
Я выбирал между экскаватором и подъёмным краном фактически
Экскаватор не понравился, и сиденье какое-то более всратненькое
Так что будущее за подъёмным краном
| |
|
|
7.105, Forth (ok), 14:33, 18/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
В наших отечественных реалиях главный риск менеджмента разработки - это найти людей. Говнокодеров на Java худо бедно хватает. Хоть выбор какой-то есть на рынке.
Это наверное наиважнейшая часть той самой предсказуемости.
С++ разработчики - мало и выбрать не из чего.
JS - совсем задрали ценник.
Go - вроде модно, но народу немного и выбор как в советском магазине в провинции в 1990 году.
И окромя Java разработчиков брать никого не хочется.
| |
|
|
5.27, leap42 (ok), 13:17, 17/08/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +/– |
>> C++ Pistache: 50-55
>> Go FastHttp: 70
>> Rust Actix: 80
Rust хвалится zero cost abstractions, абстракции C++ и Go, выходит, сами тебе доплачивают?
| |
|
6.54, Аноним (7), 16:10, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Для серьезных беков учи яву
Что за стереотипное мышление?
Или хочешь сказать, что "серьезный бек" написать больше ни на чём невозможно?
Джава отнюдь не панацея.
| |
|
7.57, anonymous (??), 17:02, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +3 +/– |
В моем понимании "серьезный" - предназначеный для зарабатывания денег. Ява тут только потому, что более предсказуема: по человеческим ресурсам, по экосистеме, по вычислительным ресурсам (предсказуемо жрёт дохера, но при этом относительно стабильно). Язык и виртуальная машина с технической точки зрения твердое 3 с плюсом по пятибальной, но эти технологии в своё время оказались в нужном месте, заняли свою нишу и вылетать оттуда будут долго и постепенно.
| |
|
|
|
|
|
|
1.36, донни (?), 14:13, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +1 +/– |
>Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью
Если долго использовать их браузер, то он начинает жрать много памяти, а после закрытия процесс будет долго висеть, после чего вылетит.
| |
1.37, Аноним (72), 14:14, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +3 +/– |
Мозилла писали писали браузер. Не получается. Все дело в плохом языке программирования - решила Мозилла. Теперь они пишут пишут язык программирования. Все жду, когда они решат, что все дело в плохих операционных системах, а затем и в плохих архетектурах ПК.
| |
|
2.81, пох. (?), 23:03, 17/08/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +1 +/– |
> когда они решат, что все дело в плохих операционных системах, а
так они уже - но что-то с мазилаОС не взлетело - наверное, из-за плохого языка программирования.
> затем и в плохих архетектурах ПК.
ой... не подсказывайте им.
| |
|
3.120, имя (?), 22:42, 18/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> что-то с мазилаОС не взлетело
Взлетело, но уже без Мозилы и на бедном рынке:
> In market share study results announced in May 2018, KaiOS beat Apple's iOS for second place in India,[15] | |
|
4.122, Аноним (121), 22:50, 18/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Ну все можно теперь брать процессор RISC-V и.... все. Может это будет единственная ось что сможет что-то предложить на данном проце.
| |
|
|
|
|
2.82, Аноним (7), 23:04, 17/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| –3 +/– |
Тебе никто ничего не обязан доказывать.
Но, пока C++ становится всё сложнее и не фиксит сплошные UB и сегфолты, Раст просто мирно развивается, и с каждым релизом всё вкуснее для переезда на него.
А что Мозилла? В Firefox уже довольно много кода на Расте. Или Лиса недостаточно продукшн?
| |
|
3.88, Аноним (72), 01:34, 18/08/2019 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +6 +/– |
Пока Раст мирно развивается, для C++ напишут еще пару миллионов полезных библиотек для всех областей IT от игр до распределенных вычислений
| |
3.92, Аноним (77), 09:15, 18/08/2019 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +1 +/– |
> C++ становится всё сложнее и не фиксит сплошные UB и сегфолты
Ну становится сложнее он в основном благодарая добавлению фич для разработки без UB и сегфолтов. Я согласен, что чтобы в нём разобраться, надо изрядно упороться, но rust, сделанный по его образу и подобию, уже не сильно лучше (хотя исходная задумка была неплохой).
| |
|
4.140, burjui (ok), 15:14, 23/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Не сильно лучше? Ну-ну. У меня в Rust проекте на 6000 строк за все время не было ни одного сегфолта и ни одной утечки памяти. При этом писать такой код намного легче, чем на C++. И Rust сделан совершенно не по образу и подобию C++. Извините, но вы несёте чушь. Фактически Rust - это современный ML без GC и с низкоуровневыми фичами. На C++ он похож только если сильно прищуриться и попрыгать.
| |
|
|
|
1.96, Аноним (96), 10:43, 18/08/2019 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +/– |
Какие такие, жизненные ситуации могут сложится, чтобы человек начал понимать для чего реально нужна изменяемая и неизменяемая переменная?
| |
|
|
3.116, Ordu (ok), 20:40, 18/08/2019 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
Мне этого не хватило. Мне пришлось после доков месяца три ходить по граблям, воюя с компилятором и иногда запрашивая помощи у реддита, когда самостоятельно справиться с компилятором мне не удавалось. Мне стало легко лишь тогда, когда я, читая ошибки компилятора, начал понимать как нарушились бы инварианты языка, если компилятор молча проглотил код, вместо ругани.
| |
|
2.115, Ordu (ok), 20:36, 18/08/2019 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +/– |
Я знаю две такие жизненные ситуацию: rust и стажировка под присмотром крутого чувака, который знает как надо, внимательно читает весь твой код, и пинает в живот за кажый ошибочный выбор между mut и const. Rust мне кажется менее травматичен, потому что конфликты с компилятором менее травматичны (как психологически, так и физиологически), нежели конфликты с крутым чуваком.
| |
|
1.141, Vroeger (?), 19:21, 25/01/2020 [ответить] [﹢﹢﹢] [ · · · ] [↑] [к модератору]
| +/– |
Написание программ исходит из сочинительства.
Андрей Макаревич был бы отличным программистом.
Вот море молодых. Айфоны их дороги.
Мне триста лет, я выполз из тьмы.
Они "торчат от GO".
Скриптами "пудрят мозги".
Они не такие как мы.
Я не горю желаньем лезть в чужой монастырь.
Я видел COM на C без прикрас.
Не стоит прогибаться под изменчивый мир.
Ну вот и всё!
Мы пишем на RUST.
Теперь, всё мы пишем на RUST.
Один мой друг.
Он стоил двух.
И не букинист™.
Всегда везде "решётку" хвалил.
Работал он на Гейтса, как C# программист.
А тот взял да "свалил".
Ну, что же.
Спи спокойно. Ведь на C ты "забил".
И брал свои вершины не раз.
Не стоит прогибаться под изменчивый мир.
Ну вот и всё!
Мы пишем на RUST.
Теперь, всё мы пишем на RUST.
Другой, держался русла.
И течение ловил.
Подальше от "плюсовых" кодов.
Он был как все.
И плыл как все.
И вот он приплыл.
Ни ядер. Ни клонов. Ни BoF.
И жизнь его нагнула в этот "JAVA-кефир".
Где KOTLIN не поможет за раз.
Не стоит прогибаться под изменчивый мир.
Ну вот и всё!
Мы пишем на RUST.
Теперь, всё мы пишем на RUST.
Оппааааанькиииии..........
Пусть "лажа" возражает, и жена всё "пилит":
-"Ушёл бы ты давно в COPY-PAST!".
Не стоит прогибаться под изменчивый мир.
Ну вот и всё!
Мы пишем на RUST.
Ну вот и всё!
Мы пишем на ⭐RUST⭐.
Автор исходника: Андрей Макаревич
Группа: Машина времени
Песня: Однажды мир прогнётся под нас
Год: 1997
| |
1.142, Vroeger (?), 19:31, 25/01/2020 [ответить] [﹢﹢﹢] [ · · · ] [к модератору]
| +/– |
букинист™->любитель покупать книги по программированию.
Если вышеизложенный комментарий - не удовлетворяет,
тогда можно Клонировать текст программы по другому.
Например в стиле 60-х годов:
<...... Но снова качает, качает.
Задира-ветер фонари над головой.
И снова шагает, шагает.
Весёлый парень по весенней мостовой.
Листает, листает, листает.
Учебник JAVA он листает на ходу.
Не знает, не знает, не знает.
Что каждым утром он читает "Лабуду".
Пройдет много лет и поймет наш студент.
Что формулы счастья у JAVA уж - Нет.
Есть в книжках твоих много истин таких.👾
А формула счастья Давно у Других!>🦀
Автор исходника: Куклин Л. жив 86 лет
Композитор: Колкер А.
Исполняет: Мария Пахоменко.
Год: 1964
| |
|