The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проект NGINX опубликовал инструментарий для разработки модулей на языке Rust, opennews (?), 13-Окт-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


9. "Проект NGINX опубликовал инструментарий для разработки модул..."  +2 +/
Сообщение от Аноним (9), 13-Окт-23, 11:33 
Синтаксис просто ужасный. На написание простого парсера csv потратил гораздо больше сил и головной боли, чем на C, C++ и Dlang.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

10. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (9), 13-Окт-23, 11:33 
Парсер csv -- просто как пример упомянул. Понятно, что к вебу это не относится прямо.
Ответить | Правка | Наверх | Cообщить модератору

30. "Проект NGINX опубликовал инструментарий для разработки модул..."  –3 +/
Сообщение от Аноним (2), 13-Окт-23, 12:10 
Типичная работа с csv в питоне выглядит примерно так, неужели в расте нет стандартных батареек для такого и надо тратить своё время? Есть даже поддержка разных "нестандартных" csv с произвольными разделителями. А что до затратности, ведь есть варианты. С си это тоже скорее будет flex/bison, чем стейт-машина. Да и вопрос привычки, кому-то и питон не нравится.

with open(path, 'r', newline='', encoding='utf-8') as csvfile:
    with open(path_target, 'w', newline='', encoding='utf-8') as csvfile2:
        reader = csv.DictReader(csvfile)
        writer = csv.DictWriter(csvfile2, fieldnames=reader.fieldnames)
        for row in reader:
            writer.writerow(row)

Ответить | Правка | Наверх | Cообщить модератору

38. "Проект NGINX опубликовал инструментарий для разработки модул..."  +3 +/
Сообщение от Анонимусс (?), 13-Окт-23, 12:35 
Ну, в расте какбэ аналогично https://github.com/BurntSushi/rust-csv
Не вижу особых различий

    let mut rdr = csv::Reader::from_reader(io::stdin());
    for result in rdr.records() {
        let record = result?;
        println!("{:?}", record);
    }

Ответить | Правка | Наверх | Cообщить модератору

46. "Проект NGINX опубликовал инструментарий для разработки модул..."  +3 +/
Сообщение от Аноним (46), 13-Окт-23, 13:18 
Анекдот.

Встретились два растовика:
- result?
- println!

Ответить | Правка | Наверх | Cообщить модератору

50. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Анонимусс (?), 13-Окт-23, 13:24 
Шутку оценил))
Но все равно не понимаю почему вам это не нравится.
Ведь намного удобнее сразу понимать что это макрос, чем угадывать как в некоторых языках.
А про optional... это было еще до раста.
Ответить | Правка | Наверх | Cообщить модератору

28. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от Аноним (43), 13-Окт-23, 12:07 
Синтаксис это вкусовщина
Хочешь сказать что void *func(void* i) сильно лучше?
Возможно оно тебе понятнее - но только потому, что ты к этому привык.

Я уже молчу про хтонические примеры, которые могут выпрограммировать тру-кодеры на Сях вида
*((char*)0)=null или printf("%d", *((char*)ptr+4));

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

32. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от zezic (?), 13-Окт-23, 12:14 
>Синтаксис просто ужасный.

Не ужаснее, чем в плюсах.

>написание простого парсера csv

А почему потребовалось его писать? Тут ведь есть – https://crates.io/search?q=csv

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

33. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Аноним (9), 13-Окт-23, 12:20 
> А почему потребовалось его писать?

Потому что писал его на других языках и хотел сравнить опыт разных языков.

Ответить | Правка | Наверх | Cообщить модератору

34. "Проект NGINX опубликовал инструментарий для разработки модул..."  +3 +/
Сообщение от zezic (?), 13-Окт-23, 12:24 
Тогда реально интересно было бы, если бы ты поделился конкретными ужасами синтаксиса, чтобы понятно было, о чём речь. А есть ссылка на репу?
Ответить | Правка | Наверх | Cообщить модератору

53. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от НяшМяш (ok), 13-Окт-23, 13:31 
Там вручную его написать, даже пользуясь стандартной библиотекой, элементарно.
1. Читаем стрим или готовую строку построчно:
https://doc.rust-lang.org/std/io/trait.BufRead.html#method.l...
https://doc.rust-lang.org/std/primitive.str.html#method.lines
2. Делаем split по сепаратору и получаем значения столбцов
https://doc.rust-lang.org/std/primitive.str.html#method.split
3. Складываем результат куда надо, профит
Ответить | Правка | Наверх | Cообщить модератору

