Форум: "Прочее";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
ВнизЕсть ли абстрактное мышление у программистов ? Найти похожие ветки
← →
Мимоходом (2008-08-05 12:50) [0]Собственно на создание топика подтолкнула фраза "Ну вот ты точно программист - не умеешь абстрактно мыслить".
А действительно, умеют ли программисты абстрактно мыслить?
← →
Medbe}I{onok XML © (2008-08-05 12:55) [1]справку приносить или на слово поверишь?
← →
Alkid (2008-08-05 13:12) [2]А вот я всегда думал, что умение абстрактно мыслить - это непременный аттрибут хорошего программиста, ибо на управлении абстракциями строится современное программирование. :)
← →
Alkid (2008-08-05 13:12) [3]А вот я всегда думал, что умение абстрактно мыслить - это непременный аттрибут хорошего программиста, ибо на управлении абстракциями строится современное программирование. :)
← →
Игорь Шевченко © (2008-08-05 13:13) [4]Есть ли жизнь на марсе, нет ли жизни на марсе - какая, в сущности, разница ?
← →
Мимоходом (2008-08-05 13:34) [5]
> А вот я всегда думал, что умение абстрактно мыслить - это
> непременный аттрибут хорошего программиста
Ну я тоже так думал.
Но если посмотреть более внимательно - деятельность программиста постоянно вынуждает его мыслить в максимальной конкретике. Даже когда рассматриваются какие-то абстрактные классы, интерфейсы и т.п., для программиста они не имеют ценности сами по себе, они нужны лишь для того что бы в конечном итоге создать вполне конкретный и определнный класс, отображающий какой-то конкретный объект.
У вас так не бывало, что приходит заказчик, и начинает бормотать что-то невнятное про какую-то там кнопочку, а вы уныло это слушаете, что бы в конце концов спросить "Что собственно Вам нужно сделать"? В итоге, заказчик на вас смотрит как на идиота, и говорит что вы не можете абстрактно мыслить.
Когда это происходит в первый раз, конечно вы воспринимаете это как шутку. Но после n-го раза, действительно начинаешь задумываться: а может я действительно чего-то не понимаю, и не способен понять требования клиента?
← →
blackman © (2008-08-05 13:37) [6]Рефлексивный и абстрактный способы мышления играют ключевую роль в обучении программистов и в практике разработки программного обеспечения.
.....
Абстракция может быть выражена разными способами, но все они ведут к преодолению когнитивной сложности путем игнорирования несущественных деталей на определенных стадиях решения проблемы. Основываясь на [1], мы выделяем три способа выражения абстракции.
Заметить нечто общее в группе объектов и выразить это в одном абстрактном понятии. В таких случаях абстракция ведет к поиску общих характеристик в множестве объектов и к игнорированию несущественных различий между ними. Мы можем выразить эти характеристики в виде математического понятия либо класса в объектно-ориентированном программировании и т.д. В этом смысле абстракция представляет собой отношение «многих к одному». Например, иерархия млекопитающих выражает абстракцию, в которой на верхних уровнях различия между животными игнорируются, а на более низких — учитываются. Шаблон проектирования (design pattern) является примером выражения подобной абстракции в контексте программирования.
Для описания конкретного решения выбрать соответствующий уровень абстракции языка. Этот язык не должен базироваться на инструментах, предоставляемых языком программирования, который используется для фактической разработки программ. В данном случае абстракция помогает разработчикам размышлять о проблеме в соответствующих концептуальных терминах, отвлекаясь от специфических терминов языка программирования. Если бы они не использовали подобных абстракций, компьютерные языки вынуждали бы их копаться в несущественных деталях на ранних этапах проекта, «брали бы под контроль» процесс программирования. Абстракция заполняет собой промежуток между естественным языком и языком программирования. Эта идея находит отражение в эволюции языков программирования. На ранних этапах развития они сильно отличались от человеческих, но для выражения своих идей на современном языке программирования уже можно выбрать способ, значительно более близкий к естественному языку.
Применить абстракцию для описания объектов в соответствии с их характеристиками, отвлекшись от их устройства или принципов работы. Энтони Хоар поясняет, что абстрактная команда определяет желаемое поведение компьютера, не расписывая в деталях, как оно достигается. Эту идею можно выразить, например, путем написания единого набора инструкций для манипулирования объектами разных типов, в котором различия в способах воздействия на разные объекты будут определяться нижними уровнями абстракции. Данный подход реализуется путем установки барьеров абстракции
http://www.osp.ru/os/2005/09/380361/
Игорь Шевченко © (05.08.08 13:13) [4]
Конечно. Ни в отпуск туда поехать, и закзчиков там нам не искать. Далековато и инета там нет :)
← →
ketmar © (2008-08-05 13:41) [7]>[5] Мимоходом (2008-08-05 13:34:00)
>деятельность программиста постоянно вынуждает его мыслить в максимальной
>конкретике
кактус это, а не программист.
---
All Your Base Are Belong to Us
← →
Мимоходом (2008-08-05 13:51) [8]
> кактус это, а не программист.
Ээ, то есть вы хотите сказать, что настоящий программист мыслит только абстракциями? ИМХО тогда бы до сих пор ни одной работающей программы не было бы создано.
← →
TUser © (2008-08-05 13:52) [9]А что такое абстрактное мышление? Например, "Сколько будет 2+2?" - это абстрактный вопрос, или конкретный? Учитывая, что числа суть математические абстракции, и мы тут не два шарика с двумя кроликами складываем, а просто и абстрактно - два плюс два.
← →
TUser © (2008-08-05 13:52) [10]А что такое абстрактное мышление? Например, "Сколько будет 2+2?" - это абстрактный вопрос, или конкретный? Учитывая, что числа суть математические абстракции, и мы тут не два шарика с двумя кроликами складываем, а просто и абстрактно - два плюс два.
← →
ketmar © (2008-08-05 13:53) [11]>[8] Мимоходом (2008-08-05 13:51:00)
>вы хотите сказать, что настоящий программист мыслит только абстракциями
где у меня «только»?
алсо, «кодер» и «программист» — вещи очень разные.
---
All Your Base Are Belong to Us
← →
antonn © (2008-08-05 13:55) [12]
> А действительно, умеют ли программисты абстрактно мыслить?
умеют, но вот иногда всячески подчеркивают - что не умеют, зачем? хз...
← →
Мимоходом (2008-08-05 14:00) [13]
> А что такое абстрактное мышление?
Хе хе, так вот именно в этом я и пытаюсь разобраться.
Безусловно, в смысле "Заметить нечто общее в группе объектов и выразить это в одном абстрактном понятии" - программист обладает отличным абстрактным мышлением.
Но мне кажется, что у остальных(не программистов и не математиков) понятие об абстрактном мышлении несколько другое.
А то что вам кажется абстракцией, для других может казаться совершенно конкретным объектом, и наоборот.
← →
Medbe}I{onok XML © (2008-08-05 14:02) [14]> А что такое абстрактное мышление?
это мышление, способное оперировать абстракциями при решении задач
← →
Alarm © (2008-08-05 14:02) [15]http://igrology.ru/58083
"А вот если·два человека говорят о методах дедукции и индукции, при этом не теряя·связь в своем уме с теми объектами, которые подчинены законам индукции·и дедукции, то это - правильно работающее абстрактное мышление, совсем·отсутствующее у животных..."
из одного из определений абстрактного мышления
← →
Мимоходом (2008-08-05 14:03) [16]
> алсо, «кодер» и «программист» — вещи очень разные.
совершенно не согласен.
хороший программист должен видеть проект на всех уровнях абстракции, в том числе и на уровне кодирования. Иначе мы получим мечтателей со сферическими конями.
← →
Mystic © (2008-08-05 14:05) [17]Смотря с кем сравнивать. Если сравнивать программистов с мышами, то абстрактное мышление безусловно присутствует. А если сравнивать с физиками, работающими над теорией объединения, то отсутствует.
← →
Игорь Шевченко © (2008-08-05 14:07) [18]
> алсо, «кодер» и «программист» — вещи очень разные.
если не секрет, перечень общепринятых различий в студию
← →
ketmar © (2008-08-05 14:12) [19]>[18] Игорь Шевченко © (2008-08-05 14:07:00)
кодер делает код по готовым спекам. программист эти спеки пишет. %-)
---
All Your Base Are Belong to Us
← →
Мимоходом (2008-08-05 14:14) [20]
> это мышление, способное оперировать абстракциями при решении
> задач
Ага, вот он подход программиста: "при решении задач".
Да нету у заказчика никакого решения задач. Заказчику нужно что бы "все работало". А "задачи" возникают уже только в мозгу программиста.
И дело не в тупости заказчика, просто он смотрит на мир не через "решение задач", и для него абстракция это квадрат малевича, например.
← →
DVM © (2008-08-05 14:15) [21]Абсолютно все люди умеют абстрактно мыслить в отличие от животных.
← →
ketmar © (2008-08-05 14:15) [22]>[20] Мимоходом (2008-08-05 14:14:00)
>просто он смотрит на мир не через "решение задач"
это как, пардон? заказчик — растение?
---
All Your Base Are Belong to Us
← →
Игорь Шевченко © (2008-08-05 14:17) [23]
> Да нету у заказчика никакого решения задач. Заказчику нужно
> что бы "все работало".
Фиговые у тебя заказчики. Меняй скорее
← →
Сергей М. © (2008-08-05 14:18) [24]
> Мимоходом (05.08.08 14:00) [13]
> "Заметить нечто общее в группе объектов и выразить это в
> одном абстрактном понятии" - программист обладает отличным
> абстрактным мышлением
Анекдот про Холмса с Ватсоном на воздушном шаре это отлично иллюстрирует)
← →
Johnmen © (2008-08-05 14:31) [25]
> А действительно, умеют ли программисты абстрактно мыслить?
В F1 смотрел?
← →
Мимоходом (2008-08-05 14:34) [26]
> это как, пардон? заказчик — растение?
А вы думаете все заказчики занимаются решением задач? Вот была у меня программа по фоносемантике. Заказчики - психологи, занимаются составлением слоганов, названий брендов и т.п. Объяснить этим людям что такое "алогоритм" сложнее чем слетать на луну. Так вот, программу я им все таки написал. Используют они ее? Нет. Сказали "она тупая". )
← →
ketmar © (2008-08-05 14:37) [27]>[26] Мимоходом (2008-08-05 14:34:00)
>занимаются составлением слоганов, названий брендов и т.п
это не есть «решение задач»? ты, может, не поверишь, но даже простой поход в сортир — тоже решение задач, да.
---
Understanding is not required. Only obedience.
← →
Мимоходом (2008-08-05 14:44) [28]
> это не есть «решение задач»? ты, может, не поверишь, но
> даже простой поход в сортир — тоже решение задач, да.
Поход в сортир имеет алгоритм решения, а составление успешного слогана - нет.
← →
Anatoly Podgoretsky © (2008-08-05 14:46) [29]> Игорь Шевченко (05.08.2008 14:07:18) [18]
А ты абстрактно мысли.
← →
ketmar © (2008-08-05 14:46) [30]>[28] Мимоходом (2008-08-05 14:44:00)
>составление успешного слогана — нет.
O_O
то, что ты его не знаешь — не значит, что его нет.
---
Do what thou wilt shall be the whole of the Law.
← →
DVM © (2008-08-05 14:47) [31]
> Поход в сортир имеет алгоритм решения
не всегда :)
← →
Мимоходом (2008-08-05 14:58) [32]
> ketmar © (05.08.08 14:46) [30]
> то, что ты его не знаешь — не значит, что его нет.
Заметь, когда я в своем посте говорю про то, что ожидания заказчиков не соответствует реализванному продукту, ты цепляешся к отдельным фразам, не имеющим особого отношения к смыслу фразы в целом. И кстати, это вообще характерно для данного форума. Ну и где преславутое абстрактное мышление программистов? Сплошное ковыряние в деталях ))
← →
ketmar © (2008-08-05 15:00) [33]>[32] Мимоходом (2008-08-05 14:58:00)
а я вообще не показатель. у меня двойные стандарты.
---
Understanding is not required. Only obedience.
← →
Ega23 © (2008-08-05 15:00) [34]
> TUser © (05.08.08 13:52) [9]
>
> А что такое абстрактное мышление? Например, "Сколько будет
> 2+2?" - это абстрактный вопрос, или конкретный? Учитывая,
> что числа суть математические абстракции, и мы тут не два
> шарика с двумя кроликами складываем, а просто и абстрактно
> - два плюс два.
Конечно абстрактный. Система счисления не указана.
← →
Ega23 © (2008-08-05 15:01) [35]
> DVM © (05.08.08 14:47) [31]
>
>
> > Поход в сортир имеет алгоритм решения
>
> не всегда :)
Имеет-имеет.
"Не всегда" - это просто else. :)))
← →
@!!ex © (2008-08-05 15:25) [36]Судя по
> [5] Мимоходом (05.08.08 13:34)
> [26] Мимоходом (05.08.08 14:34)
Впору задуматься, а есть ли мышление вообще у данного представителя программистов или нет.
Пока ваши примеры не об абстракции а о неграмтно построенном производственном процессе.
Не знаю как у вас, а лично в моем опыте обсуждение проекта, в котором кода на день работы, занимает около недели, с написанием тестов, составлением документации и проч. А уже через неделю обсуждения идет тот самый кодинг на 1 день. И все довольны, потому что получили именно то, что хотели.
Вывод: Прежде чем кодить, нужно основательно вытрясти из заказчика все ньюансы задачи.
При чем тут абстрактное мышление?
← →
Alarm © (2008-08-05 15:31) [37]
> При чем тут абстрактное мышление?
> @!!ex © (05.08.08 15:25) [36]
Абстрактное мышление - это умение переводить информацию о·реальных объектах в символы, манипулировать с этими символами,·находить какое-то решение и это решение опять применять к объектам на·практике.
← →
Омлет (2008-08-05 15:36) [38]Абстрактно мыслит аналитик. Программист реализует придуманные аналитиком абстракции.
← →
Tricky (2008-08-05 15:39) [39]Что такое абстракция для программиста?
Э-э.. virtual; abstract;?
← →
Ega23 © (2008-08-05 15:47) [40]
> Э-э.. virtual; abstract;?
Нет, Variant
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.09.28;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.066 c