pc.uz
Поиск
Расширенный поиск
РегистрацияЗабыли пароль? Запомнить
Товары Каталог компаний Публикации Объявления События Полезные сервисы Наши вакансии
Пятница, 9 декабря 2016г.
USD: 3189.93   EUR: 3434.89
Версия для печати
2009-01-28 04:37:11

С какого языка изучать программирование?

Беседовал недавно со школьником на тему: какой язык программирования он собирается изучать. Буду, говорит, изучать PHP или С++. Спрашиваю: а кто тебе посоветовал именно их изучать? - Да кто-то из друзей...

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

Так что смысл в такой статье есть. Привожу краткие характеристики тех языков, которые я преподавал в течение ряда лет.

BASIC - язык наиболее простой для начального знакомства. Его осваивают не только те, у кого хорошо развито математическое мышление. Я его преподавал как начальный язык программирования. Так как в нем нет необходимости описывать типы переменных, он больше похож на обычные математические решения. Для олимпиад подходит до городского уровня, но не выше.

PASCAL - требует определенного математического мышления, но вполне подходит для начального изучения. В настоящее время имеется достаточно много литературы, доступной для школьников. Олимпиадное программирование обычно происходит на нем. Это язык, на котором я веду преподавание.

СИ - язык профессионального программирования. Для начального изучения не рекомендуется. Его можно изучать после основательного знакомства с Паскалем. Но нужен он лишь для уровня международных олимпиад, ну может иметь преимущества для некоторых классов задач. С литературой по нему, доступной для школьников, я не знаком.

DELPHI - в консольном варианте это Паскаль, может использоваться на олимпиадах. В объектно-ориентированном варианте не используется на олимпиадах. Для начального обучения не рекомендуется, также как и остальные ООП языки программирования. Я провожу пару занятий по Delphi в конце курса, но исключительно для того, чтобы у моих учеников не было комплекса неполноценности при общении с "распальцованными" выскочками.

АССЕМБЛЕР - на самом деле правильнее говорить ассемблеры, т.к. для каждого типа процессоров ассемблер свой. Для начального изучения категорически не рекомендуется. Его как первый язык может освоить только электронщик, детально знакомый с работой цифровой техники. В Интернете я встречал предложения начинать с ассемблера, но это не более чем стёб.

Общие замечания: языки программирования различаются синтаксисом, т.е. способом выражения мысли программиста. Главное не синтаксис, а алгоритмическое мышление. Если его нет, то нет и навыка программирования. Если выработано алгоритмическое мышление, то переход с одного языка программирования на другой не столь уж и проблематичен. Во многих школах преподавание ведется на BASIC просто потому, что других языков преподаватели не знают, а те кто знают - работают программистами и ерундой (вроде преподавательской деятельности) не занимаются.

Вывод: начинать изучение надо с TurboBASIC или TurboPASCAL. Подчеркиваю, что с турбо-вариантов. Изучение начинать после знакомства с алгеброй. Как вариант допустимо изучение программирования до знакомства с алгеброй, но тогда на примере языка программирования BASIC вводить алгебраические понятия. Но это в том случае, если идет индивидуальное обучение.

Моя практика показывает, что раннее обучение, как правило, неэффективно. Правда, встречаются дети с исключительной (высокой) мотивировкой, для которых общие рекомендации не работают. Но это очень редко. Если у ребенка есть явно выраженные математические способности, то можно начинать с PASCAL, если нет, то лучше начинать с BASIC.

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

Еще раз повторюсь, на программировании свет клином не сошелся. Жизнь разнообразна, и вполне возможно, что ваш ребенок найдет себя в совершенно другой области. Заниматься программированием - означает обречь себя на вечное ученичество. Сейчас те языки программирования, которые мы изучали в университете (30 лет тому назад), можно найти, как правило, в разделе "история вычислительной техники". В то же время программирование - процесс творческий и заниматься им интересно (мне - так точно).

Желаю успехов в освоении этого предмета. От простого к сложному.

Источник: Интернет-журнал "ШколаЖизни.ру"
Прочитано: 28571 раз(а)  |  Комментариев: 31  |  Средняя оценка (макс. 7): 5 (Голосов: 2)
Вы не авторизованы для голосования
Еще по теме:

Комментарии к статье (31).
2011-01-31 21:42:21, Гость_экспрессионист:
Автор этой статьи я смотрю большой умник, изучение обязательно надо начинать с паскаля с дельфи чтобы освоить потом ассемблерЫЫЫ. Автор этой статьи считает всех за дибилов, навязывает свой путь освоение ассемблера через паскаль который нах. кому нужен. В этой статье только понт один автора что он один такой умный а больше ничего. я очень растроен и хочу на него подать в суд за то что он отнял у меня свободное время которое я мог потратить телек.
2010-12-10 01:13:39, Гость_:
dima
Гость_
Мне кажется начинать учиться программированию надо если есть такое желание и еще раз желание...

Так с какого языка изучать программирование?
Scheme :)
2010-12-10 01:11:52, Гость_:
dolphin
Человек, посоветовавший начать изучение с c++ или php, далеко не "грамотей" - он реалист.
Он просто безмозглый.
2010-10-01 03:42:47, Гость_:
Было интересно узнать о языках программирования. Программирование для начинающих, программирование для чайников.
2010-08-16 02:26:01, Гость_weewe:
Спасибо, интересно! Будем читать дальше.
infoprog.tk - программирование для начинающих и программирование для чайников
2009-08-20 19:30:38, dolphin [админ]:
я бы предложил начать изчение программированию именно с него. только по иной программе программирования.
oO Кто здесь?
 
для примера калькулятор электроника б-52, фактическое программирование на ассемблере.
Это машинный код, весьма удаленный от реальности.
 
(что и было сделанно мною в 11 лет)
Судя по суровой орфографии, сие было весьма недавно.
 
требующим только знания определённого синтаксиса, который можно посмотреть в метдичке и не обязательно при этом знать язык програмирования
Гуру пишет патчи к ядру, глядя в методичку? О Великий!
2009-08-20 19:29:58, Гость_:
Гость_yawa:
[бред поскипан]
ололо, школота начинает осваивать программирование... и как далеко мы продвинулись? купили скачали книжку "программирование для имбецилов идиотов чайников"???
2009-08-20 19:29:02, dima [админ]:
Гость_yawa
ибоумея писать программу в блок-схемах написание програмы на определённом языке становится сущим пустяком, требующим только знания определённого синтаксиса, который можно посмотреть в метдичке
Как с помощью блок схем можно научиться ООП, TDD и т.п.?
2009-08-20 19:22:25, Гость_DarkUser:
Гость_yawa
АССЕМБЛЕР - я бы предложил начать изчение программированию именно с него. только по иной программе программирования.
оставайтесь на месте, санитары за вами уже выехали... и вашу любимую рубашечку с длинными рукавами захватили...
2009-08-20 15:36:09, Гость_yawa:
ИМХО:
 
людям. которые нехотят заниматся программированием в дальшейшем за глаза хватит и БЕЙСИКа
 
ПАСКАЛЬ - если хотите быть победителем олимпиад, больше его знать незачем. делфи туда-же.
 
СИ - для начального изучения довольно тяжеловат, но нужен, рекомендую перед си выучить чтонить попроще
 
АССЕМБЛЕР - я бы предложил начать изчение программированию именно с него. только по иной программе программирования.
ЗЫ: для примера калькулятор электроника б-52, фактическое программирование на ассемблере. основы программирования на нём можно выучить за полчаса (что и было сделанно мною в 11 лет)далее приступать к программированию на ассемблере (или ассемблерах, как предложил автор) уже имея образные представления о стеке, очереди, регистрах и простых операциях.
 
так-же паралельно с этим необходимо учить как-раз, таки блок-схемы. ибоумея писать программу в блок-схемах написание програмы на определённом языке становится сущим пустяком, требующим только знания определённого синтаксиса, который можно посмотреть в метдичке и не обязательно при этом знать язык програмирования
2009-05-14 14:46:40, Гость_ннееегн:
Гость_milsum
для обучения, в идеале, язык программирования должен бы обладать преимуществами всех перечисленных языков: легкий как бэйсик, лаконичный как паскаль, чтобы был современен как ПХП. Набрал в блокноте и запустил.

