Этого треда уже нет.
Это копия, сохраненная 20 декабря 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Rust #4 /rust/ 1254562 В конец треда | Веб
Rust — невероятно быстрый язык для системного программирования без segfault'ов и с гарантиями потокобезопасности.

ИТТ мы можем объяснить базовые и продвинутые концепции языка, и
программирования в целом, поможем вкатывающимся, подскажем что
выбрать для веба, игр или спасибо абу блокчейна.

https://www.rust-lang.org

> Пачиму helloworld весит как моя мамка?!1й


https://lifthrasiir.github.io/rustlog/why-is-a-rust-executable-large.html

Читать
Оф. книга, она же растбук
https://doc.rust-lang.org/book/
https://rustbyexample.com/
Очень хорошая книга, отлично зайдет после растбука:
http://shop.oreilly.com/product/0636920040385.do
Список интересных проектов
https://github.com/rust-unofficial/awesome-rust

Писать
IDE
https://areweideyet.com/
Вебня
http://www.arewewebyet.org/
Игры
http://arewegameyet.com/
Etc
https://wiki.mozilla.org/Areweyet

Новости
Компиляция всего, что произошло за неделю
Иногда постят вакансии
https://this-week-in-rust.org/
Сколько вешать в лайках
https://github.com/trending/rust

Оп рекомендует:
https://www.amethyst.rs/
2 1254574
Дженерики подвезут в Go2
https://go.googlesource.com/proposal/+/master/design/go2draft.md

Каждый раз когда речь заходит про go 2, то подчеркивают, что не хотят повторять успех python 2/3 и perl 5/6.
https://github.com/golang/go/wiki/Go2#compatibility
3 1254577
>>54574
Приходи когда подвезут.
5 1254612
>>54577
другие не стоят на месте
пока тут раст пытается быть убийцей си и крестов, его самого может прикончить то же goвно
6 1254638
>>54612
Без шансов. goвно язык с GC, так что они в разной весовой категории.
7 1254789
>>54577
Главное чтобы было куда приходить.
8 1254845
>>54562 (OP)
> How many lines of rust code are you using in production?
About 60k of our own, about 300k incl crates.
> What drove the move to Rust precisely? Most of the players in the industry are somewhat reluctant about moving to Rust.
Well, we basically needed C++, but:
1) Dropbox doesn’t have a strong C++ ecosystem on the backend, and it takes a lot of work to build one.
2) Given (1), we had basically a blank slate, and our team is C++ and Haskell type folks, we decided to use Rust so we could get C++ with better type safety and fewer sharp corners.
Screen Shot 2018-08-29 at 18.54.09.png252 Кб, 2574x914
9 1254867
>>54562 (OP)
Напомните мне, почему руст не взлетел?
10 1254869
>>54867
Потому что ты их ищешь в отсталой стране 3 мира.
11 1255105
>>54638
для байтоёбства раст слишком жирный, поэтому он находится в той же категории, где и языки с gc
12 1255254
Может кто-нибудь дать нормальную статью по работе с ошибками в Расте. Например, у меня есть функция, которая возвращает Result, а в ней есть два вызова функции, которые могут выдать какую-то ошибку, и я хочу прокинуть эту ошибку наверх. Пока что нашел вариант с созданием своего enum с нужными ошибками, созданием для него реализации From для каждой возможной ошибки, созданием реализации Error и Display, но это как то слишком дохуя кода для простого прокидывания ошибки наверх. Как нужно делать правильно?
14 1255272
>>55263
Это круто и я обязательно попробую это, но мне бы понять как это делается в ванильном Расте. То что я описал - это и есть стандартное решение?
15 1255278
>>55272
По сути да. Ты пробрасываешь один енум и реализуешь конверсию из нужных тебе ошибок. Туда же можно присобачить backtrace
16 1255286
>>55278
Спасибо, пойду попробую тот крейт, что ты скинул.
17 1255290
>>54867
я мидлом C++ OpenGL немного больше получаю
18 1255407
>>55254
М О Н А Д Ы
М
О
Н
А
Д
Ы
19 1255687
анноны, есть какие-то конфы или чатики по расту, капец у меня с языка горит, пытаюсь вечерами перекатываться в него, очучения, будто с ветряными мельницами борюсь. На данный момент не могу вменяемо написать такое:
аллоцировать строку какого-то размера, отдать ее на заполнение сишной функции, которая сделает ее нуль терминейтед и вернет размер.

https://pastebin.com/eS3W3ynh
20 1255695
>>55687
Ты ебанутый? Нахуй ты это делаешь?
timeline142598016800032.jpg46 Кб, 612x459
21 1255699
>>55695
ну логика простая, есть фукнция проверки скомпилился ли шейдер или нет, если нет, то надо вернуть строку с описание ошибки, если все збс, то функция вернет None

fn check_problem(shader_id: u32, status_type: ShaderStatType) -> Option<String>
22 1255796
>>55699
Я к тому что зачем ты вообще ебешься с ffi когда есть https://github.com/gfx-rs/gfx
23 1255972
>>55407
Чего только не придумают, лишь бы исключения не делать.
Зачем нам простое и понятное управления ошибками? Давайте лучше сделаем Result, panic, и монады, с помощью которых будем хуево имитировать функции исключений! Так же веселей, правда?
24 1255976
Почему в аметисте таргет/дебаг для хеловорда весит гиг?
25 1255982
>>55972
Конечно же goto который может взорвать любую строчку гораздо лучше.
26 1256005
>>55105

>для байтоёбства раст слишком жирный



Ты сейчас серьезно? Никак вы, блять, не научитесь.

А если серьезно, расскажи, почему ты так считаешь, даже интересно.
27 1256058
>>54562 (OP)
Для раста есть какой-нибудь фреймворк или библиотека для написания сетевых приложений по типу Netty из Java? Нужна такая либа, чтобы можно было удобно писать сетевой код, чтобы все было нонблокинг и т.д.
29 1256065
>>56059
уххх, нишшштяяяяк, спасибо!
Sailorbubba.jpg24 Кб, 333x500
30 1256075
>>56059

>tokio

31 1256079
>>55982

>Ok(())

32 1256132
>>55972

>Зачем нам простое и понятное управления ошибками?


Насчет вас не знаю, а нам - чтобы писать работающие программы.

>Так же веселей, правда?


Конечно, с гото, нулл поинтерами и эксепшнами веселей! Вот только насчет вас не знаю, а нам не веселиться, а работать надо.
33 1256217
>>56132

>panic!(ass.map(anus).unwrap());

34 1256218
>>56217
Вполне себе правильный механизм.
35 1256238
>>56218
Он правильный для тех, кто никогда не слышал про исключения
36 1256239
>>56238
Маня, паника от исключений отличается примерно всем.
37 1256374
У этого языка есть нормальная работа с файлами? Нужно читать из файла рандомные куски байт из разных мест и тут же раскладывать их по соответствующим структурам. На плюсах это из коробки, а тут найти не могу.
38 1256457
39 1256489
>>55796
язык вроде позволяет байтоебство, использование сишного кода, обернутого во враперы, а на деле, проводим шершавым по клавиатуре. Чет байтоебить не очень то и удобно получается.
40 1256494
Нахуя нужен Rust если есть Go?
41 1256526
>>56494
так он и не нужен.
42 1256565
>>56494

>нахуя нужен с++, если есть руби?

43 1257679
>>55976
бамп
44 1258583
>>57679
Не похуй ли?
45 1258809
>>58583
Конечно нет. Если таких проектов будет несколько то получится что раст убивает ссд.
46 1258830
>>58809
Щас бы из-за ссд парится.
47 1259236
С помощью чего можно кроссплатформенно(и на мобилки тоже) выводить 2д гррафику.
48 1259237
>>59236
Это был вопрос

быстрофикс
1385777144980.jpg30 Кб, 250x251
49 1259268

>Безопасный код


>Зиро кост абстракции


>inb4 ехал RefCell через RefCell


как же ору с ржавых дурачков
50 1259269
Одна половина кода не работает без RefCell, другая половина кода не работает без unsafe и других хаков. В итоге на практике безопасность остается только в манямирке растоебов
51 1259270
>>59268
>>59269

>90% кода ебешься с безопасностью там, где это не нужно.


>в критических 10% появляется баг и вся система падает


Вся суть "безопасных" языков. Они безопасные только на бумаге и в hello world проектах
52 1259454
>>59269
Какие альтернативы?
53 1259486

>языку 8 лет


>нет нормальной IDE



авторы этого поделия сами относятся к нему не более, как к игрушке
54 1259518
55 1259560
>>59518
Он же не безопасный.
56 1259562
Буйство семена в этом итт треде.
57 1259579
>>59560
Как и раст
58 1259582
>>59579
C++ небезопасный как Model T, раст небезопасный как Model X.
59 1259594
>>59582
C++ безопасен настолько, насколько ты сам этого хочешь (путем использования слоев абстракций). Раст безопасен настолько, насколько это кажется его авторам.
Очевидно, что С++ лучше и гибче.
60 1259597
>>59594
С чего это ты применяешь разные правила для одних и тех же вещей?
Untitled.png33 Кб, 724x342
61 1259640

>Когда хочешь сделать безопасный статический анализатор, но слишком тупой чтобы сделать это правильно


Почему раст не дает скомпилировать этот совершенно безопасный код?
62 1259643
>>59640
Статический анализатор в расте слишком тупой и больше вредит, чем помогает.
63 1259697
>>59640

>Почему раст не дает скомпилировать


>на пике русским английским, блядь, языком написано, почему


Дети с аутизмом обучаемы.пнг
64 1259703
>>59697

>этот совершенно безопасный код

65 1259704
>>59594
Лул. Сразу видно дауна, который никогда не дебажил сутками из-за какой совершенно нелепой мелочи, которую оставили по невнимательности. Которую не отлавливает memcheck, asan и msan вместе взятые
66 1259728
>>59704

>мам, я не использую smart pointer потому что сегодня я оптимизатор


>мам... мам, папу позови. срочно!!!11

67 1259767
>>59728
Покажи мне того, кто не использует smart ptr в c++, блядь. Выучил новое слово и пихает его всюду
68 1259810
>>59767
Суть в том, что безопасности в программе на С++ будет столько, сколько ее туда вложит автор. Почему то эту простую истину так сложно понять многим.
Проблема не в том, что С++ небезопасный, а в том, что погромисты пишут небезопасный код. Это язык программирования. Можно внутри этого языка написать свой безопасный диалект языка, в котором вся работа с памятью, например, вообще будет скрыта за стеной безопасного интерфейса, и писать программу уже на этом языке. Нет, хотим писать на голом С++, жаловаться на баги и просить чтобы нас били по рукам за плохо написанный код.
69 1259837
>>59810
Суть в том, что качество языка зависит от того, насколько программист страдает от своих ошибок. Если в расте ты ошибку вообще не допустишь, либо она такая, что ты легко ее найдешь, то в плюсах есть некислая вероятность, что из-за сегфолта ты будешь страдать несколько часов просто комментируя строчки, потому что иных инструментов найти ошибку у тебя нет.

Можно сколько угодно пиздеть, что у тебя такого не бывает, но ты ебаный кожаный мешок, поэтому ты полюбому ошибешься и словишь happy debug.

если попробуешь опять пиздануть аргумент про кривизну рук, то сразу задумайся о факте, что в гугле asan и msan писали не от хорошей жизни
70 1259907
>>59837
Я вот тоже раньше думал что, например, многопоточное программирование - это что-то ужасное и сложное. Пока не открытл для себя акторы. И оказалось, что многопоточное программирование не только не сложное, а даже увлекательное. Нужно только найти правильный слой абстракции.
Так может все дело в незнании архитектуры?
71 1259933
>>59767

>Покажи мне того, кто не использует smart ptr в c++,


упоротые растобои и не используют, например. они очень любят показывать какой-нибудь ебанутый пример с поинтерами и говорить как хорошо, что в расте такого нет.
классический strawman fallacy
72 1260015
>>59907
Как знание архитектуры защитит тебя о того, что где-то из-за опечатки попортилась память и это вызвало баг в вообще не связанном куске кода? Или где-то по запарке забыл проверить, открылся ли файл и какая-то структура осталась заполненной нулями.
74 1260062
>>60047
то есть правила будут еще сложнее и вообще осмыслить работу компилятора будет невозможно?
лол раст это такая машина голдберга от мира языков программирования. хороший пример как не нужно делать языки
75 1260064
76 1260165
Анон, да не корми мелкобуквенного тупорылого школьника, хуй с ним.
77 1260297
>>60064
Да знаю я это. Я имел ввиду то, что сейчас проверка слишком тупая и ограниченная. Твой пример включает новую фичу, который делает проверку умнее, но делает невозможным любые попытки рассуждать о коде.

Блять, с одной стороны упрощенный до примитивизма го, с другой искуственно усложненный раст с невменяемыми правилами статического анализатора и туевой хучей мелких, специализированных типов придуманных специально для обхода этих правил.
Почему они ушли оба в какие-то крайности? Почему нету нормального низкоуровневого, практического языка, ОБЛЕГЧАЮЩЕГО задачи?
maxresdefault.jpg56 Кб, 1280x720
78 1260303
>>60297
Есть D
79 1260342
>>60297
Если ты не понимаешь как работает nll, то у меня для тебя плохие новости.
80 1260366
>>59704
c++ уже давно не тот, каким его рисуют евангелисты раста.
это современный безопасный язык. С++ 14 и 17 не оставляют камня на камне от раста.
раст просто не нужен, он не дают программисту ничего, кроме искусственной сложности.
81 1260380
>>60366
Слишком толсто. Давай на примере. С++17, у тебя бьется память, проявляется 1 раз из 30 в виде сегфолта. Длительность теста, где баг проявляется, составляет 4 минуты. Asan тебе показывает heap-use-after-free, но место вообще левое, потому что это следствие битой памяти. В дебаге баг проявляется еще реже - 1 к 50.

