crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

Iron Bug
  опции профиля:
сообщение 20.8.2010, 21:44
Сообщение #1


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


М
Тема вытекла из темы: Link...


имхо, не надо тратить время на запоминание алгоритмов. они бывают очень хитрожопые, но пользы от их запоминания нет никакой. разве что ради развлечения на досуге (если таковой имеется). алгоритмы всегда можно найти, когда потребуется. это маленькие кирпичи, из которых строится программа. но они не играют роли, если общая концепция плохо продумана. так что то, что реально полезно в жизни - это паттерны(модели, схемы, принципы) проектирования ПО. по этой теме есть непревзойдённая книжка Эриха Гаммы и компании "Паттерны программирования" (или как-то так, я на английском читала, там она называется Design Patterns: Elements of Reusable Object-Oriented Software). Тут в книгах кто-то выкладывал русский перевод, но мне лично попадался очень распространённый и совершенно чудовищный перевод, полный ошибок, и я бы всё же рекомендовала её читать на английском, при возможности.
эта книжка во многом ставит мозги на место и позволяет быстро решать довольно запутанные задачи в программировании.

Цитата(igor_bogomolov @ 21.8.2010, 0:13) Link
Только нет в стандарте алгоритмов на графах (алгоритма обхода графа, алгоритма нахождения кратчайшего пути ...), алгоритма поиска пары ближайших точек, определения выпуклой оболочки, поиска наибольшего общего делителя и т.д. Задач очень много и решений тоже. И нужно уметь анализировать эти решения, какое из них в твоей ситуации лучшее.

это всё (ну, почти всё, что встречается на практике) и ещё куча всякой дребедени есть в бусте.

Сообщение отредактировал ViGOur - 21.8.2010, 17:53
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V  < 1 2 3 >  
Начать новую тему
Ответов (10 - 19)
BRE
  опции профиля:
сообщение 21.8.2010, 12:49
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Алексей1153 @ 21.8.2010, 13:34) Link
Я уже говорил, что сам обожаю поковыряться и пореализовывать/попридумывать что-нибудь сложное. Но это - в основном для души и тренировки.

А как этим можно заниматься вообще без теоретической базы? Это не обязательно бумажные книги, можно читать электронные книги/статьи/смотреть наработки других. Но это нужно делать.

Цитата(Алексей1153 @ 21.8.2010, 13:34) Link
Когда же босс говорит - за неделю сделать программу по захвату мира, то возиться каждый раз с однотипными задачами нет времени и сил, тогда действительно, сложный алгоритм - это кирпичик в более абстрактном алгоритме большой задачи. Которая не для души, а денег ради, да.

Все это понятно, кушать нужно всем. Кстати, DELPHI как раз придумали для таких разработок.
Но, IMHO, не стоит останавливать людей желающих что-то изучать, опираясь только на собственное положение.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 21.8.2010, 13:03
Сообщение #12


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(BRE @ 21.8.2010, 15:49) Link
А как этим можно заниматься вообще без теоретической базы?

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

Цитата(BRE @ 21.8.2010, 15:49) Link
Кстати, DELPHI как раз придумали для таких разработок

терпеть не могу дельфи и борладн С. Они приучают к неряшливости. ИМХО, конечно, но впечатление от программ других, написанных в этих средах, такое. Форматирование кода тоже они все любят кошмарное. Сорри за оффтоп
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 21.8.2010, 14:01
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Алексей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 еще у меня внутри. :) Я понимаю, что начинал я очень давно и на платформе, программированием для которой занимались for fun. Была в этом какая то душа.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 21.8.2010, 14:17
Сообщение #14


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(BRE @ 21.8.2010, 17:01) Link
Лично я до сих пор отношусь к программированию как к искусству. Дух настоящего hackinga еще у меня внутри

Я аналогично ) Но я знаю себя - что я могу увлечся, и тогда на оптимизацию и финтифлюшество могу потратить весь рабочий день :D Но начальство не поймёт. Поэтому такими вещами я занимаюсь не на работе, а в свободное от работы и от других дел время ) Причём - с удовольствием.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 21.8.2010, 15:21
Сообщение #15


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


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

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

Сообщение отредактировал Iron Bug - 21.8.2010, 15:28
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 21.8.2010, 15:34
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Хорошо, пусть двигает экономическая выгода, страх, что угодно. Это не важно.
Кто это все придумывает? Некий коллективный разум? Нет. Это человек или группа людей, обладающие знаниями. Так и только так.
Что значит приложили усилия и изобрели? Кто приложил усилие? Можно собрать толпу людей с улицы, сказать им: "Изобретать!" и они что-то изобретут?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 21.8.2010, 16:04
Сообщение #17


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(Iron Bug @ 21.8.2010, 18:21) Link
бога нет.

ну, это вопрос спорный и личный для каждого ;) Но об этом не будем продолжать ))

BRE, когда надо тупо кормить и одевать семью, уже не до философии :) Ищешь способы зарабатывания денег, и желательно - побыстрее. И чтобы не глючило, потому что клиент будет недоволен -> денег будет меньше.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 21.8.2010, 16:18
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Алексей1153 @ 21.8.2010, 17:04) Link
BRE, когда надо тупо кормить и одевать семью, уже не до философии :) Ищешь способы зарабатывания денег, и желательно - побыстрее. И чтобы не глючило, потому что клиент будет недоволен -> денег будет меньше.

Все это понятно. Но люди придумывают, что-то новое не потому что маются от безделья кушая черную икру. :)
В 2001 году Брэм Коэном придумал протокол BitTorrent. Тогда ему было 26 лет. Можно спросить: "А нахрена было это все придумывать, ведь уже дано был ftp, http?"
Есть люди которые могут, а есть люди которые не могут, придумать что-то новое по стилю своего мышления. Но не первые и не вторые не могут это сделать без определенных знаний.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 21.8.2010, 19:20
Сообщение #19


фрилансер
******

Группа: Участник
Сообщений: 2944
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(BRE @ 21.8.2010, 19:18) Link
Брэм Коэном придумал протокол BitTorrent.

не знаю, зачем, я ещё не пользовался ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 22.8.2010, 17:24
Сообщение #20


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


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

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

если говорить о программировании как об искусcтве или увлечении то извините тот кто знает алгоритмы тот безусловно искуснее.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3 >
Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 6.8.2025, 4:34