Программирование : Программисты и писатели Новое сообщение | -1- [2] [3] [4] [5] [6] [7] | Автор | Сообщение | Luke | | Slightwalker

Зарегистрирован: 2005-07-09
Сообщений: 5
| Многие заблуждаются, думая, что программисты - это математики, "техники"... На самом деле программисты - это в первую очередь, те люди, которые умеют выражать свои мысли (структурно и формально), умеют ликвидировать неточности литературного/словесного описания, дополнив их до логической полноты... в идеале программист узнаёт что ему нужно сделать, получая на входе "абстрактное техзадание" неважно в какой форме (может быть, даже улавливая эмоции заказчика, какие-то общие направления), а на выходе - логически строгую спецификацию... С достаточной подробностью описать задачу - это, по сути, во многих случаях = решить задачу. А ещё программисты должны принимать самостоятельные решения - т.к. они приходят к выводу, что в системе нужны какие-то детали, про которые в задании ничего не сказано - и нужно самому "дополнить картину", выбрать самый лучший solution.
Поэтому программисты и писатели - это родственные души.
Друг попросил опубликовать меня это. Думаю, программистам эти мысли очевидны, и не удивлюсь, если многие программисты с этим согласны. Теперь с этими мыслями могут ознакомиться также и люди других профессий. Зачем держать "горькую" правду в секрете?  | | | | | Random | | Жрец, плут и конкистадор

Зарегистрирован: 2005-01-31
Сообщений: 744
|
|
|
| | Luke писал(а):
Многие заблуждаются, думая, что программисты - это математики, "техники"... На самом деле программисты - это в первую очередь, те люди, которые умеют выражать свои мысли (структурно и формально), умеют ликвидировать неточности литературного/словесного описания, дополнив их до логической полноты... в идеале программист узнаёт что ему нужно сделать, получая на входе "абстрактное техзадание" неважно в какой форме (может быть, даже улавливая эмоции заказчика, какие-то общие направления), а на выходе - логически строгую спецификацию... С достаточной подробностью описать задачу - это, по сути, во многих случаях = решить задачу. А ещё программисты должны принимать самостоятельные решения - т.к. они приходят к выводу, что в системе нужны какие-то детали, про которые в задании ничего не сказано - и нужно самому "дополнить картину", выбрать самый лучший solution.
Поэтому программисты и писатели - это родственные души.
Друг попросил опубликовать меня это. Думаю, программистам эти мысли очевидны, и не удивлюсь, если многие программисты с этим согласны. Теперь с этими мыслями могут ознакомиться также и люди других профессий. Зачем держать "горькую" правду в секрете? | |
|
|
Горькая ли? Очень хорошая мысль, соглашаюсь с автором. Когда-то я пришел к такому же выводу, но на других основаниях. Философия ХХ века дала очень интересное и глубокое осмысление того, как существует и развивается текст. Текст - это некий объективный феномен; будучи готовым, текст становится вполне самостоятельным и конечным объектом, со своими особенными закономерностями.
Можно по-разному подойти к пониманию текста. По-разному смоделировать развитие текста. Но есть, как мне кажется, некие объективные правила, которым подчиняется осмысленный текст. Коты лазают по крышам. Луна фиолетовая! То, что я сейчас сказал, звучит абсурдно, потому что никак не вписывается в уже нарисовавшийся контекст. Ведь мы говорили не о котах и не о луне. Этот простой пример показывает, что введение нового элемента в повествование должно подчиняться неким правилам, быть подготовлено.
Сравните это с необходимостью в большинстве императивных языков программирования объявлять переменную перед ее инициализацией!
Есть и другие любопытные параллели. Этот анализ, думаю, может дать плодотворные идеи, как для герменевтики, так и для развития теории формальных языков и семантик.
| ___________________
Жизнь как виноградный сок. Терпкая, сладкая с кислинкой.
| | E-mail | | Luke | | Slightwalker

