я не считаю нужным, чтобы дети в школе изучали программирование
Детей надо заинтересовать. Возьмите движок INSTEAD и пишите с детьми игру на русском языке
М.б. и математику изучать не надо? Детей проще заинтересовать, если кроссворды разгадывать и викторины устраивать. Но как дети при опыте только викторин специальность смогут выбрать?
Вопрос про "достаточных систематичных знаний ". А достаточных для проф. деятельности знаний общеобразовательной школе обеспечить трудно — поэтому существует специальное образование среднее и высшее.
Огласите, пожалуйста, весь список алгоритмов, которые вы подразумеваете тут.
Я уже называл хорошую книгу: С.М.Окулов, Программирование в алгоритмах.
Помимо (с помощью) синтаксиса изучаемого ЯП нужно доносить такие идеи как анализ и декомпозиция задачи, формулирование гипотез, основы тестирования, поиск информации, классы эквивалентности, рефакторинг кода. Если подумать, то может быть еще что-нибудь вспомню.
В школе Вы бы смогли все это вдумчиво изучить? Когда много сил и времени нужно тратить на географию и литературу. И где Вы предлагаете найти столько школьных учителей, которые знают все эти темы?
Найдёт один предмет, по которому можно таки составить систематическую программу с достаточным объёмом знаний
Вы можете найти такой предмет? Я затрудняюсь.
набросать простенький GUI в визуальной среде разработки — тоже
Набросать GUI не зная ООП? Про ООП высказал свою точку зрения:
Но в любом случае ООП — это три кита: инкапсуляция, наследование и полиморфизм. В качестве приложения к ним куча проблем, нпр., проблемы множественного наследования. Это неоднозначно и для профи, а школьнику, который лирик это совсем не нужно — не мучайте детей…
Далее:
в многопоточном программировании и разработчики со стажем плавают
М.б. простенькую задачу, типа прогресс-бокса средний школьник и потянет, но зачем и кому это нужно?
3 тоже ничего так — если разрешить давать несколько ответов.
Увы, для решения этой задачи в языке либо должен существовать тип данных «числовой с размерностью», либо должна быть возможность перегружать арифметические операции.
Паскаль этому никак не способствует.
В Дельфи возможна перезагрузка операций, но, увы, не понял при чем она тут. Все просто и описано в документации:
program Project2;
// Как не складывать гвозди с огурцами
{$APPTYPE CONSOLE}
uses
SysUtils;
type TCucumber = type integer;
type TNail = type integer;
var
Cucumber : TCucumber;
Nail : TNail;
function addNail (var a1,a2 : TNail) : TNail;
begin
addNail := a1+a2;
end;
begin
Cucumber := 3;
Nail := 5;
Nail := addNail (Nail, Cucumber); // [Error] Project2.dpr(23):
// Types of actual and formal var parameters must be identical
writeln (Nail);
readln;
end.
Думаю, что после всех разъяснений точки зрения участников обсуждения достаточно прояснились. Повторюсь, что типы на мой взгляд нужны прежде всего для того, чтобы не складывать гвозди с огурцами, а километры с минутами, что очень любят делать некоторые школьники начиная с уроков арифметики в первом классе.
Есть ещё более сложный вопрос: нужно ли заинтересовывать в программировании людей, которые не знают, зачем им это надо? Имеем ли мы право отвечать за них, зачем им это надо?
А если вместо «программирование» подставить математика, физика, химия, то имеем ли мы право? М.б. если человек сам не заинтересуется, то его никто заинтересовать не сможет?
как заинтересовать людей в погроминге, если они сами не могут придумать, зачем это им надо. И ведь реально сложно ответить на этот вопрос. :)
ИМХО понимание, что программирование это инструмент
приходит очень быстро. Если изучаешь алгоритмы совместно с математикой, физикой, химией, то и на школьном уровне можно увидеть перспективы и готовые задачи, ждущие решения.
Вы в полагаете, что тот, кто нацелился стать программистом, не займётся этим сам?
Бывают разные ситуации. Кто-то колеблется, а кто-то позже найдет себя в программировании микроконтроллеров и т.д.
Студент не-программист бывает двух видов: один и так программирует, другого — не заставишь.
М.б. видов 2, но подвидов больше. И наверняка есть подвиды, которые не пойдут на в общем интересную им специальность только потому, что там есть программирование. Я, нпр., знаю людей, которые хотели стать геологами, но не стали из-за математики.
Я писал для Excel на VBA. Очень не просто. Не для школы. А просто в Excel посчитать лабораторку по физике или задачку по химии — очень полезно для школы.
А зачем нужна такая идея?
Я уже называл хорошую книгу: С.М.Окулов, Программирование в алгоритмах.
В школе Вы бы смогли все это вдумчиво изучить? Когда много сил и времени нужно тратить на географию и литературу. И где Вы предлагаете найти столько школьных учителей, которые знают все эти темы?
Вы можете найти такой предмет? Я затрудняюсь.
Набросать GUI не зная ООП? Про ООП высказал свою точку зрения:
Далее:
М.б. простенькую задачу, типа прогресс-бокса средний школьник и потянет, но зачем и кому это нужно?
Вы предлагаете учить в школе несколько ЯП. Зачем?
А если вместо «программирование» подставить математика, физика, химия, то имеем ли мы право? М.б. если человек сам не заинтересуется, то его никто заинтересовать не сможет?
ИМХО понимание, что программирование это инструмент
приходит очень быстро. Если изучаешь алгоритмы совместно с математикой, физикой, химией, то и на школьном уровне можно увидеть перспективы и готовые задачи, ждущие решения.
Интересно. Если не затруднит — поясните подробнее, пожалуйста.
М.б. видов 2, но подвидов больше. И наверняка есть подвиды, которые не пойдут на в общем интересную им специальность только потому, что там есть программирование. Я, нпр., знаю людей, которые хотели стать геологами, но не стали из-за математики.