Конференция "Прочее" » Есть ли абстрактное мышление у программистов ?
 
  • Мимоходом (05.08.08 12:50) [0]
    Собственно на создание топика подтолкнула фраза "Ну вот ты точно программист - не умеешь абстрактно мыслить".
    А действительно, умеют ли программисты абстрактно мыслить?
  • Medbe}I{onok XML © (05.08.08 12:55) [1]
    справку приносить или на слово поверишь?
  • Alkid (05.08.08 13:12) [2]
    А вот я всегда думал, что умение абстрактно мыслить - это непременный аттрибут хорошего программиста, ибо на управлении абстракциями строится современное программирование. :)
  • Alkid (05.08.08 13:12) [3]
    А вот я всегда думал, что умение абстрактно мыслить - это непременный аттрибут хорошего программиста, ибо на управлении абстракциями строится современное программирование. :)
  • Игорь Шевченко © (05.08.08 13:13) [4]
    Есть ли жизнь на марсе, нет ли жизни на марсе - какая, в сущности, разница ?
  • Мимоходом (05.08.08 13:34) [5]

    > А вот я всегда думал, что умение абстрактно мыслить - это
    > непременный аттрибут хорошего программиста


    Ну я тоже так думал.
    Но если посмотреть более внимательно - деятельность программиста постоянно вынуждает его мыслить в максимальной конкретике. Даже когда рассматриваются какие-то абстрактные классы, интерфейсы и т.п., для программиста они не имеют ценности  сами по себе, они нужны лишь для того что бы в конечном итоге создать вполне конкретный и определнный класс, отображающий какой-то конкретный объект.
    У вас так не бывало, что приходит заказчик, и начинает бормотать что-то невнятное про какую-то там кнопочку, а вы уныло это слушаете, что бы в конце концов спросить "Что собственно Вам нужно сделать"? В итоге, заказчик на вас смотрит как на идиота, и говорит что вы не можете абстрактно мыслить.
    Когда это происходит в первый раз, конечно вы воспринимаете это как шутку. Но после n-го раза, действительно начинаешь задумываться: а может я действительно чего-то не понимаю, и не способен понять требования клиента?
  • blackman © (05.08.08 13:37) [6]
    Рефлексивный и абстрактный способы мышления играют ключевую роль в обучении программистов и в практике разработки программного обеспечения.
    .....
    Абстракция может быть выражена разными способами, но все они ведут к преодолению когнитивной сложности путем игнорирования несущественных деталей на определенных стадиях решения проблемы. Основываясь на [1], мы выделяем три способа выражения абстракции.

    Заметить нечто общее в группе объектов и выразить это в одном абстрактном понятии. В таких случаях абстракция ведет к поиску общих характеристик в множестве объектов и к игнорированию несущественных различий между ними. Мы можем выразить эти характеристики в виде математического понятия либо класса в объектно-ориентированном программировании и т.д. В этом смысле абстракция представляет собой отношение «многих к одному». Например, иерархия млекопитающих выражает абстракцию, в которой на верхних уровнях различия между животными игнорируются, а на более низких — учитываются. Шаблон проектирования (design pattern) является примером выражения подобной абстракции в контексте программирования.
    Для описания конкретного решения выбрать соответствующий уровень абстракции языка. Этот язык не должен базироваться на инструментах, предоставляемых языком программирования, который используется для фактической разработки программ. В данном случае абстракция помогает разработчикам размышлять о проблеме в соответствующих концептуальных терминах, отвлекаясь от специфических терминов языка программирования. Если бы они не использовали подобных абстракций, компьютерные языки вынуждали бы их копаться в несущественных деталях на ранних этапах проекта, «брали бы под контроль» процесс программирования. Абстракция заполняет собой промежуток между естественным языком и языком программирования. Эта идея находит отражение в эволюции языков программирования. На ранних этапах развития они сильно отличались от человеческих, но для выражения своих идей на современном языке программирования уже можно выбрать способ, значительно более близкий к естественному языку.
    Применить абстракцию для описания объектов в соответствии с их характеристиками, отвлекшись от их устройства или принципов работы. Энтони Хоар поясняет, что абстрактная команда определяет желаемое поведение компьютера, не расписывая в деталях, как оно достигается. Эту идею можно выразить, например, путем написания единого набора инструкций для манипулирования объектами разных типов, в котором различия в способах воздействия на разные объекты будут определяться нижними уровнями абстракции. Данный подход реализуется путем установки барьеров абстракции
    http://www.osp.ru/os/2005/09/380361/

    Игорь Шевченко ©   (05.08.08 13:13) [4]
    Конечно. Ни в отпуск туда поехать, и закзчиков там нам не искать.  Далековато и инета там нет :)
  • ketmar © (05.08.08 13:41) [7]
    >[5] Мимоходом (2008-08-05 13:34:00)
    >деятельность программиста постоянно вынуждает его мыслить в максимальной
    >конкретике

    кактус это, а не программист.

    ---
    All Your Base Are Belong to Us
  • Мимоходом (05.08.08 13:51) [8]

    > кактус это, а не программист.

    Ээ, то есть вы хотите сказать, что настоящий программист мыслит только абстракциями? ИМХО тогда бы до сих пор ни одной работающей программы не было бы создано.
  • TUser © (05.08.08 13:52) [9]
    А что такое абстрактное мышление? Например, "Сколько будет 2+2?" - это абстрактный вопрос, или конкретный? Учитывая, что числа суть математические абстракции, и мы тут не два шарика с двумя кроликами складываем, а просто и абстрактно - два плюс два.
  • TUser © (05.08.08 13:52) [10]
    А что такое абстрактное мышление? Например, "Сколько будет 2+2?" - это абстрактный вопрос, или конкретный? Учитывая, что числа суть математические абстракции, и мы тут не два шарика с двумя кроликами складываем, а просто и абстрактно - два плюс два.
  • ketmar © (05.08.08 13:53) [11]
    >[8] Мимоходом (2008-08-05 13:51:00)
    >вы хотите сказать, что настоящий программист мыслит только абстракциями
    где у меня «только»?

    алсо, «кодер» и «программист» — вещи очень разные.

    ---
    All Your Base Are Belong to Us
  • antonn © (05.08.08 13:55) [12]

    > А действительно, умеют ли программисты абстрактно мыслить?

    умеют, но вот иногда всячески подчеркивают - что не умеют, зачем? хз...
  • Мимоходом (05.08.08 14:00) [13]

    > А что такое абстрактное мышление?

    Хе хе, так вот именно в этом я и пытаюсь разобраться.
    Безусловно, в смысле "Заметить нечто общее в группе объектов и выразить это в одном абстрактном понятии" - программист обладает отличным абстрактным мышлением.
    Но мне кажется, что у остальных(не программистов и не математиков) понятие об абстрактном мышлении несколько другое.
    А то что вам кажется абстракцией, для других может казаться совершенно конкретным объектом, и наоборот.
  • Medbe}I{onok XML © (05.08.08 14:02) [14]
    > А что такое абстрактное мышление?

    это мышление, способное оперировать абстракциями при решении задач
  • Alarm © (05.08.08 14:02) [15]
    http://igrology.ru/58083
    "А вот если·два человека говорят о методах дедукции и индукции, при этом не теряя·связь в своем уме с теми объектами, которые подчинены законам индукции·и дедукции, то это - правильно работающее абстрактное мышление, совсем·отсутствующее у животных..."
    из одного из определений абстрактного мышления
  • Мимоходом (05.08.08 14:03) [16]

    > алсо, «кодер» и «программист» — вещи очень разные.

    совершенно не согласен.
    хороший программист должен видеть проект на всех уровнях абстракции, в том числе и на уровне кодирования. Иначе мы получим мечтателей со сферическими конями.
  • Mystic © (05.08.08 14:05) [17]
    Смотря с кем сравнивать. Если сравнивать программистов с мышами, то абстрактное мышление безусловно присутствует. А если сравнивать с физиками, работающими над теорией объединения, то отсутствует.
  • Игорь Шевченко © (05.08.08 14:07) [18]

    > алсо, «кодер» и «программист» — вещи очень разные.


    если не секрет, перечень общепринятых различий в студию
  • ketmar © (05.08.08 14:12) [19]
    >[18] Игорь Шевченко © (2008-08-05 14:07:00)
    кодер делает код по готовым спекам. программист эти спеки пишет. %-)

    ---
    All Your Base Are Belong to Us
 
Конференция "Прочее" » Есть ли абстрактное мышление у программистов ?
Есть новые Нет новых   [134439   +53][b:0][p:0.001]