vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Вчера одна 15-летняя девушка, дочь моих хороших знакомых, с гордостью опубликовала в своём ЖЖ описание своих первых заработавших программ со школьных уроков по программированию.

Среди них была программа для подсчета суммы всех четных чисел меньших заданного.

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

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

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

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

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

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

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

Re: чему учить

Date: 2006-11-10 02:23 pm (UTC)
From: [identity profile] blogrov.livejournal.com
Да. и еще вероятность ошибки у меньшей программы меньше .плохо только тем кто получает вознаграждение за строчки кода :)

Re: чему учить

Date: 2006-11-10 07:01 pm (UTC)
From: [identity profile] breqwas.livejournal.com
Вот только не надо про компактность. Я сейчас перл учу, параллельно с чтением/написанием кода на нём...

Re: чему учить

Date: 2006-11-11 04:47 am (UTC)
From: [identity profile] http://users.livejournal.com/_kleptos_/
компактность кода и простота немного разные вещи.

Re: чему учить

Date: 2006-11-11 07:08 am (UTC)
From: [identity profile] taris_marh.livejournal.com
В режиме предельной краткости Perl становиться языком write-only :) - читать и отлаживать его почти невозможно.

Date: 2006-11-11 07:40 pm (UTC)
From: [identity profile] silly_sad.livejournal.com
вот теперь я чувствую что прав, когда считаю что моя главная работа происходит на бумаге карандашом, а код это так, просто офрмление резщультата работы - молодёжь не понимает? смеётся, "ГЫ програмист без компутера"

Date: 2006-11-14 03:16 pm (UTC)
From: [identity profile] zhuk-s.livejournal.com
молодежь плохо учили

Re: чему учить

Date: 2006-11-16 02:43 pm (UTC)
From: [personal profile] ramendik
Компактнее != легче сопровождать. Например, сколь-либо сложное regex (похоже что не лечится - ровно поэтому я не принимаю этот инструмент) или типичный продукт на perl (здесь это обходится, просто требуется аккуратность).

Re: чему учить

Date: 2006-12-07 09:21 am (UTC)
From: [identity profile] levgem.livejournal.com
Почему-то, когда поднимается разговор о компактности, вспоминают нечитаемый перл. Есть другие инструменты, которые в отличие от перла, позволяют создавать компактный и читаемый код.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

August 2025

S M T W T F S
     1 2
3456789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 3rd, 2025 07:59 pm
Powered by Dreamwidth Studios