Зарегистрирован: 2005-07-09
Сообщений: 5
|
|
|
| | Random писал(а):
Горькая ли? Очень хорошая мысль, соглашаюсь с автором. Когда-то я пришел к такому же выводу, но на других основаниях. Философия ХХ века дала очень интересное и глубокое осмысление того, как существует и развивается текст. Текст - это некий объективный феномен; будучи готовым, текст становится вполне самостоятельным и конечным объектом, со своими особенными закономерностями.
Можно по-разному подойти к пониманию текста. По-разному смоделировать развитие текста. Но есть, как мне кажется, некие объективные правила, которым подчиняется осмысленный текст. Коты лазают по крышам. Луна фиолетовая! То, что я сейчас сказал, звучит абсурдно, потому что никак не вписывается в уже нарисовавшийся контекст. Ведь мы говорили не о котах и не о луне. Этот простой пример показывает, что введение нового элемента в повествование должно подчиняться неким правилам, быть подготовлено.
Сравните это с необходимостью в большинстве императивных языков программирования объявлять переменную перед ее инициализацией!
Есть и другие любопытные параллели. Этот анализ, думаю, может дать плодотворные идеи, как для герменевтики, так и для развития теории формальных языков и семантик. | |
|
|
Спасибо за твои мысли. Но мне кажется, с текстом нельзя проводить такую параллель. В том-то и дело, что текст может быть подчиняется неким правилам, в некоторых случаях, и т.д., и т.п. Я хочу сместить акцент: программист как раз-таки избавляется от этих неточностей. "Иногда", "некий", "сомнительный", "при некоторых обстоятельствах", "приблизительно" :) всё это превращается в строгую аналитическую модель, в которой и близко нет этих понятий :)
Программа или алгоритм - это не текст, это строгая абстрактная модель процесса. Текст программы - это программа, записанная в рамках синтаксиса некоего языка программирования. В тексте программы могут быть лирические допущения - можно кое-где поставить два пробела вместо одного, можно добавлять текстовые поясняющие комментарии, но сама программа (модель процесса) от этого не лишается своей строгости и точности. | | | | | Random | | Жрец, плут и конкистадор

Зарегистрирован: 2005-01-31
Сообщений: 744
|
|
|
| | Luke писал(а): Спасибо за твои мысли. Но мне кажется, с текстом нельзя проводить такую параллель. В том-то и дело, что текст может быть подчиняется неким правилам, в некоторых случаях, и т.д., и т.п. Я хочу сместить акцент: программист как раз-таки избавляется от этих неточностей. "Иногда", "некий", "сомнительный", "при некоторых обстоятельствах", "приблизительно" :) всё это превращается в строгую аналитическую модель, в которой и близко нет этих понятий :)
Программа или алгоритм - это не текст, это строгая абстрактная модель процесса. Текст программы - это программа, записанная в рамках синтаксиса некоего языка программирования. В тексте программы могут быть лирические допущения - можно кое-где поставить два пробела вместо одного, можно добавлять текстовые поясняющие комментарии, но сама программа (модель процесса) от этого не лишается своей строгости и точности. | |
|
|
Совершенно верно, "программа или алгоритм - это строгая абстрактная модель процесса". И художественный текст тоже является строгой моделью процесса - сейчас попробую сформулировать, что за процесс я имею в виду.
Можно сказать про текст, что он описывает мир, реальность. И можно ввести более сильное утверждение, что текст конструирует, создает мир. У текста - космогоническая функция.
Чем отличается любой роман Кафки от любого романа Анатолия Кима? Первый одержим бессмыслицей и абсурдом; второй насыщен смыслом и духовностью. Кафка рисует картонный, механический, глухой мир, Ким рисует гармоничный, божественный мир, в котором люди свободны и любимы. Каждый текст обладает своей смысловой полнотой и законченностью; в роман Кима не вписать ни абзаца из Кафки и наоборот - это было бы фальшивой нотой. Миры Кафки отличаются от миров Кима.
Теперь, если рассмотреть художественный текст в процессе его написания или прочтения, мы видим, что текст - предложение за предложением - достраивает мир, обогащает его новыми фактами.
Стало быть, художественный текст - это вполне строгая модель (в той естественной степени строгости, которая здесь уместна) процесса, который конструирует некую виртуальную реальность.
В этой виртуальной реальности есть свои действующие силы, которые находятся в определенных взаимодействиях друг с другом и обладают определенными свойствами. Сообразно законам построения текста, описания этих сил последовательно вводятся в повествование. Предложения текста являются "инструкциями", которые запускают операции человеческого воображения и мышления.
| ___________________
Жизнь как виноградный сок. Терпкая, сладкая с кислинкой.
| | E-mail | | Luke | | Slightwalker

