?

Log in

дьявол в деталях - Поклонник деепричастий [entries|archive|friends|userinfo]
Anatoly Vorobey

[ website | Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Links
[Links:| English-language weblog ]

дьявол в деталях [фев. 28, 2017|03:00 pm]
Anatoly Vorobey
[Tags|]

Вот чего я никогда не понимал в программировании, так это как люди помнят все подробности месяцы и годы после того, как они этим пользовались. Какой синтаксис тут, как называется функция там. У меня это все подчистую исчезает из памяти максимум через полгода, а обычно быстрее. Типа, полгода не писал на Перле - забыл ВСЕ. Понадобился язык снова - вспоминаю... не как с нуля, понятно, но не особо легче, чем что-то, чем 10 лет не пользовался.

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




Очень солидарен с этим - прочел и рассмеялся, потому что буквально вчера писал что-то мелкое на Питоне и не мог вспомнить, как брать длину строки.
СсылкаОтветить

Comments:
Страница 1 из 2
<<[1] [2] >>
[User Picture]From: prol_prolych
2017-02-28 01:08 pm
Да, есть такое. Я запоминаю не содержание, а где его найти. :о) До интернета я запоминал в какой книге и примерное место где я видел цитату. Теперь стало проще, гуглю книгу, где я видел цитату :о)))
(Ответить) (Thread)
From: (Anonymous)
2017-02-28 04:11 pm

Запоминается то, что не случайно.

Надолго запоминаются те конструкции языка, которые не случайны, а являются следствием каких-то абстрактных принципов.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: a_konst
2017-02-28 01:08 pm
+1. Если я не вижу перед глазами в коде на экране взятие длины строки, и если я не писал это в пределах последних нескольких дней, то лезу в доку. Просто для уверенности.
(Ответить) (Thread)
[User Picture]From: redis
2017-02-28 01:10 pm
Да, есть такое, даже в языке, которым постоянно пользуюсь, но вот конкретный функционал нужен раз в полгода. Гугль даже услужливо подсказывает, что я уже это искал :)

По этой причине не хожу на собеседования, где надо наваять программу на бумаге - давно так не умею, да и необходимости не вижу
(Ответить) (Thread)
[User Picture]From: a_konst
2017-02-28 01:48 pm
Да и вообще концепция, что на интервью надо проверять знание технических деталей, устарела.
(Ответить) (Parent) (Thread) (Развернуть)
(Удалённый комментарий)
[User Picture]From: catpad
2017-02-28 01:16 pm
Абсолютно то же самое. Всё ещё усугубляется тем, что они все постоянно меняются - Python 2.7, Python 3, C++11, C++14, C++17 - не успел какое-то правило выучить, оно уже поменялось.
Вот вчера только пытался запомнить, чем xrange отличается от range и в какой версии. Сегодня забыл.
(Ответить) (Thread)
[User Picture]From: gianthare
2017-02-28 04:55 pm

Миша! Ты пишешь на Питоне?!

(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: maxdz
2017-02-28 01:24 pm
>как люди помнят все подробности месяцы и годы после того, как они этим пользовались

Подробности синтаксиса и прочей языко-зависимой мишуры, повода помнить нет. Но что именно уже писал и примерно где - помнить полезно. Иначе, есть риск часто переизобретать велосипеды.
(Ответить) (Thread)
[User Picture]From: Roma Kraminskij
2017-02-28 01:25 pm
Гугл само собой, но зачем вообще помнить точное имя метода? Или его синтаксис? Базовый функционал IDE, той же студии сам предложит список методов объекта и проверит синтаксис при его вызове. Более того система проверяет правильность кода в контексте системы, например предупредит о deprecated коде.

Помнить нужно как примерно работает фреймворк(движок) или объект, точное знание синтаксиса необходимо для идиотских собеседований где требуют писать на бумаге работающий код.
(Ответить) (Thread)
[User Picture]From: heinza
2017-02-28 02:57 pm
+++
(Ответить) (Parent) (Thread)
[User Picture]From: shadow_ru
2017-02-28 01:29 pm
Я так понимаю, это волна, вызванная этой статьей:

http://www.yegor256.com/2017/02/21/say-no-to-google-recruiters.html
(Ответить) (Thread)
[User Picture]From: pritkiy_kaban
2017-02-28 02:18 pm
Все же идиоты в рекрутинге - тема более широкая, чем вопрос "кто как поддерживает инструменты в заточенном виде и надо ли это делать" :)
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: gegmopo4
2017-02-28 01:41 pm
Как перебрать все элементы массива в Си?
for (i = 0; i < length; i++) {
    x = a[i];
}

