Sign in to follow this  
Followers 0
Pilot N

С чего начать?

29 posts in this topic

Много уважаемые!Подскажите ,у меня сын хочет научится програмированию,с чего начать,какую литературу почитать,где можно поискать информацию.Буду рад любому совету.Заранее всем спасибо.

0

Share this post


Link to post
Share on other sites

В моём городе, Нижний Новгород, есть Человек по имени Лелюх Владимир Денисович. Он воспитывает победителй международных олимпиад по информатике и не только! Я занимался у него два года и научился не только нормально программировать, но думать не так, как раньше. И всё это за чисто символическую плату(порядка 300 руб за два года, которые были истрачены на раздаваемые на бумаге материалы), потому что он искал настоящие таланты со всей области. Советую найти примерного такого человека в своём регионе.

ИМХО, по книжкам можно научиться только обладая таким терпением, которое не у всех есть. Книга не может ответить на вопрос, которого в ней нет. С ней нельзя обсудить проблемы и мысли. Только реальный человек даст настоящее обучение хоть по программированию, хоть по чему другому. Моментальное обсуждение возникшего вопроса по ходу обучения - вот главное преимущество Человеческого обучения. Например, если в книге объяснеятся сложный алгоритм по математике, то в ней вряд ли есть основы самой математики.

Итого, советую заниматься с реальными людьми.

0

Share this post


Link to post
Share on other sites

Smagl

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

0

Share this post


Link to post
Share on other sites

Да, про книжки всё понятно, а теперь о языках... Язык с которого нужно начинать это по-моему Visual Basic... Во первых он лёгкий, но всё же не такой как C++Builder в котором можно накляпать кнопочки, а они сами собой запрограмируются... Дальше, для более сложных программ самый оптимальный вариант это Visual C++. На рынке подобных программ, он мне кажется стоит на первом месте и поэтому покупать советую только его.

Ну вот краткий (даже очень) обзор языков программирования... Ну если уж у Вани возникнут вопросы, пусть пишет прямо ко мне.

0

Share this post


Link to post
Share on other sites

Ну вот, приехали.... начинать с Visual Basic... Моя логика, подкрепленная некоторым опытом, говорит мне что начинать надо сначала. А что было в начале? Visual Basic? Нет. (только не нужно потом язвительно говорить. что в начале были машинные коды) В начале было слово. И слово это - алгоритм. Слышали? Так вот программирование - это построение общего алгоритма, решающего поставленную задачу, а затем - реализация этого общего алгоритма на конкретном языке программирования. Да, почти всегда алгоритм требует доработки во время написания программы, да каждый язык удобен в своей области, но мы же только учимся! И поэтому сразу определяем главную цель - решить поставленную задачу. Этому и надо учиться. Как это будет выглядеть - в виде командной строки или окна, дело на этапе обучения десятое. Поэтому кланяемся господину Никлаусу Вирту, который создал язык прекрасно подходящий для обучения - Паскаль. С него и начинаем. А когда понимаем, что азы усвоены, стандартные алгоритмы впитались в кровь, а мозг при этом не тупит и щелкает задачки как орехи, надо ехать дальше... Дальше мы кланяемся товарищам Брайану Кернигану и Деннису Ритчи, за то, что они создали язык C (Си), на который молилось не одно поколение программеров, усваиваем его заморочки (а их предостаточно) и делаем качественный скачок к объектно-ориентированному программированию. Поклонившись уже Бьерну Страуструпу (или Страустрапу, кому как нравится) за язык С++, универсальный во всех отношениях, осваиваем и его заморочки тоже. Ес-сно все это сопровождается изучением теории и применением полученных знаний на практике, а также поглядыванием по сторонам и вперед. После этого, когда за плечами развитое мышление, умение применять свои знания, два, не побоюсь этого слова, фундаментальных языка, куча остроумных решений и светлых идей, а также незамутненный разум, свой путь определяем мы сами... Скажу только, что изучение новых языков и технологий станет проще на порядки.