Твои действия?
82 1260381
>>60342
Речь не об этом. Чтобы понять код на расте, нужно НУЖНО ЗНАТЬ КОНТЕКСТ КОДА, НУЖНО В УМЕ КОМИЛИРОВАТЬ ПРОГРАММУ, НУЖНО ПОНИАТЬ УСТРОЙСТВО КОМПИЛЯТОРА, нельзя просто посмотреть на строчку кода и делать какие-то выводы о ней.

Эта хуйня в виде статического анализатора и control flow еще в kotlin мне не нравилась. В rust это можно смело удесетерять.

Это создает лишнюю когнитивную нагрузку при чтении и написании программ.
83 1260382
>>60380
Еще детали: код написан охуенно. Отличная архитектура, аккуратный менеджмент памяти с продуманным владением, естественно со smart ptr, код очень сильно покрыт тестами, юнит-тесты проходят 100% запусков, с многократным повторением тоже.
84 1260385
>>60381

>control flow еще в kotlin мне не нравилась


>Это создает лишнюю когнитивную нагрузку при чтении и написании программ.


Отлавливание NullPointerException тебе лишнюю когнитивную нагрузку не создаёт?
85 1260448
>>60381
x = y + x;

Этот код на с++ может отправлять ракеты по Тбилиси. И что?
86 1260451
>>60448
Перегрузка операторов является плохой практикой.

>>60380
У тебя может не быть ошибок памяти в расте (весьма сомнительно), но ты проиграешь в другом (в том числе и во времени).
При разработке любого языка делается ряд компроммисов. Просто для меня компромиссы раста не стоят того, чтобы им пользоваться. Все плохое намного перевешивает то немногое хорошее, что раст предлагает.
87 1260453
>>60451
Не пользуйся. Приходи когда поймешь на своей шкуре, почему люди не хотят писать на крестах, раз ты не способен учится на чужом опыте.
88 1260461
>>60453

>почему люди не хотят писать на крестах


кто эти люди? по моему наоборот не хотят писать как rust.
1263232606995Reactionfacespart1-s350x345-151481-580.jpg48 Кб, 350x345
90 1260470
>>60464

>Rust


>Smalltalk


>TypeScript


Клоунский список. Мертвый язык и переводимая в js скриптопараша в топе.
Untitled.png34 Кб, 576x434
91 1260475
>>60464
Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять.
93 1260512
>>60461
Я тебе уже написал реальный случай, когда дебажили проект около недели, чтобы локализовать одну ебучую ошибку. Да, анон, я не хочу писать на плюсах.
мимо-сеньер-перешел-на-джаву
94 1260520
>>60512
Нашел куда переходить, конечно.
96 1260579
>>60470

>Клоунский список.


Каждый раз смеюсь, когда вижу такие важные мнения от безымянных школьников с сосача.
97 1260581
Когда уже ебучий rls перестанеть падать как батя алкаш каждые 5 минут.
98 1260664
>>60581
никогда. потому что написать васянский аддон к llvm с очередным революционным языком легче, чем сделать нормальные инструменты разработки.
в этом основная проблема языков-вкатывальщиков.
99 1262851
>>60520
Сразу видно, что на крестах интырпрайз писал
100 1263048
>>54562 (OP)
Мертвый тред мертвого языка
101 1263049
>>63048
Нет ты.
102 1263053
>>60512
Чё за ошибка была?
103 1263074
Как вы думаете, был бы раст популярнее, если бы в нем не было borrow checker'а?
Так-то язык неплохой как замена морально разложившемуся С++, но этот форс ко-ко-ко безопасности и неюзабельность языка мешают.
104 1263078
>>63053
Дауны пишут на голых поинтерах и прочих низкоуровневых примитивах, а потом у них язык виноват, понимаешь ли.
105 1263083
>>63074
Какой смысл в расте без борроу чекера? К нему привыкаешь и никакх проблем нет.
106 1263090
>>63083

>Какой смысл в расте без борроу чекера


современный низкоуровневый язык, cargo, это все.

Я наоборот не вижу смысла в расте с чекером.
Безопасность путем ограничения - дурацкая идея.
107 1263110
>>63090
Это не ограничения, а формализация того, что ты все равно должен делать.
108 1263121
>>63110
Какая глупость. Во-первых, раст ограничивает управление памятью только RAII. Во-вторых, он использует read write lock для доступа к любым переменным. Это вполне конкретные ограничения, которые для многих задач не оставляют никаких решений, кроме некрасивых хаков и unsafe.
Правильнее следовало бы говорить, что раст не безопасный, а ограниченный.
Не очень то соответствует системному языку
109 1263123
>>63121
Половина стандартной библиотеки написана с unsafe. Это просто смешно. Безопасный раст это неполноценный язык
110 1263137
Каждый раз когда крестанутые кукарекают, вспоминаю:

Купили как-то суровым сибирским лесорубам японскую бензопилу.
Собрались в кружок лесорубы, решили ее испытать.
Завели ее, подсунули ей деревце.
«Вжик» — сказала японская пила.
«У, бля...» — сказали лесорубы.
Подсунули ей деревце потолще. «Вж-ж-жик!» — сказала пила.
«Ух, бля!» — сказали лесорубы.
Подсунули ей толстенный кедр. «ВЖ-Ж-Ж-Ж-Ж-Ж-Ж-ЖИК!!!» — сказала пила.
«Ух ты, бля!!» — сказали лесорубы.
Подсунули ей железный лом. «КРЯК!» — сказала пила.
«Ага, бля!!!» — укоризненно сказали суровые сибирские лесорубы! И ушли рубить лес топорами…
111 1263149
Пацаны, тут кто-то есть кто работает на этом языке? Что пишите хоть? Как оно?

Мимо крестовик.
Ушёл бы в раст, но работы нет
112 1263155
>>63149
У нас стартап в фин. секторе. Пилим круды, лол.
113 1263159
>>63155
go недостаточно моден?
114 1263161
>>63155
Ну это ж хуйня. Ну в смысле, на языке программирования пи эйч пи можно делать.
115 1263174
>>63159
Можно. Но никто не хочет писать на кривом говне без нормальной системы типов.
116 1263203
>>63090

>Безопасность путем ограничения - дурацкая идея.


Действительно, какие идиоты придумали статическую проверку типов? Настоящим ковбоям это дурацкие ограничения не нужны. Как же вы заебали, все как под копирку одинаковые, лол.
117 1263222
>>63203
Под эту же копирку идут вскукареки про ГИБКОСТЬ, ЧТО ХОЧУ ТО И ДЕЛАЮ, ПРЯМЫЕ РУКИ и А ТЕСТЫ ДЛЯ КОГО? Ситуацию усугубляют всякие Боб Мартины, заливающие говно адептам в головы.
118 1263243
>>63222
Да не, это совсем из другой оперы. Наверняка эти кукаретики про дядю боба даже и не слышали. Это из тех, кто не понимает, что борроу чекер - это часть системы типов, и думают, что это типа какой-то линтер непонятный прям в язык встроили и не дают им теперь байты в жопу ебать.
119 1263380
>>63203
>>63243
Ты дурачок или прикидываешься? Система типов не дает писать неправильный код, потому что обращение к членам не того типа - это всегда ошибка. Borrow checker не дает писать ПРАВИЛЬНЫЙ код, потому что существование нескольких ссылок на переменную это не ошибка.
120 1263391
>>63149
Ебать, о гитхабе слышал?
121 1263591
>>63380

>Система типов не дает писать неправильный код


Лол, иди tapl читай, чучело.
122 1263891
>>63591
Я лучше пойду писать программы на нормальном, практическом языке.
А ты сиди читай свои маня-папиры и воображай как ограничения раста делают твой (несуществующий) код безопасней.
123 1264031
>>63891
Что угодно, лишь бы не думать.
94f.png120 Кб, 680x497
125 1264044
>>64042

>Rust is a systems programming language focused on safety, speed, and concurrency.


Кормят целевую аудиторию сладкими баззвордами прямо со входа
126 1264046
>>64044
А как ты предлагаешь рекламировать язык?

> Добро пожаловать в 40 лет легаси говна++

127 1264601
>>63149
Занимаюсь блокчейнами. Работается неплохо, хотя иногда сказывается некоторая сырость экосистемы, например, очень неудобно отлаживать код (если ты, конечно, не мастер gdb через консоль).

Поповоду вакансий: вбей на hh rust, там есть несколько вакансий.
128 1264686
Можно ли записать u16 в файл без костылей с unsafe и прочей еболой? Уже перерыл весь гугол и нашел только варианты с unsafe.
129 1264693
>>64686
Вопрос, вроде бы, снят. Сделал это тупо через .to_string().as_bytes().
130 1264694
>>64686
Безопасный раст это неполноценный язык ни для чего кроме hello world не годящийся. Пора бы уже это запомнить.
131 1264699
Обычный программист уничтожил раст как язык программирования https://www.youtube.com/watch?v=4t1K66dMhWk
132 1264710
>>64686
Можно просто превратить u16 в массив u8 и запихнуть в write (код хуевый и с unwrap'ами, но идея, думаю, понятна):

use std::{
fs::File,
io::{Write, Read}
};

const FILE_NAME: &str = "/tmp/test";

fn main() {
// write to file
let data = 1488u16;
File::create(FILE_NAME).unwrap().write(&[data as u8, (data >> 8) as u8]);
// read from file
let mut buffer = [0, 0];
File::open(FILE_NAME).unwrap().read(&mut buffer);
let new_data: u16 = buffer[0] as u16 + ((buffer[1] as u16) << 8);
println!("{}", new_data);
}
133 1264714
>>64710
А в nightly, оказывается, даже такая прелесть есть:

pub fn to_bytes(self) -> [u8; 2]
kit2.jpg45 Кб, 538x348
134 1264725
>>64699
Я очень люблю игры Блоу, The Witness просто божественен, рекомендую всем любителям нестандартных головоломок.
Но Rust я тоже люблю, хоть и слишком тупой для него.
Screenshot2018-09-16 (4) Rant Entity systems and the Rust b[...].png43 Кб, 857x362
135 1264916
>>64725
К сожалению он слишком тупой чтобы осилить ООП.
136 1264925
https://pastebin.com/aFpy6dV0
Так и должно быть? Это же какой-то ад, а не обработка ошибок, особенно учитывая, что тут еще нет почти никакой абстракции.

Я знаю, что есть разные крейты для нормальной обработки ошибок, но неужели без них нельзя нормально обрабатывать ошибки в Расте?
d1a.png275 Кб, 1066x600
137 1264929
>>64925
Да, это норма для тех языков, авторы которых не осилили исключения.
samoe-vremya34319782orig.jpeg46 Кб, 394x400
138 1265006
>>64925
Может ты сначала растбук прочитаешь?
Ты же даже .expect() не использовал.
Безымянный 2.png241 Кб, 1066x600
139 1265031
140 1265191
>>65006
На кой хуй мне твой expect? Я знаю, что я могу хуй забить на обработку ошибок и просто высирать сообщение, но тут я panic! написал как заглушку. На том месте у меня, например, будет создаваться этот файл, и заполняться какими-то значениями.
141 1265206
>>64925
>>65191

М О Н А Д Ы
О
Н
А
Д
Ы
142 1265223
>>65206
Где про них можно почитать?
145 1265270
>>65223
https://habr.com/post/183150/
Но не слушай этого. Как по мне в расте обработка ошибок будет поприятней.
Filth.2013.1080p.BluRay.x264.YIFY.mp4snapshot01.02.42[2014.[...].jpg148 Кб, 981x816
146 1265316
>>65270

>https://habr.com/post/183150/


Ох блять, эта статья.
Помню изучал Хаскель, так и не смог разобраться с монадами нормально.
С ним у меня было прям как с Растом. Нравиться, но я слишком тупой.

мимокрокодил
147 1265319
>>65316
Если не вдаваться в детали, то самое важное что тебе дают монады это по сути and_then
https://doc.rust-lang.org/std/result/enum.Result.html#method.and_then
который в хачкеле называется =>> или bind и там это тайпкласс.

По сути, and_then позволяет создавать цепочки, из функций, которые на вход принимают какое-то значение (String), а на выходе дают результат завернутый в некую структуру (монаду), например Result или Option (Either/Maybe в хаскеле)
148 1265338
>>65319

>and_then


почему не and_the_do_this_thing
149 1265595
>>65316
Поддержу анона выше, можешь забить на теорию и подходить чисто с практической точки зрения. У тебя есть цепочка функций, каждая из которых берет результат предыдущей функции, обрабатывает его и передает на вход следующей. При этом в каждой из функций может возникнуть ошибка, и тогда нужно вернуть эту ошибку, не выполняя оставшихся далее в цепочке функций. Вот распиши это в чистом функциональном стиле без всяких монад, у тебя получится много бойлерплейта с ифами\матчами. Монады и абстрагируют этот паттерн, чтобы не нужно было писать бойлерплейт. То есть это как ООП паттерны, только в ООП "паттерн" подразумевает копипаст похожего кода (потому что языки невыразительные и не могут абстрагировать повторяющийся бойлерплейт код), а в программировании здорового человека паттерны как раз служат ровно обратной цели, то есть позволяют не повторять один и тот же код, а переиспользовать его.
150 1265798
>>65595
Точно так же как filter/map/fold это абстракция рекурсивных паттернов.
151 1265907

>result и panic


>слайсы для строк и слайся для массивов


>cargo.toml и объявление структуры модулей внутри самого кода


факинг хелл. столько наивных ошибок. раст писал первокурсник?
152 1265922
>>65319
Сам по себе результат завёрнутый в структуру - это не монада, не наебывай человека
153 1265923
>>65319
И bind в хачкеле это >>= а не =>>
154 1265932
>>65922
съеби в свой загон с вашими МОНАДАМИ
155 1265960
>>65922
Я сказал что это тайпкласс. Говорить "структура для которой реализован тайпкласс монад" это ебучее пижонство.
156 1266102
>>65932
Мелкобуквенный унтерменш, цыц. Этот загон называется /pr, тут обсуждают программирование (в том числе МОНАДЫ). Тебе здесь не место.
157 1266187
>>66102
Ты узнал слово монады и теперь пихаешь его везде? Успокойся уже. Хочешь блеснуть, расскажи лучше эволюцию подходов к монад-трансформерам и какие плюсы/минусы есть.
158 1266195
>>66187
Нет, я вообще другой анон, чини детектор.
159 1266218
>>54562 (OP)
Кто там говорил, что не может раст осилить? Вот держите карпа - простой как три рубля, с борроучекером и мультимедиа либой а-ля processing искаропки:
https://www.youtube.com/watch?v=BQeG6fXMk28
https://github.com/carp-lang/Carp
160 1266336
>>66218
Ой, эти лисповские скобочки, функциональщина, лучше Jai поучить
https://github.com/BSVino/JaiPrimer/blob/master/JaiPrimer.md
161 1266345
>>66336
Там нет борроу чекера. И вообще ничего нет, компилятор пока существует только в манямирке автора ютуб-видосах. Ну и в целом это набор костылей, а не полноценный язык, так что в образовательных целях его учить - так себе идея, неинтересно.

Карп не функциональщина, кстати.
162 1266365
>>66345

> нет борроу чекера


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

>существует только в ютуб-видосах


Зато выйдет сразу с игровым движком.

> это набор костылей, а не полноценный язык


Набор костылей - это С++. А что по-твоему полноценный язык, чего jai не хватает?
163 1266374
>>66365

>Языку, претендующему на роль современного Си, не нужен борроу чекер.


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

А насчет современного си - ну, хуй знает. По-моему времена ковбоев и дикого запада все-таки проходят.

>Зато выйдет сразу с игровым движком.


Или не выйдет)) Ну ты сам-то в это веришь? Чувак по факту написал один только ванильный хуинди-платформер, зато уж следующий его проджéкт точно будет УБИЙЦЕЙ ЮНИТИ, ага)) Не то что кармаки там всякие, которые на свои хачкели надрачивают, тут пацан ПЛАТФОРМЕР написал, дело серьезное))

