Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> умение составлять алгоритм, и его важность для программиста 
:(
    Опции темы
youri
Дата 6.10.2009, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



началось все вот здесь
последующие удаленные посты удалось сохранить smile

Цитата(youri @  5.10.2009,  17:22 Найти цитируемый пост)
Ипатьев, интересно, почему ты считаешь умение составлять алгоритм таким важным. Это к умению проектировать или к умению думать на разных уровнях абстракции?


Цитата(Ипатьев @  5.10.2009,  19:17 Найти цитируемый пост)
Хороший вопрос.
Мне уже пришло в голову два вполне себе алгоритма для последней задачи:

открыть мануал
найти готовую функцию

или

зайти на форум
задать вопрос:
ответ получен?
  да - закончить
  нет - писать комментарий
возврат:

Но если кроме шуток, то, с одной стороны, не так уж важно. Массы пользователей языка действительно ведь обходятся. Тем самым копи-пастом.
С другой стороны, понятие алгоритма тесно связано с понятием отладки. Ведь отладить можно только ту программу, алгоритм которой ты понимаешь. Где брекпойнты ставить, какие переменные контролировать, где функционал отрезать - без понимания алгоритма ничего этого сделать невозможно. Здесь мы вплотную подходим к понятию "программист". В многочисленных топиках, посвященных сакраментальному вопросу "Какой язык учить, чтобы стать программистом?" всегда придет тяжелая артиллерия с ответом... ну, вы его все знаете. Учат не язык, учат программирование. А что оно есть, как не алгоритмы? Это как гаммы для фортепиано. Чтобы стать профессионалом, их надо долбить 10 лет. А пацанам во дворе слабать "все идет по плану" - достаточно три блатных аккорда. В этом случае, наверное, алгоритмы не нужны. 


Цитата(Kallisto @  5.10.2009,  19:52 Найти цитируемый пост)
Ипатьев, вы мне напоминаете моего преподавателя из универа, который прежде чем писать программы на ПК заставлял писать исходный код на бумажке   


Цитата(insy @  5.10.2009,  20:14 Найти цитируемый пост)
Вы товарищ Ипатьев, без сомнения правы, но вот все упирается в то, что какой толк рассказывать человеку, что он "конченый", вместо того, чтобы реально помочь...? Вопрос поставлен примерно как - "Помогите и примерно расскажите", а не как -"Укажите почему"?   Просто, человек обращается за помощью, а не за ЦУ...

Как вариант неужели было трудно написать, как это сделал Kallisto, а от этого бы уже начали цепочку рассуждений...


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

Добавлено через 4 минуты и 8 секунд
Цитата(youri @  6.10.2009,  08:49 Найти цитируемый пост)
Как вариант неужели было трудно написать, как это сделал Kallisto, а от этого бы уже начали цепочку рассуждений...

лучше было бы, чтобы ты сам начал составлять алгоритм, показал затрудняющие тебя места и тебе бы с ними помогли

Это сообщение отредактировал(а) youri - 6.10.2009, 08:51
PM   Вверх
insy
Дата 6.10.2009, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



youri, молодец...  
"Внимание: данный раздел предназначен для решения сложных, нестандартных задач." У нас как раз такаяsmile
PM MAIL   Вверх
Ипатьев
Дата 6.10.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: нет
Всего: 37



Спасибо за сохраненные сообщения. 
Тема, действительно, сложная, и не все понимают смысл обсуждаемого вопроса.
Может быть, даже имело бы смысл создать топик где-нибудь подальше от местной юрисдикции.

Цитата(youri @  6.10.2009,  08:49 Найти цитируемый пост)
Скорее важно думать, а не заниматься композицией чужого кода

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

Дело не в чужом коде. Речь-то как раз о своем.
Мне кажется, мы смешали умение составить алгоритм вообще и умение его формализовать, изложить в строгой форме. 
Если второе умение не слишком важно, программист "понимает, но сказать не может", то без первого он просто шагу не ступит! 
Совсем без алгоритма невозможно. Он как воздух - если мы его не замечаем, то это не значит, что его нет. Даже когда картошку чистим. Поэтому он часто лежит просто в голове в неявной форме. Все ОК, можно работать. Но здесь есть засада. 
- если алгоритм неправильный и нужно в нем разобраться, сделать, как бы, "трассировку" в уме; 
- или если нужно им поделиться, как это происходит на форуме, с окружающими
то умение формулировать свои мысли выходит на первый план. 

Или взять вопрос, с которого все началось. Яркая иллюстрация: нет алгоритма - нет идей, как приступать к решению задачи. 
А если задача чуть посложнее? Взаимодействие различных систем документооборота или, скажем, бронирования каких-нибудь туров? Тут тот, кто не нарисовал сначала на бумажке, осложнил себе задачу в разы.

PM MAIL   Вверх
insy
Дата 6.10.2009, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Ипатьев, так получилось, что обсуждаем тему максимум в четвером, и у меня просьба,- ты не мог бы говорить про меня напрямую, а не вуалировать обращение под "не все понимают смысл обсуждаемого вопроса." ... Ты же именно меня имел ввиду, или я ошибаюсь?

Это сообщение отредактировал(а) insy - 6.10.2009, 09:53
PM MAIL   Вверх
Kallisto
Дата 6.10.2009, 10:23 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: нет
Всего: -1



Ипатьев.

Цитата

Яркая иллюстрация: нет алгоритма - нет идей, как приступать к решению задачи. 

Мне кажется наоборот, нет идей - нет алгоритма.

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

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

Вот как в нашем случае с insy. Человек даже не знал про LIMIT, как бы он смог составить алгоритм? Да, он бы составил нечто, может быть, и это нечто было медленное тупое карыто с невероятным алгоритмом (insy без обид - передаю атмосферу)

А знания нужно добывать самому или с помощью (советами) другого. Причем во втором случае все происходит в разы быстрее.
Можно твердить, что если человек что-то хочет узнать - он сам учится и тд. Да, это клево, но школу оканчивали все.

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



PM MAIL   Вверх
youri
Дата 6.10.2009, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



Цитата(Ипатьев @  6.10.2009,  09:22 Найти цитируемый пост)
Он как воздух - если мы его не замечаем, то это не значит, что его нет

это как раз та причина, по которой я не могу это прокомментировать (я же составил алгоритм той задачи?). Алгоритмы (в моем, более узком понимании этого слова) я могу составлять и мне это умение не нужно. Либо я не понимаю этого, потому что оно у меня уже есть

Цитата(Ипатьев @  6.10.2009,  09:22 Найти цитируемый пост)
А если задача чуть посложнее? Взаимодействие различных систем документооборота или, скажем, бронирования каких-нибудь туров? Тут тот, кто не нарисовал сначала на бумажке, осложнил себе задачу в разы.

а вот если обобщать слово алгоритм к взаимодействию компонентов и т.д. (т.е. такой "высокоуровневый" алгоритм). То тут у меня проблемы. Я понимаю, периодически, что мне не помешал бы упрощенный (более абстрактный) взгляд на код. А смотря на код я грузну в деталях и мне сложно принимать какие-либо более высокоуровневые решения. Но этот skill я пока еще не прокачал

Цитата(insy @  6.10.2009,  09:53 Найти цитируемый пост)
Ты же именно меня имел ввиду, или я ошибаюсь?

не льсти себе
Цитата(youri @  5.10.2009,  17:22 Найти цитируемый пост)
Ипатьев, интересно, почему ты считаешь умение составлять алгоритм таким важным. Это к умению проектировать или к умению думать на разных уровнях абстракции?

PM   Вверх
insy
Дата 6.10.2009, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Цитата

не льсти себе


А причем тут лесть? Просто неужели трудно сказать, что ты insy не понимаешь смысл обсуждаемого вопроса... а не говорить, что возможно кто-то тут...
PM MAIL   Вверх
youri
Дата 6.10.2009, 10:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



Цитата(Kallisto @  6.10.2009,  10:23 Найти цитируемый пост)
Можно твердить, что если человек что-то хочет узнать - он сам учится и тд. Да, это клево, но школу оканчивали все.

но ведь в школе были люди, который учились в педагогическом вузе. А тут прийдет неизвестно кто, ляпнет неизветсно что. А так как ты вообще ничего в этом не смыслишь, то не можешь критически отнестись к ответу. Причем отвечать на самые простые вопросы самые толковые люди вряд ли будут. Форум - это место для обмена опытом, а не для обучения. А если человек действительно хочет что-то узнать, он это действительно узнает. Такие уж люди ;)