Я ничего не имею против Basic или Object Pascal, просто я считаю, что Паскаль приучает к строгости и четкости, а С и С++ - расширяют мышление (уж не знаю как по-другому сказать) и дают понимание происходящего "внутри" программы и компьютера.

А окошки никуда не денутся, куда ж без них в наше время... Полностью согласен с тем, что Visual C++, одна из лучших сред разработки программ любой сложности.

Все выше изложенное - мое личное мнение. Можете не соглашаться.

0

Share this post


Link to post
Share on other sites

Ray

Согласен с тобой на все 100%. Пример идеальной эволюции: алгоритмизация -> Pascal -> C -> C++

0

Share this post


Link to post
Share on other sites

Ray

По-моему, очень толковый путь. Вот только на каком языке делать прыжок к объектно-ориентированному программированию?

Smagl

Я бы предложил Pascal->алгоритмизация->... Для изучения алгоритмов нужен какой-либо язык их описания. Лучше Pascal для этого нет. И сразу переход к объектно-ориентированному программированию. После понятия процедуры - сразу object. А потом те же учебные проекты переписать на C# или C++.

0

Share this post


Link to post
Share on other sites
Вот только на каком языке делать прыжок к объектно-ориентированному программированию?

С++. Я же написал ;)

0

Share this post


Link to post
Share on other sites

Тролль

Соглашусь с тобой, но ИМХО надо алгоритмизация+Pascal. Лучший язык для обучения.

Кстати, примерное распределение победителей мировых олимпиад по языкам программирования: 70% - Pascal, 30% - C, 0% - Basic. Я думаю это не требует комментариев.

И ещё моя теория такой крепкой влюблённости в Basic: он был встроен в первые массовые компьютеры типа Spectrum. Выбора среды программирования практически не было. У меня самого был Spectrum, и старший брат до сих пор больше всего любит Basic. Но сам увлёкся программированием лишь в 7-8 классе, и привили любовь к Pascal`ю.

0

Share this post


Link to post
Share on other sites

Можно забацать небольшой список литературы, необходимой для обучения. Честно скажу, по Паскалю я толком ни одной книжки не прочитал... Была одна: "Турбо Паскаль 7.0" Андрея Ставровского, та которая учебник. Вообще довольно толковая книжка, как мне кажется (хоть и новая). Там не тупо излагается язык, а еще и рассматриваются всякие классические задачи и алгоритмы. Есть даже простой синтаксический анализ. Кстати приставка "турбо" совершенно не нужна для того чтобы учиться, поэтому надо забыть про кучу всяких модулей от Borland, и писать на стандартном Паскале. Тов. Никлаус Вирт ес-сно по Паскалю книжку написал. Есть еще "Алгоритмы + структуры данных = программа" Никлауса Вирта. Там рассматриваются алгоритмы поиска и сортировок, рекурсивные алгоритмы и т. д. структуры, такие как стеки, деки, очереди, деревья... Приведен анализ алгоритмов Все примеры написаны на Паскале. Есть последнее издание этой книжки: "Алгоритмы и структуры данных" Никлаус Вирт ес-сно... Там вроде добавлен какой-то раздел (не помню какой, я эту книжку кому-то отдал на время (остолоп) и все. Нету ее) и примеры даны на языке Modula 2, который является, по словам автора, дальнейшим развитием Паскаля. Ни разу эту Модулу нигде не видел... Но с нее легко переписать на Паскаль. По С лучшая книга - "Язык программирования Си" Б. Керниган Д. Ритчи. (У меня - издание третье, исправленное, оно же и последнее) Тут даже говорить нечего, надо брать и читать, если хотите знать С. Соответственно для С++ это "Язык программирования С++" Бьерна Страуструпа. (У меня специальное издание, сейчас везде оно продается). Тоже самое - хотим знать С++ - берем эту книгу и читаем. А теперь прошу любить и жаловать: "Искусство программирования" профессора Дональда Кнута! Воистину фундаментальный труд. Вроде бы там пять томов, на русский переведены только перые три. Только читать его надо с определенным уровнем подготовки (хотя бы первый курс ВТУЗа), так как излагается там все настолько обстоятельно, автор использует мат. анализ, теорию вероятностей и мат. статистику, линейную алгебру, дискретную математику, забирается в такие дебри, что сам черт ногу сломит... В общем, это книга не для начинающих. Но знать про нее надо.

Еще есть куча других книг, всех ес-сно не скажу потому что не знаю... Я в начале, опирался на них (кроме "Искуссва программирования") Там в конце почти каждой книги, есть список литературы, вот там можно посмотреть. Правда, львиную долю книг из этих списков достать невозможно. Но того что есть хватит на всю жизнь.

Это все достачно скучным и муторным может показаться (алгоритмы, структуры) но такова жизнь... И если возникает вопрос: "А на фига мне нужны все эти пропахшие нафталином книги в наши времена?" лучше сразу все бросить и не мучаться дальше. (Кстати, почти все "авторитетные" книги были написаны еще в семидесятых годах XX века, а некоторые, вообще в его начале) Мне, например, совсем не было скучно, когда я читал все эти книги (и сейчас к некоторым из них обращаюсь, кроме "Турбо Паскаля" наверное), а было интересно. И впоследствии это все очень пригодилось. Опять повторюсь, что чтение ДОЛЖНО сопровождаться применением знаний на практике! Иначе смысла нет... Мне с этим повезло, в интитуте заданиями не обделяли, не обделяют, и не будут обделять еще года три. И опять таки смотрим по сторонам, дабы не зацикливаться на одном и знать, что происходит в мире.

У меня, ксати, задания сохранились с первого и второго курса... Могу предоставить на мыло. Чтобы хоть показать, что за задачи.

Добавления и опровержения приветствуются.

Блин что-то сильно меня задело, опять целый опус наваял...

0

Share this post


Link to post
Share on other sites

Тут недавно на Softodrom`e интереснейшая статья была "Длинная Рука Москвы" http://softodrom.ru/article/5/451_1.shtml Советую читать всем. И Труд Дональда Кнута упомянута, и Гейтс, и откуда есть пошло всё программирование.