Как получить длину строки в Си?
strlen(s)

Как перебрать все символы строки в Си?
for (i = 0; i < strlen(s); i++) {
    x = s[i];
}

Теперь я понимаю, как получается такой код.
(Ответить) (Thread)
From: epimorphisms-split.dreamwidth.org
2017-02-28 05:00 pm
Следующая ступень — понять и рассказать, как получается такой код:

strncpy (dst, src, strlen(src));

Я который год бьюсь, а сформулировать не могу.
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: norian
2017-02-28 01:42 pm
чтобы запомнить кучу мелких деталей, надо потратить кучу времени и усилий, и эти знания с некоторой вероятностью никогда не пригодятся, ну и забывание со временем тоже присутствует - нейроны освобождаются для новых задач

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

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



Edited at 2017-02-28 13:48 (UTC)
(Ответить) (Thread)
[User Picture]From: hervejoncour
2017-02-28 01:45 pm
О, да! Если каждый день какие-то проблемы и задачи необходимо решать, то вспомнить что ты написал 5 месяцев назад, если это только не критический кусок, практически невозможно. Я в таких случаях говорю, что мне нужно пару минут to refresh my memory.

Nice excerpt :)))

Кстати, тут можно поговорить о том, что требуется от программера, знание api calls or understanding of design principles and patterns. Я голосую за второе.

А то я тут вчера столкнулся с кодом, в котором hard-coded paths and catch block is empty.
(Ответить) (Thread)
[User Picture]From: alxt
2017-02-28 02:01 pm
Тут проблема скорее в python'е.
В java я просто нажимаю . и начинаю набирать очевидное len - и мне предлагают дописать gth(). Потому что всё логично- длина строки это length().

Всё долно быть просто и логично, а python и perl вообще знать не надо :)
(Ответить) (Thread)
From: edo_rus
2017-02-28 02:11 pm
Всё долно быть просто и логично

я ниже об этом же написал, назвав это "интуитивностью".

P.S. уверен, что для кого-то и перл прост и логичен.
(Ответить) (Parent) (Thread) (Развернуть)
From: edo_rus
2017-02-28 02:08 pm
меня удивляет, что такое количество людей отвечает в духе "да это не проблема".

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

КМК решение - использование интуитивных (или хорошо знакомых) инструментов. при этом оценка "интуитивности" индивидуальна.

Edited at 2017-02-28 14:10 (UTC)
(Ответить) (Thread)
[User Picture]From: bolk
2017-02-28 02:10 pm
Ну не знаю, я помню. Когда долго не пишешь, просто дольше вспоминается, но вспоминается. Потом, когда начинаешь писать регулярно, уже ничего из памяти не вылетает, исключая уж совсем какие-то мелочи, но я помню что они есть, по крайней мере.
(Ответить) (Thread)
[User Picture]From: pritkiy_kaban
2017-02-28 02:10 pm
YMMV. Одно застревает, другое нет.

У меня ВСЕ скриптово-интерпретируемые языки вносит ветром в одно ухо и выносит из другого. Притом, например, не то что не забыл VHDL (с которым, к слову, связаны не лучшие рабочие годы) за 6 лет, а сначала сел и начал работать, и только спустя дни подумал, что шахматы сии не трогал давно :)