Зарегистрирован: 2005-07-09
Сообщений: 5
| Аналогию вижу, понял, не спорю.
Подчеркну лишь одно очень важное и существенное отличие. Которое принципиально отличает программу от книги.
Рассмотрим процесс записи программы и её воспроизведения (исполнения)
1. Модель (мысленная) === 2. программирование ===> 3. Текст программы === 4. исполнение программы ===> 5. Модель (реальная) === 6. восприятие модели юзером. 7. Модель, построенная юзером (мысленная)
И сравним этот процесс с написанием и чтением литературного произведения.
1. Модель (мысленная или реальная) === 2. Написание книги ===> 3. Книга === 6. Чтение книги ===> 7. Модель, построенная читателем (мысленная)
Во-первых, обратим внимание на то, что в случае с книгами нет п.п. 4 и 5. При написании книги (2) восприятие автором модели (1) выражается в словах, которые он выбирает субъективно, надеясь, что читатель построит ту же модель (т.е. надеясь, что 1 = 7). Читатель возводит неточности в квадрат, накладывая своё личное восприятие (6) и в результате строя нечто (7), что может лишь весьма отдалённо напоминать (1).
В книгах основа одна (1), чем дальше - тем больше она видоизменяется.
Текст программы, напротив, является объективной вещью, его можно взять за точку отсчёта (3). На (5) влияет только (3), и никаких человеческих факторов - ни программиста, ни юзера. Неправильное восприятие программистом (1) не останется незамеченным (если оно вызовет изменения в (3), то это уже будет другая программа, отражающая другую модель). Программист при написании программы мысленно проясняет (1) и сближает (1) и (3) между собой.
Единственное, что может нести "человеческий фактор" это иррациональный отпечаток восприятия юзера в 6 и 7. Но восприятие программиста запечатлено в программе самым что ни на есть объективным и рациональным образом. А в книгах этого нет. Вот отличие. | | | | | Random | | Жрец, плут и конкистадор

Зарегистрирован: 2005-01-31
Сообщений: 744
| 1. "Обратим внимание на то, что в случае с книгами нет п.п. 4 и 5." Не согласен. Аналогом машины, на которой выполняется программа, является здесь мозг читателя. То есть:
1. Модель (мысленная или реальная) === 2. Написание книги ===> 3. Книга === 4. Чтение книги, скажем, мистером Джонсоном ===> 5. Модель мистера Джонсона === 6. восприятие модели миссис Джонсон, которая внимательно слушает пересказ мистера Джонсона. 7. Модель миссис Джонсон
Анекдот на тему: "Мне Петров вчера напел одну песню Пугачевой. Ох, ну и хреново же она поет!" 
В первой последовательности не всякая программа выполняется для того, чтобы юзер построил какую-то свою модель, и во второй последовательности не всякая книга читается мистером Джонсоном, чтобы потом о ней узнала миссис Джонсон. Может быть, он читает "Молот ведьм" и до поры до времени скрывает это от жены... Или он холостяк.
2. "При написании книги (2) восприятие автором модели (1) выражается в словах, которые он выбирает субъективно, надеясь, что читатель построит ту же модель (т.е. надеясь, что 1 = 7). Читатель возводит неточности в квадрат, накладывая своё личное восприятие (6) и в результате строя нечто (7), что может лишь весьма отдалённо напоминать (1)". Не согласен. Если писатель пишет о слонах, вряд ли читатель будет думать, что речь идет о бегемотах. О чем повесть "Маугли"? О космических крейсерах? О тайной страсти Елизаветы I? Нет, мы оба согласны в том, что "Маугли" о мальчике, которого воспитали джунгли. Есть разумные границы у субъективизма.
Конечно, если текст - глубокое произведение, описание сложных эмоциональных переживаний, то да, читатель читает текст не так, как его читает сам автор текста. Но мою аналогию можно приспособить и к этому. Если программа писалась и тестировалась программистом на архитектуре А, а потом исполнялась на другой архитектуре Б, то нет ничего удивительного в том, если исполнение программы на А и на Б дает разные результаты. Например, один и тот же сайт в разных browser'ах может выглядеть по-разному. Так и текст в умах разных читателей даст разные плоды.
| ___________________
Жизнь как виноградный сок. Терпкая, сладкая с кислинкой.
| | E-mail | | Random | | Жрец, плут и конкистадор

