![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Iron Bug |
![]()
Сообщение
#1
|
|||
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
имхо, не надо тратить время на запоминание алгоритмов. они бывают очень хитрожопые, но пользы от их запоминания нет никакой. разве что ради развлечения на досуге (если таковой имеется). алгоритмы всегда можно найти, когда потребуется. это маленькие кирпичи, из которых строится программа. но они не играют роли, если общая концепция плохо продумана. так что то, что реально полезно в жизни - это паттерны(модели, схемы, принципы) проектирования ПО. по этой теме есть непревзойдённая книжка Эриха Гаммы и компании "Паттерны программирования" (или как-то так, я на английском читала, там она называется Design Patterns: Elements of Reusable Object-Oriented Software). Тут в книгах кто-то выкладывал русский перевод, но мне лично попадался очень распространённый и совершенно чудовищный перевод, полный ошибок, и я бы всё же рекомендовала её читать на английском, при возможности. эта книжка во многом ставит мозги на место и позволяет быстро решать довольно запутанные задачи в программировании. Цитата(igor_bogomolov @ 21.8.2010, 0:13) Link Только нет в стандарте алгоритмов на графах (алгоритма обхода графа, алгоритма нахождения кратчайшего пути ...), алгоритма поиска пары ближайших точек, определения выпуклой оболочки, поиска наибольшего общего делителя и т.д. Задач очень много и решений тоже. И нужно уметь анализировать эти решения, какое из них в твоей ситуации лучшее. это всё (ну, почти всё, что встречается на практике) и ещё куча всякой дребедени есть в бусте. Сообщение отредактировал ViGOur - 21.8.2010, 17:53 |
|||
|
||||
![]() |
BRE |
![]()
Сообщение
#11
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Алексей1153 @ 21.8.2010, 13:34) Link Я уже говорил, что сам обожаю поковыряться и пореализовывать/попридумывать что-нибудь сложное. Но это - в основном для души и тренировки. А как этим можно заниматься вообще без теоретической базы? Это не обязательно бумажные книги, можно читать электронные книги/статьи/смотреть наработки других. Но это нужно делать. Цитата(Алексей1153 @ 21.8.2010, 13:34) Link Когда же босс говорит - за неделю сделать программу по захвату мира, то возиться каждый раз с однотипными задачами нет времени и сил, тогда действительно, сложный алгоритм - это кирпичик в более абстрактном алгоритме большой задачи. Которая не для души, а денег ради, да. Все это понятно, кушать нужно всем. Кстати, DELPHI как раз придумали для таких разработок. Но, IMHO, не стоит останавливать людей желающих что-то изучать, опираясь только на собственное положение. |
|
|
Алексей1153 |
![]()
Сообщение
#12
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(BRE @ 21.8.2010, 15:49) Link А как этим можно заниматься вообще без теоретической базы? а вот так ) В школьные и студенческие годы, сам понимаешь, времени много, я пытался сначала без всяких теорий придумывать решения задач (архиваторы, поиск пути и прочее), что-то получалось, что-то нет. Только потом, "с чистой совестью" читал теорию и либо радовался, что угадал, либо удивлялся, какие же они там все умные - и запоминал способ решения. Или даже не в деталях весь алгоритм, а хотя бы сам факт существования и назначение алгоритма - это более важно, чем помнить в деталях Цитата(BRE @ 21.8.2010, 15:49) Link Кстати, DELPHI как раз придумали для таких разработок терпеть не могу дельфи и борладн С. Они приучают к неряшливости. ИМХО, конечно, но впечатление от программ других, написанных в этих средах, такое. Форматирование кода тоже они все любят кошмарное. Сорри за оффтоп |
|
|
BRE |
![]()
Сообщение
#13
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Алексей1153 @ 21.8.2010, 14:03) Link а вот так ) В школьные и студенческие годы, сам понимаешь, времени много, я пытался сначала без всяких теорий придумывать решения задач (архиваторы, поиск пути и прочее), что-то получалось, что-то нет. Только потом, "с чистой совестью" читал теорию и либо радовался, что угадал, либо удивлялся, какие же они там все умные - и запоминал способ решения. Или даже не в деталях весь алгоритм, а хотя бы сам факт существования и назначение алгоритма - это более важно, чем помнить в деталях Так и не нужно ничего помнить в деталях, это глупо, да и вообще невозможно. Как я понял, ViGOur просили посоветовать книги то теории алгоритмов, а не справочники готовых алгоритмов. На самом деле придумывание новых алгоритмов или модификация существующих происходит постоянно, мы даже не задумываемся о этом. И теоретическая база позволяет делать это более эффективно. Например, мы можем хранить данные в списке, а можем поместить их в дерево, а можем добавить кеширование часто используемых данных из дерева. Мы можем сортировать данные в кеше, а можем не сортировать. Мы пользовались стандартными алгоритмами, но улучшили некоторые их показатели (скорость), за счет увеличения объема хранения (дополнительный кеш). А могли бы просто все хранить в списке и искать их перебором. Цитата(Алексей1153 @ 21.8.2010, 14:03) Link терпеть не могу дельфи и борладн С. Они приучают к неряшливости. ИМХО, конечно, но впечатление от программ других, написанных в этих средах, такое. Форматирование кода тоже они все любят кошмарное. Сорри за оффтоп В свое время Borland был хорош (Turbo C 2.0/Borland C++ 3.1). ![]() Я тоже не воспринимаю дельфи. Но зато как он позволяет программировать. Есть куча компонент, которые можно добавлять на форму. Если нужного компонента нет, пишешь на все форумы и тебе скажут где скачать, что-то подобное. Быстро напихал на форму, связал их ка-то, отдал заказчику, получил деньги. Быстро же, но без души. Лично я до сих пор отношусь к программированию как к искусству. Дух настоящего hackinga еще у меня внутри. ![]() |
|
|
Алексей1153 |
![]()
Сообщение
#14
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(BRE @ 21.8.2010, 17:01) Link Лично я до сих пор отношусь к программированию как к искусству. Дух настоящего hackinga еще у меня внутри Я аналогично ) Но я знаю себя - что я могу увлечся, и тогда на оптимизацию и финтифлюшество могу потратить весь рабочий день ![]() |
|
|
Iron Bug |
![]()
Сообщение
#15
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
кхм.. бога нет. но это мелочи.
а цивилизацию двигает экономическая выгода. что-то понадобилось: приложили усилия и изобрели. именно так, а не иначе. время "гениев-одиночек" прошло давным-давно. ностальгировать по нему бессмысленно: мы имеем гораздо больше, чем имели наши предки тысячелетиями. но мы не умеем ценить и использовать то, что мы знаем. что насчёт научных исследований... наука больше не умещается в голове одного человека. крупные исследования проводятся коллективно. открытия стали мельче, не оттого, что они стали менее существенными, а оттого, что количество знаний человечества стало огромно и удельная значимость каждого нового открытия в общей массе человеческих достижений стремится к нулю. а USB был разработан группой исследователей. ведущий разработчик протокола работает на Intel. всё не просто так, от скуки. а ради конкретных практических задач. возможно, кому-то требуется много всего. но я лично ни разу в жизни не видела каких-то излишне алгоритмоёмких задач, которые бы не имели готовых решений. а если отбросить чувство собственной важности и просто заниматься своим делом профессионально, без попыток показать "а вот что я могу" - то обычно проекты двигаются значительно быстрее и качество реализации - выше. при попытках создания своего велосипеда обычно выходит как всегда: на квадратных колёсах ехать сложно, даже имея большой запас оптимизма. Сообщение отредактировал Iron Bug - 21.8.2010, 15:28 |
|
|
BRE |
![]()
Сообщение
#16
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Хорошо, пусть двигает экономическая выгода, страх, что угодно. Это не важно.
Кто это все придумывает? Некий коллективный разум? Нет. Это человек или группа людей, обладающие знаниями. Так и только так. Что значит приложили усилия и изобрели? Кто приложил усилие? Можно собрать толпу людей с улицы, сказать им: "Изобретать!" и они что-то изобретут? |
|
|
Алексей1153 |
![]()
Сообщение
#17
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Iron Bug @ 21.8.2010, 18:21) Link бога нет. ну, это вопрос спорный и личный для каждого ![]() BRE, когда надо тупо кормить и одевать семью, уже не до философии ![]() |
|
|
BRE |
![]()
Сообщение
#18
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Алексей1153 @ 21.8.2010, 17:04) Link BRE, когда надо тупо кормить и одевать семью, уже не до философии ![]() Все это понятно. Но люди придумывают, что-то новое не потому что маются от безделья кушая черную икру. ![]() В 2001 году Брэм Коэном придумал протокол BitTorrent. Тогда ему было 26 лет. Можно спросить: "А нахрена было это все придумывать, ведь уже дано был ftp, http?" Есть люди которые могут, а есть люди которые не могут, придумать что-то новое по стилю своего мышления. Но не первые и не вторые не могут это сделать без определенных знаний. |
|
|
Алексей1153 |
![]()
Сообщение
#19
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(BRE @ 21.8.2010, 19:18) Link Брэм Коэном придумал протокол BitTorrent. не знаю, зачем, я ещё не пользовался )) |
|
|
kwisp |
![]()
Сообщение
#20
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
интересная у вас дискуссия.
никогда не против знаний. всегда а них. и по хорошему программист должен разбираться в алгоритмах, пусть не так виртуозно как математик-алгоритмист, но должен. а на счет тупо кормить семью и зарабатывать деньги, это понятно и к сожалению печально. печально то что зачистую условия работы не дают или слабо позволяют развиваться в желаемых направлениях. мне тоже начальник часто говорит "это не твоя задача, это тебе не надо знать, это лишнее и проч". однако большинство действительно хороших вещей придумано и изобретено из личного желания а не за деньги и не за славу. в доказательство могу привести то что знаю многих людей который зарабатывают одним(частный бизнес и проч.) а программирование для них - увлечение в котором они себя не ограничивают начальством, сроками, требованиями, деньгами. если говорить о программировании как о работе то в условиях рыночных отношений как начальник с заказчиком скажут таким и должен быть программист, скажут писать код левой рукой после 6 вечера - заплатят за это соответсвенно - получаеся их правда, кто платит тот заказывает музыку. если есть в требованиях по приему на работу программиста знания албанского языка - ничего не поделаешь. если говорить о программировании как об искусcтве или увлечении то извините тот кто знает алгоритмы тот безусловно искуснее. |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.8.2025, 4:34 |