python
 
единственный язык, который годится для программистов любого уровня - от начинающего школьника до маститого профи
2009-05-14 13:26:58, dima [админ]:
У PureBasic шароварные компиляторы. Нельзя подсаживать учеников на проприетарщину.
2009-05-10 21:58:30, Гость_:
Начать программировать можно с языка PureBasic сайт
В его составе есть более 800 встроеных функций и их число можно с лёгкостью увеличить, что позволяет программировать даже без знаний API.
Язык расчитан для написания консольных, оконных и игровых программ для Windows, Linux, MacOS.
У него довольно простой синтаксис и выучить за короткое время можно даже по справке.
Вот пример программы, создающей окно с надписью
Text
OpenWindow(1,200,250,200,50,"Заголовок окна",#PB_Window_MinimizeGadget)
CreateGadgetList(WindowID(1))
TextGadget(2,70,16,180,15,"Привет мир!")
 
Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow
End
 
Размер скомпилированого исполняемого файла получается небольшим - всего 10КБ и для его работы не нужны никакие внешние файлы - все в EXE.
Вот скрин проги из примера
2009-03-08 00:06:30, Гость_wolf.ram:
`` для обучения, в идеале, язык программирования должен бы обладать преимуществами всех перечисленных языков: легкий как бэйсик, лаконичный как паскаль, чтобы был современен как ПХП. Набрал в блокноте и запустил."
В идеале - сказал "хочу программу, чтоп делала то-то" - и программа готова.
 
``Общие замечания: языки программирования различаются синтаксисом"
Семантикой, батенька, семантикой. А синтаксис это далеко не первое дело.
Или для автора научиться программировать на языке == выучить синтаксис?
2009-03-03 09:25:18, Гость_sac:
that is really good advice!!! thanks 4 your info about the steps of programm-building softwares!
2009-02-26 23:16:18, Гость_Гость:
Возникает вопрос, давно ли автор сам осваивал какой-нибудь язык программирования? Уже не времена TurboBasic и TurboPascal. А дети усваивают все быстрее взрослых, поэтому лучше сразу не калечить их открытое сознание узкими рамками старых языков (арифмометром же никто не пользуется). Все то, что дают TB/TP могут дать и другие языки, а потом другие языки могут дать и большее. Кстати, PHP -- полноценный ЯП (для него даже есть GUI API)
 
Сравнение языков программирования
2009-02-22 12:30:22, Гость_milsum:
для обучения, в идеале, язык программирования должен бы обладать преимуществами всех перечисленных языков: легкий как бэйсик, лаконичный как паскаль, чтобы был современен как ПХП. Набрал в блокноте и запустил.
2009-02-15 22:44:36, Гость_:
Лично я выбрал VB.NET   и  С#
2009-02-11 18:29:14, dima [админ]:
Гость_
Мне кажется начинать учиться программированию надо если есть такое желание и еще раз желание...

Так с какого языка изучать программирование?
2009-02-11 06:10:41, Гость_:
Мне кажется начинать учиться программированию надо если есть такое желание и еще раз желание. и много усердия. потому как если как тут некоторые говорят "выучил язык за 20 дней" так это похоже на научился играть в шахматы зная как ходят фигуры. умение программировать по моему не столько в знании языка как средства реализации а в способности грамотно поставить задачу. А вот владение конкретным языком программирования подразумевает умение наиболее эффективно реализовать алгоритмические решения в рамках выбранного языка программирования.
1 2
Вы можете оставить свой комментарий.
Гость_
Антибот:
- Сайт модерируется. Из комментариев удаляются бессмысленные, оскорбительные или не относящиеся к теме обсуждения.
- При написания комментария вы можете использовать теги BB-кода (BBCode).
Список поддерживаемых тегов.
Регистрация в каталоге Обратная связь Размещение на сайте Приглашаем авторов! О проекте Наши партнеры
Все товары, подлежащие обязательной сертификации, сертифицированы, лицензируемые услуги - лицензированы. © ООО «GISinfo»; 2013. Все права защищены.
YP
Рейтинг@Mail.ru
Uzinfocom Datacenter
Integrity Solution
Add engine