58. "Проект NGINX опубликовал инструментарий для разработки модул..."  –2 +/
Сообщение от пох. (?), 13-Окт-23, 13:59 
> Там вручную его написать, даже пользуясь стандартной библиотекой, элементарно.
> 1. Читаем стрим или готовую строку построчно:

fail

> 2. Делаем split по сепаратору и получаем значения столбцов

epic fail
> https://doc.rust-lang.org/std/primitive.str.html#method.split
> 3. Складываем результат куда надо, профит

складываем результат в помойное ведерко, идем изучать формат csv и какие в нем бывают подводные камни.

[написал-стер, сам ищи]

После чего открываем, наконец, книжку про конечные автоматы и горько плачем (потому что там в примерах - все на фортране).

И вот так у экспертов опеннета - за что ни возьмутся.

Ответить | Правка | Наверх | Cообщить модератору

62. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от НяшМяш (ok), 13-Окт-23, 14:19 
Это не меняет того факта, что написать _простейший_ цсв парсер _элементарно_ на любом языке. Для всего остального есть готовые библиотеки, где предусмотрено если не всё, то большинство подводных камней, покрыто тестами и фаззерами.

> И вот так у экспертов опеннета - за что ни возьмутся.

Главный эксперт опеннета явно знает о чём говорит. Только вот дети, играя в песочнице, не желают слышать старого дядьку-экскаваторщика как правильно копать надо. А у взрослого мужика своя голова на плечах есть (если он не кексперт опеннета конечно), даже из хренового совета способен сделать верные выводы.

Ответить | Правка | Наверх | Cообщить модератору

68. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от пох. (?), 13-Окт-23, 15:37 
> Это не меняет того факта, что написать _простейший_

то есть неправильно работающий.

Ну да, можно. Годится для четвероклассника на первом уроке информатики. Садись, три. На четыре все же следовало хотя бы знать ограничения. А для понять что собой представляет язык - взрослому мальчику - не годится, взрослые мальчики уже умеют правильно оценить задачу. Насчет найти правильное решение - не всегда. Зря я не стер подсказку, было бы забавно предоставить тебе и полюбоваться на неправильные ответы.

Ответить | Правка | Наверх | Cообщить модератору

82. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Прохожий (??), 14-Окт-23, 11:51 
Там вверху человек сравнивает Питон (использует при этом библиотечные функции) и Раст, без таковых.
Объяснить главному эксперту, в чем ошибка в методике, или он сам догадается?
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

86. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от пох. (?), 14-Окт-23, 12:41 
нет. Там вверху - человек написал (и не стал вам показывать, потому что делал для себя) свой парсер. И сделал выводы по результатам своих трудозатрат, которые и озвучил.

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

Уровень интеллекта опеннета - неспособность даже разобраться кто кому и о чем писал и как это связано (если) с первоначальным предметом обсуждения.

Ответить | Правка | Наверх | Cообщить модератору

74. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от freecoder (ok), 13-Окт-23, 21:49 
Без предъявления кода и говорить не о чем.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

93. "Проект NGINX опубликовал инструментарий для разработки модул..."  –1 +/
Сообщение от пох. (?), 15-Окт-23, 10:26 
> Без предъявления кода и говорить не о чем.

предъявляй свой, чего ж. А, ты не умеешь кодить...


Ответить | Правка | Наверх | Cообщить модератору

97. "Проект NGINX опубликовал инструментарий для разработки модул..."  +1 +/
Сообщение от Советский инженер (ok), 15-Окт-23, 12:23 
>предъявляй свой, чего ж. А, ты не умеешь кодить...

предъявляй свой, чего ж. А, ты не умеешь кодить...

Ответить | Правка | Наверх | Cообщить модератору

98. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от пох. (?), 15-Окт-23, 14:29 
> предъявляй свой, чего ж. А, ты не умеешь кодить...

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

(и да, как ни смешно - у меня есть такой код. Когда-то давно мне понадобился парсер csv, работающий а не "в 80%" как тут у некоторых.)

Ответить | Правка | Наверх | Cообщить модератору

106. "Проект NGINX опубликовал инструментарий для разработки модул..."  +/
Сообщение от Советский инженер (ok), 15-Окт-23, 19:13 
>мне просто неинтересно с тобой ничего обсуждать, совковый ушлепок, поэтому перетопчешься.

потому что ты со своим приземленным IQ даже не понимаеш на что отвечаеш.

>(и да, как ни смешно - у меня есть такой код. Когда-то давно мне понадобился парсер csv, работающий а не "в 80%" как тут у некоторых.)

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

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру