|
2.7, Аноним (7), 11:13, 17/08/2019 [^] [^^] [^^^] [ответить]
| +10 +/– |
Так-то аналогов Раста фактически нет. Хочется zero cost abstraction и скорости плюсов? И чтоб популярный за пределами круга чей-то мамы?
Ну и кто кроме него?
А синтаксис вырвиглазный только до того момента, пока не начинаешь его понимать. Сам через это прошел.
| |
|
3.9, Аноним (9), 11:16, 17/08/2019 [^] [^^] [^^^] [ответить]
| +/– |
Расскажи кстати какой полезный сервис ты написал или даже внедрил на расте?
| |
|
4.83, Wilem (?), 23:46, 17/08/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Я например написал около 6-ти инструментов, серьёзно упрощающие работу. Четыре из них для работы с логами. Logmerge - мержит тысячи логов в один файл сохраняя записи в хронологическом порядке и корректно обрабатывая многострочные записи, типа стектрейсов. Изначально тулза была на жаве. Отрабатывала за 25 минут и съедала 2500 мегов памяти. На расте те же данные за 1 минуту и съедает 3 мегабайта памяти.
| |
|
|
|
Часть нити удалена модератором |
7.117, анон (?), 21:03, 18/08/2019 [ответить]
| –2 +/– |
какой в ж.. sed awk в венде? На вас краснглазых мир клином не сошелся!
| |
|
8.137, Wilem (?), 11:58, 20/08/2019 [^] [^^] [^^^] [ответить] | +/– | На знаю что там была за удалённая нить, но вообще сед и авк в винде норм BusyBo... текст свёрнут, показать | |
|
|
|
|
|
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, к примеру)
> То есть этот момент может не наступить никогда?))
У меня наступил почти сразу после нескольких лекций с ютубчика)
В Расте довольно неплохой синтаксис, пускай и загружен управлением памятью
Но в тех же плюсах есть моменты и похуже
| |
|
5.29, user90 (?), 13:30, 17/08/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Каждому свое - не думаю, что в Лиспе есть накладки с лямбдами нопример.
| |
|
6.78, Ordu (ok), 22:37, 17/08/2019 [^] [^^] [^^^] [ответить] | +3 +/– | В лиспе есть очень интересные накладки Скажем в lisp е нет понятия переменна... большой текст свёрнут, показать | |
|
7.129, Урри (?), 11:16, 19/08/2019 [^] [^^] [^^^] [ответить] | +2 +/– | Все вами описанное в личпе как раз и является zero cost , так как реализовано е... большой текст свёрнут, показать | |
|
8.134, Ordu (ok), 21:03, 19/08/2019 [^] [^^] [^^^] [ответить] | –1 +/– | К невыравненным байтам тоже пенальти А в lisp е байт будет занимать четыре а то... большой текст свёрнут, показать | |
|
7.132, freehck (ok), 15:42, 19/08/2019 [^] [^^] [^^^] [ответить] | +/– | Вообще-то сравнивать символ с переменной не корректно Наиболее близким аналогом... большой текст свёрнут, показать | |
|
8.135, Ordu (ok), 21:08, 19/08/2019 [^] [^^] [^^^] [ответить] | +/– | Может быть Попробуй объяснить человеку далёкому от lisp а эти нюансы Может быт... большой текст свёрнут, показать | |
|
|
|
|
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. Функции с несколькими точками входа тоже не редкость в асме.
Абстракции есть в любой проблеме, о которой ты в состоянии думать. Если ты не видишь этих абстракций, значит ты недостаточно глубоко копнул.
| |
|
|
8.114, Ordu (ok), 20:06, 18/08/2019 [^] [^^] [^^^] [ответить] | +/– | А на других архитектурах Где-то сопроцессор, где-то нет А знаковые беззнаковые... большой текст свёрнут, показать | |
|
|
|
|
|
|
2.15, Аноним (15), 11:31, 17/08/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Вырвиглазный синтаксис даже обсуждать лениво..
Видимо для тех, кто не осилил?
| |
|
3.63, хотел спросить (?), 18:13, 17/08/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
а он вправду не очень по сравнение с джавой или шарпом
не то чтобы откровенное говно, но меня на него ни разу не тянет
| |
|
|
|
|
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 с специалистами, которые по роликам на ютюбе учатся
| |
|
|
9.126, илтя (?), 07:49, 19/08/2019 [^] [^^] [^^^] [ответить] | +/– | Увы, это не так В двух последних компаниях где я работаю, таких сверхгениев на ... текст свёрнут, показать | |
|
8.113, Аноним (113), 20:04, 18/08/2019 [^] [^^] [^^^] [ответить] | +/– | А пок тестировщики сидят на 64-ядерниках разогнаных под жидким азотом все осталь... текст свёрнут, показать | |
|
|
6.38, Аноним (7), 14:15, 17/08/2019 [^] [^^] [^^^] [ответить]
| +/– |
Я выбирал между Го и Растом фактически
Го не понравился, и синтаксис какой-то более всратенький
Так что будущее за Растом
А Джава в 2020 - это садомазо.
| |
|
7.43, Аноним (39), 14:20, 17/08/2019 [^] [^^] [^^^] [ответить]
| +/– |
> А Джава в 2020 - это садомазо.
Почему? Как язык джава очень даже норм: типы статические, функцию в функцию положить можно. Юнит-тестирование божеское. IntelliJ есть. Обвязки для всего, что нужно есть. Андроид есть.
Я вообще не java-программист, но в 2020 году серьёзно бы рассматривал писать на java/kotlin
| |
|
8.58, НяшМяш (ok), 17:03, 17/08/2019 [^] [^^] [^^^] [ответить] | +/– | В Java куча своих приколов с синтаксисом, поэтому если надо JVM - то проще на ко... текст свёрнут, показать | |
|
9.60, Аноним (60), 17:25, 17/08/2019 [^] [^^] [^^^] [ответить] | +/– | Прости, пожалуйста, но на какой версии Java ты успел много покодить, чтобы почув... текст свёрнут, показать | |
|
|
9.125, Forth (ok), 00:23, 19/08/2019 [^] [^^] [^^^] [ответить] | +/– | AoT компилятор стабилизирован начиная с JDK 11, оно конечно еще не все умеет, но... текст свёрнут, показать | |
9.130, Аноним (130), 11:28, 19/08/2019 [^] [^^] [^^^] [ответить] | +/– | Опуская за скобки всякие лицензионные риски батлы можно отметить новую пилимую ... большой текст свёрнут, показать | |
|
|
7.73, Аноним (77), 21:17, 17/08/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Я выбирал между Го и Растом фактически
> Го не понравился, и синтаксис какой-то более всратенький
> Так что будущее за Растом
Я выбирал между экскаватором и подъёмным краном фактически
Экскаватор не понравился, и сиденье какое-то более всратненькое
Так что будущее за подъёмным краном
| |
|
6.47, Аноним (7), 14:31, 17/08/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> в три раза больше времени
ну и кто сказал, что на го писать быстрее?
| |
6.68, Ordu (ok), 20:37, 17/08/2019 [^] [^^] [^^^] [ответить] | +3 +/– | Откуда цифры В смысле ты пробовал сам, и у тебя на расте получилось в три раза ... большой текст свёрнут, показать | |
|
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.40, Аноним (7), 14:17, 17/08/2019 [^] [^^] [^^^] [ответить]
| +/– |
Go - обычный язык со сборщиком мусора
А на C++ просто нет хороших и удобных веб-фреймворков
| |
|
5.52, anonymous (??), 15:15, 17/08/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
Для серьезных беков учи яву. Или будешь ждать 10 лет пока все поменяется?
| |
|
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 +/– |
>Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью
Если долго использовать их браузер, то он начинает жрать много памяти, а после закрытия процесс будет долго висеть, после чего вылетит.
| |
|
|
3.138, донни (?), 19:39, 20/08/2019 [^] [^^] [^^^] [ответить]
| +/– |
Я знаю, если что. Их поделкой (чистым хромом) не пользуюсь, поэтому о его стабильности ничего не скажу.
| |
|
|
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.109, Аноним ещё один (?), 17:28, 18/08/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
С браузером у них всё получилось. То что в психушке психов жрущих хромое больше чем врачей, вина не мозиллы, а закон природы.
| |
|
1.53, Аноним (53), 15:49, 17/08/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Саммари секции комментов:
- Почему вы не любите раст?
- Сложна. Ну, и как водится, нинужна
| |
|
2.89, Аноним (72), 01:36, 18/08/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Саммари секции комментов:
- Почему вы не любите брейнфак?
- Сложна. Ну, и как водится, нинужна
fixed
| |
2.82, Аноним (7), 23:04, 17/08/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
Тебе никто ничего не обязан доказывать.
Но, пока C++ становится всё сложнее и не фиксит сплошные UB и сегфолты, Раст просто мирно развивается, и с каждым релизом всё вкуснее для переезда на него.
А что Мозилла? В Firefox уже довольно много кода на Расте. Или Лиса недостаточно продукшн?
| |
|
3.88, Аноним (72), 01:34, 18/08/2019 [^] [^^] [^^^] [ответить]
| +6 +/– |
Пока Раст мирно развивается, для C++ напишут еще пару миллионов полезных библиотек для всех областей IT от игр до распределенных вычислений
| |
|
4.97, Аноним (97), 11:45, 18/08/2019 [^] [^^] [^^^] [ответить] | +3 +/– | Которые ощутят все прелести unsafe программирования Пишу на C далеко не первы... большой текст свёрнут, показать | |
|
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++ он похож только если сильно прищуриться и попрыгать.
| |
|
3.107, Kuromi (ok), 17:02, 18/08/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Не так уж имного там кода на Расте, если честно. Он есть, конечно, но в основном вспомогательный.
| |
|
|
|
2.91, th3m3 (ok), 02:40, 18/08/2019 [^] [^^] [^^^] [ответить]
| +/– |
Там и на Go шлёпают, и даже на node.js есть блокчейны. Поди кто-то не от мира сего, ещё и на php пилит.
| |
|
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
| |
|