OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 18 Апрель, 2024 14:37

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 12 Март, 2011 11:48 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
Ответы на вопрос "чтобы стать хорошим программистом надо быть обладателем математического ума?"
http://otvety.google.ru/otvety/thread?tid=48ed3d362c8fdda6&hl=ru&table=%2Fotvety%2Fsearch%3Fprmd%3Divns%26q%3D%25D0%25B0%25D0%25BB%25D0%25B3%25D0%25BE%25D1%2580%25D0%25B8%25D1%2582%25D0%25BC%25D0%25B8%25D1%2587%25D0%25B5%25D1%2581%25D0%25BA%25D0%25B8%25D0%25B9%2B%25D1%258F%25D0%25B7%25D1%258B%25D0%25BA%2B%25D0%25B4%25D1%2580%25D0%25B0%25D0%25BA%25D0%25BE%25D0%25BD%2B%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B3%25D1%2580%25D0%25B0%25D0%25BC%25D0%25BC%25D0%25B8%25D1%2580%25D0%25BE%25D0%25B2%25D0%25B0%25D0%25BD%25D0%25B8%25D0%25B5%26sa%3DN%26ie%3DUTF-8%26tab%3Ds2%26um%3D1%26biw%3D1024%26bih%3D611%26hl%3Dru
Цитата:
Начнем с того, что программирование само по себе никому не нужно. Оно обязательно направлено на решение каких-то конкретных задач. ...
Нужно умение быстро учиться новому. ...
Выучить язык - ерунда, а вот научиться думать - это уже другое. Кому нужен программист, который знает кучу языков, но не может решать задачи?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 12:51 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Начинать-то надо с определения "математического ума". Что это такое?

Вообще, хороший программист во многих направлениях программирования не обязан быть хорошо подготовленным для деятельности в сфере мат. методов. Но подготовка основных качеств и способностей интеллекта сходная что для математики, что для программирования... что для точной работы с текстами. О чём Info21 не устаёт говорить.

Культура точных наук привита должна быть обязательно.

Ещё такой момент: давно есть у меня подозрение, что очень важное умение, которое надо развивать - это умение видеть подобие, эквивалентность, взаимные соответствия между различными внешне непохожими формами, в которых проявляет себя часто одна и та же какая-нибудь штука. То, что называется, математическим термином "изоморфизм". Видеть этот изоморфизм. Это добавляет здоровую степень свободы при решении задач - когда мозг не цепляется за конкретную форму выражения, а легко переключается между ними.
В этом - ещё одна роль хорошо организованного курса дискретной математики для программистов, с упором на вот этот момент. На развитие этого же момента надо упирать в курсах "широко-эрудиционных", типа "Языки программирования".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 13:01 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Абсолютно согласен с необходимостью наличия "изоморфизма".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 16:07 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
Цитата:
Абсолютно согласен с необходимостью наличия "изоморфизма".

Неправильно.

Наипервейшая необходимость - воспитание целеустремленной личности, организация последовательности работы - постановка задачи, разработка алгоритма, разработка теста и последние программирование.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 17:07 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
Геннадий Тышов писал(а):
Наипервейшая необходимость - воспитание целеустремленной личности, организация последовательности работы - постановка задачи, разработка алгоритма, разработка теста и последние программирование.
Неправильно.

Вы так бюрократа вырастите, а не программиста. Вы ещё скажите, что перво-наперво необходимо освоить системы контроля версий и баг-трекеры, а заодно и системы учёта времени (тайм-менеджмент).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 17:33 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
Александр Ильин писал(а):
Вы ещё скажите, что перво-наперво необходимо освоить системы контроля версий и баг-трекеры, а заодно и системы учёта времени (тайм-менеджмент).
Александр, это ваши фантазии.

Вы должна знать. В книге Д. Грисса "Наука программирования" в главе 14 "Программирование как целенаправленная деятельность" определены принципы:
(14.4) Принцип. Программирование - целенаправленная деятельность.
(14.5) Принцип. Прежде чем решать задачу, убедитесь что вы понимаете, в чем она состоит.
(14.6) Принцип. Прежде чем строить программу, уточните и разъясните себе пред- и постусловия.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 17:45 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Геннадий Тышов писал(а):
Александр Ильин писал(а):
Вы ещё скажите, что перво-наперво необходимо освоить системы контроля версий и баг-трекеры, а заодно и системы учёта времени (тайм-менеджмент).
Илья, это ваши фантазии.

Вы должна знать. В книге Д. Грисса "Наука программирования" в главе 14 "Программирование как целенаправленная деятельность" определены принципы:
(14.4) Принцип. Программирование - целенаправленная деятельность.
(14.5) Принцип. Прежде чем решать задачу, убедитесь что вы понимаете, в чем она состоит.
(14.6) Принцип. Прежде чем строить программу, уточните и разъясните себе пред- и постусловия.

Тезисы Гриса относятся к любой инженерной деятельности. И к неинженерной почти всегда тоже...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 18:22 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Иметь математический склад ума - это необходимое (но недостаточное) условие для того, чтобы стать хорошим программистом. (IMHO!)

Убеждение, что из "физиков" якобы получаются хорошие программисты, а из "математиков" - плохие, считаю глубоко ошибочным.

Согласен, что из "математика" может получиться плохой программист, но из этого не следует, что хороший программист имеет право быть плохим математиком.

