Pull to refresh

Comments 27

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

Я вместе с ии учу язык. Если мне что то не понятно он очень подробно объясняет все.

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

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

И по поводу языков. Rust c c++ сложно понять если не знаешь суть задачи сервиса.

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

А ещё сложнее понять Perl или, не дай бог, Raku... А ведь на них пишут проекты.

У меня обычно нет задачи изменять код, только доставать из него информации. С изменением кода, конечно, все сложнее.

Интересный случай когда оба правы. You know, I'm something of a technical writer myself, и очень люблю таких зануд как комментатор выше. Сам-то всегда смотришь только с одной точки зрения, и требуется вторая пара глаз, чтобы подметить кошмар техписа - место, в котором тебя могут понять неправильно :)

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

Один из самых показательных примеров (раз уж мы в хабе про РНР) - это страничка документации про генераторы. Примерно 80% пхпешников после её прочтения остаются в убеждении, что генераторы служат для экономии памяти. Читая приведенный ниже абзац,

Генератор помогает писать код, который использует foreach для перебора набора данных без необходимости создания массива в памяти

они по какой-то неведомой причине проскакивают середину и воспринимают это предложение как "Генератор помогает писать код без необходимости создания массива в памяти". И получают на 100% некорректное утверждение: код, который не требует создания массива в памяти, реализуется совсем другими механизмами. А генератор всего лишь позволяет "поженить" эти механизмы с командой foreach.

Увы, добиться изменения этой формулировки нереально - если читать её целиком, то она на 100% корректна и менять её никто не будет. И при этом большиство понимает её неправильно. Такой вот интересный феномен.

То есть, даже заголовок "Как использовать Google или Яндекс" не раскрыт. Ибо объяснением "как" слова "погуглите" или "введите (куда?!) вопрос" не являются. А весь замах первых главок статьи ушёл в этот абзац. Вроде как предполагается, что все и так всё знают. Но если и так знают - зачем этот текст? Чтобы рассказать, что автор не понимает, что за стрелочки? Так что же за стрелочки? Тоже нет ответа.

Я вот подумал - техническое описание, которое в результате напишет технический писатель по прочтении этой статьи, тоже будет в этом стиле? Погуглите... Спросите ChatGPT...

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

К сожалению, я не могу делать примеры на коде, который находится под NDA)

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

И я хочу сказать, что стрелки действительно поставили меня в ступор, поэтому им выделено такое количество времени. И пример для Google про них.)

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

Да, можно было дополнить про специальные операторы, например. Я хоть и давний пользователь гугла, но иногда бывают промашки.

Недавно, например, увидел, что время в логах сервера на 3 часа отличается от нужного. Казалось бы, точно помню, что GMT отличается от МСК на 3 часа, но решил навскидку загуглить для верности, и ввёл "мск gmt -3" и в первом же раскрывающемся ответе вижу:

Сколько Москва GMT?

Со 2 мая 1924 года московское время стало соответствовать GMT+2.

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

Очень интересно. Спасибо! Учту на будущее.

Поправьте пожалуйста "Leravel"

И хотелось бы больше узнать про фасады, а то как-то вскользь упомянули и пошли дальше)
И да, а что в итоге, какой нашли ответ на вопрос: "Что это за стрелочки в PHP?"

Складывается такое впечатление, что о самом интересном и не рассказали)))

Ой, спасибо. Да, Laravel.

Давайте сегодня вечером раскрою мысль и допишу. Спасибо за комментарий)

Еще один загадочный оператор в РНР - это троеточие. Он используется для реализации трёх различных механизмов, причем если первые два хотя бы очень близкие, то третий к ним не относится вообще никак.

И здесь мы сталкиваемся с очень большой проблемой Stack Overflow (и - как следствие - чат жипити): этот сайт напоминает кладбище, ответы на котором напоминают замшелые монументы, возведенные в незапамятные времена. Сама идея такого Q&A сайта изначально порочна: механизма редактирования информации (как например в википедии) не предусмотрено. Да, можно написать свой новый ответ. Который никто не увидит в самом низу длинного списка реплик, написанных при царе Горохе.

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

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

Никто не запрещает обратиться к официальной документации. Лично мне гугл выдал её третьей ссылкой.

Не очень понятно, зачем вы решили поделиться со мной этой информацией, но раз уж мы все равно здесь, то два уточнения:

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

Во-вторых, по очевидным причинам на этой странице рассматриваются только два механизма. А я говорил о трёх. И документация на третий находится гуглем только если заранее знать, как он называется. Что превращает поиски в замкнутый круг.

Кстати, далеко не факт, что у вас двоих третья ссылка в поиске - одна и та же страница.

Ну это как раз не принципиально. Первая, пятая - главное чтобы была. А тут как раз проблема в том, что в документации нет единой страницы, которая объясняла бы все варианты, и приходится смотреть по другим источникам.

Во-первых, это не совсем та документация. 

Я вот про это. Не так уж редко бывает сложно сказать, какая именно документация официальная, и уж тем более, если две ее страницы дополняют (а то и противоречат друг другу) - то источника правды может вовсе и нет. Ну так, чисто для примера: насколько русская документация по постгресу от postgres pro является официальной? И если да, то она официальна для сборок postgres pro, или для ванильного postgresql тоже?

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

источника правды может вовсе и нет

Источник правды — это исходный код. Если продукт за деньги и закрытый, то источник правды — тот кому вы заплатили.

Я это всё к тому, что человек ищущий ответов в интернете должен иметь ввиду контекст. Если он смотрит SO, то надо иметь ввиду дату ответа и популярность вопроса. Если, наоборот, официальную документацию, то надо иметь ввиду версию. А пенять SO, на то, что там не регулярных обновлений — странно. Вот упрёки в сторону официальной документации, на то, что там среди операторов не упомянуто многоточие были бы справедливыми. Ну и упрёки разработчикам языка за такое разнообразное использование знаков пунктуации, тоже вполне справедливы.

Пенять на SO не странно. У них на заглавной странице написано, что они мечтают стать "библиотекой детальных высококачественных ответов на любой вопрос по программированию". А по факту стали кладбищем, утыканным памятникам людской спеси. С редкими исключениями из этого правила.

Кроме того, SO задумывался как расширение документации. Часто бывает так, что человек прочел документацию, но ничего не понял. В задачу документации не входит разжёвывание. В частности, наличие отдельной странички, где перечисляются все варианты использования того или иного символа. Но для этого подходит Stack Overflow. И в данном случае, ценой некоторых усилий, он выполняет эту свою функцию.

Но вот надеяться, что это будет верно для всех остальных случаев - увы, нельзя.

Хорошо, что в C# есть только => 🙂

Я никого не призываю избегать коллег и пытаться во всем разобраться самостоятельно

А я призываю. А то целое поколение выросло на этих ваших SO. Сами уже гуглить ленятся

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

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

Для полноты картины, двойная стрелочка также используется

  • в конструкции foreach, когда мы хотим получить не только значение, но и ключ.

  • в выражении match

Sign up to leave a comment.

Articles