>Набор костылей - это С++.


Капитан, мое почтение.

>чего jai не хватает?


Блядь, дело даже не в этом. На самом деле довольно трудно это вербализовать коротко. Просто я читаю их диздоки и вижу, что джон - дилетант, если прямо (по части создания языков). Видно, что у него нет опыта, нет четкой общей картины, все делается по принципу "вот я писал на си, и вот подумал что прикольно было бы фичу Х прикрутить, и еще вот тут у меня в проекте часто код повторялся, можно тоже это в язык вкрутить, и еще нескучные обои сделать))" - как-то так. Ну и сам факт того, что он не ведет разработку в открытую, говорит очень о многом. Впрочем, если доведет до релиза - ну и слава богу, может какие-то интересные фичи перекочуют в другие языки (да и к тому же богу убийц крестов нужно больше убийц крестов, аххахахаха)
the-witness-guide-header-720x720.jpg76 Кб, 720x480
164 1266382
>>66374

>я про то, что запостил ссылку анону, который выше говорил


Это я не заметил

>времена ковбоев и дикого запада все-таки проходят


Но Си же до сих пор занимает ведущие позиции в рейтингах, значит ниша у него своя остается.

>Чувак по факту написал один только ванильный хуинди-платформер


Не только платформер. Сейчас, как я понял, третью игру как раз на своем движке и пилит.
165 1266396
>>66382

>значит ниша у него своя остается.


Ну так и у Фортрана своя ниша остается как бы. Но все понимают, что в 2k!8 фортран - это, ну, фортран.

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


Вроде пилит, да. Ок, инди-платформер и недоделанная - что там? Паззл-бродилка с мультяшной графикой? Кармак нервно курит в сторонке, ага.
166 1266400
>>66396
В TIOBE 2018 Си на 2-м месте, Си++ на 4-м, Фортран на 29-м. Так что аналогии с фортраном не уместны, на нем ничего не пишут, кроме некропроектов. На чем сейчас писать операционные системы, движки AAA игр, кроме C/C++, не на Go же.
14091803531740.gif663 Кб, 480x206
167 1266406
>>66396

>Вроде пилит, да. Ок, инди-платформер и недоделанная - что там? Паззл-бродилка с мультяшной графикой? Кармак нервно курит в сторонке, ага.


Не кукарекай, The Witness - божественный пазл с уникальной подачей.
Но к технологиям и треду это отношения не имеет.
168 1266421
>>66345

>Там нет борроу чекера


так он и не нужен в системном языке.
169 1266422
>>66421
Он нигде не нужен.
170 1266427
У раста околонулевая продуктивность. Этот язык создавался ради фич, а не написания программ, решения проблем. Это язык для разработчиков языка, а не для программистов.

borrow checker, объявленые задним числом trait'ы, очень много имплицитных вещей в коде делают написание кода сложным, а чтение чужого кода еще сложнее.
Авторы языка тупо не принимали в расчет эргономику языка. У Джоната Блоу по этому поводу кстати есть много интересных замечаний.
171 1266428
>>66427
Например, пример идеального языка для программистов - java. Код легко пишется, легко читается.
Авторы go тоже думают в правильном направлении. Они понимают, что язык - это в первую очередь инструмент программиста, который не всегда умный.
Какая разница сколько фич в твоем языке и какие гарантии он дает, если на нем тупо нельзя писать программы эффективно?
173 1266479
>>66374

>вижу, что джон - дилетант


Но опыт показывает, что языки, созданные учеными, не становятся особо популярными: языки Вирта, Haskell, SmallTalk...
174 1266481
>>66479
Ну во-первых хаскель вполне себе популярен.
А во-вторых все перечисленные языки оказали влияние на рабоче-крестьянские инструменты.
haskell.jpg20 Кб, 410x408
175 1266487
>>66481

>Ну во-первых хаскель вполне себе популярен.


Занял свое почетное место у параши рядом с прологом.
176 1266488
>>66487
Как ты думаешь, феррари популярный автомобиль? Если сравнивать с жигулями? Думаю в абсолютных числах очевидно кто рядом с парашей. Но это не означает что феррари не популярен среди богатых и успешных.
178 1266519
>>66488

Феррари - это типичная машина для понтов.

https://www.youtube.com/watch?v=sPxZLq5ajYQ

Неудобная, с хуёвым обзором, зато с шильдиком и мотором.

Что, сука, характерно, в проводимых гоночных из всей линейки феррари принимает участие онли ихний болид.

В различных кузовных дисциплинах есть вся японщина, есть мерседесы, есть бехи, а феррари - нет.

Собственно с хачкелем так же. Язык для кидания понтов, на практике неприменим.
179 1266522
>>66519
Окей, ролс-ройс. Устраивает?
181 1266540
>>66525
Человек на знает раст, никогда на нем не писал и рассуждает вообще непонятно о чем. Нахуй ты это говно сюда принес?
182 1266544
>>66540
А ты ангельский выучи, тогда поймешь.
183 1266545
>>66544
Ему в первом комменте уже объяснили почему он несет хуйню. Жаловаться на то что компилятор не читает его мысли. Классика.
184 1266600
>>66479
Да это проблема учОных и инженеров. Ученый пороха не нюхал, клавиатуры никогда в руках не держал и выдумывает какую-то абстрактную неюзабельную академическую хуиту. А погромисту просто нужно ебашить код как можно проще и быстрее. Два совершенно разных видения.
185 1266619
>>66600
Особенно в этом смысле убил ответ одного долбоеба с растоконфернции, на вопрос про поддержку IDE: А ЧО, Я ПОЛЬЗУЮСЬ VIM МНЕ НИКАКОГО IDE НЕ НУЖНО
186 1266622
>>66400
Ну так фортран и появился в 50-ых, в отличие от. Я про динамику говорю.

>>66421
Согласен, статическая типизация вообще зло, настоящие мужчины месят байты на голом железе.

>>66427
>>66428

>Например, пример идеального языка для программистов - java. Код легко пишется, легко читается.


Лол. Перетолстил чуток, бро.

>>66479
Ну вот джава (вроде самый популярный язык на планете) была создана "учоными" (и инженерами) - автор спеки джавы - гай стил, известный лиспер, автор Scheme и один из авторов имакса. Джавскрипт (нет, вот этот самый популярный) как концепция (язык в браузере) тоже был сделан лиспером и комплюктер сайентистом (изначально там должен был быть как раз scheme, но маркетолухи настояли, что вместо нормального языка должна быть маняджава для домохозяек). Алсо, тот же смолток в свое время был дохуя популярен, благодаря ему по сути появилось такое понятие, как графический пользовательский интерфейс (GUI). Так что на практике твое утверждение не соответствует действительности, анон.
187 1266624
>>66619
Ты не поверишь, но большинство действительно крутых разработчиков, которые ездят по конфам и чьи токи ты потом слушаешь, юзают вим (и имакс), а не кидаются за очередным хайпом на редакторы на джаве\в браузере, потому что по функциональности они ничем не отличаются.
188 1266629
>>66624
Последнее время емакс с этими вашими lsp начал тормозить как какой-нибудь вонючий эклипс. Эх.
189 1266664
>>66624

>по функциональности они ничем не отличаются


дальше не читал
190 1266670
>>66664
Правильно, потому что емакс умеет на порядок больше.
191 1266736
>>66670
забавно что сраное говно на electron за пару лет достигло функционала и популярности больше, чем все швабодные редакторы вместе взятые.
192 1266760
>>66736
Оно и близко не умеет того, что умеет емакс. Популярность говна вполне закономера. Например даунское говно https://www.youtube.com/watch?v=cwQgjq0mCdE посмотрели пиздец сколько раз, а например божественный plaid https://www.youtube.com/watch?v=bfjpo4WbK00 хуй целых ноль десятых раз.
IDE.png146 Кб, 1280x770
193 1266787
>>66629
Eight Megabytes And Constant Swapping жи, кек. Хотя до эклипса ему еще очень далеко.

>>66664
И почему я не удивлен, что мелкобуквенный даун "не читал" и пиздит о том, чем ни разу не пользовался?
194 1266922
>>66760
читать твиттер, смотреть почту и играть в тетрис? ну да, не умеет.
195 1266927
>>66787

>Хотя до эклипса ему еще очень далеко.


>32M


А что не так с эклипсом?
196 1266929
>>66760

>Оно и близко не умеет того, что умеет емакс


и vs code и emacs - оба программируемые текстовые редакторы. только если для первого сразу сделали человеческий интерфейс и полезные для программистов, удобные плагины повышающие продуктивность, то emacs так и остался консолькой с тетрисом.
Вот такой парадокс.
197 1266980
>>66929
Если бы оно еще не тормозило на топовом железе, и умело хотя бы в org-mode, можно было бы подумать.
198 1267132
>>66980

> и умело хотя бы в org-mode


https://ajtoo.github.io/vscode-org-mode/
199 1267183
>>66929

>только если для первого сразу сделали человеческий интерфейс


Не подскажешь, где скачать? Что-то я не могу найти.

>>66922
>>66929
Зойчем вы спорите, если со стороны очевидно, что вы всякие имаксы видели только на картинках и в комиксах про программистов?
200 1267184
>>67132
Это троллинг или ты серьезно?
201 1267200
>>67183

>Не подскажешь, где скачать?


пожалуйста http://bfy.tw/EszN
202 1267208
>>67200
Зарепортил мамкиного хацкира!!11
203 1267343
>>67184
Cерьезно.
204 1267346
Сап, двач
Объясните дауну, почему я для создания своей говноОС должен выбрать Ржавчину, а не старенького Си?
205 1267383
>>67346
1. Не будет синих экранов
2. Будут пацаны уважать, звезды ставить
3. ???
4. PROFIT!
error.png5 Кб, 641x126
206 1267415
Как фиксить? VS 2017 поставил, не помогло
207 1267421
>>67415
Пофиксил
Держу в курсе
208 1268507
Какие IDE сегодня, в сентябре 2018, дают адекватный автокомплит?
Кто выдаст нормальный список советов, если я напишу Vac:: ?
Под винду.
209 1268557
>>68507
Emacs!
210 1268576
>>68507
intellij idea с плагином. в остальных автокомплит работает через раз.
sage 211 1268598
Ну и нахуя нужен этот раст, когда в го добавят дженерики и эксепшены.
212 1268604
>>68598
Это что-то уровня использования linux, emacs. Чем хуевее - тем лучше. Зато потом, когда попердолился с конфигами, есть (бесполезное) чувство какого-то достижения. С растом похожая история.
213 1268626
>>68598

>когда в го добавят дженерики и эксепшены.


Когда? Дата известна?
214 1268691
>>68626
Никогда. Автор го болеет синдромом Дауна. Пощади его.
215 1268906
>>68598
Чтобы стадо макак с размаху об них расплющилось, как уже происходит со свифтом
216 1268918
>>68906
Нихуя не понятно, что ты написал.
217 1268955
Народ, кто заходил на официальные irc каналы этих ребят?
Они живы?
218 1269054
>>68598
Го - это ниша питонорубей. Раст - ниша крестов. Не говоря уже о том, что го2 дай бог лет через 5 стабилизируют и библиотеки под него перепишут. Со второго питона на третий сколько лет переходили? До сих пор переходят.