0

Share this post


Link to post
Share on other sites

Учить по принципу Pascal->C->C++-> Глупо хотя бы потому, что учить сначала один потом другой и наконец переучиваться на третий (С и С++ по моему имеют совершенно разную структуру написания программ)

Так что ежели вы (Pilot N) хотите не забивать голову сына лишней не нужной информацией научите его не столько по книгам (книги конечно играют большую роль но самое главное эксперементировать самому методом проб и ошибок) для начала надо изучить C++ а затем через где-то год перейти к c++builder и изучать его по книгам Александра Яковлевича Архангельского

уверяю лучше автора не найти.

Удачи..........

0

Share this post


Link to post
Share on other sites

Arc

У меня возникло два вопроса. Я так понимаю, что Си ты в глаза никогда не видел? Структура написания программ на С и С++ практически одинакова внешне, Человек, знающий С, должен будет только понять принципы объектно-ориентированного программирования и добавить в свой арсенал несколько новых инструментов С++. Все. Никакого кардинально переучивания. Грубо говоря, С++ можно считать объектной "надстройкой" С. А ненужная информация - это какая? Знание Pascal или С? Не согласен. Знание этих языков сильно упростит изучение других, а если ты собираешься использовать только С++ Builder всю свою жизнь и ничего не хочешь слышать о других средствах, то я тебе не завидую...

А предыдущие посты ты вообще читал? Я ж там ясно сказал (извините, процитирую сам себя)

Ес-сно все это сопровождается изучением теории и применением полученных знаний на практике, а также поглядыванием по сторонам и вперед.
Опять повторюсь, что чтение ДОЛЖНО сопровождаться применением знаний на практике! Иначе смысла нет...
0

Share this post


Link to post
Share on other sites

Ray

Во первых ты не павильно понимаешь, видел и лично мне кажется дурацким учить что вывод на экран (к примеру)осуществляется с начала словом printf затем puts а уж потом cout ПОВТОРЯЮ ДЛЯ ОСОБО СЛЕПЫХ "Я ТА СЧИТАЮ"