Математика - это абстрактная наука. А умение абстрагироваться - это один из первейших необходимых навыков программиста.

PS: Ну, всё! Теперь ешьте меня :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 18:32 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
igor писал(а):
А умение абстрагироваться - это один из первейших необходимых навыков программиста.

Программисту что же требуется, абстрагироваться или конкретизироваться в алгоритме и программе?
Все таки программа не является абстрактным произведением.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 18:39 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Геннадий Тышов писал(а):
Программисту что же требуется, абстрагироваться или конкретизироваться в алгоритме и программе?
Все таки программа не является абстрактным произведением.

Программист никогда не работает с реальными физическими объектами, а только с их абстракциями.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 18:42 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Геннадий Тышов писал(а):
igor писал(а):
А умение абстрагироваться - это один из первейших необходимых навыков программиста.

Программисту что же требуется, абстрагироваться или конкретизироваться в алгоритме и программе?
Все таки программа не является абстрактным произведением.


На конкретном, близком к Вам примере:
- чтобы автоматизировать конкретную фирму на базе 1С, нужно конкретизироваться;
- чтобы создать систему, подобную 1С, нужно абстрагироваться.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 18:53 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Илья Ермаков писал(а):
- чтобы автоматизировать конкретную фирму на базе 1С, нужно конкретизироваться;
- чтобы создать систему, подобную 1С, нужно абстрагироваться.

А я и не говорил, что единственное что нужно уметь программисту - это абстрагироваться.

Можете привести пример, когда программист напрямую работает с физическим объектом, а не со структурами данных, которые его описывают?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 18:56 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
В обоих случаях работают принципы Грисс, а хороший программист должен быть целеустремленным и не сойти с дистанции до цели.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 19:10 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Продолжу пример Ильи. Допустим мы автоматизируем конкретную фирму, где абстрагирование как бы не нужно, а нужна только конкретизация.
Допустим, эта фирма - автосервис. Что такое автомобиль клиента с точки зрения программиста? Это запись в таблице, состоящая из таких полей как: марка, модель, год выпуска, пробег и цвет. Всё! Какого цвета сиденья? А бес его знает. Это несущественная деталь, и от такой конкретики мы здесь абстрагируемся. На самом деле этот приём применяется в программировании так часто, что его просто перестают замечать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 19:17 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Геннадий Тышов писал(а):
хороший программист должен быть целеустремленным и не сойти с дистанции до цели.

Это понятно, что лучше быть здоровым и богатым, чем бедным и больным. :D
Общие слова, не несущие в себе никакой новой информации.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 19:21 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
igor писал(а):
А я и не говорил, что единственное что нужно уметь программисту - это абстрагироваться.

В бухгалтерской или кадровой задаче, программист должен быть ответственным за решение перед многими людьми.

Задачи эти не простые, так как их условия складываются исторически из за изменений законодательства. Законодательство это не физический объект, а множество условий, часто противоречивых, здесь важно его прочтение и взятие на себя ответственности за принятые решения. Программисту необходимо реализовать задачу в заданные сроки.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 19:28 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
igor писал(а):
Продолжу пример Ильи. Допустим мы автоматизируем конкретную фирму, где абстрагирование как бы не нужно, а нужна только конкретизация.
Допустим, эта фирма - автосервис. Что такое автомобиль клиента с точки зрения программиста? Это запись в таблице, состоящая из таких полей как: марка, модель, год выпуска, пробег и цвет. Всё! Какого цвета сиденья? ...
Притом абстрагирование начинается уже с того, что автомобиль представляется "записью в таблице" - т.е. структурой данных. Или вот то, что писал о "лице Чернова" в этом сообщении...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 19:29 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Геннадий Тышов писал(а):
igor писал(а):
А я и не говорил, что единственное что нужно уметь программисту - это абстрагироваться.

В бухгалтерской или кадровой задаче, программист должен быть ответственным за решение перед многими людьми.
...

Спасибо за поддержку и за то, что развили мою мысль! Программисту нужно не только уметь абстрагироваться, но и "быть ответственным за решение перед многими людьми". Кто бы спорил.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 12 Март, 2011 19:40 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Драконограф писал(а):
Притом абстрагирование начинается уже с того, что автомобиль представляется "записью в таблице" - т.е. структурой данных.

Да, именно так.
Кстати, сидений в нашем автомобиле вообще нет :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 14 Март, 2011 18:13 

Зарегистрирован: Среда, 30 Сентябрь, 2009 14:45
Сообщения: 147
Илья Ермаков писал(а):
...очень важное умение, которое надо развивать - это умение видеть подобие, эквивалентность, взаимные соответствия между различными внешне непохожими формами, в которых проявляет себя часто одна и та же какая-нибудь штука. То, что называется, математическим термином "изоморфизм". Видеть этот изоморфизм. Это добавляет здоровую степень свободы при решении задач - когда мозг не цепляется за конкретную форму выражения, а легко переключается между ними.


Особенно важно видеть изоморфизм между условиями задачи и тем, чему тебя учили.

В частности, это и есть "понять задачу", о чем тут говорят.

В частности, в разных задачах увидеть "линейный поиск", отрицательным примерам чего на форуме посвящена целая тема.

В частности, не быть "бразильским студентом", который выучил всю науку, но приложить ее не может.

А целеустремленность - это общечеловеческая ценность, не специфично, а потому достаточно базового уровня.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB