• Какую первую книгу по программированию выбрать?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Если знания нулевые, как Вы говорите, начните с изучения базового синтаксиса. Java сегодня имеет довольно богатый, пусть и очень стандартный синтаксис: классы и интерфейсы, наследование, переменные и члены класса, методы и уровни доступа, управляющие операторы (циклы, условия), анотации, система пакетов. Вроде всё. Пусть этот список станет поводом для того, чтобы прочитать это в рамках java где угодно, будь то wikipedia, аль coursera, да хоть Шилтд. К слову, здесь не сильно важен язык программирования. Если до этого хоть что-нибудь изучали, втянете за пару дней. Иначе изучение может растянуться на пару недель.

    Вот после этого уже можно копать вглубь. Здесь я бы рекомендовал вами упомянутого Кормена и Кнута. Первого нужно читать вдумчиво, выполнять все упражнения (каждое выполненое упражение это +10 к интеллекту). Кнута можно просто полистать. Оба годяться как справочники, но Кнут будто создавался таким образом. Математики у Кнута много больше и если Кормен может что-нибудь доказать "абы как", то Кнут себе такого не позволит. Из-за чего его читать долго и нудно: можете смело пропускать доказательства и возвращаться как было что-то не понятно. В любом случае, их читать действительно сложно. Осилите хотя бы Кормена - медаль Вам уготована.

    Но и язык нужно знать и понимать. Поэтому здесь пора заняться и тем, для чего java предназначена - энтерпрайзом. А именно, умением не столько программировать, сколько разрабатывать продаваемые продукты. Здесь подойдёт филосифия java для начала. Когда наследование перестанет Вас пугать (или наоборот, пройдёт время чересчур увлечённого наследования всего и вся), можно приступить к банде четырёх. В то же время, умея строить сложную архитектуру, мы всё ещё смутно знаем что под капотом у java. Так что можно почитать про оптимизации в JVM (читал англ, не знаю есть ли перевод), ну и покопаться в openjdk, если будет излишняя увереность, лишнем не будет.

    Собственно, это roadmap на очень долгое время. С самых начал до седой старости будете изучать java. Вполне возможно, что к тому времени, как начнёте банду четырёх (если начнёте), уже подойдёт долгожданная java 2.0 и всё нижеописанное потеряет значение, но чем чёрт не шутит? К слову, Кормен, и Кнут, и философия, и банда четырёх остануться, это скорее фундаменальные книги.
    Ответ написан
    Комментировать