Во вторых Согласен ты или нет на счёт лишней информации это твоё дело но как раз для того чтобы было легче изучить С++Builder я педлогаю изучать c++

И наконец в третьих Я пользуюсь тем языком который мне нужен прямо сейчас если я хочу делать приложения для интернета то я пользую dremvewer Если я делаю базу данных то Fox Pro ИЛИ dELFI итд

надеюсь я понятно выразился? всё!!!!!!!!

0

Share this post


Link to post
Share on other sites

Во-первых, методы (ударение на втором слоге :) ) могут быть разные, все высказываемся имхо и никто ни на кого как на ламера не накидывается. Кто кому лично не завидует, кто особо слепой или особо прозорливый, оставляем за бортом обсуждения, лады? Тут мы просто успеха не добьемся.

Во-вторых, printf из C++ никто не исключал. Изучать все параметры printf до мелочей не надо, но быть вообще незнакомым с ним для программиста даже C++ просто некрасиво. Многие вещи просто не понять толком без знания их истории.

В третьих, я могу согласиться, и даже охотно, что C как самостоятельный язык из процесса изучения можно выкинуть и учить сразу C++. Хвост рубить лучше не по кусочкам.

В-четвертых, непонятно, как учить C++ без какой-то конкретной среды программирования. Visual C++ или С++ Builder - что-то должно быть с самого начала изучения C++.

В-пятых, надеюсь, последних, непонятно, как можно пользоваться "языком, который нужен прямо сейчас", без его изучения. Тогда включаем в круг рекомендуемых сред программирования Dreamviewer (опять же непонятно, HTML тогда учить или не учить) и FoxPro?

0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

Ребят, я тут темку эту подниму малость, не хочу постить заново, чтоб модератора не нервировать ;)

В общем, почитал с интересом и вот консультация нужна.

Я учу Pascal заочно в ВУЗе. Проблема в том, что дают его очень плохо, это не только мое мнение (ну не могут ведь все в группе быть тупыми как я :( )

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

Фаронов В.В. "Турбо Паскаль7.0 Начальный курс." К ней еще есть второй том-практикум. Нам ее рекомендовали в ВУЗе, и вообще, говорят популярнейшее издание. Книга наверно хороша, все очень подробно и обстоятельно изложено. Но у меня складывается впечатление, что я учу алфавит и не могу не писать, ни читать ;) Может для этого нужно практикум его взять? Запускаю среду и тупо перепечатываю примеры из книги. Вроде бы все ясно, проходит день, я открываю это опять и ничего не могу прочитать.

Сталкивались вы с подобной проблемой или это только я такой убогий?

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

поначалу было так трудно? Или рожденный ползать-летать не может?

Интуитивно чуствую, что ничего сложного нет в принципе. Начинаю повторять материал, до определенного момента идет влет, дальше со скрипом и наступает момент зависания, и я не могу понять, чего мне не хватает, каких знаний для освоения? Наверно придется включать морально-волевые.

Может кто порекомендует альтернативную методу? Где-то есть, наверно обучающие CD, кто с ними работал, поделитесь, каково?

Дальше будет ООП, но не освоив азов, двигаться вперед нет смысла. Самое страшное, что возможна потеря интереса без которого ничего путного не выйдет как мне кажется. Может мне чего-то не хватает, нужны предварительные знания? Какие?

0

Share this post


Link to post
Share on other sites

Здесь говорили о языках. Но ведь помимо языка нужны другие знания. Не подскажите как можно их получить вне технического образования?

0

Share this post


Link to post
Share on other sites

Читайте книги по ООП (объектно ориентированное программирование), делайте мелкие примеры, изучайте ТРПП (технологии разработки программных продуктов), ну на первые пора хватит.

0

Share this post


Link to post
Share on other sites

Ежели кто боится браться за кнутовские вирпичи, то рекомендую Кормена, Алгоритмы - построение и анализ.

Выбор языка - ерунда. Если башка на месте, то новый язык осваивается за две недели, новая среда - за месяц максимум. Главное - алгоритмы.

0

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0