>>68604
Все еще бомбишь, формошлеп? :3
219 1269099
>>69054

>Раст - ниша крестов


Если только в манямирке растопетушни
220 1269136
>>69099
Манямирки и петушню обсуждай в /b, тут раздел о программировании.
221 1270734
Я правильно понимаю, что для actix_web в продакшене не нужен никакой nginx или apache?
222 1270744
>>70734
По-моему это такой common wisdom - ставить фронтендом везде нгинкс (как минимум для раздачи статики), хотя имхо это уже скорее ритуал, чем реальная необходимость
223 1270863
>>70734
Да, не нужен. Для разработки очень удобно.
Кстати, лучше выбери что-то другое. Актикс оказался не самым удобным вариантом.
224 1270988
>>70863
А что ты можешь посоветовать вместо него? Рокет брать не хочу из-за того, что они запихали туда еще серверсайд рендеринг, насколько я понял, а я собираюсь писать REST API на Расте.
225 1270999
>>70988
Нет там ничего такого. Рокет в каком-то смысле тоже не подарок. Привязыватся к nightly для продашн кода — плохая идея. Тем более что он постоянно ломается из-за этого.

Посмотри вот эту штуку: https://github.com/tomaka/rouille
226 1271054
>>70999

> Посмотри вот эту штуку: https://github.com/tomaka/rouille


>364 звёзды


>388 коммитов


Вот это напрягает. Не загнётся ли он?
227 1271056
>>71054
Ну загнется и загнется. Он настолько простой, что там особо нечего допиливать.
228 1271226
Можно ли написать на расте веб сервер по скорости не уступающий си и си++?
229 1271361
>>71226
Можно. Более того в синтетических тестах раст быстрее всех. Только какой от этого толк?
230 1271473
>>71361
Сделаю супербыстрый серв
вщп.jpg111 Кб, 960x1280
231 1271563
>>54562 (OP)

>Repeat while there are candidates


>while queue.len() > 0

232 1271726
>>59837
Иные инструменты есть valgrind, google sanitizers, статические анализаторы кода. В конце концов отладчики с нормальной поддержкой. Clang-tidy. С интсрументами в С++ как раз ситуация на порядок лучше, что впрочем не удивительно.
Есть движения в сторону интеграции в какой-то мере подхода с лайфтаймами, по крайней мере об этом вскукарекивают седые мужи, которые заседают в комитете.
233 1276122
Двачик, помогай. Начал ковырять diesel, но нихуя не могу понять почему у меня не работает use. Видел такой же код по части use и mod в каком-то проекте на гитхабе, но у меня нихуя не работает. Уже несколько раз перечитывал rust book, и все равно не понимаю в чем проблема. Раст стоит ночной от 2018-09-28.

https://pastebin.com/B0F3dKsR
234 1276307
>>76122
В main.rs добавлял
mod schema?
235 1276360
>>76307
Да, там так и сделано. Сначала делал без pub, но потом пробовал еще и с pub в main.rs. Вообще хуй знает куда думать.
236 1276362
>>76360
Хз, выложи код куда-нибудь.
14626110100460.jpg522 Кб, 1280x1638
237 1278611
Эх, вот бы в Раст запилили нормальную компиляцию в wasm и удобную экосистему вокруг этого.
Стало бы киллинг фичей языка, базарю.
238 1278683
Прочитал ваш тред, так и не понял, какую букву вставить: го(в, д)но. Осилю, если для плюсов слишком тупой? Кто-нибудь писал на нём под микроконтроллеры? Видел на гитхабе биндинг для libopencm3, стало интересно попробовать, но стоит ли возиться?
239 1278725
>>78683
Говно. Просто говно. С++ с кочергой в жопе.
240 1278727
>>78683
Возиться стоит
241 1278779
>>78611
скоро в .net добавят сборку в wasm и C# станет оффициальным языком веба, вместо javascript. советую начинать учить C# прямо сейчас, пока еще не поздно.

не понимаю, почему майкрософт не сделала этого с самого начала. они там со своим blazor'ом уже третий год маятся.
242 1278926
>>54562 (OP)
Попробовал на досуге Rust. В целом впечатления положительные, язык с большим потенциалом, хоть пока и есть небольшие недоделки (если говорить про стабильную версию)
1. Для молодого языка - развитая и хорошая инфраструктура. Для языка подходящего для системного программирования - вообще лучшая.
2. Шустрый компилятор с разумными сообщениями об ошибках.
3. Хороший инсталлятор, разумный пакетный менеджер и работа с проектами.
4. Хотя и есть в нём странные вещи, типа индекса cargo на github'е. (Что? Зачем? Почему так делать?)
5. Сам язык приятный, как по возможностям, так и по общей эстетике, хотя к читаемости и логичности некоторых элементов синтаксиса есть вопросы. (Почему типы у параметров через двоеточие, а возвращаемое значение через ->)
6. Очень интересна сделана система ссылок и borrowing'а. Достаточно интуитивна и логична, чтобы с ней в большинстве случаев не особо бороться. Конечно, иногда она чересчур параноидальна, но это лучше, чем если бы она была не достаточно безопасна.
7. Собственно, данная система позволяет обходиться без GC и при этом в большинстве случаев делать это без ошибок.
8. При желании, конечно же, есть unsafe, где можно радостно стрелять себе в ноги, в лучших традициях C/С++
9. Хорошо сделаны системы местных trait'ов и дженериков. В чём-то напоминают typeclass'ы и concept'ы, хоть и более ограничены,чем первые.
10. HKT, увы, нету, но есть надежды, что реализуют.
11. Нормальный набор стандартных коллекций. Есть весь базовый набор, есть удобные стандартные методы, типа map, filter и т.д. Но вот генераторов в стабильной ветке компилятора пока тоже нету.
12. Из типов есть привычные структуры и АТД, что тоже хорошо.
13. По ADT есть паттерн-матчинг, но вот, увы, кастомных матчеров нет вообще.
14. В стандартной библиотеке, внезапно, оказалось, что нет вообще типа для времени, что весьма удивило.
15. Прилично сделаны треды, есть библиотеки с футурами и грин-тредами. Borrow checker умеет проверять и данные передаваемые между тредами, есть каналы.
16. Есть стандарнтый набор их веб-фреймворков и серверов.
17. Бинарники более-менее шустрые и небольшие получаются.
18. Удивило, правда, отсутствие в стабильной версии компилятора SIMD инструкций, что для низкоуровневого языка странновато.
19. Из очень хорошего - есть достаточно грамотно сделанные, пусть и не супер мощные (до лиспов или немерля, конечно, не дотягивают) макросы.
20. Много интересного с их помощью сделано как в стандартной билиотеке, так и за её пределами.
21. Понравились местные ORM'ы. Разумные языки запросов и описания схем.
22. Обработка ошибок делается обычно не через исключения (хотя panic тут тоже есть), а через Result (аналог Either по сути) и Option. Что правильно.
23. Если нужно, то есть возможность задать кастомный аллокатор, что важно. Хотя эта возможность вроде бы тоже пока не экспериментальном уровне, если мне не изменяет память.