Зарегистрирован: 2005-01-31
Сообщений: 744
| Хочу заметить, что мы перешли к сравнению двух процессов (работа программы и работа текста). Однако моим изначальным намерением было показать аналогию между структурой программы и структурой текста.
| ___________________
Жизнь как виноградный сок. Терпкая, сладкая с кислинкой.
| | E-mail | | SergeyJ | | Зарегистрирован: 2006-11-03
Сообщений: 104
|
|
|
| | Luke писал(а): Многие заблуждаются, думая, что программисты - это математики, "техники"... На самом деле программисты - это в первую очередь, те люди, которые умеют выражать свои мысли (структурно и формально), умеют ликвидировать неточности литературного/словесного описания, дополнив их до логической полноты... в идеале программист узнаёт что ему нужно сделать, получая на входе "абстрактное техзадание" неважно в какой форме (может быть, даже улавливая эмоции заказчика, какие-то общие направления), а на выходе - логически строгую спецификацию... С достаточной подробностью описать задачу - это, по сути, во многих случаях = решить задачу. А ещё программисты должны принимать самостоятельные решения - т.к. они приходят к выводу, что в системе нужны какие-то детали, про которые в задании ничего не сказано - и нужно самому "дополнить картину", выбрать самый лучший solution.
Поэтому программисты и писатели - это родственные души.
Друг попросил опубликовать меня это. Думаю, программистам эти мысли очевидны, и не удивлюсь, если многие программисты с этим согласны. Теперь с этими мыслями могут ознакомиться также и люди других профессий. Зачем держать "горькую" правду в секрете? | |
|
|
В принципе не согласен ... что-то напинающие есть, но очень отдоленно ... Кстати, и ваша последующая дискусия это подтверждает ... Главная особенность программирования - в том контексте как вы его используете вы не разделяете 1. анализ 2. проектирования 3. программирование; Теперь главная особенность всех этих этапов: построение модели, которую можно независимо тестировать. Ни какой писатель не способен с помощью книг построить модель ... он может набрасать образную модель, которую читатель может угадать ... далее ученный может посторить математическую модель ... она будет более строга, но лишь математик и сможет ей пользоваться ... а это отличается от тестирования простым пользователем ! Несколько сумбурно ... но я думаю все поняли куда я клоню ...
| | | E-mail | | Random | | Жрец, плут и конкистадор

Зарегистрирован: 2005-01-31
Сообщений: 744
| Спасибо за Ваше несогласие - из несогласия иногда возникают новые идеи. 
|
|
| | SergeyJ писал(а): Главная особенность программирования - в том контексте как вы его используете вы не разделяете 1. анализ 2. проектирования 3. программирование; Теперь главная особенность всех этих этапов: построение модели, которую можно независимо тестировать. | |
|
|
Эти же особенности есть и у писательской деятельности. Вот выразительный пример: Артур Хейли. Он досконально изучал "предметную область", на тему которой собирался написать роман. Затем проектировал сюжетные нити, композицию, действующих персонажей. Наконец, брался за написание текста. Вот три этапа, аналогичные этапам разработки программ, не так ли? Часто писатели, прежде чем отправить текст издателю, читают текст своим друзьям и близким, а также другим опытным писателям, желая проверить реакцию читателей (слушателей). Чем не тестирование? 
|
|
| | SergeyJ писал(а): ... она будет более строга, но лишь математик и сможет ей пользоваться ... | |
|
|
Как строгая модель математика может быть предназначена для узкого круга специалистов, так и образная модель писателя может быть ориентирована на любителя. Бывает, авторская мысль верна, а писательская манера - ну не всем нравится, читатель не включается в предлагаемую игру. Здесь мне вспоминается заглавие в "Так говорил Заратустра": "Книга для всех и ни для кого". Бывает и такое. 
|
|
| | SergeyJ писал(а): Ни какой писатель не способен с помощью книг построить модель ... он может набрасать образную модель | |
|
|
Вы знаете, а ведь математическая модель - это самая настоящая метафора (того процесса, который моделируется). Математик - всегда в своем роде поэт. И поэт, описывающий явление через образы, тоже в своем роде математик. Иногда математическая формула красива, и художественный образ - строго точен. Это родственные явления. Некоторые считают, что книга природы написана на языке математики. Есть в этом предположении нечто поэтическое. А что Вы думаете об этом?
| ___________________
Жизнь как виноградный сок. Терпкая, сладкая с кислинкой.
| | E-mail | | | | Профиль удален
Сообщений: 0
|
|
|
| | Luke писал(а): Многие заблуждаются, думая, что программисты - это математики, "техники"... На самом деле программисты - это в первую очередь, те люди, которые умеют выражать свои мысли (структурно и формально), умеют ликвидировать неточности литературного/словесного описания, дополнив их до логической полноты... <...> Поэтому программисты и писатели - это родственные души. | |
|
|
А нельзя ли сказать так, что писатель _описывает_ некую историю (из чего может или не может получиться художественный текст в зависимости от того, как он описание выстраивает), а программист эту историю _моделирует_?
Но вот Вы пишете дальше: "И сравним этот процесс с написанием и чтением литературного произведения.
1. Модель (мысленная или реальная) === 2. Написание книги ===> 3. Книга === 6. Чтение книги ===> 7. Модель, построенная читателем (мысленная) И с этим я совсем не могу согласиться. 1 - это не модель, а образ, который позже может в частности воплотиться в план, но это не обязательно; 7 - и это не модель, а выстраивание соответствующего образа путем обращения элементов текста к каким-то "адресам" (не совсем верно, но сама пытаюсь иъясняться моделе-подобно). | | | | | | -1- [2] [3] [4] [5] [6] [7] |
|