С чего начать знакомство с программированием
От: WalkMan  
Дата: 28.05.11 15:52
Оценка:
Добрый вечер всем. Собственно, сабж. В программировании полный ноль, разве что могу написать самые банальные школьные программки для несложных арифметических вычислений. С какого языка лучше начинать погружение в мир программистов? Мне почему-то приглянулся С++, но я не знаю, насколько это правильный выбор. Будьте добры, подскажите наилучший язык для новичка, и, желательно, литературу. Конечно же, хотелось бы взяться за язык, на котором можно писать полноценные программы, т.к. имеется в мыслях программа, и хотелось бы её написать, параллельно изучая программирование.

P.S. Заранее прошу прощения, если тема размещена не в том месте — мне показалась эта часть форума наиболее подходящей.
программирование нуб
Re: С чего начать знакомство с программированием
От: LaptevVV Россия  
Дата: 28.05.11 16:07
Оценка:
Здравствуйте, WalkMan, Вы писали:

WM>Добрый вечер всем. Собственно, сабж. В программировании полный ноль, разве что могу написать самые банальные школьные программки для несложных арифметических вычислений. С какого языка лучше начинать погружение в мир программистов? Мне почему-то приглянулся С++, но я не знаю, насколько это правильный выбор. Будьте добры, подскажите наилучший язык для новичка, и, желательно, литературу. Конечно же, хотелось бы взяться за язык, на котором можно писать полноценные программы, т.к. имеется в мыслях программа, и хотелось бы её написать, параллельно изучая программирование.

1. Если вы понимаете, что программа — это ПЛАН действий, то половина дела уже сделана.
2. Прежде языка надо подобрать задачу, которую хотелось бы запрограммировать.
3. Под задачу уже выбирать язык и среду программирования — немаловажный выбор.
4. С++ — для новичка не лучший вариант.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: С чего начать знакомство с программированием
От: WalkMan  
Дата: 28.05.11 16:15
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>1. Если вы понимаете, что программа — это ПЛАН действий, то половина дела уже сделана.

LVV>2. Прежде языка надо подобрать задачу, которую хотелось бы запрограммировать.
LVV>3. Под задачу уже выбирать язык и среду программирования — немаловажный выбор.
LVV>4. С++ — для новичка не лучший вариант.

Если Вы имеете ввиду задачу, которую описал я, то она не столь важна по сравнению с самим программированием. Для начала хотелось бы понять основы, а потом перейти к более серьёзному программированию. Только вот основы и серьёзное программирование хотелось бы изучить на основе одного языка. Вместо С++ подсказывали начать путь программиста с Питона. Подойдет ли он?
Re[3]: С чего начать знакомство с программированием
От: LaptevVV Россия  
Дата: 28.05.11 16:17
Оценка:
Здравствуйте, WalkMan, Вы писали:

WM>Здравствуйте, LaptevVV, Вы писали:


LVV>>1. Если вы понимаете, что программа — это ПЛАН действий, то половина дела уже сделана.

LVV>>2. Прежде языка надо подобрать задачу, которую хотелось бы запрограммировать.
LVV>>3. Под задачу уже выбирать язык и среду программирования — немаловажный выбор.
LVV>>4. С++ — для новичка не лучший вариант.

WM>Если Вы имеете ввиду задачу, которую описал я, то она не столь важна по сравнению с самим программированием. Для начала хотелось бы понять основы, а потом перейти к более серьёзному программированию. Только вот основы и серьёзное программирование хотелось бы изучить на основе одного языка. Вместо С++ подсказывали начать путь программиста с Питона. Подойдет ли он?

Питон — получше будет.
А какие основы вы имеете ввиду?
Все равно — нужна конкретная задача.
Вот я студентам в качестве домашнего задания на ООП С++ даю задание разработать тестирующую систему с использованием Qt. Вот они и научаются в процессе написания подобной задачи очень многому.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: С чего начать знакомство с программированием
От: MaximUN  
Дата: 28.05.11 16:23
Оценка: +1
Здравствуйте, WalkMan, Вы писали:

WM>Добрый вечер всем. Собственно, сабж. В программировании полный ноль, разве что могу написать самые банальные школьные программки для несложных арифметических вычислений. С какого языка лучше начинать погружение в мир программистов? Мне почему-то приглянулся С++, но я не знаю, насколько это правильный выбор. Будьте добры, подскажите наилучший язык для новичка, и, желательно, литературу. Конечно же, хотелось бы взяться за язык, на котором можно писать полноценные программы, т.к. имеется в мыслях программа, и хотелось бы её написать, параллельно изучая программирование.


WM>P.S. Заранее прошу прощения, если тема размещена не в том месте — мне показалась эта часть форума наиболее подходящей.


Главное — не начинать с С/С++

А если серьезно, ИМХО лучше так: выбрать какую-нибудь задачу по-сложнее и ИНТЕРЕСНУЮ, и пытаться ее реализовать. Если задача действительно интересная, в процессе ты обязательно будешь пару раз переписывать код, будешь натыкаться на грабли и т.д. Главное — начать с практики. А оттуда подоспеет понимание того, что пора книжки умные читать и заниматься теорией.
Конечно, весь код, скорее всего придется выкинуть, но опыт будет бесценен.
Re[4]: С чего начать знакомство с программированием
От: WalkMan  
Дата: 28.05.11 16:50
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Питон — получше будет.

LVV>А какие основы вы имеете ввиду?
LVV>Все равно — нужна конкретная задача.
LVV>Вот я студентам в качестве домашнего задания на ООП С++ даю задание разработать тестирующую систему с использованием Qt. Вот они и научаются в процессе написания подобной задачи очень многому.

Под основами я имею ввиду понимание, что такое программирование: "что, куда и зачем".
На одном из форумов посоветовали начать с яваскрипта. Как Вы думаете, с чего лучше тогда начать: яваскрипт или питон, и что стоит почитать по этому языку?

Здравствуйте, MaximUN, Вы писали:

MUN>Главное — не начинать с С/С++


MUN>А если серьезно, ИМХО лучше так: выбрать какую-нибудь задачу по-сложнее и ИНТЕРЕСНУЮ, и пытаться ее реализовать. Если задача действительно интересная, в процессе ты обязательно будешь пару раз переписывать код, будешь натыкаться на грабли и т.д. Главное — начать с практики. А оттуда подоспеет понимание того, что пора книжки умные читать и заниматься теорией.

MUN>Конечно, весь код, скорее всего придется выкинуть, но опыт будет бесценен.