Вообще rust - это реальный кандидат на новый язык для системного программирования. И в отличие от того же го, подходит не только для относительно мелких утилит, но и для программ любых размеров и требований. Достигает этого тем, что имеет как и важные для производительности возможности (borrow checker, отсутствие GC, unsafe код, no-std вариант), так и важные для написания сложных программ и библиотек фичи (дженерики, trait'ы, макросы, разумный набор стандартных коллекций и т.д.)

Предлагаю всем влиться в конфу треада @hcdevs
242 1278926
>>54562 (OP)
Попробовал на досуге Rust. В целом впечатления положительные, язык с большим потенциалом, хоть пока и есть небольшие недоделки (если говорить про стабильную версию)
1. Для молодого языка - развитая и хорошая инфраструктура. Для языка подходящего для системного программирования - вообще лучшая.
2. Шустрый компилятор с разумными сообщениями об ошибках.
3. Хороший инсталлятор, разумный пакетный менеджер и работа с проектами.
4. Хотя и есть в нём странные вещи, типа индекса cargo на github'е. (Что? Зачем? Почему так делать?)
5. Сам язык приятный, как по возможностям, так и по общей эстетике, хотя к читаемости и логичности некоторых элементов синтаксиса есть вопросы. (Почему типы у параметров через двоеточие, а возвращаемое значение через ->)
6. Очень интересна сделана система ссылок и borrowing'а. Достаточно интуитивна и логична, чтобы с ней в большинстве случаев не особо бороться. Конечно, иногда она чересчур параноидальна, но это лучше, чем если бы она была не достаточно безопасна.
7. Собственно, данная система позволяет обходиться без GC и при этом в большинстве случаев делать это без ошибок.
8. При желании, конечно же, есть unsafe, где можно радостно стрелять себе в ноги, в лучших традициях C/С++
9. Хорошо сделаны системы местных trait'ов и дженериков. В чём-то напоминают typeclass'ы и concept'ы, хоть и более ограничены,чем первые.
10. HKT, увы, нету, но есть надежды, что реализуют.
11. Нормальный набор стандартных коллекций. Есть весь базовый набор, есть удобные стандартные методы, типа map, filter и т.д. Но вот генераторов в стабильной ветке компилятора пока тоже нету.
12. Из типов есть привычные структуры и АТД, что тоже хорошо.
13. По ADT есть паттерн-матчинг, но вот, увы, кастомных матчеров нет вообще.
14. В стандартной библиотеке, внезапно, оказалось, что нет вообще типа для времени, что весьма удивило.
15. Прилично сделаны треды, есть библиотеки с футурами и грин-тредами. Borrow checker умеет проверять и данные передаваемые между тредами, есть каналы.
16. Есть стандарнтый набор их веб-фреймворков и серверов.
17. Бинарники более-менее шустрые и небольшие получаются.
18. Удивило, правда, отсутствие в стабильной версии компилятора SIMD инструкций, что для низкоуровневого языка странновато.
19. Из очень хорошего - есть достаточно грамотно сделанные, пусть и не супер мощные (до лиспов или немерля, конечно, не дотягивают) макросы.
20. Много интересного с их помощью сделано как в стандартной билиотеке, так и за её пределами.
21. Понравились местные ORM'ы. Разумные языки запросов и описания схем.
22. Обработка ошибок делается обычно не через исключения (хотя panic тут тоже есть), а через Result (аналог Either по сути) и Option. Что правильно.
23. Если нужно, то есть возможность задать кастомный аллокатор, что важно. Хотя эта возможность вроде бы тоже пока не экспериментальном уровне, если мне не изменяет память.

Вообще rust - это реальный кандидат на новый язык для системного программирования. И в отличие от того же го, подходит не только для относительно мелких утилит, но и для программ любых размеров и требований. Достигает этого тем, что имеет как и важные для производительности возможности (borrow checker, отсутствие GC, unsafe код, no-std вариант), так и важные для написания сложных программ и библиотек фичи (дженерики, trait'ы, макросы, разумный набор стандартных коллекций и т.д.)

Предлагаю всем влиться в конфу треада @hcdevs
243 1278941
>>78683

>Осилю, если для плюсов слишком тупой?


Скорее нет, чем да. Но точно осилишь, если для плюсов слишком ленивый (не любишь задрачивать ненужное говно, которое можно перепоручить машине).
244 1278942
>>78926

>Предлагаю всем влиться в конфу


Блядь, ну что ж ты за мудак такой, а? А пасту сохранил.

%%
245 1279038
>>78926

>Попробовал на досуге Rust


А мне не очень.
246 1281161
>>78611
Запили сам.
247 1282032
>>78926

>Вообще rust - это реальный кандидат на новый язык для системного программирования.


Системный язык по определению должен быть небезопасным и нейтральным.
У раста нет смысла существования. Он пытается усидеть на двух стульях.
248 1282033
>>82032
На с++ ты можешь писать безопасно, можешь использовать сырые указатели. Язык никак не ограничивает свободу программиста. Раст же пытается быть безопасным в одной определенной узкой области за счёт ограничения свободы программиста.
249 1282083
>>82033
Реальная свобода это goto. Если ты используешь что-то кроме goto — ты жалкий раб, а не Свободный Программист.
250 1282500

>Эх, вот бы в Раст запилили нормальную компиляцию в wasm и удобную экосистему вокруг этого.


>Стало бы киллинг фичей языка, базарю.


Уже есть в Го
251 1282563
>>82083
Можешь использовать goto, можешь не использовать. На то это и системный язык, программист имеет полный контроль.
252 1282593
>>82563
Слабак. Нормальные мужики пишут на ассемблере.
253 1282898
>>82033
К плюсам надо move семантику приколачивать и что-то со стойкой делать, тогда можно более менее жить. Ещё бы нахрен выпилить хидеры.
254 1282900
>>82898
*Строкой.
255 1283212
>>82898
Кстати да, как вы там потомки в 2018 с хэдерами, без модулей и прочей дристней из 70ых?
256 1283408
>>82898

>надо move семантику приколачивать


Удаляешь copy-конструктор
@
PROFIT
257 1283670
Поясни за rfc2000, который про const generics. Нахуя это нужно, если есть крейт typenum и всякая обвязка? Ну если не считать сахара.
258 1283675
>>82032

>У раста нет смысла существования.


Servo. И я не шучу.
261 1283740
262 1283841
ФАКТ!
100% растов это куколды
263 1283842
>>83841
Как будто что-то плохое.
264 1284393
265 1284426
>>82032
Что за определение такое?
266 1284430
Для раста есть либы для гуя?
267 1284454
>>83841
Чистая ложь! Я лоликонщик.
268 1284458
>>84430
Есть биндинги к gtk и qt. Есть кривые и/или недоделаные реализации с нуля. В целом нормального гуя под раст особо и нет. Если тебе всё равно, что брать, то бери relm. Он выглядит удобным. Или пили под электрон. С wasm это даже относительно поворотливым будет. Если тебе под мобилки, то ВНЕЗАПНО бери flutter ибо это лучшее, что случалось с гуем на мобилках.
269 1284536
>>84458
Биндинги не хочу, электрон тоже. Потому что билд потом много весит. Мне нужен простенький гуй, чтобы данные с апишки забрать и отрисовать. В идеале картинку и видео показать.
270 1284540
>>84458

>rust тред


>пили под электрон


Приехали нахуй.
271 1284599
>>84536
Алсо можешь ещё https://github.com/rust-unofficial/awesome-rust#gui чекнуть.

>>84540
Ну охуеть теперь.

Вообще было бы неплохо запилить песочницу поверх webrender с wasm и шлюхами. Это с одной стороны будет нормально работать, а с другой стороны не сильно то и кушать. Можно https://github.com/DenisKolodin/yew прикрутить туда и заебись ящитаю.
Я говорю как есть из того, что знаю. С одной стороны я к гуям не сильно прикасаюсь, а с другой я это чекал Вообще я сейчас oni пишу. Это (в теории) быстрый протокол джля MMOG..

Серьёзно. Во всех немейнстримных ЯП бида с полностью работоспособным GUI в остальных тоже хуйня, а не либы ящитаю. Ибо действительно нормальный гуй - это сложно. Просто ровно до тех пор, пока тебе не надо сложный текст рисовать. А дальше дофига ёбаного пиздеца со всяким азиатским текстом начинается. И производительность начинает давать о себе знать.
272 1284762
1.30 прям охуенный.
273 1284911
Насколько низкоуровневый Rust? Можно ли уже удобно кодить для avr? С чем сравним: с C или C++ по жирности?
274 1284980
>>84911

>С чем сравним: с C или C++ по жирности?


с delphi
275 1285065
>>84980
по жирности с Дэлфи сравним только твой пост
277 1285306
>>84980
Не обижай дельфи. Он даёт намного меньшие бинарники и требует установки намного меньше барахла для своей компеляции.
280 1286886
>>82033
Если ты на колене в соло пытаешься наговнокодить, то ты безусловно прав. А если ты работаешь над нормальным проектом то надо писать максимально единообразно с минимальной вероятностью ошибок.
281 1286926
>>82033

> Язык никак не ограничивает свободу программиста.



Да, потом в компиляторы приходится пихать код, компиляторах который пытается сворачивать развернутые вручную циклы и тому подобное дерьмо, чтобы говнокод этих свободных программистов хоть как-то ворочался.
282 1286933
>>86926

>компиляторах/S

283 1288578
Паrни, я вам нефиговый тутор принёс.
https://exercism.io

ОП запили в шапку плиз.
284 1288631
>>88578
Как по мне, все такие сайты в качестве изучения языка бесполезны.
286 1290346
>>90329
Сто раз уже обсуждали. Д не нужен.
287 1290364
Интересно что на расте наклепали столько пиздатых юниксовых утилит меньше чем за год, сколько на д не сделали и за 15 лет.
288 1290377
>>90364
grep переписали?
289 1290388
>>90377
Да, rg охуенен. Давно пересел на него.
290 1290444
>>90388

>grep переписали?


>Да


Тогда я спокоен
291 1290554
>>90444
rg (grep)
fd (find)
bat (cat+less+code highlighter)
exa (ls)
dutree/diskus/sn (du)
tokei (cloc)
Ну и конечно remacs

Это только то что я вспомнил навскидку.
292 1290560
>>54562 (OP)
А ну, напомните-ка мне, почему раст не ВЗЛЕТЕЛ?
293 1290561
>>90560
Жирный, раст очень даже взлетел.
Screenshot 2018-11-06 at 13.31.43.png158 Кб, 2506x686
294 1290566
>>90561

>Жирный, раст очень даже взлетел.


Что-то я его нигде не вижу. Юзается онли в мозилле, в других вакансиях чтобы прям был раст и все - нет. Минимум еще кресты надо знать.
295 1290567
>>90566
Ну до снг все с запазданием доходит, что поделаешь. Ну и мерить успех языка количеством вакансий это очень однобокий подход.

С таким же успехом можно считать что с++ не нужен, потому что большая часть вакансий это месить говно за 30к/месяц.
296 1290568
>>90567

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


А вот тут ты шконка не прав. Спрос рождает предложение. Так что я не вижу чтобы раст прям таки взлетел.
297 1290572
>>90568
Мы тут вроде обсуждали >>90329
Как там с вакансиями на Д?
Мне вот платят за раст, так что я хз.
image.png42 Кб, 500x313
298 1290700
>>90572

>Мне вот платят за раст

299 1290701
>>90572

>Мне вот платят за раст


пруфы?
300 1290702
>>90701
Ну и какие ты хочешь пруфы?
301 1290704
>>90572
10 причин почему мне стоит бросить оплачиваемую работу чтобы пересесть на нео-язык и соснуть? Даже котлин или свифт, которые еще моложе твоего говно-раста выглядят на порядок лучше, даже при запросах на SO.
302 1290705
>>90700
Вот вам пример конторы которая нанима(ла/ет) на раст: https://github.com/exonum/exonum/tree/master/exonum
303 1290717
>>90702
Что ты зарабатываешь на нем.
2018-11-06-1612553198x1964scrot.png690 Кб, 3198x1964
304 1290727
>>90717
Ты думаешь у меня в контракте написано "писать на расте", что-ли?

Вот тебе скрин из CI.
305 1290748
>>90554
Ржавым больше делать нечего, чем переписывать велосипеды?
Или раст кроме как на скрипты не на что не годиться?
306 1290749
>>90727
Что за контора маняконтора, которая сорцы свои держит на гитлабах и гитхабах и не может свой сервер поднять внутри?
307 1290751
>>90748
Оно работает намного быстрее и имеет более человеческий интерфейс.
>>90749
https://about.gitlab.com/pricing/#self-managed
Лишь бы что-то прокукарекать, да?
308 1290776
>>90749
Люблю, когда раздувающая щеки маня обсирается.
309 1290818
Анон, если пишешь на расте что-то коммерческое. Сколько времени потратил чтобы не бороться с бороучекером и переключиться с объектов на трейты?
310 1290821
>>90818
Наверное около месяца. Сейчас бороу-чекер вообще не мешает, а наоборот.
311 1290939
>>90751

>Лишь бы что-то прокукарекать, да?


>>90776

>Люблю, когда раздувающая щеки маня обсирается.


Лол, воистину век гуманитарных программистов. Неужели непонятно какое дно для компании держать сорцы "не у себя"?
312 1290944
>>90751

>Оно работает намного быстрее и имеет более человеческий интерфейс.


Какой человеческий интерфейс у микро-утилит линукса может быть?

Вообще это был стёб, мне интересно когда раст-мены осилят чуть более сложные код чем скрипты и перестанут заниматься онанизмом линуксовских утилит? или осознают, что на этом чуде трудно писать масштабный код
313 1290947
>>90939

> self-managed

314 1290948
>>90944
Хотя не важно, у нас есть D и GCC
315 1290950
>>90947

> self-managed


Ты даже не понял почему дно? Да?
316 1290951
>>90944
Тебе мало того что делает мазила?
Интерфейс может быть охуенным, ты просто попробуй.
find -name pizda
vs
fd pizda
317 1290959
>>90951

>Тебе мало того что делает мазила?


Ты про серво? Они его сделали хоть?? Этот серво уже становится мемом.

>Интерфейс может быть охуенным, ты просто попробуй


Я уже завтра забуду, что за rg, fd и прочее gg. Самое глупое что можно придумать при существующем автокомлите терминала - это сокращать говорящие названия. Более того, теперь из-за стремления малобуквенности эта херня будет "глушить" автокомплит, если префикс совпадет с какой-то утилитой (в том числе и пользовательской).

Другое, они могли бы просто сделать подобие
rgrep
rfind
rls
чтобы не забивать народу голову бестолковыми базвордами, особенно rg и fd - ппц.

Третье, ну нахер это не надо, все на зубок знают линуксовые простые утилиты, которых за глаза хватает. А когда надо что-то сложнее, то быстро на-питонячат скрипт.

У вас совсем какой-то другой мир. Какой нафиг удобный интерфейс, когда вы делаете неведомую херню.
Такое ощущение, что у вас там где-то есть пророк, который постоянно заливает говно в уши и у вас происходит какая-то подмена восприятия мира.
image.png77 Кб, 1134x728
318 1290962
>>90561

>Жирный, раст очень даже взлетел.


где?
319 1290963
>>90962
Добавь D к графику.
320 1290964
>>90959
Мань, с тобой скучно разговаривать, потому что ты не читал, но осуждаешь.
321 1290972
>>90939
Гитлаб можно хостить у себя, блядь. Говорю же, переставай раздувать щеки и срать в штаны.
322 1290975
>>90972
У нас кстати ultimate версия вроде. Эту хуйню на раби лучше не трогать ни при каких обстоятельствах.
323 1290977
>>90972

>Гитлаб можно хостить у себя, блядь


нафига??
324 1290979
>>90977
CI же. Не тупи блядь.
326 1290982
>>90980
Очень хорошо. го это новый пхп, так что сравнить с ним глупо.
327 1290991
>>90979

>CI же. Не тупи блядь.


А кто будет отвечать, когда утекут сорцы проекта, а вместе с ними потом и база клиентов?
"За то мы могли писать друг дружке ишью и ставить смешные аватарки для аккаунта"
328 1290992
>>90991
Что утечет, куда утечет, наркоман?
329 1290995
>>90982
Судя по тому как клепают к нему либы, го это новый топовый язык
https://github.com/search?l=Go&q=stars:>1000&type=Repositories

Раст же останется топовым гуманитарным языком программирования.
https://github.com/search?l=rust&q=stars:>1000&type=Repositories

У D конечно печальные позиции, да отсутствие маркетинга сказывается, но буст в виде gcc думаю все же скажется.

Конечно, абсолютный победитель это вот этот парень
https://github.com/search?l=JavaScript&q=stars:>1000&type=Repositories

Такими темпами, скоро буду насмехаться, если твой очередной язык не будет компилироваться в javascript.
330 1290997
>>90995
То твоей логике количество говна в npm — показатель успешности.

Я счита что раст это лучшая инвестиция сегодня, если ты хочешь делать интересные вещи на хорошем языке, а не месить говно на го или жс.
image.png239 Кб, 303x410
331 1291000
>>90995
Но я не буду больше холиварить, или скорее помогать бамбать тред, спрошу лишь одно, как системщики смотрят на kotlin-native - это же звездец да или тема?
332 1291001
>>90997

>если ты хочешь делать интересные вещи на хорошем языке


откуда вы этих абстрактных слоганов набираетесь?

Меньше что бы мне хотелось это контролировать руками память и обертывать <все <в <угловые <скобки>>>>.

>говна в npm — показатель успешности.


там по 1К звезд, но в целом да, я бы завидовал такому количеству npm с 1000 звезд. Это показатель, даже если внизу спика будет куча говна говно можно и на расте написать, вон всякие юникс утилиты понаделали
333 1291003

> и обертывать <все <в <угловые <скобки>>>>.



только внезано сейчас в тренде писать на TS со строгой типизацией и дженериками, ибо ошибки вроде undefined is not a function без контроля типов будут преследовать тебя везде
javascript.jpg108 Кб, 960x504
334 1291014
>>91003

>только внезано сейчас в тренде писать на TS со строгой типизацией и дженериками, ибо ошибки вроде undefined is not a function без контроля типов будут преследовать тебя везде



1) Заливаторская-буллшитница, весь дрочь на статику это автокомплит слов и все, он же решался обычным jsdoc в том числе и подстветом ошибок писал еще на phpDoc 10 лет назад так, очень нравилось что редактор подсвечивал и типы и ошибки и не было говна в виде дженериков

2) Другой буллшит в том, что большая часть js кода, в большом проекте это передача объекта, именно объекта вида foo({hui: "пчела", pizda: "колбаса"}) а не класса, поэтому нахера там с типами возиться, я хз.
Опять же jsdoc все решает это.

3) Кому-то правда статика по душе и он будет дрочить в ts, кто-то накатит flow, но в реале разница между ts и современным js уже небольшая, ts скорее останется просто мелким ответвлением для гурманов

4) С другой стороны - ts это прокси js, поэтому противопоставлять их глупо, любые победы js или ts - это победы в обе копилки.
336 1291023

> весь дрочь на статику это автокомплит слов и все



WAT? Я тебе про согласованте типов, ты мне про автокомплит. Каким хером jsdoc будет гарантировать типобезопасность? Он не для этого.

> это передача объекта, именно объекта, а не класса



Ты видимо не в курсе про то что interface и class в TS это разные сущности? И не обязательно создавать класс для описания типа объекта.
337 1291024
для ценителей
338 1291026
>>91023

>WAT? Я тебе про согласованте типов, ты мне про автокомплит. Каким хером jsdoc будет гарантировать типобезопасность? Он не для этого.


Подсвечивает ошибки тоже, написал же, тупенький.
rust.png1,1 Мб, 699x933
339 1291028
>>91023

>Ты видимо не в курсе про то что interface и class в TS это разные сущности?


Ты о чем вообще? Я тебе про то, что там в крупных проектах таскают эти "хэш мапы"объекты и описывают их в jsdoc. Какие нафиг интерфейсы в динамическом языке? Полиморфизма захотелось?
340 1291029
>>91026

