Исследовательский потенциал молодых ученых: взгляд в будущее

11 нако целью изучения парадигм ставится не знание реализации той или иной концепции в определенном языке, а понимание функционирования концепции на примере одного языка. Языка, в котором были бы реализованы все пара- дигмы не существует. Происходит это из-за определенных практических ра- мок использования языка, а также из-за неизбежного устаревания и образова- ния новых парадигм. Парадигм программирования не так много (порядка 20–40), доскональное изучение каждой занимает много времени, и всем не требуется. Изучение пара- дигм не должно затрагивать глубокие детали реализации, а должно стремиться отойти от деталей к более общей картине. Оно даст понимание существующих методов решения задач и предотвратит придумывание этих методов заново. Концепции и наборы методов развивались с решением задач, переформулиро- ванием и/или обобщением проблем. Поэтому парадигмы нужно осваивать по- следовательно, так чтобы довести до будущего программиста изначальную проблему, путь, которым предшественники шли, методы, которые использова- ли; решение задачи, которое, в свою очередь, удовлетворило научное сообще- ство, а набор методов, концепций и принципов сделался устоявшимся и приоб- рел статус парадигмы. Студенты не знают даже основных, часто используемых принципов. По- этому они не могут сразу реализовать поставленные задачи. Далее следует при- думывание существующего метода решения. Изобрести метод решения той или иной задачи достаточно сложно, даже зная основы. Если данные основы или методы не известны, то происходит обычно следующее: человек в попытке найти решение, само собой, использует методы ему ранее известные, хотя для ряда задач ни один из известных ему методов не будет подходить. Значит ему нужно будет этот метод воспроизвести еще раз (« изобрести велосипед» ), на что будет потрачено несоизмеримо больше времени, чем нужно на решение задачи. Начинающий студент-программист должен понять, что такое программи- рование, освоив сначала свой первый язык на уровне уверенного использования основных конструкций (условные операторы, циклы и т. д.), а затем, совершен- ствуя знание, идти дальше, параллельно изучая парадигмы. Обычно програм- мисты постигают парадигмы через собственный опыт: «набивание шишек», решение задач определенного класса, изучение языков разных видов, разных уровней абстракции и т.д. Опытные программисты, владеющие несколькими языками в совершенстве, уже прошли путь изучения многих парадигм, только неявно. Но изучение нескольких языков не обещает изучения большинства ис- пользуемых концепций. Можно определить несколько основных наиболее используемых языков. Однако программирование развивается очень быстро, создаются новые удоб- ные инструменты, старые забываются, а вместе с ними уходят некоторые язы- ки. Есть шанс, что этим языком будет один из используемых, и его заменят на более новый и совершенный. Конечно, говорить о полном вымирании языка нельзя, хотя и такое встречается, но вытеснение одних языков другими в значи-

RkJQdWJsaXNoZXIy ODQ5NTQ=