Длинная цитата из книги "ВЕРЕВКА ДОСТАТОЧНОЙ ДЛИНЫ, ЧТОБЫ ВЫСТРЕЛИТЬ СЕБЕ В НОГУ"
6. Если вы не можете сказать это по-английски, то вы не сможете выполнить это и на Си/Си++
Это правило с последующим также относятся к правилам пользовательского интерфейса, но здесь под "пользователем" уже понимается программист, использующий написанный вами код — часто это вы сами.
Акт записи на английском языке описания того, что делает программа, и что делает каждая функция в программе, является критическим шагом в мыслительном процессе. Хорошо построенное, грамматически правильное предложение — признак ясного мышления. Если вы не можете это записать, то велика вероятность того, что вы не полностью продумали проблему или решение. Плохая грамматика и построение предложения являются также показателем небрежного мышления. Поэтому первый шаг в написании любой программы — записать то, что делает программа, и как она это делает.
Есть разные мнения о возможности мышления вне языка, но я убежден, что аналитическое мышление того типа, который нужен в компьютерном программировании, тесно связано с языковыми навыками. Я не думаю, что является случайностью то, что многие из знакомых мне лучших программистов имеют дипломы по истории, филологии и схожим наукам. Также не является случайностью то, что некоторые из виденных мной худших программ были написаны инженерами, физиками и математиками, затратившими в университете массу энергии на то, чтобы держаться как можно дальше от занятий по языку и литературе.
Сущность заключается в том, что математическая подготовка почти не нужна в компьютерном программировании. Тот тип организационного мастерства и аналитических способностей, который нужен для программирования, связан полностью с гуманитарными науками. Логика, например, преподавалась на философском факультете, когда я был в университете. Процесс, используемый при проектировании и написании компьютерных программ, почти полностью идентичен тому, который используется, чтобы сочинять и писать книги. Процесс программирования совсем не связан с теми процессами, которые используются для решения математических уравнений.
Здесь я делаю различие между информатикой (computer science) — математическим анализом компьютерных программ — и программированием или разработкой программного обеспечения — дисциплиной, интересующейся написанием компьютерных программ. Программирование требует организационных способностей и языковой подготовки, а не абстрактного мышления, необходимого для занятий математическим анализом. (В университете меня заставили проходить год на лекции по математическому анализу, но я никогда из него ничего не использовал ни на занятиях по информатике, хотя для них матанализ был необходимым условием, ни в реальной жизни).
Я как-то получил открытую рецензию на книгу, посвященную мной предмету проектирования компиляторов, в которой рецензент (который преподавал в одном из ведущих университетов) заявил, что он "считает абсолютно неуместным включение исходного кода компилятора в книгу о проектировании компиляторов". По его мнению, необходимо учить "фундаментальным принципам" — лежащей в основе математике и теории языка, а детали реализации — "тривиальны". Первое замечание имеет смысл, если у вас создалось впечатление, что книга написана ученым-специалистом по информатике, а не программистом. Рецензент интересовался лишь анализом компилятора, а не тем как его написать. Второе замечание просто показывает вам, насколько изолировала себя научная элита от реального труда программирования. Интересно, что основополагающая работа по теории языка, сделавшая возможным написание компиляторов, была выполнена в Массачусетском технологическом институте лингвистом Наумом Хомским, а не математиком.
На нескольких примерах я наблюдал однозначную тенденцию. Если человек пишет с грамматическими ошибками (не путать с опечатками), то и его код так же небрежен. Пресловутое "извените" — это вообще клиника. Причем человек может быть замечательным специалистом и ходячей энциклопедией по программированию, но при написании кода постоянно возникают несуразности. То грабли, разложенные не со зла, а чисто по халатности, то имя кривое и непродуманное, то инетерфейс неудобный, то с форматированием беда (типа строки по 200 символов). В общем, я здесь согласен с Аланом, что натуральным, родным языком программист обязан владеть в совершенстве. Думаю, что под "Английским" автор подразумевает именно "родной" язык (за шовинизм ему минус ). Другое наблюдение — если язык не родной, то плохая грамматика еще не является критерием. Просто человек оперирует грамматикой в пределах своего поля знаний. Критерием является стремление к улучшению. Если нет такого стремления, то где-то рядом бродит и небрежность с халтурой.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
...
MS>Есть разные мнения о возможности мышления вне языка, но я убежден, что аналитическое мышление того типа, который нужен в компьютерном программировании, тесно связано с языковыми навыками. Я не думаю, что является случайностью то, что многие из знакомых мне лучших программистов имеют дипломы по истории, филологии и схожим наукам. Также не является случайностью то, что некоторые из виденных мной худших программ были написаны инженерами, физиками и математиками, затратившими в университете массу энергии на то, чтобы держаться как можно дальше от занятий по языку и литературе.
...
MS>Здесь я делаю различие между информатикой (computer science) — математическим анализом компьютерных программ — и программированием или разработкой программного обеспечения — дисциплиной, интересующейся написанием компьютерных программ. Программирование требует организационных способностей и языковой подготовки, а не абстрактного мышления, необходимого для занятий математическим анализом. (В университете меня заставили проходить год на лекции по математическому анализу, но я никогда из него ничего не использовал ни на занятиях по информатике, хотя для них матанализ был необходимым условием, ни в реальной жизни).
Согласен, хоть и не столь категорично
MS>На нескольких примерах я наблюдал однозначную тенденцию.
На нескольких примерах можно доказать любое утверждение
MS>То грабли, разложенные не со зла, а чисто по халатности, то имя кривое и непродуманное,
А каким образом это связано с языком? Рассеяности и невнимательности у "складно говорящих" тоже хватает.
MS>В общем, я здесь согласен с Аланом, что натуральным, родным языком программист обязан владеть в совершенстве.
Письменное и устное "владение" могут достаточно сильно различаться даже у одного и того же человека.
MS>Критерием является стремление к улучшению. Если нет такого стремления, то где-то рядом бродит и небрежность с халтурой.
Не думаю, что само по себе стремление может искоренить обычную невнимательность и рассеяность
Кроме того, Голуб по большому счету хотел сказать не о грамматических ошибках в текстах программистов (что само по себе, конечно, является далеко нехорошим показателем), а о более серьезном явлении: о неумении правильно, грамотно и доходчиво изложить возникшую проблему и пути ее решения на родном (McSeem2 ) языке.
Нет, конечно. Судя по тексту, автор -- типичный ваятель формочек и о настоящем программировании он мало что знает.
Для того чтобы быть хорошим программистом необходима серьёзная математическая подготовка. Поскольку только она учит человека хорошему концептуальномы мышлению и умению доказывать.
Без умения доказывать писать правильные программы невозможно. Без хорошо развитых аналитических способностей невозможно делать хорошую архитектуру.
Что касается естественных языков. Они плохо приспособлены для описания логических систем. Именно поэтому были изобретены другие языки, включая математические языки и языки программирования.
Способность хорошо программировать никак не связана, во всяком случае напрямую, со способностью хорошо писать по-английски (или по-русски).
Здравствуйте, 9Val, Вы писали:
MS>>На нескольких примерах я наблюдал однозначную тенденцию.
V>На нескольких примерах можно доказать любое утверждение
Кто кому и что пытается доказать?! Не вижу ни малейшей попытки что-либо доказать ни у Алана ни у себя. Это не более чем наблюдения, имеющие совершенно четкую закономерность (ниже).
MS>>То грабли, разложенные не со зла, а чисто по халатности, то имя кривое и непродуманное,
V>А каким образом это связано с языком? Рассеяности и невнимательности у "складно говорящих" тоже хватает.
Специально для тех, кто любит читать между строк, вместо того, чтобы просто читать то, что написано текстом.
Наблюдение:
Если программист пишет безграмотно на естественном языке, то и код у него как правило (подчеркиваю — как правило) небрежный. Причем это как правило не систематически, а время от времени, то там, то сям, но обязательно присутствует. Обратное не верно, то есть, (опять же, согласно наблюдениям), если программист владеет в совершенстве своим родным языком, то это еще ни о чем не говорит о качестве его кода. Другими словами, естественный язык является необходимым, но не является достаточным условием.
MS>>Критерием является стремление к улучшению. Если нет такого стремления, то где-то рядом бродит и небрежность с халтурой.
V>Не думаю, что само по себе стремление может искоренить обычную невнимательность и рассеяность
Никто не говорит о невнимательности или рассеяности. Речь о небрежности и халтуре. Учится читать внимательнее. Именно стремление к совершенствованию и является главным и необходимым (но конечно же не достаточным) критерием мастерства.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Шахтер, Вы писали:
Ш>Здравствуйте, McSeem2, Вы писали: ...
Ш>Нет, конечно. Судя по тексту, автор -- типичный ваятель формочек и о настоящем программировании он мало что знает.
Хоть разузнал бы для приличия кто он такой, прежде чем чушь говорить. http://www.holub.com/
Он как раз практик, в отличие от всяких градиБучей()
Ш>Что касается естественных языков. Они плохо приспособлены для описания логических систем. Именно поэтому были изобретены другие языки, включая математические языки и языки программирования. Ш>Способность хорошо программировать никак не связана, во всяком случае напрямую, со способностью хорошо писать по-английски (или по-русски).
Связана, при чем в одностороннем порядке. Безграмотность говорит о низкой культуре вообще и в программировании в часности. Обратное не верно.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Хоть разузнал бы для приличия кто он такой, прежде чем чушь говорить. MS>http://www.holub.com/ MS>Он как раз практик, в отличие от всяких градиБучей()
Не надо никого поливать грязью, тем более не очень зная что к чему. Гради Буч очень даже практик... Он не программист, а это не означает, что он теоретик.
А теперь насчёт Алана Голуба. Я читал его книгу от корки до корки и согласен буквально с одной (может двумя главами) причём это только те главы, которые связаны с правилами форматирования кода и расстановки комментариев. Все технические вещи, предложенные им, в корне отличаются от аналогичных, предложенных Скотом Мейерсом. Последний для меня больший авторитет, нежели Голуб.
А теперь насчёт именно этого отрывка. Боюсь показатсья банальным, изьясняясь забитыми фразами, но этот отрывок возмутил и обидел меня, что называется до глубины души (формально по диплому у меня именно математическое образование). Мой опыт показывает, что именно люди именно с математическим образованием становятся очень хорошими программистами. Потому как именно математика развивает в людях такие способности как абстрактное мышление и аналитический подход. А без этих навыков и переменная — это 2 байта в памяти, и объект — это нечто предварённое ключевым словом class. Откуда я это взял? Наблюдал воочию:
1) я не видел ни одного хорошего программиста с гумманитарным или экономическим образованием (или таковых нет среди моих знакомых, или они хорошо скрывают, что они гуманитарии);
2) на факультете, где я учился, было 2 направления — одно больше тяготело к программированию и информатике, а другое к чистой математике, так вот процент выпускников, ставших хорошими программистами, имено с нашего направления был сурово выше;
3) все действительно первокласные профессионалы, которые меня окружают, имеют техническое образование.
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Здравствуйте, Шахтер, Вы писали:
Ш>Для того чтобы быть хорошим программистом необходима серьёзная математическая подготовка. Ш>Способность хорошо программировать никак не связана, во всяком случае напрямую, со способностью хорошо писать по-английски (или по-русски).
Оставим в стороне Голуба. Он мне тоже не нравится .
А вот Страуструп вам "ваятелем формочек" не кажется? Надеюсь, что нет. И тем не менее, задание в одном из его упражнений в "C++ programming language" звучит как "Выучите еще один естественный язык". И он абсолютно прав — владение другим языком часто позволяет отойти от стереотипов мышления, что само по себе важно для любой работы.
А что касается именно влияния качества знания естественного языка для программирования — в конце концов, процесс создания программы от начала до конца можно представить как переход от модели, описанной все-таки на языке естественном, к программе на языке машинном, и связующим звеном в таком переводе является строгая математическая модель. И дефекты в знании любого из трех этих "типов представлений" одного и того же объекта могут вести к некачественному результату работы .
З.Ы. Ну, и в конце концов — "Математика — это тоже язык" (ц) Джозайя Гиббс.
Все, что здесь сказано, может и будет использоваться против меня...
Здравствуйте, Шахтер, Вы писали:
Ш>Для того чтобы быть хорошим программистом необходима серьёзная математическая подготовка. Поскольку только она учит человека хорошему концептуальномы мышлению и умению доказывать.
Ш>Без умения доказывать писать правильные программы невозможно. Без хорошо развитых аналитических способностей невозможно делать хорошую архитектуру.
Равно как и умение выражать то, что "наанализировалось" — толку маловато, если оно будет сидеть в голове программиста.
Ш>Что касается естественных языков. Они плохо приспособлены для описания логических систем. Именно поэтому были изобретены другие языки, включая математические языки и языки программирования.
И все же человек в своем мышлении использует естественные языки, а потом "переводит" на нужный.
Ш>Способность хорошо программировать никак не связана, во всяком случае напрямую, со способностью хорошо писать по-английски (или по-русски).
Если человек не способен выразить свои мысли на натуральном языке, значит он сам не видит архитектуру, у него нет цельного представления о системе и о том, как она должна работать. Может всего-лишь нескольких деталей, но не хватает.
ЗЫ: Никогда не отлавливал багов в логике системы, словесно объясняя другим как она работает? Довольно удобный способ. Нарисовать схемку обычно не помогает. А если описывать словами, то оп, вот и озарение, даже если "помощник" только слушал. Самое сложное — это найти свободного программиста, который выслушает и будет задавать вопросы.
Здравствуйте, McSeem2, Вы писали:
MS>>>На нескольких примерах я наблюдал однозначную тенденцию.
V>>На нескольких примерах можно доказать любое утверждение
MS>Кто кому и что пытается доказать?! Не вижу ни малейшей попытки что-либо доказать ни у Алана ни у себя. Это не более чем наблюдения, имеющие совершенно четкую закономерность (ниже).
Совершенно четкая закономерность на нескольких примерах? Извините, но точно так же по тем программистам, которых я знаю, я могу сказать, что я не вижу такой закономерности. См. ниже.
MS>>>То грабли, разложенные не со зла, а чисто по халатности, то имя кривое и непродуманное,
V>>А каким образом это связано с языком? Рассеяности и невнимательности у "складно говорящих" тоже хватает.
MS>Специально для тех, кто любит читать между строк, вместо того, чтобы просто читать то, что написано текстом.
Спасибо за комплимент
MS>Наблюдение: MS>Если программист пишет безграмотно на естественном языке, то и код у него как правило (подчеркиваю — как правило) небрежный. Причем это как правило не систематически, а время от времени, то там, то сям, но обязательно присутствует.
А у меня другое наблюдение — безграмотность в родном языке никак не влияет на код, проблемы начинаются, если человек не способен выражать свои мысли в понятной для других форме. Другое дело, что среди неспособных выразить мысли процент безграмотных гораздо выше, что вовсе не значит, что безграмотность есть корень зла.
MS>Обратное не верно, то есть, (опять же, согласно наблюдениям), если программист владеет в совершенстве своим родным языком, то это еще ни о чем не говорит о качестве его кода. Другими словами, естественный язык является необходимым, но не является достаточным условием.
Соглашусь на все 100, если заменить естественный язык на владение устной речью.
MS>Учится читать внимательнее.
Буду стараться
MS>Именно стремление к совершенствованию и является главным и необходимым (но конечно же не достаточным) критерием мастерства.
Вспомнилось:
Когда-то давным давно в Срединной Империи собрались на турнир со всего света самые лучшие, самые могучие бойцы. Судил состязания великий китайский мудрец. Наконец, после многих тысяч боев он выбрал троих самых великих воинов и попросил каждого из них рассказать, как тот тренируется.
Первым поднялся огромный свирепого вида боец и сказал:
— Каждое утро на восходе солнца я ломаю деревья, камни, доски — все, что попадается мне на пути. Вокруг моего жилища на день пути все обращено в прах, в пустыню.
— Прекрасно, — сказал мудрец. — А как тренируешься ты? — спросил он другого бойца.
Поднялся высокий худощавый человек, более похожий на монаха или аскета.
— Каждое утро на восходе, — сказал он,- я предаюсь медитации. Я беру свое тело под контроль разума и воли и заставляю его быть легким и быстрым, как мысль.
— Прекрасно, — сказал мудрец. — А как тренируешься ты? — спросил он третьего воина.
Поднялся самый обычный ничем не примечательный внешне человек. Если бы он еще совсем недавно не выиграл тысячу поединков, никто бы и не подумал, что это — воин, да еще великий.
— А я вообще не тренируюсь, — сказал третий. — Просто я стараюсь присутствовать во всем, что делаю.
Глоуб сам себе ходячее доказательство ошибочности своей теории...
Я согласен с теми, кто говорит, что для того что бы хорошо программировать требуется:
— Хорошее аналитическое мышление
— Умение ясно мыслить и ясно выражать свои идеи, в том числе и словами (кстати подумайте — может ли быть хорошим программистом человек, который великолепно объясняет что он хочет сделать на словах, но не может этого нарисовать на бумаге)
— Умение переходить от ясновыраженных идей (моделей) на естественном языке к моделям выраженным в коде.
И я совершенно не согласен с Глоубом. Хотя прекрасно вижу — в чём конкретно он ошибается, применительно к России. Я учился в США и заметил одну интересную особенность их системы образования. Она ориентированна на гуманитарное развитие. Это не означает, что у них нет естественно-научной подготовки, но это означает, что гуманитариев у них больше и их подготовка организована лучше, чем подготовка технарей (возможно именно поэтому среди америкнцев так мало учёных в физике или математике).
Причины этого ясны — американцы готовят из "своих" — управленцев, врачей, юристов, адвокатов — т.е. гуманитариев. И их подготовка поставлена просто великолепно. У них на философии, логике и этике — действительно интересная и серьёзная подготовка — они именно там развивают логику и абстарктное мышление — и делают это весьма эффективно и качественно (вспомним нашу философию — где за редкими исключениями идёт трёп на произвольные темы).
Зато когда я увидел их подготовку по физике или математике — я плакал... Вам просто дают формулу — например для расчёта распространения тепла — не только без какого-либо вывода, но даже без намёка, где его можно было бы найти. Ваша задача — зазубрить формулу и случаи — где ей следует пользоваться. То же на математике. Понятия "вывод" и "доказательство" отсутствуют в принципе. И это на физическом факультете ведущего университета штата Illinois! То же мне расказывали и про другие университеты. Хотя говорят (я сам такого не видел) — что где то там, есть таки места, где математике и физике учат хорошо, но таких мест крайне мало и погоды они не делают.
Замечаете? Ситуация диаметрально противоположна той, какую мы имели в СССР — и до сих пор имеем в России и странах бывшего СССР. То есть у нас человек с хорошо развитым аналитическим мышлением — выпускник вуза с сильной математической подготовкой, а у них — с хорошей гуманитарной подготовкой.
Собственно реплики многих из нас это и подтверждают. А так как Аллан подобно большинству американцев (и как многие на форуме, утверждавшие что только математик может быть хорошим программистом) и понятие не имеет — что в мире бывает иначе — и, будучи не в состоянии обобщить собственные наблюдения, выделив зерно из плевел, то мы и получили эту выдержку, совершенно правильные наблюдения — в контексте жизни Аллана, но совершенно не правильные, применительно к выходцам из бывшего СССР.
Не со всеми построениями я согласен, особенно натянута привязка качества программиста к его образованию, но приходится признать что итоговым выводам моя практика по большей части соответствует.
Здравствуйте, 9Val, Вы писали:
V>А у меня другое наблюдение — безграмотность в родном языке никак не влияет на код, проблемы начинаются, если человек не способен выражать свои мысли в понятной для других форме. Другое дело, что среди неспособных выразить мысли процент безграмотных гораздо выше, что вовсе не значит, что безграмотность есть корень зла.
Думаю стоит переформулировать его выводы так: если человек небрежен в программировании, то наверняка он будет столь же небрежен и в письменной речи.
Здравствуйте, 9Val, Вы писали:
V>Здравствуйте, McSeem2, Вы писали:
V>- А я вообще не тренируюсь, — сказал третий. — Просто я стараюсь присутствовать во всем, что делаю.
Да, есть такой способ движения! Да здравствуют простые числа и великаны на них
опирающиеся. И можно немного от себя — со слезами на глазах понимаю, что не доживу до
момента когда, наконец то найдут Великое самое большое в мире простое число.
Молодец, порадовал, так держать. 10 лет высокопрофессионального прогамирования
испепеляют мозг (роботы, роботы... Извини ты какой серии? Ааа, а я уже списанный,
по ночам только и программирую, чтобы никто не знал, боюсь, узнают разберут нафиг)
Не шучу (к сожалению — been there, done that).
Ближе к теме маэстро. Хмм (молодежъ однако). Так вот, исторически как бывший
профессиональный математик (определение оставляю за тобой дружище), виват томскому
механико-математическому факультету, быстро и коротко набросаю свою ощущения
(не факты) по данному вопросу.
Современная математика (передовая) находится в космосе, по сравнению с элементарной
логикой программирования и т.п. Кстати, по молодости уписывался от экстаза обладания
всем миром в отдельно взятой микросхеме (IBM PC). Доказывать утверждение не буду (скучно
и не к чему). Если бы не баги, отсутствие документации, исходного кода, технической
поддержки и невразумительно мычащих постановщиков задач (заказчиков), маразма собственной
неорганизованности — бог мой, как скучно и глупо было бы все это.
Бертран Рассел "Математика" и Людвиг Витгенштейн "Логико-философский трактат" и
"Философские исследования". Учитель и ученик, апостолы аналитической философии.
Случайно, в аспирантуре поселился с философом (дисер у него был по лингвистической
неполноте семантики естественных языков — то бишь по русски — убогости философии, от
косноязычия). С ощущением представителя высшей расы (ма-те-ма-тик) вступил с ним в
бой как то по предмету его исследования. В результате, после многодневной дискуссии,
с ощущением лягушки размазанной по стенке, тихо отполз (мямля — мы еще поговорим).
Да, это факт, по вопросам логики, ребята будут покруче, чем математики. Как результат
проживания, прочитал эти и многие другие труды апологетов косноязычия. Помню на кандидатском
минимуме по философии, с места в разбег, заявил экзаменатору — да я Бертрана Рассела
читал — ну что поговорим (наглая сволочь была — молодая). Быстро получил пятерку и ушел
утробно похрюкивая (как же — криком одним врага уничтожил — высший класс — хе-хе).
Ладно, длинновато что то получается. Болевые точки (свои) обозначил, ну и закончим
на этом.
What good is a ticket to the good life, if you can't find the entrance?
Здравствуйте, 9Val, Вы писали:
V>Здравствуйте, Шахтер, Вы писали:
Ш>>Для того чтобы быть хорошим программистом необходима серьёзная математическая подготовка. Поскольку только она учит человека хорошему концептуальномы мышлению и умению доказывать.
Ш>>Без умения доказывать писать правильные программы невозможно. Без хорошо развитых аналитических способностей невозможно делать хорошую архитектуру.
V>Равно как и умение выражать то, что "наанализировалось" — толку маловато, если оно будет сидеть в голове программиста.
Это верно. Для архитектора или прайма хорошие коммуникационные способности крайне желательны.
Ш>>Что касается естественных языков. Они плохо приспособлены для описания логических систем. Именно поэтому были изобретены другие языки, включая математические языки и языки программирования.
V>И все же человек в своем мышлении использует естественные языки, а потом "переводит" на нужный.
А вот это неверно. Наоборот, профессионалы не мыслят о логических (математических, программистских и.т.п.) системах и задачах используя естественные языки. Только когда мысль созрела, она, при необходимости, выражается на естественном языке, если это вообще возможно. Ну зачем далеко ходить, попробуйте какую-нибудь нетривиальную теорему сформулировать на русском -- или не получиться вообще, или получится такой абзац, что понять его без бутылки будет невозможно.
Здравствуйте, Alex Reyst, Вы писали:
AR>Здравствуйте, Шахтер, Вы писали:
Ш>>Для того чтобы быть хорошим программистом необходима серьёзная математическая подготовка. Ш>>Способность хорошо программировать никак не связана, во всяком случае напрямую, со способностью хорошо писать по-английски (или по-русски).
AR>Оставим в стороне Голуба. Он мне тоже не нравится .
AR>А вот Страуструп вам "ваятелем формочек" не кажется?
Нет.
AR>Надеюсь, что нет. И тем не менее, задание в одном из его упражнений в "C++ programming language" звучит как "Выучите еще один естественный язык".
Хороший совет.
AR>И он абсолютно прав — владение другим языком часто позволяет отойти от стереотипов мышления, что само по себе важно для любой работы.
Возможно, не замечал.
AR>А что касается именно влияния качества знания естественного языка для программирования — в конце концов, процесс создания программы от начала до конца можно представить как переход от модели, описанной все-таки на языке естественном,
Да если бы. Это не модель скорее, а набор неясных представлений, что программа должна делать.
AR>к программе на языке машинном, и связующим звеном в таком переводе является строгая математическая модель.
Я бы сказал, не связующим звеном, а отправной точкой для работы.
AR> И дефекты в знании любого из трех этих "типов представлений" одного и того же объекта могут вести к некачественному результату работы .
AR>З.Ы. Ну, и в конце концов — "Математика — это тоже язык" (ц) Джозайя Гиббс.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, Шахтер, Вы писали:
Ш>>Здравствуйте, McSeem2, Вы писали: ...
Ш>>Нет, конечно. Судя по тексту, автор -- типичный ваятель формочек и о настоящем программировании он мало что знает.
MS>Хоть разузнал бы для приличия кто он такой, прежде чем чушь говорить.
Мне безразлично, КТО он такой. Книжку его я читал и она мне не понравилась. Мне важно, ЧТО он говорит.
MS>http://www.holub.com/ MS>Он как раз практик, в отличие от всяких градиБучей()
Ш>>Что касается естественных языков. Они плохо приспособлены для описания логических систем. Именно поэтому были изобретены другие языки, включая математические языки и языки программирования. Ш>>Способность хорошо программировать никак не связана, во всяком случае напрямую, со способностью хорошо писать по-английски (или по-русски).
MS>Связана, при чем в одностороннем порядке. Безграмотность говорит о низкой культуре вообще и в программировании в часности. Обратное не верно.
Что есть безграмотность? Вот я, например, не умею стихи писать. Я безграмотен? Или вы имеете ввиду способность ясно выражать свои мысли.
Так вот, по поводу последнего. Я за свою жизнь прочитал огромное количество математической литературы. НЕ могу сказать, что существует какая-то кореляция между величиной учёного, и его способностью гладко писать.
Здравствуйте, 9Val, Вы писали:
V>И все же человек в своем мышлении использует естественные языки, а потом "переводит" на нужный.
Это ты брат не был в состаянии боевого програмистского транса. Там вообще никаких языков нет
V>ЗЫ: Никогда не отлавливал багов в логике системы, словесно объясняя другим как она работает? Довольно удобный способ. Нарисовать схемку обычно не помогает. А если описывать словами, то оп, вот и озарение, даже если "помощник" только слушал. Самое сложное — это найти свободного программиста, который выслушает и будет задавать вопросы.
А я вот баги на ощупь ловлю. Буквально чуствую физический дискомфорт и ощупываю конструкцию на предмет шероховатостей и заусенцев.
Просто не надо за всех говорить, люди ведь очень разные бывают.
Как то читал, что ещё в начале 60-х один шутник привел в ньюиоркский клуб "великого учёного" — актёра (с компанией, которая натурально разыгрывала свиту гения), минут 15 его воспевали (причём приписывая ему очевидно бредовые достижения — зато с большим пафосом и апломбом) — потом выпустили этого "учёного" к публике (среди которой были и бизнесмены и учёные и даже политики) — причём он специально нёс заранее заготовленый бред (в чём и была суть шутки). "Учёный" пошёл на ура. Большинство было от него в восторге. Было парвда несколько асоциальных типов — которым "светило" не понравилось и они заявили, что он несёт бред. Но на них стали цикать — урезонивать и стыдить их — политики, бизнесмены и... да — учёные (настоящие, а не подставные), которые находились в клубе. Издевательство продолжалось НЕДЕЛЮ ("учёный" "выступал" каждый вечер в течение всего этого времени, а потом "уехал"). И всё это время большинство так ничего и не поняло.
Но интересно не только это, но и то, что потом (в середине 80-х) этому шутнику стало интересно — а как же дальше сложилась судьба тех, кто участвовал в той шутке. Так вот — оказалось — что почти все "асоциальные типы" — сделали головокружительные карьеры, многие стали весьма известными людьми. Зато вот среди большинства — многие опустились ниже того уровня, на котором были в момент шутки. Шутник по сему поводу даже выпустил скандальную книгу с описанием всего этого безобразия, которая в США довольно хорошо продавалась.
Здравствуйте, Шахтер, Вы писали:
V>>Равно как и умение выражать то, что "наанализировалось" — толку маловато, если оно будет сидеть в голове программиста.
Ш>Это верно. Для архитектора или прайма хорошие коммуникационные способности крайне желательны.
Верно. Чем выше человек в иерархии — тем важнее.
Ш>>>Что касается естественных языков. Они плохо приспособлены для описания логических систем. Именно поэтому были изобретены другие языки, включая математические языки и языки программирования.
Здравствуйте, 9Val, Вы писали:
V>И все же человек в своем мышлении использует естественные языки, а потом "переводит" на нужный.
Вообще то Шахтер и Alexey Chen ответили правильно (с моей точки зрения). Но если ты дигитал (термин NLP) то это не значит — что все вокруг такие. Шахтер (как и я) как мне кажется представляет метематические или програмные идеи визуально. А ты всякую картину можешь описать словами так, что бы каждый увидел именно её и ничто другое? Если думаешь, что каждую — возьми какой нибудь красивый рисунок (который другие не видели) — и опиши его кому-нибудь. А потом покажи рисунок и попроси сказать — насколько похоже твоё описание на этот рисунок. Тебя ждёт большой сюрприз!
Alexey Chen — чувствует баги тактильно. Вот и попробуй это описать словами.
А теперь вспомним что очень многих философов почти невозможно понять и именно потому, что они вкладывали в слова некий свой смысл — очевидно отличный от того, какой в них вкладываем мы. Слова сами по себе ничего не значат — это лишь произвольные этикетки для ассациаций (визуальных, тактильных или звуковых образов) в нашем мозгу — и следовательно, каждый воспринимает их по-своему.
Вот потому то, когда кто-то видит совершенно ясную и чёткую картину у себя в голове — но затем начинает её описывать другим — то велика вероятность того, что он будет употреблять для её описания слова, которым он придаст некоторое специфическое значение, точное для его внутреннего языка — но совершенно иначе трактуемое другими. Если с человеком общаться и вылавливать подобные расхождения — то можно понять что он имел в виду, но если же (как часто бывало с философами) — человек просто выпускает книгу, то понять его может быть просто не возможно...
Здравствуйте, Alexey Chen, Вы писали:
V>>ЗЫ: Никогда не отлавливал багов в логике системы, словесно объясняя другим как она работает? Довольно удобный способ. Нарисовать схемку обычно не помогает. А если описывать словами, то оп, вот и озарение, даже если "помощник" только слушал. Самое сложное — это найти свободного программиста, который выслушает и будет задавать вопросы.
AC>А я вот баги на ощупь ловлю. Буквально чуствую физический дискомфорт и ощупываю конструкцию на предмет шероховатостей и заусенцев.
Хмм, интересный способ. Со своим кодом это представить еще можно, а каково с абсолютно чужим?
AC>Просто не надо за всех говорить, люди ведь очень разные бывают.
Здравствуйте, Шахтер, Вы писали:
V>>И все же человек в своем мышлении использует естественные языки, а потом "переводит" на нужный.
Ш>А вот это неверно. Наоборот, профессионалы не мыслят о логических (математических, программистских и.т.п.) системах и задачах используя естественные языки. Только когда мысль созрела, она, при необходимости, выражается на естественном языке, если это вообще возможно. Ну зачем далеко ходить, попробуйте какую-нибудь нетривиальную теорему сформулировать на русском -- или не получиться вообще,
А можно пример такой, которую нельзя было бы сформулировать?
Ш>или получится такой абзац, что понять его без бутылки будет невозможно.
Ну так на то и нетривиальная теорема
Вернемся к нашим баранам. О математических проблемах думать на русском несложно. По большей части идет расширение словаря языка, синтаксис и семантика практически неизменны. Писать сложнее — объемно получается. Это я к тому, что основываясь на моих мат. знаниях существуют только письменные "математические" языки (поправьте, если ошибаюсь). Мыслить письменами лично у меня не получается. Аналогично с языками программирования — их синтаксис и словарный запас достаточно сильно отличаются от того, как я привык мыслить. Поэтому сначала в мозгах выстраивается некая логическая схема, потом в мысленный псевдокод и лишь потом, с учетом деталей конкрентного языка, в реальный код. Как это происходит у вас?
PS: Сразу одна оговорка — я не считаю себя профи ни в программировании, ни в математике
Здравствуйте, AndreyFedotov, Вы писали:
AF> Вообще то Шахтер и Alexey Chen ответили правильно (с моей точки зрения). Но если ты дигитал (термин NLP) то это не значит — что все вокруг такие. Шахтер (как и я) как мне кажется представляет метематические или програмные идеи визуально. А ты всякую картину можешь описать словами так, что бы каждый увидел именно её и ничто другое? Если думаешь, что каждую — возьми какой нибудь красивый рисунок (который другие не видели) — и опиши его кому-нибудь. А потом покажи рисунок и попроси сказать — насколько похоже твоё описание на этот рисунок. Тебя ждёт большой сюрприз!
Хороший пример. Но к данной конкретной ситуации он неприменим — мы говорим о том, что обязательно можно выразить на языке программирования (а значит и на естественном).
Общую идею понял — не для каждого человека от родного (визуального, тактильного, слухового, обонятельного) восприятия нужен мостик к коду через естественный язык. Каюсь и посыпаю голову пеплом
Здравствуйте, McSeem2, Вы писали:
MS>Длинная цитата из книги "ВЕРЕВКА ДОСТАТОЧНОЙ ДЛИНЫ, ЧТОБЫ ВЫСТРЕЛИТЬ СЕБЕ В НОГУ"
Недавно я тоже прочитал эту книгу. Вначале мне нравилось, что он пишет, потом к середине книги некоторые вещи начали, скажем так, удивлять, но ближе к концу этот клоун занасладевал класс EditBox от String (!) и в классе String все операторы сделал виртуальными (!)
Вековые рудники — Специализация, итеративное накопление и анализ, дедукция многошаговой
точечной логики предположений и т.п. В науке никто это еще не отменял.
Программирование не исключение, да а философия, как лучше программировать и т.п. — тошна от
своего примитивизма (не в обиду будет сказано). Лестница в небо состоит из великих ступеней.
Программирование, в плане прорывов, находиться в состояния ступора. Помню читал комментарии одного
из оригинальных разработчиков Unix из Bell Labs по поводу Linux — типа "жуть, 25 лет идейного простоя".
1984г. Компьютеры 5 поколения, Пролог, Япония — программа минимум — ауууу, где вы? Доверчив был,
как кролик слюну пускал перед морковкой, почитывая поэтапную программу прорыва в бесконечность —
все вычислял — доживу, не доживу.
Утерев слезы седой бородой (заодно приняв очередного дрона-програмера на работу — счас только
введу в него инструкции и отправлю в производство — не шучу — факт), как там в математике?
Думаешь, что математика — это просто? Ну что ж для начала, попробуй доказать существование и
единственность нуля. Дедекинд, Кантор, Вейерштрасс — эй мужики, что так рано померли — сейчас бы
все вместе попрограммировали бы, офигевая от счастья прикосновения к русифицированной клавиатуре.
Вперед ребята — я в вас верю (тфу ты — опять мои дроны сбежались за указаниями — все принимают
на свой счет).
A critic is a bundle of biases held loosely together by a sense of taste. -- Whitney Balliett
Здравствуйте, 9Val, Вы писали:
V>Хороший пример. Но к данной конкретной ситуации он неприменим — мы говорим о том, что обязательно можно выразить на языке программирования (а значит и на естественном).
С этим я согласен. Правда и тут есть некоторые проблемы. Там где программист видит сортировку элементов в конейнере и маршалинг COM интерфейсов — пользователь увидит финансовый отчёт. Потому идеи о том, что и как делает программа — у них могут быть (и будут) совершенно различны. Причём на столько, что видя один и тот же результат работы программы — они оценят его диаметрально противопложно.
Например:
Программист: Так тут всё работает правильно! (Контейнер отсортирован верно, всё отмаршалислось и ничего не упало. Что в скриптах олухи из отдела внедрения прописали — добуквенно и выполнено).
Пользователь: Да ваша программа вообще не работает! (В оборотно-сальдовую ведомость в графу "Приход" попала цена в долларах, а должна быть в рулях, потому что....)
И каждый по своему прав...
Здравствуйте, AndreyFedotov, Вы писали:
AF> Там где программист видит сортировку элементов в конейнере и маршалинг COM интерфейсов — пользователь увидит финансовый отчёт. Потому идеи о том, что и как делает программа — у них могут быть (и будут) совершенно различны. Причём на столько, что видя один и тот же результат работы программы — они оценят его диаметрально противопложно. AF> Например: AF> Программист: Так тут всё работает правильно! (Контейнер отсортирован верно, всё отмаршалислось и ничего не упало. Что в скриптах олухи из отдела внедрения прописали — добуквенно и выполнено). AF> Пользователь: Да ваша программа вообще не работает! (В оборотно-сальдовую ведомость в графу "Приход" попала цена в долларах, а должна быть в рулях, потому что....) AF> И каждый по своему прав...
Ну это уже совсем из другой области — изначально вопрос ставился о связи умения владения языком с качеством получаемого кода. Об удовлетворении пользователя нужно вообще отдельный тред заводить
Здравствуйте, 9Val, Вы писали:
V>Здравствуйте, Alexey Chen, Вы писали:
V>>>ЗЫ: Никогда не отлавливал багов в логике системы, словесно объясняя другим как она работает? Довольно удобный способ. Нарисовать схемку обычно не помогает. А если описывать словами, то оп, вот и озарение, даже если "помощник" только слушал. Самое сложное — это найти свободного программиста, который выслушает и будет задавать вопросы.
AC>>А я вот баги на ощупь ловлю. Буквально чуствую физический дискомфорт и ощупываю конструкцию на предмет шероховатостей и заусенцев.
V>Хмм, интересный способ. Со своим кодом это представить еще можно, а каково с абсолютно чужим?
Я примерно так же поступаю, а чей код не важно, просто спрашиваю сам себя "Где ошибка?" и буквально за мгновение это становиться совершенно понятным.
Здравствуйте, 9Val, Вы писали:
V>Здравствуйте, AndreyFedotov, Вы писали:
AF>> Там где программист видит сортировку элементов в конейнере и маршалинг COM интерфейсов — пользователь увидит финансовый отчёт. Потому идеи о том, что и как делает программа — у них могут быть (и будут) совершенно различны. Причём на столько, что видя один и тот же результат работы программы — они оценят его диаметрально противопложно. AF>> Например: AF>> Программист: Так тут всё работает правильно! (Контейнер отсортирован верно, всё отмаршалислось и ничего не упало. Что в скриптах олухи из отдела внедрения прописали — добуквенно и выполнено). AF>> Пользователь: Да ваша программа вообще не работает! (В оборотно-сальдовую ведомость в графу "Приход" попала цена в долларах, а должна быть в рулях, потому что....) AF>> И каждый по своему прав...
V>Ну это уже совсем из другой области — изначально вопрос ставился о связи умения владения языком с качеством получаемого кода. Об удовлетворении пользователя нужно вообще отдельный тред заводить
Я имел в виду другое. В приведённом выше примере — программист мог совершенно великолепно обяснить — как написана и что делает его программа. Так же возможно что и пользователь столь же великолепно может сформулировать — что он хочет от программы. Но каждый из них — обясняет это со своей точки зрения. И очень может быть — что даже если программист прекрасно обяснит, что делает его программа (и как она написана) — то пользователь его не поймёт. И вполне вероятно, будет считать, что программист не умеет не объяснять ни писать программы...
Здравствуйте, 9Val, Вы писали:
V>Хмм, интересный способ. Со своим кодом это представить еще можно, а каково с абсолютно чужим?
Без разницы.
Некоторые люди просто в ступор входят, кода я показываю им ошибку даже не зная, как работает их код.
Иногда и так бывает. А я всего лишь показываю то место в коде где, как я чуствую, что-то не так.
Код, он ведь как музыка, и чем лучше код, тем четче в нем чуствуется фальш.
Здравствуйте, Kluev, Вы писали:
K>Недавно я тоже прочитал эту книгу. Вначале мне нравилось, что он пишет, потом к середине книги некоторые вещи начали, скажем так, удивлять, но ближе к концу этот клоун занасладевал класс EditBox от String (!) и в классе String все операторы сделал виртуальными (!)
Во-первых, по технической части книга устарела. Во-вторых, она вообще-то не о том. Книга ценна прежде всего не чисто техническими рекоммендациями, они дейсвительно не соответствуют (а бездумное наследование в C++ — вообще маздай). Книга ценна прежде всего тем, что тренирует способность думать. Автор в самом начале сделал оговорку, что не все советы должны восприниматься как буква закона. Наибольшую ценность, конечно же представляют вводные главы.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, 9Val, Вы писали:
V>Здравствуйте, Шахтер, Вы писали:
V>>>И все же человек в своем мышлении использует естественные языки, а потом "переводит" на нужный.
Ш>>А вот это неверно. Наоборот, профессионалы не мыслят о логических (математических, программистских и.т.п.) системах и задачах используя естественные языки. Только когда мысль созрела, она, при необходимости, выражается на естественном языке, если это вообще возможно. Ну зачем далеко ходить, попробуйте какую-нибудь нетривиальную теорему сформулировать на русском -- или не получиться вообще,
V>А можно пример такой, которую нельзя было бы сформулировать?
Да возмите всю гомологическую алгебру или геометрию. Я не представляю себе как, скажем, лемму о змее сформулировать вербально. Нарисовать диаграмму -- 5 секунд. В гомологической алгебре есть даже термин такой -- диаграмный поиск. Это метод доказательства при котроом человек просто водит ручкой по диаграмме и доказывает утверждение. Попытки записать такие доказательства (в алгебраической нотации) приводят к нечитаемым текстам.
Ш>>или получится такой абзац, что понять его без бутылки будет невозможно.
V>Ну так на то и нетривиальная теорема
V>Вернемся к нашим баранам. О математических проблемах думать на русском несложно. По большей части идет расширение словаря языка, синтаксис и семантика практически неизменны. Писать сложнее — объемно получается. Это я к тому, что основываясь на моих мат. знаниях существуют только письменные "математические" языки (поправьте, если ошибаюсь).
Поправляю. Это математика 19 века или раньше. В 20 веке в математика (да, кстати, и физика тоже, и здесь колоссальная заслуга принадлежит Гильберту и Эйнштейну) качественно изменилась превратившись из алгебро-аналитической в премущественно геометрическую по языку и способу мышления. Это дало огромный толчок развитию науке. Собственно говоря, это отражается даже в терминологии, например, теорию чисел сейчас часто называют диофантовой геометрией. В современной математике очень широко используются диаграммы разного рода. Т.е. запись из последовательности слов превратилась в рисунок, иногда весьма сложный и даже псевдо-трехмерный.
V>Мыслить письменами лично у меня не получается. Аналогично с языками программирования — их синтаксис и словарный запас достаточно сильно отличаются от того, как я привык мыслить. Поэтому сначала в мозгах выстраивается некая логическая схема, потом в мысленный псевдокод и лишь потом, с учетом деталей конкрентного языка, в реальный код. Как это происходит у вас?
Боюсь, я не в состоянии это объяснить.
V>PS: Сразу одна оговорка — я не считаю себя профи ни в программировании, ни в математике
Здравствуйте, AndrewVK, Вы писали:
AVK>Думаю стоит переформулировать его выводы так: если человек небрежен в программировании, то наверняка он будет столь же небрежен и в письменной речи.
Тоже совсем не так. Бывает по разному.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Шахтер, Вы писали:
Ш>Поправляю. Это математика 19 века или раньше. В 20 веке в математика (да, кстати, и физика тоже, и здесь колоссальная заслуга принадлежит Гильберту и Эйнштейну) качественно изменилась превратившись из алгебро-аналитической в премущественно геометрическую по языку и способу мышления. Это дало огромный толчок развитию науке. Собственно говоря, это отражается даже в терминологии, например, теорию чисел сейчас часто называют диофантовой геометрией. В современной математике очень широко используются диаграммы разного рода. Т.е. запись из последовательности слов превратилась в рисунок, иногда весьма сложный и даже псевдо-трехмерный.
А квантовая механика? Попробуй-ка словами обяснить, что означает или как работает та или иная формула. Кроме общих идей — исходя из которых она была получена — обяснять просто нечего. Или возьмём большую численную модель — например авиационного двигателя. Можно её просчитать, можно показать формулы, по которым она расчитывается — но попробуйте обяснить почему в точке [x][y][z] получилась такая температура — не показать, как она была расчитана, а обяснить словами — почему и в добавок обяснить — что это значит — у вас ничего не выйдет. Это как картина — её надо видеть.
В общем словами можно обяснить далеко не всё.
Здравствуйте, Шахтер, Вы писали:
Ш>Да возмите всю гомологическую алгебру или геометрию. Я не представляю себе как, скажем, лемму о змее сформулировать вербально. Нарисовать диаграмму -- 5 секунд. В гомологической алгебре есть даже термин такой -- диаграмный поиск. Это метод доказательства при котроом человек просто водит ручкой по диаграмме и доказывает утверждение. Попытки записать такие доказательства (в алгебраической нотации) приводят к нечитаемым текстам.
Никогда даже не слышал о таком Ухожу в свободный гуглевский поиск
Ш>Боюсь, я не в состоянии это объяснить.
Здравствуйте, AndreyFedotov, Вы писали:
AF> Я имел в виду другое. В приведённом выше примере — программист мог совершенно великолепно обяснить — как написана и что делает его программа. Так же возможно что и пользователь столь же великолепно может сформулировать — что он хочет от программы. Но каждый из них — обясняет это со своей точки зрения. И очень может быть — что даже если программист прекрасно обяснит, что делает его программа (и как она написана) — то пользователь его не поймёт. И вполне вероятно, будет считать, что программист не умеет не объяснять ни писать программы...
Не совсем так. Если человек не разбирается в какой-то области, то ему лучше не судить других. Пользователю — пользовательское
Здравствуйте, 9Val, Вы писали:
V>Не совсем так. Если человек не разбирается в какой-то области, то ему лучше не судить других. Пользователю — пользовательское
С моей точки зрения — ты прав. Но в реальной действительности очень часто возникает именно описанная выше ситуация. Это кстати относится не только к программированию.
Кроме того, не забывай — программисту — программистское.
Умение написать сложную программу — значит очень не много на фоне шестисотого мерина. К сожалению многие программисты (как и технари вообще) — осознают это слишком поздно.
Здравствуйте, VladD2, Вы писали:
VD>Нет. И я тому ярчайший пример.
Неверно. У тебя много опечаток, но мысли изложены четко, а речь идет именно о последнем. Так что на опровержение ты не тянешь. Опровержением может быть vgrigor, но сложно сказать насколько хороший он программист.
Здравствуйте, Шахтер, Вы писали:
Ш>Так вот, по поводу последнего. Я за свою жизнь прочитал огромное количество математической литературы. НЕ могу сказать, что существует какая-то кореляция между величиной учёного, и его способностью гладко писать.
[OFFTOP]
"Переваривал" несколько дней, решил все же спросить: не могли бы вы указать пару-тройку "негладкопишащих" — с вашей точки зрения — авторов?
[/OFFTOP]
Все, что здесь сказано, может и будет использоваться против меня...
Здравствуйте, Undying, Вы писали:
U>Здравствуйте, VladD2, Вы писали:
VD>>Нет. И я тому ярчайший пример.
U>Неверно. У тебя много опечаток, но мысли изложены четко, а речь идет именно о последнем. Так что на опровержение ты не тянешь. Опровержением может быть vgrigor, но сложно сказать насколько хороший он программист.
У меня много и ошибок (арфахрафишеских громотыческих ). А Голуб говорит именно о граматике, а не о качестве постановки задачи. Сказал бы он про умение сформулировать свои мысли и никто с ним спорить бы не стал.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Alex Reyst, Вы писали:
AR>Здравствуйте, Шахтер, Вы писали:
Ш>>Так вот, по поводу последнего. Я за свою жизнь прочитал огромное количество математической литературы. НЕ могу сказать, что существует какая-то кореляция между величиной учёного, и его способностью гладко писать.
AR>[OFFTOP] AR>"Переваривал" несколько дней, решил все же спросить: не могли бы вы указать пару-тройку "негладкопишащих" — с вашей точки зрения — авторов? AR>[/OFFTOP]
Ну, например, Шафаревич с Понтрягиным. При том, что их книги читать интересно, поскольку они весьма содержательны. Теме не менее, излагают они не лучшим на мой вкус образом.
Здравствуйте, Шахтер, Вы писали:
Ш>Ну, например, Шафаревич с Понтрягиным. При том, что их книги читать интересно, поскольку они весьма содержательны. Теме не менее, излагают они не лучшим на мой вкус образом.
Насчет Понтрягина не знаю, а Шафаревич с моей точки зрения пишет отлично!
Что именно из Шафаревича вы имели ввиду? Математические или литературные работы?
Здравствуйте, MaximVK, Вы писали:
MVK>Здравствуйте, Шахтер, Вы писали:
Ш>>Ну, например, Шафаревич с Понтрягиным. При том, что их книги читать интересно, поскольку они весьма содержательны. Теме не менее, излагают они не лучшим на мой вкус образом.
MVK>Насчет Понтрягина не знаю, а Шафаревич с моей точки зрения пишет отлично! MVK>Что именно из Шафаревича вы имели ввиду? Математические или литературные работы?
Математические, естественно. Не знаю, на мой вкус -- не очень хорошо.
Здравствуйте, 9Val, Вы писали:
Ш>>Я не представляю себе как, скажем, лемму о змее сформулировать вербально. V>Никогда даже не слышал о таком Ухожу в свободный гуглевский поиск
In Charles A. Weibel's book, "An Introduction to Homological Algebra" (Cambridge U. Press, 1994), there appears the following: "We will not print the proof (of the Snake Lemma) in these notes, because it is best done visually. In fact, a clear proof is given by Jill Clayburgh at the beginning of the movie `It's My Turn.'"