> подсвечивает



Понимаешь разницу между подсвечивает ошибки (иногда если повезет) и проект не собирается если ты, тупенький, проебал обязательное поле у объекта?
341 1291032
>>91028

В ts на практике интерфейсы описывают данные, те самые хешики. Иди учи матчасть:
https://www.typescriptlang.org/docs/handbook/interfaces.html
rust.png1,1 Мб, 699x933
342 1291036
>>91029

>(иногда если повезет)


Сам придумал?

>Понимаешь разницу


понимаешь разницу, что тесты все равно писать,
понимаешь разницу, что doc все равно писать,
понимаешь разницу, когда не нужно дрочить компиляцию,
понимаешь разницу, когда тебе IDE все ровно так же подсвечивает
понимаешь разницу, когда код у тебя становится чище и нет говно-типов и говно-джериков на пол страницы, что аж сигнатуру функции приходиться построчно писать.

<не<понимаешь<ты<совсем>>>>.unwrap()
343 1291040
>>91036

> IDE все ровно так же подсвечивает



Рукалицо. Толку от твоих сраных тестов, от твоего жсдока, от твоей доки? Ты же в IDE смотришь, у тебя CI нет.

А что если чел из твоей команды пишет в виме? А что если IDE от джетбрейнсов проебала кеш и не подсветила ошибку? Так и закоммитишь?
344 1291042
>>91036

ты по-моему кроме синтаксиса доебаться ни к чему не можешь, на синтаксисе минусы статиктайпинга закончились?
345 1291046
>>91040

>пишет в виме?


Он уже выбрал путь страдания, чем я ему еще помогу?

>А что если чел из твоей команды


А что если чел из моей команды человек-паук?
Одаренных я в команду не беру, слишком он будет умнее всех нас, ему будет с нами скучно.

>Рукалицо. Толку от твоих сраных тестов


Действительно - рукалицо братюнь. Тесты ничто - компилятор все!

>и не подсветила ошибку?


Да никто не рассчитывает на подсветку ошибки вылезай уже из каменного века своего vim'а, это просто удобная фича по принципу - пишу и тут же вижу.
Для ошибок есть тесты - юнит и регрессивка.
Твои ошибки типов это 1-2% всех реальных ошибок в приложение (при покрытие doc)

>IDE от джетбрейнсов


В док-подстветку умели IDE еще 10 лет назад, даже такое чудо как netbeans, бросай уже свой vim.
346 1291048
>>91042

>ты по-моему кроме синтаксиса доебаться ни к чему не можешь


Если ты про ts, то у него кроме синтаксиса ничего и нет.
А так статическая типизация это не панацея, как показывает опыт - современная IDE и nameDoc делают ровно тоже самое, при этом не засоряя код, при этом и подсвечивая типы и прочее.

Мне кстати вот, автовыведение типов бесит в статик языках, открываешь какой-нибудь гитхлам и хер пойми что там функция вернула. Так что все это говнище бро, какое-то постоянное колебание между прекрасным и говном.
1541556340686.jpg101 Кб, 960x1248
347 1291054
>>91046
В итоге получаешь "ту же" статическую типизацию, только хуёвую и игрушечную.
348 1291058
>>91048

>автовыведение типов бесит в статик языках, открываешь какой-нибудь гитхлам и хер пойми что там функция вернула


Какое нахуй автовыведение? Ты ебанулся?
1541559906489.png4 Кб, 320x401
349 1291060
>>91058
Вот же, положила.
350 1291067
>>91046

> Он уже выбрал путь страдания, чем я ему еще помогу?



> Одаренных я в команду не беру, слишком он будет умнее всех нас, ему будет с нами скучно.



>Да никто не рассчитывает на подсветку ошибки вылезай уже из каменного века своего vim'а, это просто удобная фича по принципу - пишу и тут же вижу.



> Твои ошибки типов это 1-2% всех реальных ошибок в приложение (при покрытие doc)



Боже, ну почему динамикопетухи такие ебанутые?!
351 1291077
>>91046

>Действительно - рукалицо братюнь. Тесты ничто - компилятор все!



Речь шла за CI + хуки. Не передёргивай, я лишь указал что без грамотной инфраструктуры и регулярного запуска на каждое изменение толку от тестов нет. А петушки которые только в IDE их запускают и им в линукс команды сложно вызывают смех.

> Для ошибок есть тесты - юнит и регрессивка.



Давай раскажи мне про юниты на фронтэнде, много ошибок отловил? А как насчет кнопочки с pointer-events: none отловит твой юнит? Хуйца ты потестишь без selenium, а если еще учесть что у браузеров есть свои особенности...
352 1291163
>>91067

>Боже, ну почему динамикопетухи такие ебанутые?!


Пишу на работе на статике более 9 лет, дома динамичу по праздникам (почти не кодю).

Когда большие дяди с опытом выбирают динамику против статики, значит в этом что-то есть но ты еще этого не понял
rust.png1,1 Мб, 699x933
353 1291166
>>91077

>Речь шла за


не маневрируй, как сказано, так и понято.
Если сравнить что лучше - покрытие тестами или компилятор, даже с самым лучшим анализом - чаща весом упадет на тесты. И ты это прекрасно знаешь.

И вот ответь нахрена тогда эта срань с компиляцией, с высраной портянкой в командной строке, когда тебе IDE прям тут же подчеркивает ошибку?

Нахера это древнее страдание с высером после компиляции?? Потому что ты особенный, да?
354 1291190
>>91166
https://habr.com/company/livetyping/blog/324506/
Оказывается, что TS это не воплощенный в былом js, тк микрософт постарался. И js ни на что не пригодный, кроме хелловордов, куча транспайлеров и фреймворков тому подтверждение.

>IDE прям тут же подчеркивает ошибку?


Он даже автокомплит не в состоянии осилить.

>традание с высером после компиляции?


С учётом того что фронт собирается вебпаками с бабелями,
то и потребность в динамопараше постольку-поскольку.
Разработчики делятся на два типа: на тех, которые понимают необходимость статической типизации, и других, кому не исполнилось 20.
Я понимаю, что ты пишешь пхп и прочий изи-веб, но что ты в расте забыл?
355 1291196

> >>91166



> Если сравнить что лучше - покрытие тестами или компилятор



И то и то юзать религия не позволяет? Ты покрываешь тестами все все все вариации? До тебя глупенького не дойдет что тайпчек и тестирование выявляют разные по природе ошибки.
356 1291233
>>91190

>но что ты в расте забыл?


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

>Оказывается, что TS это не воплощенный в былом js, тк микрософт постарался.


Чего??? У тебя обострение?

>С учётом того что фронт собирается вебпаками с бабелями,


>то и потребность в динамопараше постольку-поскольку.


Чего??? Тут требуется "Капитан-Логика".
Но ты прав и так это жопа медленна и жрет памяти, а ты еще хочешь прокси язык с компиляцией добавить на самом деле, если мозги есть, можно для dev делать без сборки, если юзаешь чистые CSS

Проблема прокси языков в том, что ты думаешь что избавился от старого языка, но в действительности ты просто прибавил еще сверху проблем.
357 1291260
>>91233
Почему динамо-адепты такие упоротые?
358 1291265
>>91260

Эффект Даннинга - Крюгера, бро.
359 1291280
>>91265
Вот мне тоже так кажется. Потому что, то упорстве, с которым они отстаивают свою, очевидно, глупую позицию, поражает.
image.png784 Кб, 534x800
360 1291292
>>91265

>Эффект Даннинга - Крюгера, бро.


Забавно, но чел реально говорит частично правильные вещи.
Программирование - это процесс разработки какого-то продукта (даже для себя). Если в конечном итоге результат продукта такой же, то какая разница как ты его там строил, главное насколько меньше ты потратил усилий и времени.
Нынешние программисты же (в том числе и вы) пишут код ради кода, а не продукта. Поэтому восприятие (Эффект Даннинга - Крюгера) как раз таки у вас.

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

мимо тимлид
361 1291298
>>91292
Но типы как раз помогают тратить меньше усилий и времени. Это настолько очевидный факт, что любой, кто утверждает обратное выглядит упоротым калекой, которому вырезали половину мозга.
362 1291302
>>91298
Думаю что те кто думают что типы это хуйня которая мешает "делать дело", на самом деле просто не осилили инструмент, и поэтому считают что он мешает, а не помогает. Точно так же как люди по началу считаю что борроу-чекер не нужен и мешает.
363 1291310
>>91292

> насколько меньше ты потратил усилий и времени



Если написал сдал и забыл - ок. Пиши говнокод, не парься.
А если тебе это поддерживать, не год, не два?

> мимо тимлид


Тимлид про команду и людей, про разработку больше техлиды.
364 1291323
Аноны, помогите. Как организовать божественный IO для олимпиадного программирования? Два одинаковых алгоритма на расте и крестах - - TLE и accepted соответственно. Оптимизировал как мог с BufReader и прочим, но всё равно обосрался.
365 1291331
>>91323
Можешь начать с того, чтобы выложить код.
366 1291344
>>91310

>Тимлид про команду и людей, про разработку больше техлиды.


Я бы сказал я менеджер. Тимлид это какая-то придуманная адаптация для программистов, чтобы не почуяли подвоха. Я давно уже код не пишу.

>>91298

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



Типы есть и в динамическом языке, проблема в том, что человек звучит убедительнее, а ваши ответы больше похожи на выкрики:

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


Смотри, ты не говоришь "почему", ты убежден в своих знаниях как в абсолютной истине, но это и есть показатель эффекта Даннинга - Крюгера
...Это приводит к возникновению у них завышенных представлений о собственных способностях... или знаний.
Так что без обид, статика конечно рулит, но эффект не у него.
367 1291363
>>91344
Ну вот тебе хотя бы это:
https://pleiad.cl/papers/2014/hanenbergAl-emse2014.pdf

Алсо что ты скажешь на счет того, что ребята которые занимаются CS топят за типы, в отличии от веб-макак?
368 1291372
>>91363

>топят за типы


Так я написал, я за статику, я из-за эффекта влез
369 1291375
>>91363

>Алсо что ты скажешь на счет того, что ребята которые занимаются CS топят за типы


А за что им еще топить, если динамика просто работает и диссертаций поверх этой хуйни не навернешь, в отличие от какой-нибудь бессмысленной хуйни с применением теории категорий?

Вся беда систем типов в том, что примитивные спасают только он примитивного класса ошибок уровня опечаток в имени переменных, а сложные очень времезатратны и с сомнительным профитом.
370 1291376
>>91363

>ребята которые занимаются CS


Эти ребята не пишут ПО и занимаются они не программированием а CS. CS, к слову, по-русски - информатика.
371 1291384
>>91376
Эти ребята выясняют как делать это лучше. Если ты посмотришь по сторонам, то выяснишь, что то что они придумали 30 лет назад, меееедлено приходит к тем, "кто пишет ПО".
372 1291436
>>54562 (OP)
является ли раст си-подобным языком? вроде и curly braces есть, вроде и не похоже
373 1291441
>>91436
Что по твоему "си-пободный" язык?
374 1291448
>>91441
язык, который запилили под влиянием с/с++.
похожий синтаксис управляющих структур, типов, переменных, функций, классов и тп. Более-менее общие идеи ООП.

Примеры: java, scala, php, swift, javascript, c#
375 1291453
>>91448
А как же небо и Аллах?
Судя по этому списку: https://en.wikipedia.org/wiki/List_of_C-family_programming_languages ответ на твой вопрос — нет.

Но как по мне, это последнее что интересно при сравнении языков.
376 1291458
>>91453

>А как же небо и Аллах?


говно уровня BASIC

>это последнее что интересно при сравнении языков.


А мне вот это кажется довольно интересным, хуй знает почему. Только от си-подобных получаю удовлетворение при написании кода, так уж устроен я.
377 1291462
>>91384

>Эти ребята выясняют как делать это лучше.


У науки нет задачи выяснить как лучше. У нее есть задача просто выяснить. В CS рождается куча говна, из которой до мейнстрима доходит мало что.
378 1291467
>>91233

>на самом деле, если мозги есть, можно


На самом деле, можно и в блокноте разрабатывать, и разметку на таблицах делать, что мы хуже дидов?

>ты просто прибавил еще сверху проблем


Мало того что мне jsdoc ручками прописывать пришлось, так ещё vscode ошибок в упор не видит.
379 1291499
Другой анон.
Что насчет преимуществ производительности, которые достигаются компиляцией и мощной системой типов? На том же расте возможны оптимизации, которые никак в компиляторах С++ не реализуешь.
Не только скрипты писать ведь
380 1291501
>>91499
В теории да, на практике пока что хз.
381 1291532
>>91453

>Но как по мне, это последнее что интересно при сравнении языков.


Серёж, а что по твоему си-подобный язык?
382 1291533
>>91532
Без понятия. Какая-то субъективная хуита, вероятно про использования фигурных скобок для блоков.
383 1291611
>>91344
Потому что в Раст треде это common knowledge, а перед одним шизиком ему очевидно распинаться не хотелось.
384 1293192
>>54562 (OP)
Не непосредственно связано с растом, но всё же.
https://twitter.com/eroc/status/1061049330574884864

Капец они медленные, оказывается.
385 1293396
Если раст быстрее си, почему не перекатываются на раст?
386 1293506
>>93396
Кто тебе сказал что раст быстрее си?
387 1293510
>>93192
Своей Ржавченой они практически похоронили Файерфокс
388 1293511
>>93510
Своей ржавчиной они вдохнули в него новую волну развития. А хоронят его ебучие манагеры, которые пытаются его монетизировать тупыми методами.
389 1293518
>>93510
Проблема,я думаю не в самом расте, создание хорошего инструмента - это благородная цель. Другое дело, это просрать в кадрах и нанять людей, которые за твои деньги вместо продукта тупо поиграются в инженеров. Сделав самую безопасную утечку памяти поверх LLVM (и сфига он вообще будет быстрее си?)
390 1293520
>>93518
Ты же не будешь отрицать что Quantum сделал фурифокс намного пизже?
391 1293530
>>93511