Цитата(Kallisto @  6.10.2009,  10:23 Найти цитируемый пост)
А если нет, то все ваши попытки заставить человека подумать ни к чему не приведут за исключением некоторых случаев

так вот эти исключительные случаи и важны. Думать самому всегда полезнее, чем копи-пастить готовое решение (не думать). Такой человек быстрее чего-то добьется. Значит сам сможет помогать людям на форуме

Цитата(insy @  6.10.2009,  10:41 Найти цитируемый пост)
А причем тут лесть? Просто неужели трудно сказать, что ты insy не понимаешь смысл обсуждаемого вопроса... а не говорить, что возможно кто-то тут...

при том, что я тоже либо не понимал, либо не понимаю. И таких непонимающих может целый форум O_o (естественно, я немного преувеличиваю)

Это сообщение отредактировал(а) youri - 6.10.2009, 10:45
PM   Вверх
insy
Дата 6.10.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



youri, согласен.
Предлагаю привести наш спор к апогею! Спасибо всем кто мне помог, каждый в чем-то своем! Дискуссия получилась очень даже занимательной на мой взгляд! В следующий раз буду подходить более осмысленно, и пробовать более подробно раскрыть мысль и суть вопроса!

Благодарю за светлые мысли...

youri
Kallisto
Ипатьев
PM MAIL   Вверх
Kallisto
Дата 6.10.2009, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: нет
Всего: -1



