Решил кое-что написать к празднику дня программиста... Да-да, вы можете подумать, что я типа потерялся во времени, что он давно прошел. Но я решил почему-то сейчас, ровно через месяц после даты... Может, такой расчет, как и сама дата праздника, может, я просто проспал месяц наза тот день, а может, я и правда потерялся во времени. Выбирайте сами, мне все равно...
читать дальшеРезон поговорить о программировании... По крайне мере, чем для меня оно является.
Вас может удивит, а может, после других моих бредней не очень, но для меня программирование - это творчество! Возможно, именно поэтому мне, в принципе, нравится программировать. Особенно для веба.
В чем же все дело, почему такое отношение? Начну издалека... Язык... Как счиатете, языки программирования просто так названы "языками"? Нет, это на самом деле полноценный язык, на котором можно общаться, передавать мысли, описывать действия, наконец, писать творческие произведения - программы! Пусть и искуственный... Но есть такой же эсперанто, на нем не написать книги? Пусть он специализированный.., но это не умаляет его достоинств для созидания!
Язык программирования - полноценный язык, имеющий свои формы, правила, структуру, части "речи", предложения, произведения... И на нем можно писать полноценные тексты, произведения. Которые будут иметь сюжет, смысл, содержание, чувства...
Как образом можно писать нечто творческое? Наверное, чтобы понять, необходимо знать, ощутить хоть раз, что такое "вдохновение" при написании обычного произведение, а затем... поймав "вдохновение", начать писать программу... Команды складываются в слова, операторы особенно красиво описывают окружающее, функции - это целые предложения...
Когда пишется программа, ощущения те же, когда пишешь рассказ, или эссе... Так же размышляешь о грамматике, о правилах построения предложений, о смысле исзлагаемого тееста, то есть, как бы о том, что получишь в результате после того, как запустишь программу... И думаешь о красоте своей программы-произведения... Тут тонко... Как автор видит только структуру своего произведения, плохо оценивая внешнюю красоту, н же ее описывал конструктивно, так и программист видит как бы исходный код своего произведения-программы, и только конечный... "пользователь"-читатель может субъективно оценьть красоту произведения-программы, не обращая никакого внимания на структуру, то есть исходный непонятный код...
Написание программы - более творческая работы, чем могут подумать даже многие программисты... Так же, как при написании произведения, программист представляет в голове в общем готовую работу, затем разбивает на действия-главы, объединенные общей целью-сюжетом... И наченает по предложениям излагать суть, иногда перечитывая, исправляя граммотические и другие ошибки, пересматривая что получается....
Думаю, больше творчества в программирование - и интереснее работать будет тем, кому такое уже наскучило, и поможет определится тем, кто сомневался...
Ведь, напримре, даже самураи называли искусством лишение смерти человека... Так чем же хуже?
Живем...
иррациональное возможно и в программировании - это зависит от целей...
Могу сказать, что мне приходилось такое делатью, когда я занимался веб-программированием, явно нечто иррационально )))
Душу можно выразить во внешнем виде программы, а стиль - в написании кода. Еще когда кодят для себя - в идее проги. Но тут все всегда должно быть четко обосновано и не должно быть никаких неясностей. А в литературе?..
По-моему, с тем же успехом творчеством можно назвать и доказательство теоремы.
Сюрреализма и психоделики в программировании уж точно то быть не должно))))
(хотя, опять же, он может быть, конечно, в идее проги. Но не в ее реализации)
Согласен с Самаэлем (эээ ... а этот ник спрягать можно??) - в художественном произведение много неточностей и многоинтерпритированности: программа всегда работает одинаково, а вот роман можно понять как угодно. Скорее надо сравнивать с каким-нибудь формальным творчеством, с философией, допустим, или любым другим научным рассуждением ...
представилось, что через некоторое время... только программирование и будет творчеством...
а первоначального, великого... чуть не сказала "присноблаженного")
это так ужасно...
и люди будут разбирать программы как художественные произведения...
и даже если это будет нечто, созданное машиной... это всё едино программа...
...
Все спрягают)) Наверно и тебе можно)))
"а первоначального, великого... чуть не сказала "присноблаженного")... не останется... ничуть..."
А первоначальное и великое - это что? Творчество вообще очень разнообразно: музыка, архитектура и т.д.
Эти вещи можно будет свести к программированию разве что при условии полной расшифровки работы мозга, что произойдет ой как не скоро ...
Aks1, ну я в первую очередь имела ввиду литературное творчество, но и прочее тоже...
здесь же речь идёт о сравнении литературного процесса с процессом написания программы...
С архитектурой, к сожалению, не знаком, но мне кажется, что здесь все должно быть еще проще)))
Но чтобы сгенерить разумный текст, надо быть человеком, или хотя-бы жить среди людей. Хотя... компилируя тексты различных книг тоже можно... творить. Но это должна быть ОЧЕНЬ сложная программа.
Я не имел ввиду схожесть структурного написания произведения и программы...
Я подразумевал именно наличие иррационального, именно творческого, связанного с вдоновением, с идеями, мечтами, зерна в написании программ...
Не нужно думать, что программа - сухое перечисление команд компу. Иначе и рассказ - такое же сухое перечисления описания события и формы образов, которое в мозке-компе надо построить в виде изображения. Я выступаю именно против этого!
Структурность присутствует, понятное дело, как и во всем, даже архитектуре, дом не следуя определенным правилам не построишь - развалится, так и программа не по определеным правилам написаная не будет работать... Но какие великолепные, прекрасные, находчивые, иррациональные, творческие здания иногда строят!!! Вот я о чем!
Например? В чем эта самая иррациональность?
Я понимаю, можно использовать в программе численные методы для каких-либо подсчетов. Человек, не знакомый с этим, будет долго офигевать, как же оно получилось... Но это все доказано и обосновано, а то, что не видно логической связи, еще не означает, что ее там нет.
А какие красивые, находчивые и нестандартные порой доказательства теорем бывают... То же самое.
Разрабатываешь библиотеку - то, какой интерфейс предоставляешь пользователю, лучше определять именно из рациональных соображений. Вопросы быстродействия проги - опять же решаются рационально. Чем рациональней и разумней текст программы, тем большее в итоге от ее пользователя будет программисту спасибо.
Остроумие и находчивость программисту делают честь, так как это - все ж свойства интеллекта. Но выплеснуть злобу, или любовь на текст проги... я даже не могу представить, как такое можно сделать. Мы с Линтом как-то говорили, что глюки - это эмоции компа. Ты предлагаешь делать глючные программы, или что?
Еще хочу добавить, что русский (да и любой человеческий) язык тем и хорош, что одну и ту же мысль можно высказать многими способами. Талант писателя и заключается в том, что он знает не только ЧТО написать, но и КАК написать - так, чтобы оно звучало, чтобы погрузить читающего в свой рассказ, как в другой мир. Важно использование образов, метафор, неоднозначностей, понять которые можно только живя в этом мире. Программист же старается написать так, чтобы программа:
-правильно работала
-не глючила
-работала максимально быстро
-предоставляла пользователю дружественный интерфейс
-текст программы был понятен другому программисту
Только так. Я ничего не забыл? Где здесь место метафорам и неоднозначностям?
Творчество ориентировано на моральные ценности. Это может быть, конечно, и личная мораль писателя, или какие-то рассуждения на счет традиционной, но все-равно понятия добра, зла, цели и смысла жизни играют здесь основную роль. А это не рациональные понятия. Можно все это перенести и на программу, но в программе оно все станет прагматичным: смысл программы - достижение необходимого результата; добро - то, что к этому результату приводит; зло - например: глюки (то бишь, те же самые эмоции компьютера).
Говорю: это просто разные вещи. Может быть, чем-то похожие. Но в целом - разные.
Программу можно написать различными способами. Также как и произведение может быть написано по-разному ...
Ну допустим, та же метафора, зачем нужна? Чтобы реализовать конечную цель более быстро - т.е сделать некоторое короткое описание, которое вызовет в человеке нек-е чувства или образ (хотя без метафоры пришлось бы тоже самое описывать ему в паре предложений). В программировании аналог тропов - стили, использование классов или паттернов. Какая-нибудь фабрика - это аналог метафоры из мира программирования ...
Что считать рациональным, а что - нет -- вопрос мировоззрения каждого человека. Мое имхо, что рациональным может быть и то, и то (а может и не быть, в случае корявого (плохо абсрактно-мыслящего) программиста или слишком нелогичного писателя.
Конечно, все вообще субъективно, но... посмотри советский мультик "кто расскажет небылицу" - там как-раз об этом.
Но, в принципе, не суть важно...
Для меня рациональное - это логичное. То есть, то, что всегда можно вывести очевидными выкладками при наличии определенных допущений. Например: допущение: параллельные прямые не пересекаются. Требуется доказать то-то и то-то... Для программиста: программа должна выполнять такую-то и такую-то задачу и удовлетворять следующим требованиям. Для этого нужно... Писатель же порой и сам не знает, чем закончится его рассказ. А у сюрреалистов и вообще практиковался такой прием, как автоматическое письмо: берешь лист бумаги, "отключаешь внутренний диалог")) и просто пишешь. И что получится, то получится. Перескакивание логических звеньев и их игнорирование тоже в данном случае являются инструментами, и они уже давно используются.
Так что, я думаю, что рассказ, как раз таки (в силу особенностей человеческого языка и человеческого мировосприятия), не может быть целиком и полностью логичным. Да и, в принципе, он таковым и не обязан быть. Он может быть психологичным в лучшем случае. А стихи - и подавно не обязаны быть логичными. (Прикольно было бы, шутки ради, написать полностью логичный стишок))) В то время, как программа полностью логичной быть не только может, а она просто должна быть таковой.
Можно, конечно, сейчас развести тему о том, что у компьютера тоже есть душа... Но вот эта самая душа компьютера при программировании как раз только лишь мешает.
Все классы, или шаблоны должны быть отдельно описаны - в программе, или вне ее. А метафоры определяются самой жизнью и тем, как ее воспринимает человек, и разъяснять их в рассказе вообще-то не следует, имхо. Как не следует разъяснять смысл анекдотов.
Все классы, или шаблоны должны быть отдельно описаны - в программе, или вне ее. А метафоры определяются самой жизнью и тем, как ее воспринимает человек, и разъяснять их в рассказе вообще-то не следует, имхо. Как не следует разъяснять смысл анекдотов.
Однако программисты часто не знают полностью структуру классов, используемых ими. Да тот же стандартный класс на окно - его ведь никто не переписывает.
Получается, что программист использует то, что полностью не понимает ... Так же как и человек, читая рассказ осознает его, при это не до конца понимая метафоры ...
Т.е с точки зрения языка и компьютера - это разные вещи ... А с точки зрения писателя и программиста - не сильно разные ...
Писателю же этого делать не обязательно. Более того, имхо, нет ни одного человека на свете, который мог бы сказать, что он действительно знает жизнь.
только Индра может поднять тему, которую буду в последствии обсуждать месяцами...))
да уж, судя по вашей подписи, у вас нехватка общения с такими людьми)))