psilogic: (Default)
psilogic ([personal profile] psilogic) wrote2010-09-01 02:17 pm

Ехидно...

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

Это когда код пишется и отлаживается под Linux с помощью командной строки и vi...

[identity profile] bigfrogg.livejournal.com 2010-09-01 01:57 pm (UTC)(link)
То есть по вашему программирование это там где набирается и отлаживается код? Видимо вы не программист. Программы пишутся прежде всего в голове, набор когда и отладка занимается максимум процентов 20% по времени обычно. Это во-первых.
Vi, ну пускай не vi а vim по количеству написанного в нём человечеством кода думаю будет не меньше чем какой-нибудь eclipse. Это во-вторых.

[identity profile] psilogic.livejournal.com 2010-09-01 01:59 pm (UTC)(link)
[ Программы пишутся прежде всего в голове, набор когда и отладка занимается максимум процентов 20% по времени обычно. ]

Ну я не такой тугодум :)))
no1u1w1w6c: (Default)

[personal profile] no1u1w1w6c 2010-09-01 02:00 pm (UTC)(link)
а зачем их писать два раза: сначала в голове, потом в электричестве? не проще ли сразу в электричестве?

[identity profile] bigfrogg.livejournal.com 2010-09-01 02:05 pm (UTC)(link)
В электричестве их набирают.
no1u1w1w6c: (Default)

[personal profile] no1u1w1w6c 2010-09-01 02:09 pm (UTC)(link)
это мне напоминает начинающих изучать иностранный язык: они не сразу читают на иностранном языке, а сначала прочитанное в голове переводят на родной. зачем? непродуктивно совершенно.

так же, как и с языком, с программами по мере приобретения опыта этап «теневого перевода» перестаёт быть нужным.

[identity profile] bigfrogg.livejournal.com 2010-09-01 02:12 pm (UTC)(link)
Обычно с приобретением опыта программисты практически перестают писать код и участвует только в этапе обсуждения, проектирования и контроля.

[identity profile] psilogic.livejournal.com 2010-09-01 02:18 pm (UTC)(link)
это не программисты, а офисный планктон - всякий менеджмент и недоменеджмент, который креативить давно и не хочет, и не может, но думает, что если будет командовать креативщиками, то потом можно сказать "и мы пахали" и поставить свой (C)
no1u1w1w6c: (Default)

[personal profile] no1u1w1w6c 2010-09-01 02:23 pm (UTC)(link)
внизапна! тогда они перестают быть программистами.

а мне, например, не делать код скучно. я люблю видеть, как идея обретает байты и начинает работать прямо под моими руками. к тому же 95% населения, как известно… разрабатывать прототип я им не доверю. а вот уже какую-нибудь коробочную хуйню на основе прототипа — это пожалуйста, там мозгов не надо.

[identity profile] theiced.livejournal.com 2010-09-01 02:48 pm (UTC)(link)
буа ха ха. жапко такой жапко.

[identity profile] psilogic.livejournal.com 2010-09-01 02:15 pm (UTC)(link)
это серьезный ответ...

+ к тому в нормальной голове более 7-10 несвязанных по смыслу объектов не удерживается. и, даже, если они связаны, все равно предел легко достигается и перешагивается. так что есть смысл пользоваться электронной памятью как extended memory по отношению к памяти биологической.
no1u1w1w6c: (Default)

[personal profile] no1u1w1w6c 2010-09-01 02:26 pm (UTC)(link)
>в нормальной голове более 7–10 несвязанных по смыслу объектов не удерживается
эта фигня отлично решается уровнями абстракции: я держу в голове «всю программу», раскрывая (детализируя) — когда надо — нужный уровень. таким образом лимит не превышается. такой себе mind hack. конечно, электрические заметки помогают, но именно как поддержка, с описанием какого-нибудь нюанса, который просто лень помнить.

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

то есть, написание вот «описания интерфейсов взаимодействия» — это как раз двойной перевод получается: проще эти интерфейсы сразу на нужном языке и скодить, попутно раскидывая каменты. заодно они всегда актуальны. %-)

[identity profile] psilogic.livejournal.com 2010-09-01 02:35 pm (UTC)(link)
Мммм... я немного не о том. Если с уровнями абсракции, то, оперируя в данный момент объектами верхнего уровня: X1, X3, X5, легко забыть детали реализации объекта X4.1.2, который был написан 2 месяца назад. Разве что приблизительно. Если предмет обдумывания большой (скажем, обдумываешь солидную программу), то все сразу в голове не держится. А если предмет обдумывания небольшой (одна функция на треть экрана), тогда, конечно, нет никакого смысла предварительно "пропечатывать" его в голове. Бывает еще блок-схемы рисовать требуют :))
no1u1w1w6c: (Default)

[personal profile] no1u1w1w6c 2010-09-01 02:41 pm (UTC)(link)
ну, собственно, в более-менее нормальной программе именно детали реализации не нужны сразу после того, как реализован интерфейс. а интерфейс, тащемта, запоминать и вовсе не надо, потому что раз ты один раз его придумал, то второй раз тоже придумаешь, достаточно следовать принципу наименьшей неожиданности.

поэтому, например, я не запоминаю интерфейсы своих библиотек: я ж их придумал сам. потому если я придумаю то же во второй раз — оно получится как раз нужным.

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

[identity profile] psilogic.livejournal.com 2010-09-01 03:32 pm (UTC)(link)
Не, у меня тот же самый интерфейс по второму разу вряд ли получится - я, в оПщем, свои программерские привычки меняю с полпинка :)

Детали реализации разумно не помнить - собственно, об чем и речь: написал - забыл, а не пишешь второй раз заново.
no1u1w1w6c: (Default)

[personal profile] no1u1w1w6c 2010-09-01 03:35 pm (UTC)(link)
а я предпочитаю менять чужие исходники под свои привычки. поэтому у меня дохуища форков. %-)