В данный момент начал самостоятельно изучать Python, до этого был колледж и изучение Pascal и Delphi. И вот буквально вчера пришел к выводу что знать синтаксис языка это конечно хорошо, но если ты не умеешь правильно думать, то ничего особо хорошего из тебя не получится(да-да-да открыл Америку, знаю :)). При отсутствии "программистского" мышления даже с отличным знанием языка решая тривиальную задачу можно наваять полную херню, с кучей костылей и логических фэйлов.
В результате чего пришел к выводу что нужно развивать это самое "программистское" мышление - то есть логическое и алгоритмическое мышление(поправьте если ошибаюсь). ну и собственно прошу совета - господа айтишники, что посоветуете? какие книги, материалы, сервисы, ресурсы? еще что-то..
P.S> думаю не мне одному эта тема будет полезна
P.P.S. прошу прощения за сумбур, жутко не выспался
Примечание:
>Лучше сначала не сразу писать код а сначала подумать и продумать что и как вы будите реализовывать.
Перед всеми нами частенько встают логические задачи которые нам нужны решить, для программистов это является еще и основной частью работы. И частенько бывают задачи найти решение которых не так-то просто и старые способы решения не подходят. Что мы делаем тогда - начинаем перебирать варианты: 1-й, 2-й, 3-й... 100-й... 1000-й.. и решение в конце-концов находим, но не всегда оптимальное(те самые костыли и фэйлы о которых я упоминал выше) + затрачиваем много времени на нахождение этого решения. И вот именно для того чтобы оптимизировать процесс "нахождения решения" я и хочу развить системное мышление.
>Тупо берись сразу за сложный проект и продирайся сквозь дебри
Тут впору аналогия - не умеешь водить - фигня, садись за руль, выезжай на центральный проспект города - как-нибудь да научишься - там и знаки попутно попробуешь выучить и разметку на дороге и пр - да, конечно, это тоже вариант. Скорее всего с этого проспекта ты выедешь, но еще больше вероятность того что успеешь несколько раз попасть в аварии, да и правила хер выучишь.
Поэтому считаю что лучше ходить в автошколу в которой дадут теоретические знания, умения, поделятся опытом + потихоньку кататься в сельской местности, оттачивая навыки. Чтобы потом, в день экзамена, спокойно проехаться по тому самому центральному проспекту, лихо ориентируясь по знакам и разметке.
P.S> что-то меня совсем понесло :D
Примечание:
на данный момент составил такой список:
<ul>
<li>- Кодить, кодить и еще раз кодить. Желательно решать нетривиальные задачи, под это определение вполне подходят олимпиадные задачи. Взять такие можно <a href='http://acm.timus.ru/'>здесь</a> и <a href='http://acmp.ru/'>здесь</a>, а еще <a href='http://www.topcoder.com/tc'>тут</a> и вот <a href='http://codeforces.ru/'>тут</a> </li>
<li>- Читать, изучать чужой код. взять его можно например здесь - ... (тут жду вашей помощи)
</li>
<li>- Изучать тонкости выбранного вами языка(языков), теорию программирования в целом, как-то: парадигмы, направления, модели разработки и прочее
</li>
<li>- Изучать теорию, к примеру советуют книгу <i>"Искусство системного мышления. Необходимые знания о системах и творческом подходе"</i> <i>О Коннор'а.</i> </li>
</ul>
Так же самостоятельно набрел на такое понятие как <i>"Теория решения изобретательских задач"</i> - пока не знаю стоящая система или нет, но буду разбираться - если окажется стоящей - то добавлю в третий пункт. Прочитать о том что это можно <a href='http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%B8%D1%85_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87'>здесь</a> и <a href='http://www.trizland.ru/'>здесь</a>.
Примечание:
ну почему, ну почему здесь не поддерживаются html теги :(
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.