Кажется, дошло (= Не могли бы Вы в таком случае посоветовать язык и литературу?
Re[5]: С чего начать знакомство с программированием
От: LaptevVV Россия  
Дата: 28.05.11 16:57
Оценка:
Здравствуйте, WalkMan, Вы писали:

WM>Под основами я имею ввиду понимание, что такое программирование: "что, куда и зачем".

Все же не совсем понятно. Тем более, что простые программки вы уже писали. Рах писали, значит, основы знаете.
И неясна цель изучения. Если потом хотите стать программистом, то это одно. А если просто интересно — другое.
WM>На одном из форумов посоветовали начать с яваскрипта.
Как Вы думаете, с чего лучше тогда начать: яваскрипт или питон, и что стоит почитать по этому языку?
Не, не рекомендую. Лучше Питон.
По Питону есть несколько книжек — можно купить в Озоне.
MUN>>Конечно, весь код, скорее всего придется выкинуть, но опыт будет бесценен.
WM>Кажется, дошло (= Не могли бы Вы в таком случае посоветовать язык и литературу?
Опять же — сначала сформулируйте задачу. Или обрисуйте интересы — мы подскажем, какие задачи можно программировать. А потом уже — под задачу и язык и IDE подберем.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: С чего начать знакомство с программированием
От: WalkMan  
Дата: 28.05.11 17:11
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Все же не совсем понятно. Тем более, что простые программки вы уже писали. Рах писали, значит, основы знаете.

LVV>И неясна цель изучения. Если потом хотите стать программистом, то это одно. А если просто интересно — другое.
LVV>Не, не рекомендую. Лучше Питон.
LVV>По Питону есть несколько книжек — можно купить в Озоне.
LVV>Опять же — сначала сформулируйте задачу. Или обрисуйте интересы — мы подскажем, какие задачи можно программировать. А потом уже — под задачу и язык и IDE подберем.

Хочу изучить язык, чтобы стать программистом. Конкретной задачи пока нет, поэтому планирую сначала вникнуть в само программирование на языке, который имеет широкое применение.
Re[7]: С чего начать знакомство с программированием
От: LaptevVV Россия  
Дата: 28.05.11 17:18
Оценка: +1
Здравствуйте, WalkMan, Вы писали:

WM>Здравствуйте, LaptevVV, Вы писали:


LVV>>Все же не совсем понятно. Тем более, что простые программки вы уже писали. Рах писали, значит, основы знаете.

LVV>>И неясна цель изучения. Если потом хотите стать программистом, то это одно. А если просто интересно — другое.
LVV>>Не, не рекомендую. Лучше Питон.
LVV>>По Питону есть несколько книжек — можно купить в Озоне.
LVV>>Опять же — сначала сформулируйте задачу. Или обрисуйте интересы — мы подскажем, какие задачи можно программировать. А потом уже — под задачу и язык и IDE подберем.

WM>Хочу изучить язык, чтобы стать программистом. Конкретной задачи пока нет, поэтому планирую сначала вникнуть в само программирование на языке, который имеет широкое применение.

Язык познается только в процессе написания конкретных задач — поверьте моему 40-летнему опыту. Без решения конкретной задачи — не получится научиться программировать.
Вот например, можно купить книжку Культина — любую, которая "...на примерах". И сделать все проги оттуда — на Питоне.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[8]: С чего начать знакомство с программированием
От: WalkMan  
Дата: 28.05.11 17:21
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Язык познается только в процессе написания конкретных задач — поверьте моему 40-летнему опыту. Без решения конкретной задачи — не получится научиться программировать.

LVV>Вот например, можно купить книжку Культина — любую, которая "...на примерах". И сделать все проги оттуда — на Питоне.

Что ж, так и сделаю, пожалуй. Огромное спасибо за советы.
Re[9]: С чего начать знакомство с программированием
От: MaximUN  
Дата: 28.05.11 17:29
Оценка: 1 (1)
Здравствуйте, WalkMan, Вы писали:

WM>Что ж, так и сделаю, пожалуй. Огромное спасибо за советы.


Насчет литературы это, конечно, к Лаптеву
От себя еще могу добавить Абельсон Х., Сассман Дж. Структура и интерпретация компьютерных программ. — М.: Добросвет, КДУ, 2010. — 608 с.: ил
Re: С чего начать знакомство с программированием
От: zakima Канада  
Дата: 29.05.11 04:49
Оценка: +1
Здравствуйте, WalkMan, Вы писали:

WM>Добрый вечер всем. Собственно, сабж. В программировании полный ноль, разве что могу написать самые банальные школьные программки для несложных арифметических вычислений. С какого языка лучше начинать погружение в мир программистов? Мне почему-то приглянулся С++, но я не знаю, насколько это правильный выбор. Будьте добры, подскажите наилучший язык для новичка, и, желательно, литературу. Конечно же, хотелось бы взяться за язык, на котором можно писать полноценные программы, т.к. имеется в мыслях программа, и хотелось бы её написать, параллельно изучая программирование.


Лучше начинать с языка на котором потом собираешься начать работать как можно скорее. Это я как бывший нуб говорю

В моем случае это был C++, но на тот момент C# еще не было даже (может беты были). Страуструп и вперед. Здесь упоминали много про задачи — мне кажется, что они легко придумываются по ходу. Да даже просто повторять задачи из книги можно. После Страуструпа была пара книжек по MFC чтобы другую сторону попробовать. После этого просто пошел работать.

Сейчас возможно не следует начинать с плюсов просто потому, что они реже используются. Ну так есть C#/Java и другие языки. Главное не учиться "программированию" на них, а учиться их использовать с непосредственной целью получить работу.
Re[2]: С чего начать знакомство с программированием
От: Michael7 Россия  
Дата: 29.05.11 19:35
Оценка:
Здравствуйте, zakima, Вы писали:

Z>Лучше начинать с языка на котором потом собираешься начать работать как можно скорее. Это я как бывший нуб говорю


Z>В моем случае это был C++, но на тот момент C# еще не было даже (может беты были). Страуструп и вперед. Здесь упоминали много про задачи — мне кажется, что они легко придумываются по ходу. Да даже просто повторять задачи из книги можно. После Страуструпа была пара книжек по MFC чтобы другую сторону попробовать. После этого просто пошел работать.


Может у вас талант такой, но вообще-то рекомендовать C++ для начинающего программиста довольно плохой совет.
Re[3]: С чего начать знакомство с программированием
От: zakima Канада  
Дата: 30.05.11 01:04
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Здравствуйте, zakima, Вы писали:


Z>>В моем случае это был C++, но на тот момент C# еще не было даже (может беты были). Страуструп и вперед. Здесь упоминали много про задачи — мне кажется, что они легко придумываются по ходу. Да даже просто повторять задачи из книги можно. После Страуструпа была пара книжек по MFC чтобы другую сторону попробовать. После этого просто пошел работать.


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


Мне кажется, что это зависит от "Если вы понимаете, что программа — это ПЛАН действий, то половина дела уже сделана" (c) LaptevVV или нет.

Если да, то я не понимаю какая разница какой язык. Понятное дело, что все тонкости плюсов быстро не изучить, но понять можно много. Мне еще помогло сразу после Страуструпа проходить тесты на brainbench (тогда он был еще бесплатным). Просто сразу акцентировал моменты типа "а зачем делать виртуальный деструктор и т.д.", "а что будет если мы хрен знает какую наследственность определим, а теперь вот скажите что ж мы получим на консоле".

Если нет, то да, согласен. Если такой уровень, то я бы советовал пойти/продолжить учиться в универе по специальности/пойти на курсы.
Re[4]: С чего начать знакомство с программированием
От: Michael7 Россия  
Дата: 30.05.11 06:42
Оценка:
Здравствуйте, zakima, Вы писали:

Z>Мне кажется, что это зависит от "Если вы понимаете, что программа — это ПЛАН действий, то половина дела уже сделана" (c) LaptevVV или нет.


Половина — но не все дело.

Z>Если да, то я не понимаю какая разница какой язык. Понятное дело, что все тонкости плюсов быстро не изучить, но понять можно много. Мне еще помогло сразу после Страуструпа проходить тесты на brainbench (тогда он был еще бесплатным). Просто сразу акцентировал моменты типа "а зачем делать виртуальный деструктор и т.д.", "а что будет если мы хрен знает какую наследственность определим, а теперь вот скажите что ж мы получим на консоле".


Так в том и смысл, чтобы начинающего избавить поначалу от влезания в такие вопросы типа зачем делать виртуальный деструктор и т.п. ООП вообще, наверное, лучше всего учить по SmallTalk, чтобы знать, что такое настоящее ООП
Re[5]: С чего начать знакомство с программированием
От: zakima Канада  
Дата: 30.05.11 07:16
Оценка:
Здравствуйте, Michael7, Вы писали:

M>Так в том и смысл, чтобы начинающего избавить поначалу от влезания в такие вопросы типа зачем делать виртуальный деструктор и т.п.


Ну так и есть теперь языки типа С#/Java, в которых не нужно знать (по-крайней мере в начале) что такое виртуальный деструктор, управление памятью, да и другие концепции там попроще. Моя рекомендация была начинать учить программирование через язык, на котором будешь работать.

M>ООП вообще, наверное, лучше всего учить по SmallTalk, чтобы знать, что такое настоящее ООП


Это совет новичку?
Re[6]: С чего начать знакомство с программированием
От: Michael7 Россия  
Дата: 30.05.11 07:49
Оценка: 1 (1)
Здравствуйте, zakima, Вы писали:

Z>Ну так и есть теперь языки типа С#/Java, в которых не нужно знать (по-крайней мере в начале) что такое виртуальный деструктор, управление памятью, да и другие концепции там попроще.


В этих языках своих заморочек уже полно. Я просто немного помню как сам когда-то изучал программирование. Элементарнейшие вещи ведь требовали времени для понимания. Даже понятие массива не совсем вдруг воспринял.

Представляю, для новичка знакомство в случае C++ начинается сразу с какого-то шаманства с #include и cin с cout. printf конечно тоже никто не отменял, но все равно лишнее. По-моему, это не очень хорошо заставлять новичка заучивать шаманские заклинания (для него), смысл которых он плохо понимает.

Да и идея компиляции требует отдельного объяснения. Поэтому для совсем новичка, хорошо бы использовать что-то интерактивное, типа консоли в Lisp/Scheme или даже старый добрый интерпретатор Basic (только не дать слишком увлечься им)

Правда, топикстартер, вроде по его словам не совсем уже новичок.

Z> Моя рекомендация была начинать учить программирование через язык, на котором будешь работать.


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

M>>ООП вообще, наверное, лучше всего учить по SmallTalk, чтобы знать, что такое настоящее ООП


Z>Это совет новичку?


В качестве первого изучаемого языка Smalltalk я бы очень не посоветовал. Но как новичку, желающему узнать ООП — вполне.
Re: С чего начать знакомство с программированием
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 31.05.11 02:58
Оценка: +1
Здравствуйте, WalkMan, Вы писали:

WM>Добрый вечер всем. Собственно, сабж. В программировании полный ноль, разве что могу написать самые банальные школьные программки для несложных арифметических вычислений. С какого языка лучше начинать погружение в мир программистов? Мне почему-то приглянулся С++, но я не знаю, насколько это правильный выбор. Будьте добры, подскажите наилучший язык для новичка, и, желательно, литературу. Конечно же, хотелось бы взяться за язык, на котором можно писать полноценные программы, т.к. имеется в мыслях программа, и хотелось бы её написать, параллельно изучая программирование.


Бери Python не ошибешься. Чем хорош? Во-первых тем, что синтаксис очень похож на псевдокод. На базе него можешь изучать ООП и немного функционального программирования. На нем можно писать полноценные программы, есть куча библиотек на все случаи жизни. Есть куча документации, книг и т.д. Кстати, я тут недавно давал свою подборку здесь
Автор: __lambda__
Дата: 27.05.11
. Есть community, можно спросить, если что не понятно, куча вопросов уже разжевана по всему интернету. Есть много разных IDE, например, стандартной является IDLE. Поддержка REPL. Всего не перечислишь. Вообщем, я советую Python как первый язык, после него уже можно учить C и потом C++.
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re[10]: С чего начать знакомство с программированием
От: __lambda__ Россия http://zen-hacker.blogspot.com/
Дата: 31.05.11 03:00
Оценка: +1
Здравствуйте, MaximUN, Вы писали:

MUN>Насчет литературы это, конечно, к Лаптеву

MUN>От себя еще могу добавить Абельсон Х., Сассман Дж. Структура и интерпретация компьютерных программ. — М.: Добросвет, КДУ, 2010. — 608 с.: ил

Моя практика показала, что для новичков это сложновато.
Computer science is no more about computers than astronomy is about telescopes (c) Edsger Dijkstra
Re: С чего начать знакомство с программированием
От: Dmi3S Россия http://dmi3s.blogspot.com/
Дата: 03.06.11 19:19
Оценка:
Здравствуйте, WalkMan, Вы писали:

WM> С какого языка лучше начинать погружение в мир программистов? Мне почему-то приглянулся С++, но я не знаю, насколько это правильный выбор. Будьте добры, подскажите наилучший язык для новичка, и, желательно, литературу. Конечно же, хотелось бы взяться за язык, на котором можно писать полноценные программы, т.к. имеется в мыслях программа, и хотелось бы её написать, параллельно изучая программирование.


SICP имхо лучшее, что есть. Scheme возможно и не самый лучший выбор, но качественне материала для обучению программированию я не видел. В сети есть отличные переводы как первого, так и второго издания книги. Бумажный вариант до сих пор можно купить на Озоне.
sicp
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.