Другие языки программирования и технологии

как научиться создавать алгоритмы?

как я понимаю, язык программирования освоить несложно... но важнее, научиться вот... выстраивать верные алгоритмы, думать в правильном направлении, чтобы решить задачу. так вот, как этому научиться? может есть какие-то книги???
Читать задачники с решениями задач. Конечно, они есть. Какие конкретно, зависит от языка.
Это - как научиться писать сочинения. Научиться ясно и точно формулировать свои мысли и записывать их.
Что нужно? По-больше писать сочинений.
Руслан Ша
Руслан Ша
84 349
Основной вариант
задача грубо делится на куски (подзадачи)
потом подзадачи на подподзадачи и так до мельчайшего
Или
задача на подзадачи.. . с учетом используемых библиотек для подподподзадач (библиотек функций)
(проектирование сверху)

А эвристике не знаю как научить - тут надо сотню задач сделать чтоб "почуять" и кучу математики
и набить руку и тома по матану и по алгему и теории масс обсл и теор множ. и... (вышка и её капитально переварить)
--------
И каждый язык заточен под конкретный стиль задач - синтаксис языка действительно учится за пару дней и если что то по хелпам можно посмотеть.
Тут ещё важно понять что куда годится. и надо знать пачки библиотек для языков и как их сопоставить со знанием разных разделов математики при выборе конкретного языка реализации
все равно что спросить "как стать балериной")
Книги с информатики.. . В инете поищи
Рома Земсков
Рома Земсков
15 330
В программировании есть так называемые паттерны. Это стандартные решения однотипных задач. Паттерны реализуются на языке программирования и второй раз эти реализации придумывать не нужно. Так например поддержка событий у объектов означает реализацию паттерна Observer.

Существует "лучшая практика" решения различных задач. Например, отображение данных полученных из базы данных. Или операции чтения записи в базе данных. Здесь у вас есть выбор, вы как специалист сами решаете какой подход лучше. Например, Active Record или Unit of Work? Выбор между разными стандартными решениями можно сделать только имея опыт в той сфере. Если сунулся в смежную сферу то неизбежна трата времени на изучение.

Профессиональная разработка программ чаще сопряжена с использованием библиотек (своих или чужих) . Сейчас редко кто пишет вообще с нуля. Подбор нужных вам библиотек тоже важен. Вы их изучаете и можете решить задачу в сжатые сроки за удобные для клиента деньги. Опять же в смежных областях вы можете и не участвовать, так как там ваш опыт не велик и знаний библиотек не хватит. Сегодня программирование слишком велико чтобы его освоить от корки до корки.
Konstantinv Zipinyov
Konstantinv Zipinyov
10 716
Для этого надо задачи решать, а не на ответах сидеть.

Похожие вопросы