Цитата

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

Авторитетность преподавателя вы не оцениваете. Оценивает директор, ваши родители, тем не менее не вы.

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

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

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

Здесь аналогично - вам дают информацию, ваше право копнуть в заданном направлении, изучить более подробнее, либо тупо сделать копипаст чтобы получилось нечто, в любом случае дело сугубо индивидуальное.

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

Цитата

Думать самому всегда полезнее, чем копи-пастить готовое решение (не думать). Такой человек быстрее чего-то добьется. Значит сам сможет помогать людям на форуме

Вы говорите очевидные вещи, всем понятно что лучше думать и с этим никто не спорит. Но помогать думать и заставлять думать - это совершенно разные вещи. 

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

имхо



PM MAIL   Вверх
youri
Дата 6.10.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



уже в этой теме оффтоп начинается. Можно дать еще эту ссылку и закончить на этом обсуждение "как отвечать на вопросы"
PM   Вверх
Kallisto
Дата 6.10.2009, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: нет
Всего: -1



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

anyway пошел оффтоп
PM MAIL   Вверх
Ипатьев
Дата 7.10.2009, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: нет
Всего: 37



Цитата(youri @  6.10.2009,  10:30 Найти цитируемый пост)
я могу составлять и мне это умение не нужно.

Речь о практичекой работе по созданию сайтов? 
Скажем, пресловутый пузырек не нужен в работе, когда есть sort(), а что у него там внутри - неважно?
Вы это имеете в виду?
PM MAIL   Вверх
youri
Дата 7.10.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



Цитата(Ипатьев @  7.10.2009,  12:00 Найти цитируемый пост)
Речь о практичекой работе по созданию сайтов?

да

Цитата(Ипатьев @  7.10.2009,  12:00 Найти цитируемый пост)
Скажем, пресловутый пузырек не нужен в работе, когда есть sort(), а что у него там внутри - неважно?Вы это имеете в виду?

нет. Я мог бы для каждой функции/метода предварительно составлять алгоритм. Но это ничего не даст. Если же говорить о более сложных вещах, то да, предполагаю, что их нужно как-то предварительно "продумывать" на листочке или еще как-нибудь, но это уже не столько алгоритм, а какие-то uml диаграммы. Ну разве что алгоритм в очень широком смысле этого слова
PM   Вверх
unicuum
  Дата 8.10.2009, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(insy @  6.10.2009,  08:59 Найти цитируемый пост)
"Внимание: данный раздел предназначен для решения сложных, нестандартных задач." У нас как раз такаяsmile 

Вообще то нет, такие вещи традиционно обсуждают во флейме, так как он единственный где модеры за это не бьют по башке. Да и сами участники там более терпимые и не начинают меряться письками направо и налево. По многолетней традиции такие обсуждения называются умными темами. Вот произвёл очередной перенос темыsmile 


--------------------
user posted image
обычный день на винграде
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Разные вопросы"
Smartov

Сюда нужно постить только темы, которые нельзя отнести ни к одному из существующих разделов. Если вы не уверены, то просмотрите еще раз заголовки форумов, карту форума или попробуйте воспользоваться поиском.
Если вы все же не смогли найти подходящего раздела - создавайте тему здесь.


С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разные вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1121 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.