Edited at 2017-02-28 14:11 (UTC)
(Ответить) (Thread)
[User Picture]From: yucca
2017-02-28 02:25 pm
О, теперь и я могу признаться, что регулярно забываю, как брать длину строки.
(Ответить) (Thread)
[User Picture]From: ign
2017-02-28 03:15 pm
Учитывая, что на Perl'е, Python'е, Java, JavaScript'е, Bash'е и SQL это надо делать по-разному (на Perl'e и SQL формально одинаково, но есть нюансы), и плюс к этому надо помнить и не путать с длиной массива, и плюс к этому в Java есть массивы разного вида с разным синтаксисом, неудивительно, что мало кто все это держит в голове.
(Ответить) (Parent) (Thread) (Развернуть)
From: dmpogo
2017-02-28 02:34 pm
Проблема что такое отношение к знанию теперь часто и в других областях, не только в программировании. В конце концов это как плохо знать иностранный язык, когда постоянно надо пользоваться словарем. Все эти 'за пару секунд посмотрим' - это про удобство костылей, когда можно было и бежать.
(Ответить) (Thread)
[User Picture]From: fortunatus
2017-02-28 02:56 pm
s.index(s[-1])+1
(Ответить) (Thread)
[User Picture]From: fortunatus
2017-02-28 03:03 pm
Упс! Ошибочка.
s.find(s[-1],-1)+1
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: dzz
2017-02-28 03:02 pm
> писал что-то мелкое на Питоне и не мог вспомнить, как брать длину строки

Это, как раз, нормально для людей, знающих "в принципе" 2-3 десятка языков, но редко на них программирующих. Но сейчас хоть в бумажные мануалы за синтаксисом лезть не нужно.

Я позавчера вспоминал параметры функций для работы с файлами в C, тоже подзабыл порядком.

Edited at 2017-02-28 15:07 (UTC)
(Ответить) (Thread)
[User Picture]From: ign
2017-02-28 03:05 pm
Язык-то, конечно, вспомнить легче, чем учить с нуля... Но вот я помню, как лет 20 назад писал программы на Perl'е с какой-то фантастической скоростью, как мне казалось и тогда и сейчас, самой собой разумеется безо всякого подглядывания в интернет и мануалы. Сейчас мне снова приходится время от времени что-то писать на Perl'е, и боюсь, что тогдашнего уровня я не достигну уже никогда, даже если посвящу этой цели всю оставшуюся жизнь.
(Ответить) (Thread)
[User Picture]From: cepera_k
2017-02-28 03:08 pm
Слава богу, что вы (все) это написали, а то я страдал комплексом неполноценности.
(Ответить) (Thread)
[User Picture]From: prol_prolych
2017-02-28 03:17 pm

длина строки

Вы в каких попугаях длину строки то меряете? :о)))
Везде уже utf-8, а вы тут какие-та баги на це печатаете
(Ответить) (Thread)
From: epimorphisms-split.dreamwidth.org
2017-02-28 04:22 pm

Re: длина строки

Как будто у количества символов (кстати, что это?) в строке есть какой-то сакральный смысл. Сколько символов в строке "état", можете с ходу сказать? А в строке "столя́р"? "יָּמִֽין"? "देव"? А также зачем это нужно знать и какой функцией измерить?
(Ответить) (Parent) (Thread) (Развернуть)
[User Picture]From: aosypov
2017-02-28 05:47 pm
угу, только в Перле можно сказать подходящее слово, и оно скорее всего будет правильным, а вот в R, например -фигу, надо читать
(Ответить) (Thread)
[User Picture]From: angerona
2017-02-28 09:09 pm
ааааа, ты говоришь это нормально?!

Ааааа!

Какого черта я тогда столько лет считаю, что не могу быть программистом (ну то есть что не могла бы быть) потому что я так быстро забываю все эти подробности синтаксиса, в отличии от "Настоящих" программистов, которые их все как раз посмотрели, так всегда помнят?
(Ответить) (Thread)
[User Picture]From: freedom_of_sea
2017-03-01 12:50 pm
забавно как комментаторы хвалят Перл и силятся вспомнить синтакис Питона
(Ответить) (Thread)
Страница 1 из 2
<<[1] [2] >>