>Своей ржавчиной они вдохнули в него новую волну развития


Хуйня, нужно было переписывать на Си, тогда бы были вне конкуренции.
392 1293531
>>93520
Servo - тупик
393 1293532
>>93530
Они несколько раз пытались, но все разы обосрались. А на расте получилось.
>>93531
Servo это площадка для экспериментов. Удачные идеи потом перетекают в сам фурифокс.
394 1293536
>>93532

>но все разы обосрались


Щито поделать

>А на расте получилось


Что в этом хорошего?

>перетекают


Не перекатают, поскольку два раза никто окунаться не будет
395 1293627
В связи с тем, что следующая нода теперь пишется на расте, реквестирую харкорное пояснение:
как сложен раст для понимания по сравнению с другими языками? Например си, питон, жс (это то, с чем у меня есть опыт). При условии что я гений и не долбоёб.
396 1293636
>>93627
Что-то среднее между сишечкой и хаскелем. Если умеешь в типы, то в целом не сложно.
397 1293664
Есть ли геймдев на расте?
398 1293668
>>93664
http://arewegameyet.com/
Пока только индюшатня всякая.
399 1293720
>>93664
Дум 1 и 2 были на раст переписаны, легко гуглится на гитхабе
image.png586 Кб, 699x456
400 1293787
>>93520
П#зже была старя опера в которой было 100500 встроенных механизмов, а не пустые окошки с плагинами, где чтобы даже прописать масштаб страницы приходиться качать какой-то сомнительный плагин. И при этом верить, что авторы этих плагинов не захотят чего намудрить.

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

Мое мнение, лисе сейчас надо не кишки там растом обмазывать - а делать реально видимые и нужные вещи (например как опера делала vpn или другие явные преимущества).

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

>Дум 1 и 2 были на раст переписаны, легко гуглится на гитхабе


Очередной хоум-пет-прожект от скуки, чтобы набрать классы на редите/гитхабе
402 1293789
>>93787
Напомню что опера была кривым говном и не поддерживала вебстандарты.
А лиса стала намного шустрее с внедрением квантума.

>>93788
Всегда можно взять юнити.
403 1293791
>>93720
Есть ли геймдев на расте?
@
Дум 1 и 2 были на раст переписаны


Чот орнул слегка. Жду теперь херетик и кваку
404 1293793
>>93789

>Напомню что опера была кривым говном


Да срать, мне на ней что ли код писать, для меня она не была пустым окошком. Пускай даже рендер тормозит в два раза, мне как потребителю будет пофиг, мне фичи нужны.
405 1293794
>>93791
Всякие инди-студии начали использовать. Что там ААА делают хуй их знает. Я лично собираюсь вкладываться сейчас, чтобы через 3-5 лет, когда все поймут что это стало популярно, быть уже с охуенным опытом.
406 1293797
>>93793
Для тебя есть яндекс.браузер, пользуйся наздоровье.
407 1293798
>>93530

>Хуйня, нужно было переписывать на Си


>Они несколько раз пытались, но все разы обосрались


И нет бы запилить новый удобный си, но они сделали симбиоз С++ и хаскеля.
408 1293800
>>93798
"Новый удобный си" от создателей оригинала называется го. Как видишь, у них тоже не вышло.
409 1293804
>>93794

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


Где-то я уже это слышал, у тебя случайно вклада кэшбери нет?

А если серьезно, у языка такой порог вхождение и он так вставляет новому разработчику палки в колеса, что через 3-5 лет в нем буду только самые упоротые, которые повелись на маркетинг (то есть не специалисты С++ уж точно).
410 1293806
>>93797
Зато ты представляешь как устроен мир, что начинка не нужна, нужен продукт. И я кстати разницы не заметил.
Интересно, памяти стал жрать больше? LLVM нас порадует тут?
411 1293812
>>93806
Стал жрать меньше хрома.
412 1293813
>>93800

>"Новый удобный си" от создателей оригинала называется го. Как видишь, у них тоже не вышло.


Новый си, это как минимум неуправляемый язык, низкого уровня
413 1293814
>>93813
У тебя уже есть си. Зачем тебе еще один такой же?
414 1293816
>>93813

>от создателей оригинала называется го


Какое отношение Пайк имеет к Си? Го пидерский только за :=
415 1293824
>>93816
Такое же как и Томпсон, опосредованное. Но все-же, имеет.
416 1293826
>>93814

>У тебя уже есть си. Зачем тебе еще один такой же?


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

У меня кстати большие сомнения что на расте будет легко поддерживать крупный проект крупнее doom 2!.
Быть может я ошибаюсь, но реально ждут расцвет чего крупного, чтобы подтвердить или опровергнуть мысль переписка утилит линукса или дума, меня реально удручают
417 1293831
>>93826
400к строк на расте в фаерфоксе это большой проект или нет?

Вообще твой поверхностный подход не приводит к интересной дискусии.

Проблема в том, что у тебя нет мысли. По крайней мере мы её еще не слышали.
418 1293843
>>93831

>400к строк на расте в фаерфоксе это большой проект или нет?


А что не весь ff?
419 1293845
>>93627

>В связи с тем, что следующая нода теперь пишется на расте


какая нода?
420 1293847
>>93843
Возможно большинство нужных библиотек все еще нет
421 1293849
>>93843
Жирный или тупой, ну хватит.
422 1293859
>>93843
>>93847
Я вот кстати реально не пойму что там 400к может быть. Я, конечно, верю что есть там и больше строк главное чтобы 2018 не складывали комментарии, но что туда добавили?
Рендер? JS-движок? Там блин нефига ничего нету же, каждый год перерисовывают менюшки и все.
Просветите что-ли.
423 1293860
>>93859
Не жирню и не тролю Серёж выпей таблетки
425 1293877
>>93862

>https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/


Бегло пробежался, завтра осилю наверно, но выглядит как натягивания маркетинга на пользователя. Ну типа мы исследовали и на-иследовали вот такую штуку GPU рендер походу, да?.
Я рад за раст, хоть и не нашел упоминание 400к, но у меня пока нет ответа, что программист на раст будет продуктивнее чем С++ в большом проекте, может они пилят потому что деваться некуда или по фану, может на С++ это было бы практичнее как минимум за счет того что не надо с нуля писать многое

В общем, если будет не лень и будут реально большие продуктивные проекты не от команды самого раста, засуньте упоминания в шапку хочется уже историй успеха
427 1293905
>>93888

>https://4e6.github.io/firefox-lang-stats/


наличие java - удивило
428 1293937
>>93905
android же
429 1293982
>>54562 (OP)
Операционная система на расте
https://github.com/redox-os/redox
430 1294686
А есть ли статистика по вкладу компаний в развитие компилятора раста? По типу той, что ежегодно публикуют про ядро линукса. Мне интересно, сколько процентов приходится на компании и сколько на энтузиастов. Похожую статистику про llvm, на котором базируется раст, тоже интересно глянуть.

Кстати, а что теперь с оригинальным растовским компилятором на ocaml, совсем забросили?
431 1294695
>>94686
Открой https://github.com/rust-lang/rust/graphs/contributors и посмотри поименно кто где работал или работает. Топы это Mozilla.
За llvm надо сказать спасибо Apple, это они в свое время решили запилить комплиятор C++ без GNUсной лицензии и взяли llvm за основу. До этого llvm был академической разработкой.
432 1294705
>>94695

>llvm


Со стороны кажется, это для тех кто не может осилить свой компилятор/рантайм. Или я ошибаюсь?
433 1294708
>>94705
Ты путаешь "не может" и "изобретать велосипед".
434 1294711
>>94708
Ну в рамках утопической мечты да, а вот в рамках бизнеса, ты себе добавляешь крайне критичную бизнес зависимость. Причем твой продукт, скорее всего уже обошел, по цене этот LLVM
435 1294717
>>94711
Какую зависимость, у него MIT/BSD-подобная лицензия, ты авторам фактически ничем не обязан, кроме как указать их копирайт где-то в окне about. Собственно поэтому Apple и взялась за это, ей нужен был компилятор для своей системы, который не требовал бы открывать исходники все подряд, как gcc.
Даже если, в теории, llvm пойдет в развитии куда-то не туда, ты всегда можешь форкнуться и остаться на старой версии.
436 1294754
>>94717
Это такая классика и вера в опенсорс. Типа все форкается, всем все платится...

Есть X-библиотека, которая является частью основы (очень сильно влияет на архитектуру, фреймворк). Код долго разрабатывается, кто его создал уже не знает никто. X-библиотека меняет API (например уходит на мажорную версию, старую казнит со временем)
Или другая ситуация, когда нужна какая-то поддержка, а авторы тупят, или код заброшен...

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

В итоге, в проекте со временем начинают выпиливаться все модные и молодежные штуки, понимая что чужие человеко-часы это хорошо, но лишние стек говна - это очень сомнительная вещь для крупного проекта.

Вот раст как раз такой проект и им придется подстраиваться под этот LLVM
437 1294759
>>94754
Пустой пиздеж ни о чем
438 1294767
>>94759
он прав, в llvm часто ломают api https://news.ycombinator.com/item?id=10000611
439 1294786
>>94767
Он написал пустой пиздеж ни о чем в стиле руслана карманова. Если убрать залежи гуманитарного говна для школьников, то остается одно по определению беспруфное утверждение: код любого опенсорс проекта является говном, а код компании, пораженной синдром NIH лучше.

Это, очевидно, не так. Llvm является одим из лучших образов С++ кода, и переплюнуть его невозможно.
440 1294807
>>94754
Многие дурехи еще и на линукс полагаются. Очевидно, что доверять опенсорсу нельзя и нужно писать ядро внутри компании, чтобы не было таких пиздецовых зависимостей.
441 1294817
>>94754

>все форкается



да, всё форкается, если что-то пойдёт не так
так что впустую твоё кукареканье о том, что с эппловской иглы не слезть, не переписывая всё с нуля
форкнут llvm, если понадобится
442 1294841
>>94786

>Llvm является одим из лучших образов С++ кода



я бы не стал превозносить, код как код https://www.viva64.com/ru/b/0446/
вообще, по-хорошему нужна диверсификация - запилить для gcc фронтенд раста - задача интересная, можно даже на этой теме диплом или диссер защитить
для Goвна и D уже запилили, чем раст хуже
443 1294963
>>94786
Вполне реальный опыт.
А что ты хотел от этого текста, вставки кода и формул? съ#бись на свой хабр
444 1294965
>>94841

>чем раст хуже


неосилят
445 1294973
>>94807
сам ты дурёха
компании/сообщества по сути давно форкают ядро линукса, чтобы обеспечить стабильность, бэкпортируют туда патчи и выкладывают свои наработки на kernel.org в виде longterm
446 1295249
>>94841

>запилить для gcc фронтенд раста


Так уже запилен
447 1295263
>>95249

>https://github.com/redbrain/gccrs


>Status


>Very early and out of date


>Latest commit 349ea0a on Jul 17, 2015



это называется "запилен"?

кстати, люди на это дело готовы задонатить через Patreon/Kickstarter
448 1295267
>>95263

>готовы задонатить


так иди пиши, мы в тебя верим.
449 1295273
>>95263

>готовы задонатить


Разве хайп-волна не прошла?
451 1295416
>>95410

>medium

452 1295418
>>95416
Ну и? Тебе не плевать на какой площадке статью опубликовали?
453 1296231
>>93520

>Ты же не будешь отрицать что Quantum сделал фурифокс намного пизже?


Они наконец-то сделали "дублировать вкладку", вы представляете!!! Теперь не нужно тянуться до ctrl и тащить вкладку или устанавливать 100500 плагинов, теперь можно серфить инет одной мышкой, как все нормальные люди!
Слава Quantum, 400 код раста, было написано не зря!

Жду теперь когда в буфер картинку научаться копировать и масштаб нормально делать.
454 1296236
>>96231
Какая связь между интерфейсом, который сделан на html/js и css-движком? Впрочем можешь не отвечать.
Что у тебя там в буфер не копируется и не масштабируется тоже непонятно.
455 1296244
>>96236

> и css-движком


Вебрендер уже тоже засунули, но отключен по умолчанию.
456 1296277
>>96236
Зачем ты делишь продукт на части, мы говорили о релизе Quantum фурифокса? Мне все равно из каких он там вдохновенний состоит, если в нем нет базовой функциональности.
457 1296289
>>96277
Хочешь говорить про фаерфокс, уебывай в /s/.
Это растотред, и мы говорим о расте.
458 1296439
>>96289

>Это растотред, и мы говорим о расте.


Забавно то, что если бы не хейтеры и тролли, раста треда то и не было (как и го треда). Так что зря ты бомбишь, пускай выглядит так, как-будто раст кому-то интересен.
15415874367500.png1,1 Мб, 699x933
459 1296446
>>96439
Хотя, ладно, я отписался от треда. Не понимаю зачем нужен системный язык, без прямого управление памяти, который мудренее чем С++ и по производительности медленнее чем тот же С или С++.

Ну и раскройте мне уже тайну, почему хипстеры ненавидят for(;;) и придумывают какие-то кривожопые рэнжи, лишь бы обойти классический счетчик? самое забавное, в пидоне раньше, по-дефолту, создавался огромнейший массив, который потом перебирался, это же верх гуманитарного гения!
image.png451 Кб, 450x614
460 1296829
>>96446

