С чего начать изучение программирования? [закрыт]
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы на него можно было дать ответ, основанный на фактах и цитатах.
Закрыт 6 лет назад .
Я решил выбрать программирование своей будущей профессией. Сейчас хочу разобраться в основах программирования. Скажите, с чего лучше начать и какие пособия лучше использовать? Сейчас я нашел неплохой учебник по Java, но я не знаю, является ли оно лучшим вариантом.
13 ответов 13
С Java дела обстоят так же, как и со многими другими. Всё как обычно: читаете книжку или даже статью о том, как вообще пишутся элементарные вещи типа Hello World, осваиваете простые вещи, такие как циклы, ветвления, классы и т.п. Как и обычно, после этого нужна практика: ставите себе цели - решаете, ставите новые - опять решаете.
Сейчас я нашел неплохой учебник по Java, но я не знаю, является ли оно лучшим вариантом
Мера того, насколько хорош учебник, - то, насколько вам понятно, что там написано. И, разумеется, учебник не должен никогда вводить в заблуждение (не должно быть заведомо ложных сведений), но это бывает редко. Если вам всё ясно, значит учебник годится, по крайней мере, для начала.
Из классики по сабжу:
Многие рекомендуют Шилдта, но, по мне, это не лучший выбор. Есть прецеденты введения им в заблуждение. К тому же, этот человек пытается быть экспертом ПО ВСЕМУ. У него и C#, и плюсы, ява. Это наверняка указывает на ограниченность опыта в каждом из направлений, в котором он "вещает".
UPD
Я забыл указать главное. Прежде чем что-то вообще читать надо привести в порядок голову и добиться ясности в ней.
Авторы: Хорстманн К. С., Корнелл Г.
- Java 2. Том 1. Основы
- Java 2. Том 2. Тонкости программирования
лучший способ научиться программировать - начать программировать
поиск, покупка книжек/ки - лишь способ оттянуть неизбежное, скачайте любую книжку для начинающих ("азы . ", " . для чайников" и тп) в электронном виде (как вариант - найти отдельную статью на просторах), откройте первую главу и начните читать, на третей-10й странице будет пример простейшей программы типа "Hello world", ну и далее еще несколько примеров с простейшей арифметикой и операторами
возможно что книжка в ваших руках, именно то что нужно
поиск путей, исследование существующей подготовки, выслушивание советов, все равно (невзирая на результаты) рано или поздно приведут к этому шагу - 1 глава и Hello world :)
- Дэвид Флэнаган. Java в примерах
- Hardcore Java. Robert Simmons
- Thinking in Java она же Философия Java =)
- Патрик Ноутон.Герберт Шилдт. Java 2
А чтоб сразу с красивых аппликов
- SWT: A Developer's Notebook .Tim Hatton
Сейчас хочу разобраться в основах программирования
Судя по оформлению вопроса, дело не в языках программирования. Учиться программировать надо начинать с изучения Computer Science.
Я считаю что Pascal хорошо подходит для изучения азов программирования и понимания алгоритмов. Современные языки программирования во многом отталкивались именно от паскаля. На своем опыте скажу, что после него я без труда начал осваивать с++ и РНР. Уверен многие со мной не согласятся, но это лично моё мнение.
Си самый лучший для начала. Язык маленький. Из сложностей - только указатели. (Правда, как говорит препод наш - "Никогда не думайте, что понимаете указатели до конца"). Насчёт того, что изучать с Кнута и Кормена. ух, ну это странный совет. Из книг по Си советую Стивена Прата ну и первоисточник - Брайан Керниган и Деннис Ритчи. Самый лучший учебник это гугл :)
В принципе, каждый из предыдущих авторов в чем-то прав. Однако, я бы предложил Вам начать изучать программирование не с Java а с языка C(как подмножества C++) или Pascal (IMHO лучше даже с C/C++).
- Простота и отсутствие не нужных на первых порах нагрузок (сторонникам Java - сплошные классы. Какое уж тут обучение основам если нужно каждую функцию оборачивать в класс?
- Простой и интуитивно понятный синтаксис.
- Наличие огромного количества учебников, в том числе на русском, в свободном доступе (Интернет).
- Возможность продолжать изучение (структурное программирование, ООП) перейдя C->C++ или Pascal->Delphi.
Ну, собственно, можно еще продолжать, но особого значения не имеет. В дальнейшем будет еще проще - освоите один язык - другие будут даваться легче.
Если СОВСЕМ не знакомы с программированием и тяжело с английскими командами (типа if, then, else, while. ), можете немного поиграть с ГЛАГОЛом (Русский язык программирование, поищите в гугл) - только немного, потому как это не стандарт.
Ребят тут дело в том что человек Java хочет, а не азы программирования. С первой точки зрения Паскаль и Java - обсолютно разные языки (Java я б сказал даже технология). Со второй точки зрения - да, паскаль дает представление не только о жутиках объектно-ориентированного программирования, но и структурного, модульного, так что для изучения азов - Паскаль пригоден и прост, для изучения Java технологии - никаким боком =)
Опишите, какое у вас на данный момент образование - или по крайней мере, насколько вы знакомы с прикладной математикой - комбинаторикой, теорией графов, аналитом и.т.д. Почему вы решили заниматься программированием, что именно больше всего интересует - web-программирование, 3d графика? В любом случае я бы посоветовал начать с С++ (имхо, лучший учебник для начинающего - Стивен Прата)
Считаю для того чтобы начать изучать программирование необходимо выполнить следующие пункты:
- Выбрать язык программирования; выбирается он исходя из предметной области, которая тебе интересна как будущему программисту: веб, прикладные программы и т.д. Есть узконаправленные языки, а есть общего назначения, так называемые универсальные, у каждого есть свои плюсы и свои минусы. Выбирать ассемблер для того чтобы написать свою CMS, а php для написания драйверов(такое даже невозможно наверно) по моему неразумно.
- Язык всего лишь средство для достижения результата, помимо изучения самого языка, его синтаксиса, особенностей и т.д. необходимо параллельно изучать базовые парадигмы программирования - принципы, подходы, алгоритмы, структуры данных и т.д., это поможет широко смотреть на вещи и применять эффективные, легкие и элегантные решения.
- Усидчивость, терпение и систематичный подход к изучению приправленные энтузиазмом и желанием несомненно помогут тебе достичь успеха в освоении этой столь интересной профессии.
Прально говорят - начинай c простейшего примера Hello World. Изучение любого языка начинается именно так. Но язык языком, а еще надо знать базы данных, алгоритмы, всякие протоколы. Вот в институте этому всему учат.
Люди, советующие начать изучение с Pascal или Си, судя по всему, ностальгируют по этим языкам, потому что они сами с них начинали (сам такой, начинал с бейсика правда, потом уже паскаль и си.).
Но, советую начать с интерпретируемого языка (Java, .Net, PHP, Python и т.п.). Это избавит от проблем с выделением памяти и выходом за пределы массива. Эти вещи порождают весьма коварные, сложно исправляемые ошибки. А это, думаю, ни к чему. Хотя, конечно на ошибках учатся.
Java по сути интерпретируемый язык, но его все же нужно компилить сперва в объектный код. А уже этот объектный код интерпретируется.
Сам программлю на PHP, считаю этот язык самым простым, ну и просто привык уже. Не буду нахваливать, а то закидают какашками любители чего "посерьезней". Но мне нравится, почле массы всяких языков в институте, остановился на PHP и вполне меня устраивает.