>Ну и раскройте мне уже тайну, почему хипстеры ненавидят for(;;)


Потому что язык новый и должен быть (по этой моде) не таким как все. Ему просто необходимо на чем-то выехать, например на безобидных сишных конструкциях.
Другое мнение, что новичками классический for кажется сложным или нелогичным.

В любом случаю хорошо, что мода на хипстеров, коворкинг, лофт, барбершоп вымирают быстрее чем успевают выстрелить их пузыри.
461 1296831
>>54562 (OP)

>Rust — невероятно быстрый язык для системного программирования


А на нем можно написать что-то вроде __declspec(naked) void shellcode_begin() {}
__declspec(naked) shellcode_end() {}

И скопипастить байтики от адреса begin до end в нулевые выравнивающие байты кодовой секции?
462 1296888
>>96829

>for кажется сложным или нелогичным


Каким надо быть дегенератом, чтобы for стал сложным?
photo.jpg52 Кб, 900x900
463 1296903
Эй, крабаны что читают всякие статьи/бложики по расту - вы подкидывайте в тред интересных ссылочек, особенно тех что полезны для ньюфагам.

А то весь тред в сраче с хейтерами для которых функции высшего порядка это слишком хипстерство, нужно как диды использовать только for. И похуй что в языке обычный for тоже есть, нужно высрать своё охуенно важное мнение. И насколько я помню в растбуке приводят пруфы того что производительность не сильно-то различается.
464 1296907
>>54562 (OP)
Пасаны, я тыкал ваш раст около года назад.
Ощущения странные.
Есть приятные моменты с выводом типов иммутабельностью и безопасными тредами.

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

Как сейчас дела со всем этим говном?
465 1296948
>>96907

>Не понял как нормально отлаживаться. Или нинужно?


Как-то, в каком-то го-загоне чате я спросил про отладку, кто-то мне сказал, что нужно принты ставить, кто-то сказал что вообще это мне "нинужно". Я попробовал настоять на том, что мне все-таки это нужно и меня забанили. Оказалось потом, что просто отладки нет или есть такая, что лучше бы и не было. Забавно, но ответа "нет", мне бы хватило в тот момент.

Я не думаю что и тут тебе чем помогут, я теперь пытаюсь избегать такие "фан-кружки", я уверен что больше половины сидят в vim и про тулинг даже не слышали.
466 1296986
>>96948
>>96907

>отладка


https://areweideyet.com/

Поддерживают дебаг:
VS Code, Eclipse, IntelliJ IDEA, Visual Studio
467 1297580
>>96948
Кстати, а как ты отлаживаешь проблемы, которые случаются в проде? Там тебе отладчик не поможет.
468 1297591
>>97580

>Там тебе отладчик не поможет.


Понятно, код скомпилированный же.

Как и всегда - локализуешь проблему, воссоздаешь на дев-машине.
Никто на проде, даже в скриптах код не трогает (откатывают код только)
469 1297601
>>97591
В связи с этим у меня вопрос, чем тебе помогает отладчик?
Логи нормальные в любом случае нужны, чтобы если все пойдет по пизде на проде, по ним можно было понять что происходит. Часто поймать нужную инфу в отладчике сложнее, чем воткнуть нужный принтф с условием, как по мне. Особенно если ты отлаживаешь какие-нибудь безумные циклы.
470 1297615
>>96948

>Я попробовал настоять на том, что мне все-таки это нужно и меня забанили


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

Ньюфаги пользуются отладчиком неправильно - а именно, как хуевым способом посмотреть лог в конкретной точке программы, чтобы отладить их лабу в 15 строчек построчно. Как только ты получаешь код из реальной жизни, который будет чем-то из:
1. Асинхронным
2. Мультитрединговым
3. Рекурсивным
4. Со сложными структурами данных, требующих грамотных pretty print'ов, а то и визуализации в графиков

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

>>97591

>Понятно, код скомпилированный же.


Лол. А отладчики по-твоему с исходниками работают что ли?
Как раз та редкая ситуация, когда отладчик нужен - это редкий баг где-то в проде, от которого у тебя есть корка упавшего приложения. Тогда ты берешь корку, грузишь в отладчик, и смотришь детальный стектрейс.
Еще отладчики хороши для реверс-инжиниринга.
471 1297624
>>97615
>>97601

>В связи с этим у меня вопрос, чем тебе помогает отладчик?


Ты серьезно? Я знал что тут львиная доля "пет-скрипт программистов", но ты серьезно это спрашиваешь?

Логи на проде нужны чтобы локализовать ошибку, а отладчик на деве нужен, чтобы понять текущие состояние программы при определенных условиях (и посмотреть как это состояние меняется). Не принтами же выводить каждый объект/переменную.

Есть критический минимум, если программист говорит что отладчик не нужен, то значит он не специалист, а простой кустарь, который больших проектов и не щупал.
472 1297626
>>97601
>>97615
Я так понял, эти бараны представляют отладчик в виде консольной тулзовины типа gdb?? Поставьте уже нормальные IDE, никто уже вимом не пантуется
473 1297627
>>97615

>Лол. А отладчики по-твоему с исходниками работают что ли?


>Как раз та редкая ситуация, когда отладчик нужен - это редкий баг где-то в проде, от которого у тебя есть корка упавшего приложения


Еще один момент, когда понимаешь что эти люди даже не программисты. Чтобы отладчик отлаживал, ему нужно вставлять свои ништяки в код, никто в прод не релизит дебаг-сборку!
474 1297648
>>97624

>Не принтами же выводить каждый объект/переменную.



В 90% случаев это удобнее, если программа не ёбнулась с сегфолтом, но Раст от этого, как правило, защищает.
475 1297650
>>97624

>Не принтами же выводить каждый объект/переменную.


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

>Есть критический минимум, если программист говорит что отладчик не нужен, то значит он не специалист, а простой кустарь, который больших проектов и не щупал.


Наоборот. Это ведь ты школота, которая пытается выглядеть охуенно опытным анонимусом, выдумывая себе какие-то большие проекты. Если точнее, ты жертва эффекта Даннинга-Крюгера.
Чем больше проект, тем бесполезнее тебе отладчик. Потому что, встав в точке останова, ты ничего о состоянии большого проекта не поймешь - за минуту могут происходить миллионы событий, и твои попытки трейсить вручную ни к чему не приведут - кратковременная память в мозгах переполнится. В больших проектах помогают только многомегабайтные трейсы и их вдумчивый анализ в текстовом редакторе.

>Еще один момент, когда понимаешь что эти люди даже не программисты. Чтобы отладчик отлаживал, ему нужно вставлять свои ништяки в код, никто в прод не релизит дебаг-сборку!


Опять наоборот.
Это не "ништяки", а debug symbols. Их не нужно поставлять юзеру, они генерируются отдельно в релиз-сборке и подключаются при отладке корки. Дальше при получении корки от юзера, ты берешь бинарник, корку, символы и все видишь. Естественно, с учетом того, что у тебя скомпилировано с -O2 и какие-то вещи могут быть заинлайнены, например, но в целом и так норм.
Но и без них можно загрузить корку под отладчиком.
476 1297669
Как вам вариант №3: сделать код тестируемым, чтобы на любую возникшую проблему можно было написать тест-кейс.

Я ни разу не раст-программист, но думаю тут большинство не только на расте пишет.
477 1297671
>>97669
Напиши тест кейс на рейс кондишн который возникает каждую четвертую пятницу если фаза луны отличается от предыдущей.
478 1297673
>>97671
Думаю, можно написать, если замокать получение даты/времени.

А как в этом случае дебаггер поможет?
image.png70 Кб, 200x200
479 1297917
>>97648

>В 90% случаев это удобнее


Кому ты будешь звездеть? Удобнее чем поставить маркер и получить высер всех состояний в методе (причем подставленные визуально для всех выражений)?
Вы с какого языка такие перебегаете?
1542661250643.gif609 Кб, 313x192
480 1297926
Чем раст сейчас модно дебажить? CLion? VS Code?
481 1297929
Ввиду новых подробностей сообщества раста и его отношения к отладке, срочно была сделана замена "символ-картинки" раста (с первого на второй вариант), не забудьте обновить методички.
482 1297936
>>97917
Не, окей, у меня на работе проект на плюсах - ебаный пиздец, где ни про какое MVC и паттерны проектирования не слышали, и там единственный способ что-то протестировать - это поставить брейк на обработчик определенной кнопки, но я ёбаный романтик и хочу верить в то, что есть проекты, где такого дерьма не больше 50%.
image.png108 Кб, 394x274
483 1297948
>>97936
Еще 14 лет назад, в пхп, скидывали все данные в один мега массив, чтобы не дрочиться с принтами на каждый чих в dev-режиме все это печаталось в тхт файл, потом запилили красивый html со спойлерами и всякой статистикой. Там данных было на 2-3 листа A4. Несмотря на эту партянку, это было реально удобнее чем навтыкать принты, а потом еще забыть про них и забывали, даже в регресс-тестах чекали где, какой обмудок забыл удалить. Тупо человеческий фактор.

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

Похожий подход "в одну кучу" видел в IPB форумах 2.x.x версий, может даже и в 3 было.
Людей реально за..бывало принтить пачку говна, они хотят видеть текущие состояние и как оно меняется.

Поэтому в крупном приложение (я такие видел на жабе), ты еще минут 30 будешь пошагово "искать место, где надо начать искать", а только потом уже принтить состояния.
О каких принтах и логах можно там говорить вообщелоги уровня debug и ниже - шумом засирают весь вывод к х..ям
484 1297953
>>97948
Ну и в дебагере удобно изучать исполняющийся код
485 1297958
>>91436
да, раст входит в си-фэмили
486 1297988
>>97958
Ага, а ещё в ML-фемели.
487 1298084
>>97948
Мутабельная парашу в 900 строк что так что этак заебно отлаживать.
488 1298286
>>98084

>Мутабельная парашу в 900 строк что так что этак заебно отлаживать.


Можешь пойти и сделать её иммутабельной и получить еще 7200 строк клонированных данных по всем уголкам программы.

Пхп не хранит состояний, после окончания все начинается заново, надо быть одарённым программистом чтобы делать там иммутабельные состояния потому что ты у нас вумненький и прочитал это в очень вумной книге, значит надо без разбору пихать этот дроч везде
489 1298291
>>98286
Мань, пхп настолько даунское говно, что я даже не понимаю зачем ты сюда это притащил.
490 1298325
>>98291
Но обосрался с иммутабельностью ведь ты?
491 1298328
>>98325
Хватит фантазировать. Иммутабельность позволяет избавится от огромного класса проблем.
492 1298398
>>98328
И создать новые
493 1298424
>>98398
Например?
494 1298529
>>98291

>пхп настолько даунское говно


пхп с каждым годом всё лучше и лучше, чего ты начинаешь?
495 1298530
>>98529
Да, да, ты еще скажи что жава с добавлением лямбд стала нормальным языком.
496 1298827
В андроид можно на расте?
497 1298840
Аноны, на раст года через 2 вакансии появится? Стоит вкатываться
498 1298841
>>98840
Вакансии уже есть. Просто не для ньюфагов.
499 1298941
Буквально в 20 раз меньше чем на плюсах, но и в вакансиях на расте нужны плюсы :(
500 1298944
Буквально в 20 раз меньше чем на плюсах, но и в вакансиях на расте нужны плюсы :(
501 1299161
>>96831
U N S A F E

И можешь ебаться с байтами прям как в уютненьком C.
502 1299180
>>98941
Вкатился в работу на раст, имея год опыта на питоне (скорее стажировка, чем работа) + знания плюсов и, собственно, раста чуть выше уровня лаб в универе. Даже пока не уволили. Так что даже ньюфагом можно, если постараться.

>>98944
Это не совсем так. Скорее требуется или знание раста (и немного мозга), или более серьезное знание любого языка, реально применящегося на практике (у нас есть люди, перекатившиеся с разных языков: C, C++, Java, Python, Scala). Из плюсов, что скорее всего от тебя кроме языка ничего особо требовать не будут, ибо нет каких-то must have фреймворков (типа Boost, Spring, Django), которые надо знать.
503 1299181
>>98841
>>99180
Блять, проебался с ответом
504 1299236
>>99180
Рассказывай над чем работаешь.
505 1299382
>>98328

>от огромного класса проблем


Ну-ка, ну-ка расскажи из вумной книжке, как это в пхп поможет, в котором не хранятся состояния??? обосрался же
image.png286 Кб, 445x372
506 1299383
>>99180

>Вкатился в работу на раст, имея год опыта на питоне

507 1299397
>>98827
rustup target list
508 1299460
>>99382
Может быть у тебя сессии нет на каждого юзера? Или в бд ты не ходишь по ходу сборки страницы? А хоть какие-то long-running задачи у тебя есть, или ты сложнее todo-списков ничего не делаешь?
509 1299490
Перекатываемся? Что добавить в шапку?
exercism?
510 1299519
>>99460

>Может быть у тебя сессии нет на каждого юзера? Или в бд ты не ходишь по ходу сборки страницы?


Каким боком внешние данные относятся к иммутабельности языка? Ты туп и обосрался и вообше эти данные, между запросами, для языка - будут новыми, пхп не хранит состояния и ему в принципе не нужна иммутабельность, потому что все данные, даже копии иммутабельные, буду сквозными, "на раз". То есть, основная проблема глобального состояния, не решается (модульность будет мнимой).
512 1299822
>>99236
Блохчейн. Тащемта большая часть вакансий (в москве так точно) на расе почему то так или иначе с этим связана. Хотя вроде была вакансия от Netcracker, там что-то другое.
Тред утонул или удален.
Это копия, сохраненная 20 декабря 2018 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски