Pull to refresh

Comments 539

Это не шутка, это мой опыт работы с детьми в соцучреждении.
Это простой сиподобный, универсальный , мультипарадигменный язык, со строгой типизацией, исполняемый в вм, с отличным инструментарием, после которого можно пересесть на настоящие языки программирования с пониманием:
- что такое переменная
- что такое объекты
- как работает ооп
- что такое типизация
Дети от 11 до 17 лет схватывают за 2 недели, при моих 6 часах в неделю.
Если цель детей научить программировать, а не наслаждаться осознанием величия паскаля и других совершенно не применимых к реальной жизни инструментов, то дарт - лучший выбор.
После питона - переучиваться тяжело,
С паскаля также не легко соскочить.

как работает ооп

Тут тридцатилетние мидлы на интервью не все могут на это толком ответить, а вы предлагаете детей одиннадцати годов от роду этому учить :))

я тут глянул задачку с ЕГЭ, могу гарантировать что 99% мидлов любого возраста ее просто "не потянет"
https://youtu.be/CWqL5IJvB9Y

Видео не смотрел, смотрел условие задачи. Ну, не знаю.. Задачка на логику, и на деление на 2 и 13. FizzBuzz где-то рядом. Для программиста не решить ее - как-то странно.

А в чем сложность? У 26 всего два простых делителя - 2 и 13. Пробегаем по всей последовательности, подсчитывая количество чисел которые делятся на одно или другое или на оба, заодно считаем полное количество элементов - дальше как бы решение очевидно. В голову пришло сразу же, как только условие прочитал. Фактически, разновидность FizzBuzz :)) А, да, - сложность O(n) по времени, O(1) по памяти.

паскаля и других совершенно не применимых к реальной жизни

Чем подтвердите свои слова?

с пониманием:- что такое переменная- что такое объекты- как работает ооп- что такое типизация

Забавно, что перечислены четыре вопроса, ни один из которых не нужен для понимания основ программирования. Ну разве что про переменные можно рассказать.

Я б лично учил самому базовому лиспу, без переменных, без объектов, без ооп и без типизации. Синтаксис и семантику можно объяснить за одно занятие, а там дальше просто примеры функций и основные алгоритмы.

ООП для начинающих ИМХО действительно лишнее, но вот без понятия переменной по-моему трудно

Почему? Если взять простенький учебный язык без наворотов с готовыми примерами объектов, то концепция ООП вполне себе простая и естественная.

Мне кажется, для среднего школьника, который не будет программистом, это лишнее (с учетом ограниченного времени на курс).

Школьнику достаточно самой концепции объекта со свойствами и методами. И эта концепция на уровне "у зайчика есть свойство цвет шерсти и метод кушать, и события голод и жажда" - гораздо проще в понимании, чем функции рекурсивно вызывающие функции. С функциями нужна хотя бы четвёрка по математике, а с зайчиком - достаточно реальной жизни.

Интересно! Может быть. Я преподавал программирование один год в прошлом веке - кружок С в 1990 :-)
Так что я не эксперт.

Дети должны учить Си. Это должна быть база. После нее любой язык пойдет на ура. Школа не дает этот фундамент и потом вузы удивляются масса знающих Пайтон и никого Си. У нас школы не работают на то, чтобы растить сильных абитуриентов для вузов. Отсюда и масса проблем потом с кадрами в промышленности.

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

Было бы неплохо(наверно) делить сразу детей в школе на тех кто планирует(хотя бы просто, в мыслях) связаться с ИТ. И тех кто 100% не планирует связываться с этим.

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

Да, и как ребенок может определиться будет он в IT или нет? Может ему сейчас тяжело, но спустя лет 5 он самостоятельно начнет изучать программирование, потому что это его затянет. Школьник в принципе до 10-11 класса не в состоянии определиться со своим профессиональным будущим. Да 95% 11-классников в этом вопросе плавают не представляя какой ответ дать.

А по поводу темы поста: личное мнение: для понимания процесса программирования достаточно алгола с кумиром. Там есть все основное: переменные, циклы, ветвления и массивы. А с этой базой можно написать практически что угодно. К тому же он на русском, и в принципе абсолютно понятен, словно книжку читаешь. Ведь задача школы не подготовить программиста (не смотря на задания ЕГЭ), а дать ребенку базовые знания и дать ему возможность понять кем он хочет быть.

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

Моё мнение разностороннее обучение в школе - это всё-таки уже не есть хорошо - нужно быстрее переходить к более узкой специализации. Но для этого надо ещё в младших классах успеть втиснуть в гибкие молодые мозги как можно больше важных общих знаний (и это не так просто - над этим ещё надо поработать - тут нужны как технически нововведения, так и психологические и негидрофизические новации) - и начинать учиться им нужно пораньше - хотя бы с 3-4-х лет (да детство тоже целиком отнимать не стоит, но ужать нужно) и учится в школе подольше (оставив ВУЗы и Колледжи действительно для тех кто хочет углубляться в какие-то серьёзные профессии или идти в науку; впрочем бездарей после 9-го класса тоже особо задерживать не стоит, но я не считаю, что нужно стремиться, чтобы их было много - в отличии, наверное от ряда "умников" в администрации правительства - считающих, что лучше больше глупого населения, чем умного - так ими управлять проще).

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

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

А классах же другой направленности информатику тоже надо преподавать - но в другом ключе - скорее в плане работы со специализированным софтом - но так как практически любой вид софта будущего скорее всего будет иметь возможность алгоритмического подхода - то его тоже надо изучать, и программы писать тоже - лишним не будет - но тут нужны более простые ЯП. А до старших классов вообще всё должно быть в игровой форме!

Такого моё мнение! Просьба необоснованно не минусовать - как тут уже делали с моими комментариями!

а что означает "детство"? (в контексте "не стоит отнимать детство"). В чем оно заключается и в чем заключается его отъем?

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

Отъём детства - это сокращение времени пребывания ребёнка в вышеописанном состоянии до менее чем 50%

Не воспринимайте только всерьёз и не ставьте очередной минус - я не психолог и не из министерства чтобы давать тут точное определение! Я лишь обоснованно описываю свой взгляд

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

Замечательно - всё это является Вашим детством - я очень рад за Вас! Ничего против не имею

но тогда чего у меня "отнимали"?

не знаю - я ничего такого не утверждал

ВОТ РЕАЛЬНО НУ ЗА ЧТО МИНУС ТО ПОСТАВИЛИ?

что означает "детство"? (в контексте "не стоит отнимать детство")

Наверное вот это. < sarcasm / >

ну я и не говорил что должен.
Боюсь мне сложно будет даже сформулировать свое видение ситуации.
Поэтому тезисно.
1. То что попадает в ребенка до 15 лет - заметно, существенно определяет всю его дальнейшую жизнь("мы все родом из детства"). Поэтому надо как можно грамотнее использовать этот период.
2. Я вообще к программированию отношусь как к инструменту. Станет ли человек программистом или нет - неизвестно. Но что-то уже понятно и к 5-му классу - способ решения задач, способ излагать мысли, в целом "склонность к технике".
3. Да, делить класс на две группы это всегда черевато. Это известный психологический феномен(возникновение "мы и они" ). Но можно даже и не делить на группы, а урок построить для тех кто на "бейсике" и "тех кто на си". В связи с чем поднять зарплату учителю(например).
4. также как дети отличаются(п.2) также и ЯП отличаются и именно это и есть "зерно ".
5. Наверно правильной будет форма факультатива. А не деление всего класса.

Деление класса - это сложный вопрос - тут много групповой психологии играет роль.

Нои плюсы есть - тут очень хорошо надо подумать над наиболее грамотным подходом

На мой вгзляд все три подхода имеют право на жизнь:

  1. Разделение не класса на группы, а детей на разные классы - это попрактикуется уже давно. Типа гуманитарный класс, математический класс, класс углублённого изучения иностранного языка, класс дебилов - это, в общем-то, шута - но она неизбежная! Аналогично возможно разделение на разные школы - что ещё эффективнее и менее психологически проблемно!

  2. Создание широкого спектра факультативов - особенно по всем предметам, по которым есть олимпиады, необязательные экзамены в школах и обязательные специализированные экзамены в ВУЗах и Коледжах. Но дети сами вольны выбирать что им интересно. Но увы - это всегда за допплату (впрочем углублённые школы и классы обычно тоже не бесплатны) - но это уже другой вопрос.

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

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

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

И да - факультативы не обязательно должны быть очными - сейчас в мире интернет-технологий школьное онлайн обучение тоже очень востребовано и эффективно! Этим не стоит пренебрегать.

И ещё - я, вот категорически против, чтобы в школах не в профильных классах углублялись в предметы, по которым нет обязательных экзаменов!

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

Если в итоге ребенок не захочет быть в IT, то он просто не будет сдавать ЕГЭ по этому предмету. Да и вообще может в принципе забить на данную тему

Но при этом все равно присутствовать на нелюбимом предмете и мешать остальным? Может его все-таки лучше домой отпустить?

Если так рассудить - ребёнок почти все предметы начнёт считать нелюбимыми. Это плохое решение. Есть некоторый набор предметов - которые всё-таки очень активно развивают личность и интеллект, даже преподаваемые в минимальном объёме. Их состав - это отдельный вопрос - я его не поднимаю, но лично я считаю, что информатика в современном обществе относится к ним. И сложно представить себе в большинстве случае человека недалёкого будущего несоприкасающегося с электроникой дальше чем чтение сайтов, просмотр медиаконтента и раскладывание пасьянсов. Безусловно такая прослойка будет - но меньше, чем те, кто с электронной техникой будет более глубоко на "Вы". Да - может программировать или вообще составлять какие-лило алгоритмы многим и не придётся - но алгоритмическое мышление лишним многим не будет!

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

Но я так же ратую за то, что AI технологии в течении 100 лет таки позволят перейти от общего образования к массовому частному (и, в большинстве случаев, на дому) - тогда уже можно и индивидуальные программы составлять под реальные расположенности ребёнка и ещё более интенсивно переходить к раннему распределению в узкое русло обучения. Но всё-равно - без информатики таким детям будет сложнее жить и работать потом во взрослой жизни - просто таков, ожидаемо, будет мир уже недалёкого будущего (всего-то через 1-2 поколения)!

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

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

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

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

P.S.

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

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

Дети должны учить Си. Это должна быть база. После нее любой язык пойдет на ура

Если уж брать критерием, что потом все буде на ура, то тогда только Lisp/Haskell.

я работал в школе 3 года и ещё около 100 частных учеников. вёл C++, AS3 (flash), php, JS, C# - самые лучшие результаты (это когда дети сделали свои игры сами) были на AS3 flash. идиоты из адобе убили флеш в браузере, но в телефоне и на компе до настоящего времени можно делать игры и мультики на флеше. самое его преимущество в том что те кому не очень даётся программирование могут просто рисовать, анимировать - если поделить детей на команды то они учатся разделять обязанности. и по факту в конце знают JS - точно не бесполезный паскаль с которым ни в советскую армию ни в красную, или какие там ещё половые органы... а школьная программа не стоит туалетной бумаги на которой она напечатана

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

Всё это - путь минимум для студента профильного ВУЗа/колледжа. Но точно не для школьника, которому государство выделило на изучение программирования 30 уроков (ВЕСЬ базовый курс информатики 7-9 класса - это 102 урока по 40 минут, размазанных на 3 учебных года; на "изучение" железа - 2 урока).

Вы сильно недооцениваете интеллект детей, ассемблер очень простой язык независимо от типа процессора. VHDL и C++ конечно непростые в целом, но помигать диодами на VDHL и решить задачку на C++ с выводом в консоль - не требует освоения и десятой доли возможностей языка. Про остальные языки более высокого уровня и гворить не о чем - все будет однотипно. Тут главное правильно подать и показать - что бояться тут нечего - все предельно просто. Основная проблема - это катастрофически низкая компетентность учителей и неспособность подать материал.

Про остальные языки более высокого уровня и говорить не о чем - все будет однотипно.

Ну, я бы не был столь категоричен. Всё-таки императивные и объектно-ориентированные парадигмы существенно отличаются от функциональных...

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

Я бы не был столь категоричным. В PascalABC.NET индексация начинается с 0

Молодцы, что исправили - все равно лошадь давно сдохла.

Может в более свежих версиях исправили, не проверял. У меня это тоже боль. В обычной жизни чаще пишу на Lazarus и PHP, на уроках приходится держать в голове, что в PascalABC не с нуля.

Для строк есть директива {$zerobasedstrings}

Динамические массивы индексируются с ноля

Ститические массивы индексируются так, как объявили при описании типа

Строка и динамический массив в паскале это не одно и то же. Строки в паскале индексируются с 1 и это удобно

Они индексируются с 0, просто символы размещаются с 1.

Ерунду какую-то пишете. Раньше (давно) для коротких строк в нулевом байте сидела длина строки. Сейчас в Delphi тип String это UTF-16 Unicode string (2 байта на символ). Но тем не менее все строки всегда 1-based и не надо выдумывать.

Ну разве что вы "типа строку" заведете как MyString: array[0..12] of Char

Да, именно длина строки находилась по нулевому индексу. Сам нулевой индекс, очевидно, при этом существует.

Да, это старинный паскалевский хак, которому нет оправдания.

Почему же нет оправдания? Такой способ организации данных позволял узнать длину строки без последовательного просмотра всех её символов, в отличие от ASCIIZ-строк. В некоторых случаях это может существенно увеличить производительность алгоритма.

В те времена, когда это было придумано - символы были однобайтные, и длина строки естественным образом ограничена до 255 символов. И ничего с этим не сделать. С utf-8 и utf-16 такие строки тоже несовместимы, даже если вкрячить хранение длины строки в отдельной скрытой переменной.
Но самое главное - в учебном языке все должно быть логично. А то что доступ к элементу массива и к символу строки выглядит одинаково, но array[0] это элемент массива, string[1] - элемент строки, а string[0] - внезапно, длина - это ужасно.

В python эта часть выглядит лучше. Есть len(), которая возвращает длину - хоть строки, хоть списка. И никакой путаницы ;)

Идея паскальских строк великолепна. Только надо осовременить немножко. Я например использую динамические строки с отрицательными индексами для длины (и максимальной длины), а строка начинается с индекса 0, заканчивается нулем и содержит utf-8 символы. Таким образом одновременно совместима и с C/C++ и длину не надо все время считать.

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

В C++ длина строки возвращается за константное время. Так что #include <string> и проблема решена ;)

А в вашей реализации - большие проблемы с произвольным доступом к символам строки.  

А в вашей реализации - большие проблемы с произвольным доступом к символам строки.

В принципе да. Но вообще-то весь unicode имеет проблемы с произвольным доступом. Вне зависимости от кодировки. Так что, оказывается на самом деле utf-8 является лучшим компромиссом.

весь unicode имеет проблемы с произвольным доступом. Вне зависимости от кодировки.

utf-32?

Да, кстати, в плюсах оператор [] работает за константное время. Может не нужно изобретать велосипед? ;)

В utf-32 тоже один символ может занимать несколько слов.

Если в плюсах длина строки определяется за константное время, то это значит что они тоже перешли на Паскальские строки. Если бы писал на плюсах, конечно не изобретал бы велосипед.

Не может. Ёмкость юникода меньше, чем 2^32.

Считать ли комбинируемые знаки одним знаком или несколькими - это терминологический вопрос.

А так-то да, никто не запрещает в utf-32 использовать суррогатные пары (хотя это и странное решение).

Нет, это было в старом Турбо Паскале. Уже в Delphi стало не так. А в PascalABC.NET тип string - это .NET-овский тип со всеми вытекающими последствиями. Строки - произвольной длины, двухбайтовые. Длина строки - это свойство, вычисляемое мгновенно.

Вы не читаете то, что написали до Вас? Строки в PascalАВС.NЕТ по умолчанию индексируются от единицы - это нужно для совместимости со старыми паскалями. Если нужно индексировать строки от нуля - используется директива компилятора {$zerobasedstrings}

адресация начинается с ноля (привет Паскаль)

Наверное, не Паскаль, а Бейсик? Это в старых версиях Бейсика индексация массивов начиналась с единицы. А в Паскале диапазон индексов указывается при объявлении массива и может быть произвольным. В учебных целях можно всегда начинать индексацию с нуля, это выглядит достаточно естественно.

Кстати, FreeBasic , возможно, подходит в качестве учебного языка даже лучше, чем Pascal. Он строго типизированный, индексация массивов в нём начинается с нуля... Голосую за FreeBasic!

Динамический массив символов (array of Char) и строка (String) - это в паскале разные сущности. String индексируется c 1, дин. массив - с 0.

Для меня стартовый индекс массива никогда не был проблемой. Это мелочи, к которым привыкаешь за час.

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

Поддерживать систему в критических ситуациях в любом случае будут не школьники, а выпускники профильных вузов — вот им надо давать базис.

Меня вообще удивляет, что это вызывает у кого-то проблемы. У нас в универе пары на которых использовался Матлаб, соседствовали с парами по программированию на С++ или Java и я вообще не помню чтобы это у кого-то вызывало проблемы, несмотря на то, что в Матлабе, как и в другом мат. софте типа Wolfram Mathematica или языке R, индексы массивов начинаются с единицы.

Вы давно учили среднестатистических школьников программированию? Не профильную группу в кружке, например, а обычный 8 класс сельской школы? Да ещё и строго по ФГОС, потому как совсем уж от него отклоняться - чревато. Попробуйте на досуге (уверен, у вас есть рядом школа, куда с удовольствием возьмут такого компетентного педагога). Кстати, моргание светодиодами на ОГЭ не пригодится. Совсем. В отличие от ветвлений и циклов.

Про ASM даже не смешно. Ещё раз: дети к 8 классу в лучшем случае худо-бедно отличают оперативку от HDD. Булеву алгебру изучают на уровне "найди число, которое меньше 5 и больше 3" (см. задачи ОГЭ).

На кружках я Arduino c ребятами балуюсь не первый год, и не только светодиодами мигаем. Но на кружок идут дети, которым интересно. А на уроке базу надо дать всем. Даже условному Васе, который класть хотел на информатику (так же, как и на все остальные предметы). И такие Васи отнимают уйму сил и времени у любого учителя (и да, из школы, в отличие от ВУЗа, нельзя отчислить никого).

Нет, было дело. Значит в топку ФГОС.
Еще в школе я иногда оставался с теми кого учителя называли дебилами, и со мной они прекрасно решали математику, сами.
Проблема исключительно в учителях, в основной массе вы не хотите бороться с ФГОС, вы не хотите проявлять инициативу, вы не умеете работать с людьми. Да, есть дети, у которых есть проблемы, но их скорее единицы, а среди учителей единицы учителей. Кто виноват в такой ситуации? Очевидно все.

Большинство учителей полностью согласны, что ФГОС - в топку. И много ещё чего. Но в нашей стране даже разговоры такого плана могут привести в нарушению закона, так что здесь я это точно обсуждать не буду...

И да, у определённо категории людей всегда и во всём виноваты учителя.

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

Хватит перекладывать ответственность! Хоть раз-то надо проявить самостоятельность!

Обличать массы учителей в том, что они не хотят бороться, не проявляют инициативу и не умеют работать с людьми в сегодняшних реалиях тоже самое, что обвинять узника концлагеря после 30 дней условного ШИЗО или недельного избиения в том, что он не идет крушить охрану и не борется за свою свободу.
Про сваренную на медленном огне лягушку и выученную беспомощность, надеюсь, слышали, если нет, рекомендую.
Вероятный пассаж про то, что надо все равно бороться и вот именно Вы не такой и справитесь, пока остальные слабы, вообще не аргумент, пока не доказан делом. Знающих "как надо" пучок на пятачок, только вот школам отчего-то кадров не хватает, а те, кто приходит, сгорает за 2-3 года и уходит, либо становится циником, которому до фонаря на то, что кто-то что не понял.
Здорово рассуждать в интернетах про то, как плохо другие люди делают свою работу, но я бы предложил сначала примерить их ботинки, хорошенько выгореть, а потом уже идти воевать со ФГОС и прочим, не имея на это инструментов. Вам понравится, уверен.

"Да, есть дети, у которых есть проблемы, но их скорее единицы, а среди учителей единицы учителей. "

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

В отличии от узников концлагерей, вас никто не держит на работе, которая вам не нравится.

год к году дети, скажем так, тупеют и у них хуже с функциональными навыками


Во всем виноваты дети? Ну что же, господа "взрослые" (орущие матом на уроках, швыряющиеся ключами от кабинетов, занимающиеся рукоприкладством, переходящие на личности, лапающие старшекласниц, не желающие признавать ошибки и т.д. и т.п. - учились знаем), судя по всему вы даже понять не способны, когда вам указывают на проблему, способны только обижаться на жесткие формулировки, но это же ВЫ (УЧИТЕЛЯ) меня так научили.

"Во всем виноваты дети?"

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

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

"Ну что же, господа "взрослые" (орущие матом на уроках, швыряющиеся ключами от кабинетов, занимающиеся рукоприкладством, переходящие на личности, лапающие старшекласниц, не желающие признавать ошибки и т.д. и т.п. - учились знаем), судя по всему вы даже понять не способны, когда вам указывают на проблему, способны только обижаться на жесткие формулировки, но это же ВЫ (УЧИТЕЛЯ) меня так научили."

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

И да, я не педагог, но моя уважаемая супруга учитель английского. И её хватило на 2 года в обычной средней школе, она за это время все прошла - и зарплату в 8 тысяч в первое время, и работу на 2 ставки, и классное руководство, и конфликты в классе, которые разруливала девочка 25-ти лет и метр пятьдесят семь ростом, и родительские чаты и прочая. Теперь репетитор. А ставка её все еще не закрыта, просто часы раскидали на других педагогов. И дети её до сих с праздниками поздравляют.

Мне просто расстраивают такие набросы от людей не в теме, которые знают как надо, но от чего-то не делают, не могу, знаете ли, удержаться, чтобы пройти мимо. Этого "с шашкой наголо все порешаем" тонны, а те, кто действительно что-то делает, несмотря на, стоят как раз у доски и делают свою работу как умеют, пока кто-то в интернетах рассказывает, как им нужно делать свою работу.
Они могли бы работать эффективнее? Да, кто может, работает.

А потом удивляемся почему люди верят в чипы в вакцинах и плоскую Землю

Как сейчас помню, спор в первом классе с однокласником - я говорю Земля вращается вокруг Солнца, он - Солнце вокруг Земли, он зовет учителя, учитель говорит - вы оба неправы, хватит спорить. Наверное про смену дня и ночи подумала, но свою позицию не пояснила.

Мне просто расстраивают такие набросы от людей не в теме

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

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

А зачем мне представлять? Я работал на оборонном предприятии за зарплату, которой едва ли хватало на еду, при этом студентов начальство отправляло на двудневные курсы по С++ (эка эффективность!) стоимостью в десятки моих зарплат за каждого (и это при спеце по С++ под рукой, который рад бы был возиться с ними за 10-ю долю тех денег месяцами). И знаете, если я не могу ничего изменить, я могу уйти и я ушел, и это правильно, сейчас может дадут дорогу молодым с горящими глазами. Лишь на краю, что-то может измениться в лучшую сторону, так зачем мучать себя и других, может быть кто-то другой сможет, если вы не можете, а может до кого-то дойдет, что он неправ и все изменится?

Еще раз. Если учителя массово перестанут жрать этот кактус, через N лет придет, да уже, собственно, пришел, пушной зверек и нормальное среднее образование будет элитарно и и его смогут позволить себе достаточно ограниченное кол-во людей. Меня такая перспектива не устраивает, ни глобально, ни применимо к моей семье.
В конце концов, деньги, которые я начал откладывать будущему ребенку на школу, я найду, куда потратить.
Я тоже работал за совсем небольшую зарплату на заводах и в близких к оборонке тоже. И, не люблю эту фразу, но это в самом деле другое. Хотя бы потому, что рабочий день заканчивается и есть время на обед, хоть и не всегда. Да и в отпуск сходить нормально шансов тоже выше.

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

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

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

"Я рассуждаю на уровне, что если моя женщина должна работать ради денег, то я что-то определенно делаю не так."

А это здесь при чем?
Моя жена, кстати, как раз смогла из школы уйти после долгих уговоров, потому что у неё есть я.

"пусть лучше там работают старики и жены, которым дома сидеть скучно и им это нравится"

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

Я Вам про Фому, Вы мне про Ерёму. Видимо, к сожалению, не договоримся. Всего доброго и с наступающим.

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

С наступающим!

и учителя там будут такие, какие есть

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

Солнца, он - Солнце вокруг Земли, он зовет учителя, учитель говорит - вы оба неправы, хватит спорить

Разумеется, оба неправы. Потому что ещё Галилей открыл, что кинематика инвариантна относительно выбора начала отсчёта.

Но вы тоже не совсем правы.

Они вращаются вокруг общего центра масс. Ну и что что он почти совпадает с центром Солнца. Мы ведь спорим о фактическом положении дел в теории? Без учёта остальных факторов в виде других планет и центра Млечного пути?

Где начало отсчёта поставлю - вокруг того и будут вращаться. Фактическое положение таково: во Вселенной нет выделенной центральной точки. Спорить тут не о чем.

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

А ещё проблема в том, что профессионалам (вероятно, вы таковым являетесь) абсолютно наплевать на качество образования. Иначе почему я ни разу не видел новостей о митингующей толпе у министерства образования/просвещения/какое они там ещё название для своего дома душевнобольных придумали? Всем интересна какая-то абсолютно второстепенная фигня, вроде золотых унитазов, аквадискотек и голых вечеринок.

Профессионалам в системе образования же? Согласно теме статьи

Очевидно что?
Вы рассматривайте ФГОС как ТЗ заказчика, которое он выдал и проверяет.
Учитель может с ним быть не согласен - но результат обучения должен проходить "фгос фильтр".

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

Ахаха... Автор спросил какой язык лучше, я ответил, и вот я уже радикальный экстремист, а в его школе, меня сразу к стенке поставят? )))
Информатика - это другое направление? Вам виднее, куда мне...

А как именно вам ФГОС вам мешает написать свою программу и поурочное планирование с соответствии с ФГОС, в котором в общем то прописаны адекватные вещи ?

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

Программы по новым ФГОС - единые по всей стране (и ссылка на таковую приведена в статье). Конкретный учитель может либо минимально поменять темы местами, либо забить на ФГОС. В реальности приходится частично забивать, частично - менять, т.к. совсем не по ФГОС работать в школе нельзя; как правильно выше сравнили - это такое ТЗ от заказчика. В рамках ТЗ можно немного немного "покреативить", но так, чтобы потом ваша работа прошла приёмку (в нашем случае - ОГЭ/ЕГЭ).

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

Можно прислать ссылку на документ (ФГОС ИКТ), который описывает темы для изучения ? Не методические материалы к учебнику. Не поурочное планирование к программе, которую реализует конкретная школа. Именно ФГОС, в котором описан список тем, а не УУД и не итоговый результат после прохождения курса ?

В статье ссылка на типовую рабочую программу есть. Там расписаны все планируемые результаты обучения. Продублирую ссылку здесь: https://edsoo.ru/wp-content/uploads/2023/08/15_ФРП-Информатика-7-9-классы_база.pdf

С 17 страницы смотрите, там предметные результаты. Чуть выше по тексту есть ещё метапредметные и личностные результаты изучения информатики.

Сам ФГОС (как федеральный законодательный акт) тоже можно почитать при желании, но там мутная муть: https://nosch1.gosuslugi.ru/netcat_files/161/2509/FGOS_OOO_2022.pdf

(про информатику см. пункт 45.5. Предметные результаты по предметной области "Математика и информатика", начиная с 42 страницы).

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

А почему нет? Можно и с хекс редактора начать )
Кстати читить в играх я начал именно в нем, кстати в школе.

Основная проблема - это катастрофически низкая компетентность учителей и неспособность подать материал.

Ну вы сами себе противоречите.

Вот по вашим же словам, учителя недостаточно компетентны, чтобы как-то худо бедно объяснить основы на паскале, бейсике или питоне.

И что вы предлагаете? Обязать этих некомпетентых (по вашим же словам) учителей преподавать на C++.

Рецепт успеха, что уж тут.

Вот он. Советский подход, когда науку учить — так на профессора, английский — так на синхрониста, а вместо зарядки — Олимпийская программа. В результате пара особых детей на область «выстреливают», и их можно показывать на олимпиадах. А все остальные не выучивают вообще ничего — и остаются послушной тёмной массой с головой, мыслящей ритуалами.

В школе вообще не надо учить программировать. Надо учить компьютерной грамотности и безопасности. Как не наловить вирусов и не попасться на дешёвые разводы. Как не ставить программу, «ускоряющую кампутер». Как не разболтать все секреты толстому небритому дяде только потому, что у него на аватарке - тити. Но самое главное — как проверять любой источник информации, и чем он почётнее и официальнее — тем с большим скепсисом его проверять.

Но нет — тебе 18 лет, ты умеешь делать на Питоне массив с числами — к жизни готов!

Да, конечно, лучше учить тому как правильно заниматься сексом и религии, может еще чего забыл?

Что плохого в правильном занятии секасом? :))

В правильном ничего. Но правильность будут определять министерские тети-дяди, с вооот такими тараканами в головах.

<sarcasm> Ещё не забывайте про отчёты и периодическое прохождение курсов повышения квалификации. </sarcasm>

Вот конкретно "программировать" (в профессиональном смысле) - согласен, не надо. Во всяком случае, в среднем звене (до 9 класса). А основы алгоритмов в 10-11 классе - вполне себе полезны, имхо. Как минимум с точки зрения профориентации.

Но посмотрите программу по информатике: куча ненужных понятий (типа "информационных процессов", куски высшей математики в 8 классе (системы счисления, булева алгебра). Но всего пара уроков на работу с текстовым редактором, например (я стараюсь выкроить больше, но, повторюсь, совсем забить на ФГОС не получается).

Безопасность, правда, робко пытаются ввернуть в программу (но пока нет адекватных учебников, плюс - опять-таки, время на изучение - смехотворно).

Вообще, школа должна давать широкий кругозор и базу (математику, родной язык), а не глубину знаний по предмету. Всё остальное - задача ВУЗов и СПО.

Более того - конкретно для "программирования" (в профессиональном смысле) алгоритмика в мммм... школьном варианте нужна примерно "никак". Большинство бизнесушников в жизни ни разу сортировку не писали и не напишут, поиск по структуре выполняют вызовом стандартного метода объекта, заинтересованности в низкоуровневом жонглировании битиками примерно "нет" и тэ дэ.

А низкоуровневое "системное" программирование не то, чтобы "совсем" не востребовано - но на фоне общего количества вакансий можно считать и так. Ну не считает современный инженер прочностные характеристики балки - он, блин, по справочнику номенклатуры исходя из требуемых параметров её выбирает - "парадигма профессии" сменилась и то, что когда-то было "базой" сейчас... ну вот не то, чтобы "не нужно" - скорее нужно в очень и очень незначительной степени, не оправдывающий трудозатраты на обучение. Как-то так...

То, что алгоритмика не востребована - это вопрос не про информатику и не про IT, как мне кажется)

Такой вопрос можно в принципе задать к всей школьной программе и соответствию её будущей профессиональной карьере.

---

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

А знаете, какому количеству выпускников школы ни разу в жизни не понадобился логарифм? Ух!

---

А вот нормально ли это или нет, я лично для себя как-то не определился.

Лично мне вроде как нравится, что школьная программа пытается, по факту, дать какой-то широкий академический фундамент (а не сводится к тому, чтобы обучить детей сдачу в магазине считать и правильно выполнять приказы в строю или у станка).

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

Однако, желание какой-то практичности от школьной программы и нежелание учить "ненужное" - тоже понятно и осмысленно.

Вот как отделить нужное от ненужного - решительно непонятно.

Тут принципиальный вопрос - в чем собственно цель "школьного образования" и на мой взгляд - их примерно две.

Первая - обеспечить человека релевантным набором знаний-и-навыков позволяющих эффективно в этом обществе жить-и-взаимодействовать.

Вторая - это обеспечить "воронку-фильтр", ориентирующих потенциально способных чего-то принципиально нового достичь детей в нужном направлении. Грубо - у 10% детей есть способности к математике, позволяющие развиваться в этом направлении - но вот у _кого именно_ - мы не знаем. Не вопрос! Будем учить ВСЕХ - ВСЕМУ, а дальше пусть они определяются\учителя, которые видят способности их направляют и т.д. Чем шире основание пирамиды - тем она выше. Плохо что ли? Хорошо! Только оооочень не эффективно, да и количество этих самых "потенциально нужных" областей деятельности - растет, да и вторая цель не то, чтобы хорошо сопрягалась с первой.

Есть ли у нас более эффективные средства решения "задачи номер два"? А я не знаю. Но знаю, что "школьное программирование" ни задачу 1 ни задачу 2 - не решает от слова "совсем".

Как-то так.

Вы забыли важнейшую функцию: развитие мозга. Именно в школьные годы наиболее интенсивно растёт и развивается мозг и мышление. И достаточная часть школьной программы решает задачу **загрузить его работой** - после 20-25 лет интенсивность усвоения/освоения новых знаний/умений/навыков снижается и застывает на уровне, пропорциональном имевшейся нагрузке. 45-летнего обучить тому же объёму школьной программы займёт лет 15 с уроками с восьми и до восьми.

Побочным (вторичным) эффектом от той тренировки мозга выступает широкий кругозор :)

Это в парадигме, что "(гармоничное) развитие мозга" имеет самостоятельную ценность - что с т.з. "исторической перспективы" в общем-то не очевидно.

Ну с т.з. "исторической перспективы" Маугли - да, не очевидно.

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

Даже у взрослых проблемы с концентрацией внимания наблюдаются всё чаще.

Фокус ещё в том, что упражнения для развития мозга важнее знаний энциклопедических, они прекрасно тренируют память, но только память.

Скорее получение знаний через учителя вызывает меньший всплеск эндорфинов, чем скроллинг ленты.

Поэтому мозг такое игнорирует как малозначительное, если нет внутреннего интереса.

С взрослыми такая же история, по себе могу сказать.

Без претензии к учителям, разумеется, с таким инструментом, как интернет в его сегодняшнем виде, в текущей реальности очень сложно конкурировать.

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

Большинство бизнесушников в жизни ни разу сортировку не писали и не напишут

Напишут, если задание адекватное и звучит не как "напишите в точности редкий малоизвестный алгоритм", а просто "придумайте как вы отсортируете массив, если нет ни стандартной sort, ни max, ни min" (ожидается, что он сам догадается как найти минимум/максимум и как отсортировать абсолютно пофиг каким способом). Потому что реальные задания - намного сложнее, и там нет волшебной кнопки "сделай хорошо" (c).

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

Разве что в качестве "фильтра для идиотов", и то не очень полезно.

Напишут, если задание адекватное и звучит не как "напишите в точности редкий малоизвестный алгоритм", а просто "придумайте как вы отсортируете массив, если нет ни стандартной sort, ни max, ни min" (ожидается, что он сам догадается как найти минимум/максимум и как отсортировать абсолютно пофиг каким способом). Потому что реальные задания - намного сложнее, и там нет волшебной кнопки "сделай хорошо" (c).

Да-да-да, а если еще пальцы сломать и есть не давать... Я не говорю, что "не сделают, по тому, что не смогут" - я говорю, что на...фиг в жизни никогда не понадобится.

я говорю, что на...фиг в жизни никогда не понадобится

А как ещё проверить пришедшего на собеседование за ограниченное время, кроме как дав простенькое задание? Предлагаете, всем давать забесплатно реальную задачу, написание которой займёт не один месяц?

Или вы предлагаете, вообще никого не проверять, а из 20 кандидатов на должность, взять первого кто пришёл, послав остальных 19 без беседы?

Или брать исключительно только за софт-скиллсы, того кто красивее всех говорит, послав лесом всех "задротов"?

Ммммм... может дать "простенькое задание" имеющее ну хоть какое-нибудь отношение к будущей работе?

Да не, ерунда какая-то...

Редко на какой работе можно такое задание придумать. Чтобы было простенькое, не больше чем на час, да еще имело отношение к реальной работе.

Вы еще скажите, что "объяснить ребенку, что вы делаете на работе" затруднит :).

У меня под такое дело тестовый репозиторий с "найдите ошибку" был - SCM, IDE, CI, умение ориентироваться в проекте, работать с чужим кодом - однозначно важнее и нужнее, чем "сортировка пузырьком" или что-то с leetcode'а в большинстве случаев.

Вы еще скажите, что "объяснить ребенку, что вы делаете на работе" затруднит :).

А Вы можете объяснить? Но только без упрощения до утраты смысла. Типа бухгалтер это человек, который деньги считает.

У меня под такое дело тестовый репозиторий с "найдите ошибку" был - SCM, IDE, CI, умение ориентироваться в проекте

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

работать с чужим кодом 

Есть такое мнение что "умение работать с чужим кодом" это красный флаг)

А Вы можете объяснить? Но только без упрощения до утраты смысла. Типа бухгалтер это человек, который деньги считает.

"Читаю письма. Пишу письма", разумеется! ;)

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

Не, тестовый репозиторий с постановкой\документацией, набором данных. Прочитать, понять что не так в выхлопе, найти кто и где ошибся, поправить - если останется время - сказать, что не сделано, допилить.

Есть такое мнение что "умение работать с чужим кодом" это красный флаг)

Хм?

"Читаю письма. Пишу письма", разумеется! ;)

И смысл в таких объяснениях?

Хм?

Это значит (не всегда, но часто) что там лютый говнокод (техдолг говоря дипломатично), и часто (тоже не всегда) еще прочая дичь (потому что лютый говнокод не возникает из ниоткуда).

Прочитать, понять что не так в выхлопе, найти кто и где ошибся, поправить - если останется время - сказать, что не сделано, допилить.

Не видя задач не могу утверждать, но на первый взгляд выглядит сомнительно. Разве что там что-то совсем простое.

Это значит (не всегда, но часто) что там лютый говнокод (техдолг говоря дипломатично), и часто (тоже не всегда) еще прочая дичь (потому что лютый говнокод не возникает из ниоткуда).

Техдолг != говнокод.

Отсутствие тестов, например - тоже техдолг, хотя приложение могло быть спроектировано и написано весьма недурно.

Добавление новых фич без рефакторинга старых - тоже техдолг, хотя ни изначальный код, ни свежий не написаны через одно место.

Потребность в вынесении сервисов за пределы монолита - тоже техдолг.

А теперь мякотка: техдолга может и не быть, но при этом в приложении может быть лютейший говнокод.

Так что не стоит персональный опыт экстраполировать :)

Редко на какой работе можно такое задание придумать. Чтобы было простенькое, не больше чем на час, да еще имело отношение к реальной работе.

Легко. Провести ревью какого-нибудь куска кода.

Провести ревью какого-нибудь куска кода.

А потом окажется что код так себе, но его писал местный синьор-помидор. Результат немного предсказуем)

писал местный синьор-помидор

Ну и что? Собеседование не пройдешь? Ну так, в конце концов, может, лучше вообще сразу нафиг такую контору, где даже помидорские сеньоры и те говнокод пишут? :)

Да потому что это во многом вкусовщина, взять хотя бы былые баталии пробелы vs табы. Простая задача типа число в строку намного более объективна, хотя при желании можно до всего докопаться.

где даже помидорские сеньоры и те говнокод пишут?

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

Бывает что дают на ревью заведомо кривой код, типа что тут не так. Это как по мне получше.

Большинство бизнесушников в жизни ни разу сортировку не писали и не напишут, поиск по структуре выполняют вызовом стандартного метода объекта, заинтересованности в низкоуровневом жонглировании битиками примерно "нет" и тэ дэ.

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

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

А вот откуда эти старшие товарищи берутся, загадка.

Такая же загадка, как и, собственно, кто пишет стандартные методы объекта и решает, в каких ситуациях не получится дёрнуть стандартный метод, а надо написать какой-нибудь хитрый кэшик и написать в нём стандартный метод)

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

Когда-то - не так, чтобы давно - каждому водителю надо было быть еще и механиком, и даже чуточку слесарем. Но вот почему-то с течением времени выяснилось, что для того, чтобы обучить водителя - умение починить ДВС как-то примерно низачем не нужно, а получить нужное число автоконструкторов оказывается можно ну вот как-то иначе, да?

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

да и базовые требования к профессии именно "программиста" возможно чуть-чуть, самую капельку - малость, не те, что при отцах-основателях.

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

Мы же говорим именно что о профессии программиста, да?

Это предложение о "настоящих шотландцах"(ТМ) поговорить, или? :)

А так - другие, да. Та же функциональщина, которая во время моей учебы считалась "маргинальщиной-для-упражнения-ума" навроде prolog'а: "Вот есть еще lisp, знайте дети - но он вам никогда и нигде не пригодится"(Ц) - вполне себе вползло в мейнстрим, ООП in general усилилось - почему нет?

А вот чтоб какой-нибудь третий том Кнута кому пригодился - за 20+ лет не то, чтобы "не видел" а и "не слышал даже".

Это предложение о "настоящих шотландцах"(ТМ) поговорить, или? :)

Да нет, я не к тому клоню.

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

(Опять же, не пытаюсь их работу как-то обесценить)

Многочисленна ли эта ниша? Многочисленна, спору нет. Но с чего бы из того, что она многочисленная следует что надо меньше алгоритмам учить?

Как бы создаётся ощущение, что раньше у нас, условно говоря, нужно было 100 человек, способных и желающих глубоко погрузиться в байто*бство.

А сейчас нам требуется 500 человек, способных и желающих погрузиться в байто*бство, и 2000 писателей бизнес-логики.

И мы такие как будто бы говорим "эй, ну писателей бизнес-логики нужно больше - давайте перестанем учить алгоритмам". Как-то непомимаю, а в чём смысл?

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

Не то, что прям "больше" (Хотя наверное и это тоже), сколько "другое". И тут не только "голая бизнесуха" - но и например программирование на конкретном web-фреймворке и\или среде исполнения. Блин, у меня окрест есть сильно ненулевое количество разработчиков, работающих с СУБД ТОЛЬКО через ORM и понятие не имеющих о том, как вот это все внутри кувыркается. Что проще, а что сложнее - hybernate или postgresql заявлять не буду, но вот - реальность, данная в ощущениях.

А сейчас нам требуется 500 человек, способных и желающих погрузиться в байто*бство, и 2000 писателей бизнес-логики.

И мы такие как будто бы говорим "эй, ну писателей бизнес-логики нужно больше - давайте перестанем учить алгоритмам". Как-то непомимаю, а в чём смысл?

В таком отношении да, нет смысла. Но в реальности оно - с моей колокольни - выглядит примерно как 500 к 500000 примерно, и тут картина чуть-чуть меняется, не правда ли? Зачем учить полмиллиона человек тому, что им никогда в жизни не пригодится ради... а чего, собственно ради?

В таком отношении да, нет смысла. Но в реальности оно - с моей колокольни - выглядит примерно как 500 к 500000 примерно, и тут картина чуть-чуть меняется, не правда ли?

Раньше нам нужно было условные 100 и мы с той алгоримтической подготовкой, которую давали, еле-еле справлялись с тем, чтобы нужные 100 человек предоставить.

Сейчас нам нужно 500. При этом появилась почти конкурентная область, со спросом в 500000, которая будет из тех 100, которых мы могли подготовить, к себе переиманивать)

Так тут в консерватории что-то не так и подход "Чего думать? Трясти надо! Трясти!!!"(Ц) не сработает.

А так да, есть некоторая мисстерминология в отрасли. "Алгоритмист Иван Васильевич" - программист и вайтишник Дима с курсами bitrix'а - программист, "но есть нюанс".

для того, чтобы решать с помощью компьютера свои прикладные\бизнесовые задачи не надо быть "программистом" вообще

в целом - да. Но при этом нужно иметь некоторые базовые понятия - о переменной, об условном операторе (и в этом ракурсе - о булевой логике), иногда - о цикле. О последовательности выполнения шагов алгоритма.

куски высшей математики в 8 классе (системы счисления, булева алгебра). 

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

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

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

Согласен. Вообще-то по уму булеву алгебру надо было бы изучать вперёд численной.

Проблема в том, что за те смешные часы, которые выделяются на изучение булевой алгебры, нормально её всё равно изучить невозможно. Плюс в 8 классе, как я уже сказал, дети ещё не изучили на алгебре раздел "Множества", и не готовые работать с диаграммами Эйлера (а на них объяснять логическое сложение и умножение можно максимально наглядно).

Я бы лучше включил в программу курс элементарной логики. А булеву оставил на старшие классы, и не так обрывочно, как сейчас.

Пара особых детей при советском подходе? Это же наглая ложь либо неправда, выбирайте что больше нравиться.
Самая читающая страна, самый высокий средний уровень образованности в мире, не слышали такое?
Тысячи интервью на ютубе 80-ых, начала 90-ых годов с простыми советскими людьми, все грамотно разговаривают и имеют базовые знания по всем областям науки.
Выше пишут что да, за тридцать лет после развала союза массы отупели, и надо что-то делать, и тут же куча плюсов под утверждением что советский подход виноват в тёмной массе. Хотя всё ровно наоборот.
Утверждение уровня Ленин бомбу заложил под нынешнюю Россию, а Гитлера капитан Америка победил.
Этот мир сошел с ума.

Ох. А потом эти читающие с лучшим в мире образованием массово понесли кто деньги Мавроди, кто банку воды Кашпировскому. Экая, право, оказiя...

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

В Афганистане советские инженеры строили города, школы, больницы. А советские воины защищали их от нападения боевиков оплаченных, обученных и вооруженных ЦРУ. Можете сравнить фотографии афганских городов тогда и сейчас, при "правильной демократии".
И как только советские войска оттуда вывели, эти американские боевики переехали в Чечню, и война продолжилась на территории России, и продолжается сейчас на территории бывшей единой страны. Тоже лучше стало по вашему?
Можете еще сравнить потери в Афганской "войне" за 10 лет среди советских военнослужащих и мирного населения в Афганистане и Союзе, с тем что началось после и происходит до сих пор. А потом рассказывать про смысл.
Разница даже не на один порядок.

А советские воины защищали их от нападения боевиков оплаченных, обученных и вооруженных ЦРУ.

У текущей войны примерно такое же оправдание. Однако тем, кто воюет это не особо помогает

В Афганистане советские инженеры строили города, школы, больницы. А советские воины защищали их от нападения боевиков оплаченных, обученных и вооруженных ЦРУ.

Я люблю запах напалма газеты Правда поутру.

Там вроде как все началось с того, что советские инженеры захватили чей-то дворец, убили неправильного правителя и посадили на его место правильного?

Искусство капиталистического вранья и манипулирования прекрасно, куда там газете Правда.
Советские инженеры города строили? Строили. Советские военные воевали. Воевали. Но написать надо в ответ что инженеры воевали.
Много городов, школ и больниц построили забесплатно для простого афганского народа американцы, после того как "освободили" Афганистан от "ужасных" коммунистов?

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

забесплатно

Ну, не забесплатно, а в счет погашения кредита. Раздавали интернациональные долги своим интернациональным кредиторам (ц) анекдот.

Я думаю, если бы вместо свержения законной власти советские инженеры начали строить больницы - войны не было бы, и 13 000 инженеров не погибло бы, и 1.5 млн афганцев тоже.

"На поддержку кабульского правительства из бюджета СССР ежегодно расходовалась сумма, эквивалентная 800 миллионов долларов США[186]. На содержание 40-й армии и ведение боевых действий из бюджета СССР ежегодно расходовалось от 3 до 8,2 миллиардов долларов США"

И для бюджета было бы дешевле.

американцы, после того как "освободили" Афганистан от "ужасных" коммунистов

А они кого-то освобождали? Такие же оккупанты.

Эмммм... вам напомнить некоторые события из начала 90х, или сами найдете? Абхазия, Чечня, Нагорный Карабах - тоже "поколение пепси" виновато или "Это другое!"?

Это же прямое следствие развала Союза и контрреволюции, которая началась в 86 году. Вывод войск из Афгана, война в Чечне, Абхазии, Карабахе. Геноцид, бегство, отупение и вымирание населения республик бывшего Союза (в том числе России). Текущая гражданская война.
Это всё результат отказа от "советского подхода" и перерождения верхушки коммунистической партии в новых русских. Хотели стать необразованной колонией США и стали.
Каким боком у вас в этом виноват советский подход, а не отказ от него?
Логика? Не, не слышали.

Не-не, здесь Родос - здесь и прыгай. НКР, Абхазия, Чечня - это люди с советским, "лучшим-в-мире" образованием учинили, или "современные, которые воду-не-заряжают"? А собственно развал союза - там тоже машиной времени завезли, или те же самые-с-лучшим-в-мире между мавроди-и-кашпировским еще и "Борис - борись!" от великого вложенного УМИЩА орали?

Мой хороший друг, ныне программист в Москве, как раз родился в деревне в Чечне в восьмидесятые и учился в школе в городе Грозном в девяностые. И своими глазами видел как мирно и спокойно жили там простые советские люди, чеченцы и русские. И как в начале девяностых приехала целая армия боевиков на американских военных машинах, с американским оружием и липовыми паспортами, стали занимать жилые кварталы и заставлять местную молодежь воевать против русских, рассказывая что они тоже местные.
Да только никто из местных раньше их тут не видел и не знал.
Ему сидевшему несколько лет в подвале с братьями и сестрами, и ждавшему когда этих моджахедов обратно в Афганистан выгонят, этот бред из ЦРУ-ушной методички расскажи.

Ааааа. Друг рассказал, что капиталисты завезли. Вопросов более не имею.

Да, да. Он там родился и жил значит врёт. Мой родной дядя там воевал в это время, тоже врёт. Алькаиду ЦРУ создало чтобы воевать против коммунистического правительства Афганистана, а Хамас создал Моссад чтобы воевать против коммунистического правительства Ясира Арафата в Палестине, и про это даже в википедии написано, тоже враньё наверно.
Только журнал Огонёк и телеканал Дождь всю правду рассказал.
Вопросов более не имею.

Дело не в том, врёт он или нет, а в том, что предложение, начинающееся с "мне друг сказал", - не доказательство.

Зато предложение: "советская система учила всех как профессоров, поэтому все были тупые", доказательство, да?

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

Тогда ходили защищать трудовое население соседней страны от капиталистического геноцида. Сейчас трудовое население некогда одной страны воюет друг с другом, под управлением капиталистов с двух сторон. То есть само занимается геноцидом себя.
Я не защищаю Российское правительство и не поддерживаю текущую войну, если кому-то вдруг так показалось.
Я защищаю советское образование.

И заряжали воду и вкладывались в МММ уже не советские люди, в массе своей.

Тогда ходили защищать трудовое население соседней страны от капиталистического геноцида.

А сейчас защищаем от фашизма, в чём разница? Вы уверены, что тогда это не было обычным прикрытием для народа, как и сейчас? У верхушки обычно цели отличаются от тех, что они оглашают. Плюс я не помню, чтобы у призывников спрашивали, хотят ли они защищать соседнюю страну, прямо как сейчас не спрашивают. Мне вот Мама рассказывала, что многие её друзья косили через дурку/другие способы признать себя негодными, лишь бы не ехать дохнуть не пойми за что. Но это не аргумент, просто вкинул в тему к вашей истории о друге

И заряжали воду и вкладывались в МММ уже не советские люди, в массе своей.

Ну да, советские люди превращаются, превращаются... в капиталистических ***** (подставьте нужное слово)

И заряжали воду и вкладывались в МММ уже не советские люди, в массе своей.

Кхм, "научный" метод!

Сейчас я вам докажу, что советские люди не заряжали воду. Назовём людей, заряжавших воду - не-советскими.

Вопросы к научному методу?

Воооот, а ваше поколение ЕГЭ - такой науки делать не умеет. Были же вот времена настоящей науки! "Марксизм всесилен потому что он истинен", а не вот это всё, что вы сейчас применяете.

А мне друг рассказал, про мировое правительство из жидо-рептилоидов. Расскажи ему про этот бред, что ЦРУ всё организовало.

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

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

Ух ты, первое явление Гиркина народу!

Ну нельзя же сравнивать это с цру и липовыми паспортами!

В случае Гиркина и ко никаких липовых паспортов как у ЦРУ не было! Паспорта были самые настоящие. Мы даже знаем, паспорта какой страны.

""перерожденная верхушка" откуда взялась? ведь в нее выбирали лучших людей" Партии, а в Партию выбирали "лучших людей" из народа..

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

Про отрицательный отбор слышали?

Слышали.

Для каких политических систем более характерен отрицательный отбор?) Кто построил систему с отрицательным отбором?

Насчет советских людей, заряжавших воду. Где-то 70%-80% моих одноклассников (школа с физмат уклоном) через 5 лет не вспомнили бы и производную от x^2... И это учитывая то, что после 8-го класса из школы гнали сс@ными тряпками всех троечников. Так вот, по моим наблюдениям заряжали воду перед телевизором вот эти две группы, которые я указал выше. Те, кто знал/помнил производные и интегралы, или то что реакция ядерного синтеза в звездах заканчивается на железе, обычно точно не заряжали банки с водой, они занимались часто банками - Мавроди, Березовский и т.д.
P.S. Ваш покорный слуга в года МММ - занимался написанием всяких "Склад", "Касса", "Главная книга" на Clipper/FoxPro.

Ха! Страна, читающая что? Образованная чему? В 90-е заряжали воду об Кашпировского и несли деньги во вклады под 100% в день совсем не школьники. У всех этих людей образование отделено от жизни. Наука у них применялась исключительно на работе, а мораль - пред лицом партии. А потом этот профессор с парой изобретений в области радиосвязи наорал на студента, когда увидел что тот, сидя за компьютером, кактус отодвинул.

Они образованы так же, как образован жёсткий диск, на котором лежит 4 Тб учебников.

То есть вы признаете что люди были образованны, но сам этот факт для вас обладает однозначной отрицательной конотацией? Зато теперь 0 Тб, а значит стало лучше?
Бабушки поставившие любимый кактус на рабочий стол, трансформировались в байку о профессоре радиосвязи. Какая хорошая методичка. Я закончил школу в советском союзе и своим глазами видел кто, куда и зачем ставил эти кактусы.
Сейчас наука не применяется даже на работе, а морали нет вообще.
Как вы ловко умеете собирать и преувеличивать любые слухи и бред про "ужасный" совок, и полностью игнорировать текущую действительность и очевидную пропасть между цивилизованным миром тогда и невежественным варварством сейчас.

Сейчас наука не применяется даже на работе

А что вы имеете в виду под наукой? Научный метод, проверку гипотез, вот это всё?

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

Тысячи интервью на ютубе 80-ых, начала 90-ых годов с простыми советскими людьми, все грамотно разговаривают и имеют базовые знания по всем областям науки.

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

Общение с ужасными тоталитарными советскими людьми закончилось в 91 году. Вы общались с прекрасными демократическими капиталистическими российскими (украинскими и т.д.) людьми. Простого человека создает и меняет среда. Советскими остались хорошо если процентов 5.

Удобно!

Ну дык настоящий шотландец в чистом виде)

Общение с ужасными тоталитарными советскими людьми закончилось в 91 году.

Как интересно. И куда они все делись?

Тысячи интервью на ютубе 80-ых, начала 90-ых...

Да сколько уже можно на эти интервью ссылаться-то! Чистая и грамотная речь прохожих - заслуга прежде всего репортеров и редакторов. Прохожие без "чистой и грамотной" речи просто не попадали на экран как сейчас.

Очень толсто, попробуйте потоньше. Такое не каждый профильный ВУЗ может дать, а Вы говорите - школа...

Абсолютно не согласен. Обычно обучение идёт по-другому - сначала изучаются общие вещи, а потом уже идёт углубление. Зачем детям давать C++ вообще не понятно, это один из самых сложных языков, если не самый, лучше уж чистый си брать, если хочется что-то более низкоуровневое преподавать.

Да и в чём проблема Паскаля? На нём операционную систему вон даже можно написать (на free pascal, а не на ABC, но всё же).

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

Не думаю, всё же 2d геометрия проще, чем 3d. Равно, как и Pascal проще (с точки зрения написания программ), чем язык ассемблера. Многие вещи, изученные для 2d пространства, потом применяются и для 3d. Так и те вещи, которые человек понял при изучение того же паскаля, помогут ему дальше изучать более низкоуровневые языки.

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

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

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

Проще он только с точки зрения имеющихся конструкций, но никак не с точки зрения написания программ. Если бы я начинал с языка ассемблера, то точно бы бросил. Мне в пятом классе хотелось игры делать, а не нагружать голову тем, что такое регистр, чем он отличается от оперативной памяти и как с помощью двухадресных команд вычислять сложные выражения. Сейчас я могу написать что-нибудь на языке ассемблера, особой боли при изучении не испытывал, потому что шёл к нему постепенно: Visual Basic -> c -> язык ассемблера.

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

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

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

Вы пишете по эволюцию языков

Я писал про свой путь к языку ассемблера.

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

Согласен. Вы выразили то, что я хотел сказать, намного лучше меня.

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

А у вас есть приблизительный план, как научить решать например стандартные стереометрические задачки без опоры на использование набора теорем из планиметрии?

Проблема носит технический характер, нет трёхмерной доски и тетрадей для чертежей.

Проще учитывать две оси, чем три, даже по формулам заметно. От простого к сложному.

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

Сначала прочитал "саркастическо- ироническим" тоном комментарий. Поисках смайл в конце... Не понял откуда столько минусов...

А потом посмотрел ниже... 😣

Я добавлю минуса, но уточню, что для Ассеблера стоит откопать книги по IBM System 360, а в ПТУ заставить собирать и обслуживать ЕС 1033 / 1052😁 только надо проделать к нему сенсорный интерфейс.

может ес1066, он по-симатишнее, та же шина общий канал (для которого кстати где то адаптер даже придумали на ibm совместимых, правда ISAшный), матричный процессор тоже интересен

Матричный принтер вообще залипательная вещь!

Вообще есть смысл программу трудов скорректировать.

Табуретки и сверлильные станки - это, конечно, классика, которая не устаревает, но может попробовать добавить сборку "икеевской" Мебели, узловой ремонт ПК, замену картриджей, дремели...

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

Я недавно закончил школу, на ЕГЭ сдавал физику и информатику, сейчас на 4 курсе и по совместительству работаю инженером-программистом, как раз Verilog и C/C++. То бишь более-менее могу говорить за школьников. На ЕГЭ по информатике 2-3 задачи по программированию, максимум 5, остальное либо базовые знания, либо полнейшая муть. При том что я в 11 классе неплохо знал олимпиадное программирование, я набрал несчастные 59 баллов из 100. (Заметил кстати что в моё время как будто сложнее варианты были, или это просто я поумнел)

Да, при чём тут ЕГЭ, но все специальности с VHDL (моё мнение: Verilog лучше) и многие с C++ требуют вышки :)

Объективно, то, что Вы говорите это программа 1-2 курса хорошего или 2-3 курса среднего ВУЗа. Про то что это явно излишняя нагрузка и за 40 мин в неделю изучить нереально говорить не приходится — ещё не усвоил и уже всё забыл.

Про "слабую связь с железом" вообще смешно, абстракции нужны чтобы программист больше думал об архитектуре и удобстве изменений и поддержки. Да даже на микроконтроллере я делаю 2-3 уровня абстракции: 1. работа с перефирией/иницизация; 2. вычисления и процессы; 3. уровень пользователя (если необходим).

Да, излишние уровни абстракции это пример плохого кода, ровно как и когда у человека "сильная связь с железом", поэтому он лепит класс-бог, который всем заправляет, а тебе потом с этой мешаниной приходится разбираться (о наболевшем). Ардуино кстати я поэтому тоже наверное не стал бы давать детям, потому что большинство из того что я видел и делал сам, это лютый макаронный код, из-за чего когда на stm32 + FreeRTOS пересаживался испытывал некоторые проблемы.

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

Представьте абстрактный 9й В-Г-Д класс где мальчикам и девочкам информатика это такой же предмет как химия, физика и история. Половине школьников в классе информатика вообще не интересна, у них сейчас часто даже компьютеров дома нет. Какой нафиг ассемблер? Вы проецируете свои интересы и желания на всех.

Я несколько лет назад провёл эксперимент

И был почти не предвзят. И имел одинаковый опыт. И одинакового уровня учебную программу... ага, мы, конечно, "верим".

По факту хватит раскапывать мёртвую стюардессу и доказывать что "это не мы отстали, это весь мир отстал и нас догоняет". Холодная статистика говорит сильно об обратном. Если программу ужимают, то ещё меньше шансов, что дети успеют выучить АЛГОРИТМЫ и прочие эти вот "не привязанные к языку основы", они просто потратят время на бодание с синтаксисом мёртвого языка. Тем более что в тех же школах есть ещё всякие кружки электроники и робототехники, где проще встретить Python или MicroPython. Построить весёленьких графов по математическим формулам, либо вообще совместно с офисом - Python можно использовать. С паскалем - слишком много нужно городить. Какой-нибудь простой сайт на фласке делается за вечер и там вполне понятно новичкам как что и откуда берётся. А после школ всякие УО в которых САПРы, блендеры и прочие специфичные инструменты и там опять всё чаще Python, чем труп

Я пытаюсь донести простую мысль: при нынешнем подходе к изучению этой темы, вообще без разницы, какой язык "учить". Базовая программа не даёт абсолютно ничего.

Кружки - да, там можно развернуться. Но тоже в последние годы и на кружках интерес падает к "обычному" программированию. У меня более-менее стабильно дети идут на робототехнику, на 3Д-моделирование (под печать).

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

3D-моделирование - навалом инструментов и плагинов в т.ч. на Python, которые строят детали с заданными параметрами. Вполне можно разгуляться. Но зачем-то вы хотите чтобы дети тратили время на бесполезный паскаль и даже кумир.

Я закончил школу в 2010-м году. Давненько уже, но не капец давно. Учил Pascal. Если честно, так и не понял, в чём с ним проблема? Ну да, на нём никто не пишет коммерческий, ну и что? Школьнику что, сразу после школы на работу программистом устраиваться?

Что конкретно такого ужасного в Pascal, что ему нельзя учить?

Что конкретно такого ужасного в Python или любом другом из top5 что им нельзя учить детей и нужно для этого раскапывать никому ненужный анахронизм регулярно оправдывая его "необходимость" по принципу "вообще без разницы какой язык учить, поэтому страдайте"? Вы "травмировались" и теперь считаете что остальные должны проходить тот же путь, с той же уже тогда отставшей базой. Я немного постарше, и мне вот куда интереснее чтобы моим детям давали актуальную базу. И я для этого не брезгую искать источники помимо того, что вымучил штатный педагог.
Опять же, с позиции простого родителя слабо знакомого с ПК, попробуйте тот же Pascal поставить сначала ребёнку. Вот Python есть везде, вплоть до Microsoft Store, бесплатно. Да и дистрибутив у него небольшой. А эти ваши паскали (у каждого из которых будут свои заскоки наподобие того, как выше писали, индекс начала массива) неокрепшие умом неофиты тащут со всяких варезников, завирусованных флешек... И, не знаю как лично у вас в 2010-ом, но раньше было очень частым явление, когда детям преподавали вот просто ворованный софт. Если форточки и где-то даже офисы пытались для образования лицензировать, то продуктов борланда я не видел ни одного лицензионного сетапа (от школ, до лучших ВУЗов на то время). И это тоже проблема, которую тоже многие отказываются понимать, а потом много удивляются

Что конкретно такого ужасного в Python или любом другом из top5

"Огласите, пожалуйста, весь список" (с)

Смотрите, я сварщик не настоящий, не педагог, и заранее скажу, что всё, что я говорю - не какая-то теория, а анекдотический опыт и наблюдение за коллегами.

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

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

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

---

В общем-то у меня сложилось впечатление, что чем больше в объяснении учавствует моментов в духе "ну вот тут надо написать ЗАГАДОЧНУЮ СТРОКУ не спрашивай, что она означает" "Вот тут просто поверь, что это так", "а вот тут если ты напишешь немного по другому, то всё перестанет работать, а объяснение почему именно так - это нечто, что занимает целый семестр", тем менее объяснение понятно.

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

---

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

Давайте теперь посмотрим на C++.

#include <iostream>

int main() {

std::cout << "Hello World!";

return 0;

}

Почему мы вернули 0? А если вернём не ноль? Что такое стримы? Почему выводим на экран через <<, это же оператор битового сдвига? (да, прямо сейчас школьник про это ещё не знает, но узнает через пару занятий).

---

Мы определили массив

int t[100]

Правильно ли будет, если я напишу t[42]? А если я напишу 42[t]?

Почему обе записи компилируются и дают один и тот же результат?

---

Хорошо, мы учим C++, рано или поздно нам придётся научиться работать с памятью.

я написал код

int main() {

int *p = (int*) malloc(sizeof(int));

int *q = (int*) realloc(p, sizeof(int));

*p = 1;

*q = 2;

if (p == q) {

printf("%d %d\n, p, q);

}

}

почему этот код выводит "1 2", ведь чисто с точки зрения какого-то императивного чтения этого кода это указатели на одну и ту же ячейку памяти?

---

Я написал

int table[4];

bool is_v_in_table(int v)

{

for (int i =0 ; i <= 4 ; ++i) {

if (table[i] == v) return true;

}

return false

}

Да, в коде ошибка, но почему он не падает, а просто всегда выводит true?

---

О, а вы же понимаете, что очень много примеров с базовыми вещами, например с работой с векторами, будут использовать не-супер-устаревший синтаксис? Например инициализацию через {} ?

Yet another can of worms

vector<string> v{{some_str, some_str, some_str}} - вектор из трёх строк

но vector<string> v{{some_str, some_str}} - ошибка.

---

Напоминаю, об эти вопросы будут спотыкаться дети, которым РЕАЛЬНО НУЖНО ПРИЛОЖИТЬ УСИЛИЕ И ВРЕМЯ чтобы понять что такое циклы, массивы и условия.

Преподавать C++ на этом уровне возможно только если мы старательно делаем вид что это С с классами.

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

Что, мягко говоря, создаёт ложное впечатление о языке и станет проблемой, если кому-то из детей действитетльно придётся C++ изучать или работать.

Плюсы относительно паскаля? О, ну, знает, синтаксис плюсов. Очаровательно. Переход между синтаксисами выглядит так "слушай, ну вот помнишь у тебя были if'ы? В этом языке if'ы пишутся вот так".

Донести знания - 10 минут и одна странчика + день-два практики написания кода в новом синтаксисе.

В общем-то у меня сложилось впечатление, что чем больше в объяснении учавствует моментов в духе "ну вот тут надо написать ЗАГАДОЧНУЮ СТРОКУ не спрашивай, что она означает"

Классика: учители паскаля такие "вы обязаны писать program в начале". Но вот же, всё работает, собирается, выполняется, все задачи решены, зачем??? "Ты должен, вот тебе ниже балл за то что не указал program". И точечка после последнего end - это же логично. И волшебные uses crt, dos которые детям не объясняли что делают, но нужны непременно. И там такие опусы через раз были с "педагогами"

Классика: учители паскаля такие "вы обязаны писать program в начале". Но вот же, всё работает, собирается, выполняется, все задачи решены, зачем??? "Ты должен, вот тебе ниже балл за то что не указал program".

У взрослых это называется "Code style guidelines".

Серьёзно? Правда-правда? А насколько нужно повзрослеть, чтобы сходить хотя бы в официальную документацию и не нести ерунды, потому что Code style guidlines вообще про другое? Большинство школьных учителей от Code Style так же далеки как и от понимания, что давали вышеуказанные библиотеки и в каких случаях program действительно нужен

За всех не скажу, но я своим ученикам при изучении переменных рассказываю про CamelCas (с примерами).

И program в том же PascalABC давно не обязательно писать (хотя для совместимости с FreePascal полезно).

Это какие то вычурные примеры, которых не будет у школьника. cout - согласен, сложно. Но есть printf, а в С++23 есть std::print
Остальное - достаточно компилировать без оптимизаций и не грузить школьников функциями типа realloc. По паскалю вы таких примеров не видите, потому что по нему банально гораздо меньше информации в интернете (где школьники и будут искать ответы на вопросы)

Это какие то вычурные примеры, которых не будет у школьника.

Как правило школьники генерируют больше вопросов, чем средний взрослый)

Даже в каких-то банальных вещах вроде школьной математики)

А почему формула дискриминанта именно такая? А почему нельзя делить на ноль? А почему 3*0.33333(3) = 1 и отличается ли 1 от 0.99999(9)

Вот взрослые когда что-то новое видят, как раз гораздо легче переживают все вот эти моменты с "просто забей и делай как написано".

---

Остальное - достаточно компилировать без оптимизаций

Вот мы и пришли к фундаментальной проблеме)

У нас есть простые как тапок "учебные" императивные языки, спецификация которых говорит "если написано переложить байтики из переменной a в переменную b - то будут перекладываться байтики из переменной a в переменную b".

И у нас есть C++ с довольно сложной моделью памяти, с UB как принципиально важной частью дизайна и спецификации языка и прочее и прочее.

Вы как бы говорите "подождите, ну давайте будем делать вид, что C++ - не тот язык, которым является, будем делать вид, что он ведёт себя так же как паскаль.

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

Нам придётся терпеть N непонятных моментов, стреляющих проблем и висящих вопросов, но это N не очень большое".

---

А зачем?

#include <string>
#include <vector>
#include <iostream>
const char* some_str = "a";

int main()

{
    std::vector<std::string> v1{{some_str, some_str, some_str}};
    std::vector<std::string> v2{{some_str, some_str}};
    std::cout << v1.size() << "\n";
    std::cout << v2.size() << "\n";
}

3, 1

Вот что я имею в виду

А чего вы пытаетесь добиться, делая v2{{some_str, some_str}} вместо просто v2{some_str, some_str}? Я даже могу понять смысл v2{{some_str}, {some_str}}, но оно кстати тоже работает корректно.

А чего вы пытаетесь добиться

Я привожу пример, как синтаксис, который кажется довольно понятным и работающим на случаях n>3, внезапно начинает странно себя вести на n=2.

Что предлагается в такой ситуации говорить условному 8-микласснику?) Рассказать про то, как работает initializer list ? Или сказать что-то в духе "ну это так не работает, но слишком сложно, чтобы объяснять, не задавай этого вопроса, про это думать не надо, пиши по-другому"?

Просто не показывайте ему двойные фигурные скобки :)

Я повторю свой поинт ещё раз:

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

Мы можем научить его всему этому в среде, где синтаксис приносит меньше сюрпризов, нет UB, и всё работает как надо. Он будет пытаться написать по разному, у него не будет проблем с тем, что какая-то срань работает, хотя не должна.

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

---

А можем бросить его сразу в C++, где он каждые n дней будет натыкаться на что-то вот такое.

---

В чём преимущество второго варианта?

Я пока услышал только два преимущества:

  1. Человек сэкономит целый один день жизни, котрый потребовлся на то, чтобы научиться вместо begin/end писать {}

  2. Если с самого начала именно что в C++ бросить, то человек не будет испытывать невыносимых моральных страданий от того, что ему пришлось некоторое время пользоваться языком, не входящий в стильный, модный молодёжный рейтинг в интернетах.

Звучат эти два преимущества как полный маразм.

Если что, я не предлагаю использовать C++ в качестве языка для обучения. Честно говоря я не предлагаю использовать C++ вообще ни для чего :) Это отвратительный уродский язык, обросший горой легаси, в который напихивают фичи, криво-косо стыкующиеся с уже имеющимися в нём, компиляторы которого все работают по-разному и т.д.

<sarcasm>Но он же в top5, и холодная статистика говорит сама за себя</sarcasm>

На каком ещё языке я смогу стрелять себе в ногу с такой эффекивностью?

Но на вопрос вы так и не ответили. Контрвопрос про "что ужасного в пистоне" - это не ответ.

попробуйте тот же Pascal поставить сначала ребёнку.

Да элементарно, вообще без проблем, тот же Free Pascal. И вообще, ничего, что у меня линукс дома, и ничего виндоподобного, и повсюду декларируется импортозамещение, а из школы еженедельно падают в почту и чатик docx и ppt документы, предельно хреновейше открываемые либре офисом в силу рукожопости составителей документов сих? И ничего, никого не волнует платность/бесплатность винды и мс-офиса. Паскаль в этом смысле - вообще не проблема.

Давайте все-таки о свойствах языка. О ужас, begin-end вместо {} ???!!! Или возможность индексировать массив не с нуля? Это у кого психологическая травма с детства после этого?

Если школьник вдруг внезапно соберется кодить на энтерпрайз-уровне, тот срез питона, явы, <подставить что угодно>, что ему дадут в школе, будет таким же мертвым, как и паскаль. Все равно ему потребуются библиотеки и фреймворки, плюсом SQL и всякое такое, местами основы схемотехники, в результате рабочий язык будет отличаться от изученного примерно так же, как изучаемый в школе английский (с его нетленной поэзией уровня Good morning to you, I'm glad to see you) от языка Толкина или хотя бы даже Роулинг. Голый питон без джанго, нумпи/панды и прочего в зависимости от специализации не нужен никому, как и голые плюсы без stdlib или ява без спринга.

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

либре офисом

Странно, много лет назад я им делал курсовые и дипломные, всё успешно сдал. А сейчас он ещё и стал быстр даже на винде с антивирём. Если у вас с ним какие-то проблемы на импортозамещённых дистрибутивах... учите паскаль, крадите винду, дельфи, офис, винрар, что там у вас ещё... главное не забывать обвинять буржуев что ручки-макалки уже не те) Кстати я долго писал перьевыми ручками и почерк у меня ужасный, в отличие от людей которые их никогда не использовали. Всё никак не доберусь попробовать ручку от ксяоми, просто по фану.

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

Вы вообще читали то, на что отвечаете? Попробую разжевать.

В школе используется мс-офис, несмотря на то, что декларируется импортозамещение и требование к отечественному софту. В школе документы составляют с использованием всяких свистоперделок. Поэтому у меня есть проблемы с открытием школьных документов дома в либре. Больше никаких проблем у меня с либре нету.

учите паскаль, крадите винду, дельфи, офис, винрар, что там у вас ещё... главное не забывать обвинять буржуев что ручки-макалки уже не те)

Вот этот наезд вообще откуда взялся? Как он привязан ко всему вышенаписанному? Что он содержит в себе кроме желания обидеть и унизить? Почему не предлагаете заодно что-нибудь жечь и что-нибудь делать с гусями? Я, на секундочку, говорил про Free Pascal, который воровать не надо, и про либре офис, который тоже...

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

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

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

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

Откройте тайну, я уверен, не мне одному интересно - чем все же вас так травмировал паскаль?

У меня либра, мне присылают регулярно документы и мне норм. Единственный вопиющий случай был несколько лет назад когда нужно было документ от ФСЗН заполнять в котором на VBA графических форм намордоворотили так, что они и в других версиях MSO глючили.

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

У меня либра, мне присылают регулярно документы и мне норм.

у меня такая же нога и не болит

Паскаль съедает в первую очередь кучу времени, а бездарные преподаватели приучают детей ещё и к плохо читаемому коду.

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

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

При прочих равных нужно писать на языке, который тебе нравится и на котором ты пишешь ) Но ума не приложу, почему именно Паскаль съедает кучу времени, а другие языки - нет (

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

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

Но обучение - раз мы о нём - оно не про это. Оно - про то чтобы научить. И здесь нужны базовые знания.

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

А сравнение с прописями - вообще великолепно! Прописи ведь не используются в проде! Но - куда ж без прописей?

Так что - респект этому посту.

Итак. Ввиду того, что оч много написано, отвечать буду не по порядку.

вообще без разницы какой язык учить, поэтому страдайте

Я пока не понимаю, откуда берутся страдания? Мне учить Pascal было интересно. Не видел тех, кому было не интересно.

попробуйте тот же Pascal поставить сначала ребёнку

Первая ссылка в яндексе ведёт на сайт PascalABC.NET, на котором первая же кнопка скачивает и компилятор, и IDE к нему. А также десятки обучающих примеров кода в комплекте, доступных по двум кликам в GUI.

Причём в этой IDE можно клепать простенький WinForms формочки, что повышает интерес к программированию в разы по личному опыту. Одно дело, когда у тебя текст в консоли, а вот с формочками уже можно игры делать! Сколько там понадобится километров кода, чтобы сверстать внятное окошко на Python?

Опять же после установки у меня в Пуск уже есть приложение PascalABC.Net, мне как родителю-чайнику всё понятно. После установки Python у меня какая-то консоль и моргающий курсор. Как я, как родитель-чайник, пойму что всё сделал правильно?

Я немного постарше, и мне вот куда интереснее чтобы моим детям давали актуальную базу

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

когда детям преподавали вот просто ворованный софт

В некоторой степени это было даже хорошо, т.к. внезапно, это давало навыки работы в актуальном ПО, а не в каких-то невнятных "аналоговнет".

Что конкретно такого ужасного в Python

  • Динамическая типизация, пускай и строгая. Это темная сторона силы и только мудрый джедай должен иметь к такому доступ. Молодые неокрепшие умы не должны к такому даже близко приближаться.

  • Отсутствие жесткой структуры, что приучает порождать говнокод. В то время как Pascal имеет понятную структуру, приучающую отделять код от данных, и немножечко думать, перед тем как начать что-то писать.

  • Скриптовость. Это и хорошо и плохо. Хорошо то, что быстро править. Плохо то, что некоторые концепции работы ПО (банально компиляция) и наличие архитектуры у ПК будет просто невозможно объяснить.

  • Отсутствие низкоуровневой части как таковой. На pascal код как раз получается "среднего уровня". Можно и байтики потрогать, и формочки наклепать.

любом другом из top5

С/С++

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

Java

В принципе, можно. Но я не знаю ничего похожего на winforms в java. Вcе GUI фреймворки, что мне удалось потрогать - это страх, боль и ужас.

C#

Согласен, язык обладает всем тем, что есть для Pascal, но для приятной разработки требует перегруженной IDE, справиться с которой школьнику будет очень непросто. Да блин, мне с ней справиться непросто. Да и не у каждого есть ПК, способный тянуть студию без тормозов.

Можно бы использовать VSCode, как легковесную замену, но возвращаемся к вопросу установки нужного софта неопытным родителем, вспоминаем количество подпрыгиваний, которые придётся совершить, чтобы собрать и запустить "Hello world" в VSCode - и приходим к выводу, что это тоже не вариант.

С точки зрения задач обучения азам программирования, Pascal оказывается не так уж и плох.

Мне учить Pascal было интересно. Не видел тех, кому было не интересно.

Т.е. у вас 100% пошли в вайтишники? Всем интересно ж было. Сейчас пара-тройка преподавателей всплакнут и вознесутся преисполнившись такой замечательной статистикой - всем интересна программуха. Вообще всем. Отличненько.

Первая ссылка в яндексе ведёт на сайт

Возможно ведёт, если знать что искать. Возможно родители попадут на варезник или там вообще мак. Страшно даже проверять, яндекс-бар или что там нынче ставится с этим)

Сколько там понадобится километров кода, чтобы сверстать внятное окошко на Python?

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

После установки Python у меня какая-то консоль и моргающий курсор

На форточках Idle идёт в комплекте, VSCode и PyCharm Community Edition по вкусу. Если захотеть - можно найти ещё много разных. Хотя точно ли они вам нужны чтобы вывести 2+2 из первых уроков по информатике? Зато можно прямо в консоль нормально вывалить содержимое переменных, тогда как дебаггером пользоваться детей не особо учат. Или вообще можно выполнять уроки ничего не устанавливая локально прям в окне браузера (Jupyter notebook и аналоги) можно было бы прямо на сайте УО, если бы они хоть чуть-чуть шевелились.

а не в каких-то невнятных "аналоговнет"

Вот это слово как нельзя кстати подходит к кумирам, паскалям, дельфям, которым "аналогов в образовании нет". Всё ещё непонятно зачем потворствовать воровству.

Что касается говнокодов... я их видел уйму на паскале в свои годы, с переменными вида a, b, c, i, j там где должны быть конкретные имена, всё без малейшего намёка на выравнивание, прибитое к каким-то библиотекам и функциям которые в одной версии паскаля были, а в другой небыли, потому что стандарт и никаких шатаний (Великолепный зоопарк turbo <-> borland <-> ABC <-> Delphi <-> Lazarus)...

Какой-то выдуманный вами "средний уровень" паскаля существует только в вашей реальности.

Про C - вы же хотели чтобы дети основы и типы тщательно пощупали байтики. Или нет? И да, С вполне себе учили в лицее пока остальные мучились полгода с кумиром, полгода с паскалем. И у них отлично получалось, не знаю почему, сверхлюди какие-то. Без "прекрасных незаменимых IDE типа дельфи".

Студию вы сильно переоцениваете (особенно в сравнении с браузерами), на небольших проектах она и не нужна, VSCode для образования хватит за глаза.

Количество подпрыгиваний... это что-то про dotnet new console и dotnet run которые не сможет ни один препод показать? Ничоси как сложно то...

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

Где-то так, простыня в несколько экранов. Вся требуха, которая создавалась в delphi автоматически при верстке формочки в IDE - ее писать руками.

Т.е. у вас 100% пошли в вайтишники?

Те, кто пошли - точно не жаловались ни разу :) Нам было весело писать программы, нам было наплевать на чём мы их пишем. Кайф был в том, чтобы заставить бездушную железяку подчиняться нашей воле.

Возможно ведёт, если знать что искать

Я написал "pascal windows скачать". Я уверен 99% родителей и детей напишут это.

или там вообще мак

Родители и дети, у который дома мак, будут испытывать боль на протяжении всего процесса обучения, т.к. вся школьная программа и учебники сегодня ориентированы на Windows или какой-нибудь Alt Linux.

На форточках Idle идёт в комплекте, VSCode и PyCharm Community Edition по вкусу.

  • Idle не называется Python. Родитель не найдёт. Он не знает таких слов как IDE. Родитель найдет командный интерпретатор.

VSCode/Pycharm

Родитель такое не нагуглит и уж точно не настроит.

  • VSCode - ну ради прикола дайте человеку VSCode в качестве первой IDE, где для запуска отладчика нужно писать текстовый launch.json. Я видел людей, которые после трёх месяцев плотных курсов по Python не осилили это дело, а вы предлагаете родителям/ученикам в такое окунаться. VSCode - это инструмент для тех, кто уже немножчеко в курсе дел.

  • PyCharm Community Edition. Сама по себе IDE - ок. Достаточно простая в установке освоении. Вот только нюанс: все те же проблемы с варезниками. Родитель легко может сказать варезник платной версии. Но концептуально - это годный вариант.

я их видел уйму на паскале в свои годы, с переменными вида a, b, c, i, j

В этом мире нет языка, который не даст человеку называть переменные a, b, c, i ,j. Не понимаю претензий к паскалю в данном случае.

Великолепный зоопарк turbo <-> borland <-> ABC <-> Delphi <-> Lazarus

Как я и сказал, первая ссылка в яндексе ведёт на расово верный паскаль. Дальше думать не надо. В конце концов, учитель может прислать в родительский чатик ссылку.

Про C - вы же хотели чтобы дети основы и типы тщательно пощупали байтики. Или нет?

Вообще нет. Я хотел, чтобы дети заинтересовались основами программирования (алгоритмы, структуры данных, все вот эти циклы и ветвления). Хочу чтобы дети веселились, от того, что смогли написать Ping Pong на кнопочках из WinForms. А вот эти байтики, двоичные системы, битовые операции и прочее - это пожалуйста оставьте универу.

И да, С вполне себе учили в лицее

Программа пишется не только под учеников лицеев, но и для МОУ СОШ №10 Зажопинского района, г. Мухосранск.

Опять же, я не говорю, что C невозможно выучить (это же очевидно не так). Я лишь говорю, что Pascal ничем не хуже, а в некоторых местах даже лучше для тех задач, которые решает школа.

Студию вы сильно переоцениваете (особенно в сравнении с браузерами), на небольших проектах она и не нужна

Я на C# не пишу, я понятия не имею как скомпилировать C# код без студии :) Я знаю, что способы ессно есть, просто они явно не так тривиальны как нажать одну кнопку)

Студию вы сильно переоцениваете

Холодный старт с NVMe SSD - около 10 секунд сейчас был. Есть подозрение, что на HDD она ваще не запустится :) Ну и весит она гигов 20. Офигеешь качать в какой-нибудь деревне с 3g интерентом. А вот pascal весит вместе с IDE 25 мегабайт.

dotnet new console и dotnet run которые не сможет ни один препод показать? Ничоси как сложно то..

Вы нарушаете свои же правила игры. Мы говорим о том, что родитель/ребёно пытается что-то настроить на своём компе самостоятельно. Если есть человек, который проконсультирует - вся беседа по поводу самостоятельной настройки не имеет никакого смысла.

P.S.
Вы ничего не ответили про конкретные недостатки Python, а они довольно значимые на мой взгляд.

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

Это как раз не проблема, есть вполне современный бесплатный вариант Pascal.ABC, ориентированный на обучение. Для Windows и Linux. С обширной документацией на русском языке и активным сообществом.

Вы начали с ветку с упрекания автора в "предвзятости", но сами предвзяты. Попробуй вы скачать PascalABC.Net (будь вы учеником школы, качали бы его, он стоит на школьном пк) -- скачали бы его первой ссылкой с оффсайта.

Попробуй вы, будучи учеником школы, скачать Python, вы бы погрязли в pyre-python, pycharm, conda, потенциально, у вас бы не подтянулся интерпретатор в IDE (был такой случай у ученика).

Если же в целом о ваших тезисах, то они тоже лукавят: abc.net Паскаль не мёртв, его патчат пару раз в год, с него легче пересесть на C# (всё-таки оба .Net внутри) и подобные (а шарп уверенно в топ5), при том паскаль читается, взаимодействует и пишется лучше c# на старте.

Если интересно, могу поискать чат с Михалковичем (разработчиком abc.net), у него аргументов "в пользу" ещё больше (не безосновательных, он ведёт в воскресной школе мехмата, кажется).

А если у ученика дома Мак, или вдруг даже Линукс? Тогда всё более чем наоборот.

PascalABC с недавних пор есть для Linux. FreePascal/Lazarus есть в репозиториях всех популярных дистрибутивов и сборки для MacOS у них точно есть (не знаю, есть ли в Store - никогда не интересовался, т.к. Mac в нашей местности - штука крайне редкая).

Так мы про abc или про freepascal? Тут надо определиться.

  1. Массивы (включая сортировку).

Это требование в общем-то выбивает Python из состава участников, потому что массивы как таковые в нём попросту отсутствуют. Есть списки, которые в какой-то степени позволяют моделировать массивы, но зачем ходить кругами, если есть Pascal?

выбивает Python из состава участников, потому что массивы как таковые в нём попросту отсутствуют

Авторам учебников этот факт не мешает (дополнение к уж упоминавшемуся учебнику для 8-9 класса, дописанное на волне хайпа по Python):

Это нюанс терминологии, демагогия. Допустим, мы обозвали массивом питоновский list. Как это повлияет на написание хоть одной из программ школьного уровня?

На англоязычных сайтах регулярно встречаю array в контексте питоновских списков.

вот-вот. Если он выглядит как "массив", крякает как массив, плавает как "массив" - значит это не утка, а "массив"! И не важно что там за ним стоит во внутренностях

Ну, допустим, плавает он не совсем как массив.

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

О чём и речь. Вся программа заточена на натаскивание к ОГЭ/ЕГЭ. Нормальную базу дать некогда. И, кстати, это не только к информатике относится - сейчас по всем предметам такая история. И почти все учебники современные (в сравнении с советскими) - отвратительны, т.к. их издание сейчас - это тупо бизнес, и нормальная методическая работа там рядом не стояла.

По моему, задача школьного программирования просто познакомить детей с темой. Те, кому зайдет, они пойдут дальше. Остальным это чистое мучение. Системы счисления и всю "базу" я бы вообще убрал. Просто оставить несколько примеров программ/алгоритмов.

Из моего поколения (40+) у многих в школе вообще не было никакого программирования, а дома не было компьютеров. Программировать начал на спектруме, без книг и интернета. Точнее книги были, но не по спектруму, а по другим советским эвм, но тоже с бейсиком, плюс на клавиатуре спека команды сразу обозначены и можно было подобрать-разобраться. Всю эту базу (системы счисления, регистры и т.п.) выучил по мере необходимости. Зачем она в школе сейчас - загадка. Точнее рудимент тех времен, когда иначе было не возможно ничего сделать. Архаизм.

По моему, задача школьного программирования просто познакомить детей с темой.

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

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

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

Эта цель не реалистична, она не достигается. Если бы она достигалась, мы бы это тут не обсуждали.

Достигалась. Даже на бэйсике (и Ершоле). По моему опыту преподавания. Правда, тогда не было ФГОСов. И класс был "выше среднего", и обучение школьников было организовано в институте. Но целью я ставил именно алгоритмическое мышление. Те, кому это было реально интересно - перешли на C (а других вариантов фактически и не было - ибо "корветы"), победили на городской олимпиаде по информатике, и в дальнейшем поступили в технические ВУЗы. Те, кому не было - хз. Интересный факт заключается в том, что в примерно в 2005 ко мне в Пятерочке подошел охранник, поблагодарил за интересное преподавание (узнал через 15 лет!), и сказал, что ему это "в свое время очень помогло". Я, правда, постеснялся спросить, как именно...

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

И уж точно не надо в 8 классе изучать системы счисления и булеву алгебру. У детей тупо мозги не готовы к этому. Максимум вызубрят алгоритм решения задач, абсолютно без понимания.

У меня, кстати, были основы программирования в 11 классе. Начинали со школьного алгоритмического языка и BASIC'а на "Корветах" (КУВТ). Дело было в конце 90-х, дома у меня уже был первый IBM CP (K6-2 266/32 MB), но школа сильно отставала в плане перехода на новые машины (заменили Корветы через пару лет после нашего выпуска, уже году в 2002 примерно).

надо давать в 10-11 классах. В 9 можно поиграться с чем-то типа Кумира

Больше! Больше мёртвых языков! У вас же так много лишнего времени. А у детей с необходимостью готовиться ещё и к этой чуши ещё "больше" времени, ещё "больше" желания заниматься копрофилией и дендрофекальной археологией. За что вы так детей ненавидите? Или это классика из серии "я не смог нормально в жизни устроиться потому что ничего кроме паскаля не выучил и другим не дам"?

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

Учите тогда латынь вместо английского заодно. Главное охватить. Качество образования, глубина - да в топку. Думать нам некогда, важнее бумажки для вышестоящих отписывать как у нас всё стабильно ещё с 90-ых.

В Python куда меньший порог вхождения. Поставил базовый пакет, причём на любую ОС, хоть на OrangePi подключенный к не самому новому телевизору в сельской школе - всё, ты готов к школьной программе.

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

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

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

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

После Паскаля другие языки учатся хуже

Я не могу утверждать обратное, потому что в школе его не учил, но недавно смотрел код - не увидел каких-то проблем, кроме некоторой многословности с begin и end.

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

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

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

Паскаль её и не портит, почему, объяснил выше

Навыки полученные в других императивных языках отлично применяются в Паскале, если кто-то захочет его персонально учить. Зачем тем кто его не будет применять нигде именно его учить вместо того, что имеет на порядки большую применимость и актуальность?

Я не предлагаю оставлять Паскаль, я говорю, что неважно, какой язык учить. Если учитель знает Паскаль, не вижу проблемы преподавать его. Если он знает python, не вижу проблемы преподавать его. Но в массовом переходе с паскаля на python не вижу вообще никакого смысла.

неважно, какой язык учить

Неважно в рамках одной парадигмы.

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

В массовом сохранении паскаля не вижу вообще никакого смысла.

Я и не предлагаю его сохранять.

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

А с питоном не будет такого же: "ну нам препод на доске код на питоне нарисовал"?

Разработка электронных схем какое отношение к python вообще имеет, а моделирование и рисование? Там всё же основной упор идёт не на программирование а на владение соответствующим навыком: проектирование схем, моделирование и рисование. Да и я не вижу проблемы после паскаля изучить python или наоборот. Кому надо, тот легко выучит, кому не надо, получит базовое представление о программировании.

Главное здесь детей заинтересовать, это можно сделать как при изучении паскаля, так и при изучении python и вообще любого языка. Точно так же можно преподавать python, рисуя код на доске, тогда интереса к программированию не возникнет, прямо как с паскалем сейчас. Я, конечно, по себе сужу, но я с Visual Basic начинал, тоже язык нигде не применяющийся, но преподавателю удалось меня заинтересовать (мы всякие визуализации на GDI рисовали, насколько помню), после этого процесс обучения пошёл сам. Короче говоря, основной упор делать надо не на язык, а на то, чтобы заинтересовать, какой при этом будет язык уже не важно, хоть пролог, ей богу.

Разработка электронных схем какое отношение к python вообще имеет, а моделирование и рисование?

Ну, это лишь значит что вы что-то "прошли" в школе и успешно забыли. Python и JS используются ну оооочень много где не только "ярыми программистами". С чего вы там начинали - это классическая ошибка выжившего, потому что рядом в 30 раз больше людей начинали так же и не добились ничего. Ну и если про "заинтересовать", то что ребёнка больше заинтересует, тот факт что "эта фигня нигде не нужна и после школы вы можете её спокойно забыть" или "этот язык используется в половине сфер о которых вы слышите каждый день, так же вы сможете его применить если пойдёте на факультатив по робототехнике". И да, простых игр наштамповать на нём тоже можно хоть на первом же уроке.

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

Ни то, ни другое. Зависит только от преподавания. Если вы знаете, что python применяется много где, но код вам пишут на доске, вас это не заинтересует. Если вы знаете, что паскаль нигде практически не используется, но вы делаете игры, вас это заинтересует. Язык не важен, повторюсь.

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

Ну и? C python аналогичная ситуация.

И да, простых игр наштамповать на нём тоже можно хоть на первом же уроке.

Если на уроках будут штамповать игры, я буду только за. Хоть на python, хоть на паскале.

Ну да, новы делаете игры типа Severance: Blade of Darkness и прочие эти вот...а, стоп, это же опять Python. Ну да ладно, можно пойти в какой-нибудь Wargaming в танки паскальщиком...а, нет, тоже нельзя.

Ну и? C python аналогичная ситуация.

Только статистика его использования на порядки выше, равно как и статистика его интеграции в не совсем программерские штуки

Ну да, новы делаете игры типа Severance: Blade of Darkness и прочие эти вот...а, стоп, это же опять Python.

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

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

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

Погодите, но вы же сами предложили заинтересовать через разработку игр постом выше, а теперь опять "не важно". Хватит скакать. Важно! Потому что даже тут вкрючить pygame и устроить демо детям куда проще и понятнее чем пинать труп дохлой лошади "просто потому что тут так принято, мне так учитель учителя завещал", хотя "писать на нём не пробовал ни разу". Есть разница, если писать и пытаться пользоваться полученными навыками в реальной жизни. И есть ограниченный человеческий ресурс, который все почему-то любят обесценивать и растягивать в бесконечность (ну да, подумаешь чьи-то там чужие время и нервы). Люди, которые начинали с паскалей и дельфей в нулевых не просто так массово вальнули с них. Есть разница чему учить детей. Хватит врать самим себе или просто спорить ради спора о том, на чём не пробовали писать ни разу. Есть состоявшиеся факты, есть статистика которой много лет, есть актуальные и востребованные инструменты, есть бурно развивающаяся индустрийка которая пытается влезть во все сферы жизни независимо от того, хотите вы этого или нет. И вот эти страдания о былом и торможения тут вообще ни к месту.

"просто потому что тут так принято, мне так учитель учителя завещал", хотя "писать на нём не пробовал ни разу"

Я не говорю, что так правильно. Я говорю, что не важно. На том же ABC.net можно рисовать, значит для игры хватит. pygame тоже хороший вариант. Я повторяюсь в сотый раз, я не за паскаль и не против питона. Язык вторичен, первичен подход к преподаванию, вот и всё.

Люди, которые начинали с паскалей и дельфей в нулевых не просто так массово вальнули с них.

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

Моё отношения к паскалю и питону, если что, одинаковое - я бы ни то, ни другое использовать бы не стал. Паскаль мне не интересен, а питон скриптовый, а я не особо люблю скриптовые языки. Но основы отлично и на том и на другом преподаются.

Ни то, ни другое. Зависит только от преподавания. Если вы знаете, что python применяется много где, но код вам пишут на доске, вас это не заинтересует. Если вы знаете, что паскаль нигде практически не используется, но вы делаете игры, вас это заинтересует. Язык не важен, повторюсь.

Не то, чтобы "совсем" - у pascal'я соотношение "затраченные усилия" -"результат" сильно не вкусное.

Возможно. Мне он просто показался достаточно простым при чтении, но писать на нём не пробовал ни разу

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

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

На это я вам отвечу, что навыки, полученные при изучении Паскаля, отлично применяются в других императивных языках.

Очевидно что под "тем что не используется" собеседник имеет ввиду не алгоритмические навыки, а синтаксис паскаля.

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

Придётся, ведь о тонкостях вам всё равно в школе никто не расскажет, а без них вы языка не знаете.

Общее количество усилий которое вы потратите на изучение тонкостей меньше чем общее количество усилий которое вы потратите на изучение основ и тонкостей.

Латынь - это просто мега бонус! Это язык терминов и названий для многих наук, в том числе медицина, биология, юриспруденция. Английский после латыни пойдёт всяко полегче.

После 5-го класса наш класс делили пополам, половина уходила на английский, вторая половина на немецкий. С первого раза поделить ровно пополам не удалось. Я до сих пор помню, как учителя нагло врали мне в лицо что "иди на немецкий, его тоже используют в компьютерах, английский тебе не нужен". У них был свой шкурный интерес, а сухая реальность и как с этим детям жить - им было до барабана. Ложь и лицемерие от любимых учителей в чьей правоте дети не имеют права усомниться - что может быть круче? А потом я встречал много людей, которые влетали после немецкого и даже французского, а так же медиков... и вот им нифига не "всяко полегче", потому что к тому моменту когда им нужно переучиваться с того что "тогда было не важно" на что-то актуальное, у них уже есть куча обязаловок, работа за еду которую они ненавидят, времени катастрофически нехватает и вообще годы и мозги уже не те.

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

UPD: да даже я выучил немецкий на кухонном уровне ради обучения в Германии, хотя сам курс курс был на английском.

Немецкий за месяц? Что-то я очень сильно сомневаюсь. Там на одни только склонения местоимений нужно недели две потратить, даже если целыми днями их зубрить.

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

Есть такой термин - пропедевтика, например, есть исследования, показывающие, что люди, которые сначала выучили эсперанто, потом в разы быстрее учат любые европейские языки. На столько быстрее, что выучить эсперанто + другой язык получается быстрее и качественнее, чем напрямую этот язык, ну и бонусом тебе другие языки будут легче даваться. Так же и Паскаль, относитесь к нему, как к пропедевтическому языку. Он интуитивно понятен, нет ничего лишнего, что пришлось бы объяснять детям какой-то магией. После освоения принципов программирования любой другой синтаксис не будет проблемой.

А мертвый там язык или не мертвы, дело вторичное.

Тезис "Язык - это дело вторичное" не опровергает тезиса "Учить детей паскалю - это плохая идея".

А вот то, что человек, который до этого об этом не думал откроет для себя программирование как таковое - гораздо серьезней.

Что мешает школьникам открыть для себя программирование используя актуальный язык? Вы думаете что "открыть для себя программирования" возможно только изучая паскаль? Если нет то я не совсем понимаю к чему было это высказывание.

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

Например?

Мертвый паскаль - шикарный академический язык чёткой структурой, строгими типами и ООП. После него в других языках ребёнок будет видеть похожие паттерны и легко вливаться. Язык - это инструмент выражения программистской мысли. А если мыслей нет, то хайповый язык не поможет. Так что нужно учить программистскому мышлению и лучше это делать на языке с минимумом нюансов.

Хорошая параллель с музыкальным образованием. Когда хочется музыку лабать сразу, то самое доступное - это гитара, три аккорда и ты уже рок-н-ролльщик, собираешь нейросети на питоне. А потом, если тяга к музыке не проходит, то появляется ощущение пустоты и недосказанности, которое поможет заполнить классический курс фортепиано и мертвый паскаль, чтобы разобраться в самой идее программирования.

Самое доступное в музыке это вокал. Для него инструмента вообще не надо. На любительском уровне можно орать КиШа под пивко в любом караоке-баре.
При этом вообще все кто учатся на исполнителя любого инструмента, включая вокал, осваивают фортепиано в профессиональном образовании. Потому что на фортепиано один человек может исполнить до 4 параллельных голосов с разной динамикой. Чтобы исполнять свой один голос нужно понимать как он сочетается с окружающими.

На счет Кумира не знаю, не знаком с особенностями, помню в детстве приходилось "программировать" НОД на языке Ершова. Не впечатлило. Скорее даже сформировало негативное впечатление, ибо делалось это в тетрадке (не программа).

Если делать на русском языке, что для детей вполне нормально, то почему не взять сразу 1С?

то почему не взять сразу 1С

Что-то про лицензирование, неприменимость где-либо за пределами 1С, полную его непригодность непосредственно для образования и "много формальных сложностей необходимых при профессиональной разработке, но мешающих при обучении детей"

Версия для обучения программированию - бесплатна. Есть полноценные бесплатные лицензии для разработчиков. Да и купить 10-20 лицензий образовательному учреждению - не такая большая проблема.
Непригодность для образования - спорно. У фирмы "1С" есть как литература, рассчитанная для детей школьного возраста, так и практический опыт проведения занятий (например, мастер-класс "Счётчик ворон" - разработка мобильного приложения с детьми начальных классов). Сама фирма ведет активную деятельность в сфере продвижения обучения в школах и институтах.
Конечно, полноценного программиста 1С (даже уровня "джун") - со школьных курсов выпустить сложно (нужно много дополнительных знаний, таких, как клиент-серверная архитектура, базы данных - хотя-бы, основы, язык запросов - хотя-бы, оператор SELECT, основы конфигурирования структуры данных), но изучить основы самого языка и возможности написать простую программу типа "Калькулятор" или "Подсчет количества слов в тексте" - вполне реально. На этом можно чекнуть интерес к профессии и если он есть - добить недостающие знания в институте (или на отдельных курсах, или самообучении).
Русский язык программирования (и вся встроенная справка) - будет только в плюс, т.к. не требует знаний иностранного языка.

на языке Ершова.

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

Алгоритмический язык - Паскаль на русском.

А.П.Ершов Основы информатики и вычислительной техники (1987) Часть 2
А.П.Ершов Основы информатики и вычислительной техники (1987) Часть 2

В 9 можно поиграться с чем-то типа Кумира, чтобы пощупать алгоритмы без изучения полноценного языка.

Посмотрите Scratch — там много игр, для прохождения уровня нужно писать мелкую программу. Заходит и малышам, классе в 4.

Scratch - хорошая вещь для младших школьников. В самом начале ещё Пиктомир даю поиграться (его даже первоклашки вполне осваивают).

Нам в 9 классе и системы счисления, и булева алгебра прекрасно "зашли" - правда, обучали не в школе, а в УПЦ, на специальность "оператор ЭВМ". Ну а лично я "вкурил" двоичную систему и булевы операции во втором классе благодаря подаренной ДВМ-1М (ну и закрепил в радиокружке тремя-четырьмя годами позже).

Помню как десять лет назад бросил паскаль и перешел на C++, первое что меня порадовало это скобочки {} для обозначения блоков. Вообще, если бы я сейчас выбирал свой первый язык, я бы хотел что бы это был TypeScript, он даёт понимание типизации, он позволяет знать следом JS, с TS можно перейти другие языки более простым образом, в добавок в пуле языков будет TS для выполнения различных задач

Детишкам очень повезёт, если информатика у них вообще будет. В моей школе предмет начался с восьмого класса, вместо учителя - сыночка директрисы. Вот вам PowerPoint, и вот вам старый-добрый MSPaint - развлекайтесь. В следующем учебном году, о чудо, нашёлся хороший преподаватель, но ненадолго - слышал, что не договорились с директрисой по зарплате. На вакантную должность пришла очень странная дамочка, которая бухтела про то, как космические корабли бороздят просторы Большого театра, и ничего больше не делала. Что характерно - все желающие сдавать экзамен были посланы, впрочем, во мне эта мымра была уверена. Для меня урок начинался с того, что меня просили достать сборник задач и заниматься самостоятельно, остальным она просто говорила, что они ничего не знают. Это чудовище работает в школе до сих пор. Замечу, что школа не сельская, а очень даже столичная.

Всё закономерно: ставка учителя (за пределами столицы) - меньше МРОТ. На 1 ставку прожить нереально. При загрузке в 2.5 ставки - качество преподавания сильно страдает. Если перевести на обычные нормы рабочего дня, то 2 ставки - это 16 часов в день, а 2.5 ставки - это 20 рабочих часов в день при 5-дневной неделе (долго, скажем, программист выдержит такой режим?). А для подавляющего большинства учителей работа на 2-2.5 ставки - это норма жизни в последние годы, т.к. банально некому работать и администрация распределят нагрузку).

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

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

Да, в моём мире настоящие знания и умения немножко важнее чем ФГОС для выживания, поэтому для разбора непонятной (или пропущенной по болезни) темы не стыдно и какого-нибудь Хирьянова посмотреть, а заодно поставить Python у себя локально прямо из штатного стора ОС и попробовать что-то сделать. Вот такой вот фиговый мир, не то что "Комплект учебных МИРов". Если вам норм полагаться только на учителя которому образование вашего ребёнка до барабана, это не мои проблемы

Я вообще не понимаю вашего наезда, если честно.

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

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

Вы мне объясните - при всё при этом, откуда вы взяли вот это "Если вам норм полагаться"?

Я не понимаю откуда наезды про "негде брать материалы" в, практически, 2024-ом году. Нельзя же даже фото конспекта у одноклассников попросить или спросить что либо, неговоря о поиске... При, фактически, полном потакании сохранению вот этой системы образования заточенной под ФГОС больше, чем под образование. За 30 лет "высокозаинтересованные преподаватели паскаля" не смогли на материалы выработать. Нет материалов по паскалю - значит переходу на Python будем сопротивляться? Как это вообще работает? Каким боком вы притянули за уши "увлечься самому"? Вот урок математики в школе вы если пропускали по болезни - вы всегда на второй год принципиально оставались, чтобы именно препод вам этот материал повторно начитал?

За 30 лет "высокозаинтересованные преподаватели паскаля" не смогли на материалы выработать.

Час назад в этом же треде, в котором мы с вами общаемся: "ставка учителя (за пределами столицы) - меньше МРОТ". У вас в голове люди, получающие меньше мрот (или сравнимую сумму при двойной и более нагрузке) - это некоторые "высокозаинтересованные люди"?

При, фактически, полном потакании сохранению вот этой системы образования заточенной под ФГОС больше, чем под образование.

Вы абсолютно серьёзно считаете, что у учителя информатики 7-9 класса в школе в регионе есть какой-то ниебический рычаг давления на минобр, позволяющий потакать или не потакать чему-то?

Вот урок математики в школе вы если пропускали по болезни - вы всегда на второй год принципиально оставались, чтобы именно препод вам этот материал повторно начитал?

Нет, а причём тут это?)

Господи, пост и тред - про преподавание информатике. Причём массовое, для средней аудитории и в рамках школьного курса и правил школьной системы.

Вы сейчас говорите "ну вот дитё может пойти и сам посмотреть видосы, если преподаватель у него - идиот (или не справляется)".

Может конечно. А сто лет назад мог прочитать книгу. А ещё мог найти внеклассные курсы, репетитора, позаниматься с родителями или братом, организовать с другими школьниками тусу по изучению чего-то. Варианты продолжить перечислять?

Всё это не имеет никакого отношения к вопросу преподавания в школе.

Вот урок математики в школе вы если пропускали по болезни - вы всегда на второй год принципиально оставались, чтобы именно препод вам этот материал повторно начитал?

Какое вообще отношение имеет то, как самостоятельно чему-то учился я или самостоятельно учились вы к преподаванию в школе?

Перечитайте начало треда, в конце концов. Человек говорит "у нас в школе была неадекватные преподаватели, которая ничему не учили и мне пришлось всему научиться самостоятельно".

Вы приходите и говорите "Если преподаватель не справляется, то можно пойти и видосик посмотреть или книжку почитать".

А как это проблему решает?

Я конкретно отвечал не на пост про неадекватного преподавателя, а на пост "я ничего не успеваю дать детям" в контексте "буду продолжать душнить за анахронизм по которому нормальных материалов нет". Человек заинтересован в сохранении паскаля в системе образования и готов терпеть многолетние проблемы с нехваткой качественной материальной базы, хотя по логике его небольшая ЗП должна подталкивать его к более популярным решениям с более хорошей базой. Осталось понять почему он лично заинтересован. Автор вроде бы должен иметь достаточно хороший кругозор в отличие от "типичных потомственных педагогов". С "потомственными педагогами" как раз всё понятно - они не в состоянии выучить что-то новое и будут сопротивляться всему, кивая на маленький МРОТ и параллельно навязывая детям платные индивидуальные занятия. И мин.обр будет до упора оправдывать анахронизмы, потому что не собираются тратиться на актуализацию учебной базы. Это преступление против детей, по сути. Но и про неадекватного преподавателя у меня был прекрасный случай в 2007-ом: ко мне пришла соседка, учительница иностранного языка (заслуженный педагог в годах, все дела) и попросила порешать задач на паскале. Я заинтересовался, зачем это ей, выяснилось, что у неё сынок закончил педагогический институт, получил высшее образование по специальности математик-информатик и пошёл в школу работать информатиком. И он не смог решить простейшие школьные задачи на том самом паскале который до того ему в этой самой школе наяривали и в педе. Само собой что такой "педагог от бога" будет в штыки воспринимать любые изменения в образовательной программе - он же не способен ничему ни учиться, ни учить, он может только срисовывать из учебника буковки и картинки на доску, как до того учили его самого информатике училки преподававшие ранее вообще другие дисциплины. И каждый раз когда я читаю такие оправдательные статьи "почему анахронизм всё ещё нужен в школе", я прям вспоминаю этот трэш и очень предвзято отношусь к таким консерваторам.

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

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

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

Готовился среди прочего прорешивая книгу Меньшикова, с разбором задач и примерами на паскале, книжке Шеня "программирование в теоремах и задачах" с паскалеподобным псевдокодом.

Не вижу вообще никакой проблемы в паскале. C - допустим, но не советовал бы. Лишь бы не C++.

На питоне как раз-таки материалов про алгоритмы маловато. Ну вот Густокашин на яндексовских тренировках сейчас на питоне рассказывает что-то вроде, уже прогресс.

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

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

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

Абсолютно не понимаю, почему вы так уверены, что переход на питон что-то в этом месте категорически изменит.

Будут приходить и с питоном.

На питоне как раз-таки материалов про алгоритмы маловато

Отличная шутка, запостил бы на баш, но он тоже в своём роде как паскаль...

Не, это не задумаволось как шутка, это я просто глупый и глупость сморозил, ахаха)

А лично вы какие материалы для изучения алгоритмов, подготовке к олимпиадам и экзаменам по алгоримтам/структурам данных использовали? (речь идёт о материалах с примерами на питоне, конечно же). Какие посоветуете?

Да товарищ вообще с позиции Д'Артаньяна комментирует, как я заметил.

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

В моей школе предмет начался с восьмого класса, вместо учителя - сыночка директрисы.

Как-то читается, как будто это кто-то ещё неопределившийся (со своим полом) :))

Проблемы МинОбра стары и хорошо известны ещё со времён СССР.. ничего не меняется под Луной у чиновников..

Мой, пусть и короткий и разрозненный опыт:

  1. Обучение детишек Турбо-Паскалю с нуля (учить будем вместе, т.к. я работаю на Си, моя временная подработка). Да, первое занятие - тренажёр клавиатуры. Не хватило времени? Ок, приходишь после уроков, но пока не начнёшь стучать 10-и пальцевым методом 150 в минуту - не выйдешь из класса. Далее, аналогии переменных, массивов с ящиками и комодом.. заходит на ура. Указатель как место ящика.. позиционная система счисления - почему 10 следующая? Дык.. в одну цифру никак.. а если основание .. 4? И да, сами, сами пусть придумывают систему счисления.. игровой момент работает на ура.. но.. их было всего 8, мелкий класс.. выросли.. 5 программистов, основатель крупной игровой фирмы.. не пиарю..

  2. Позже.. второй заход. Визуальщина - Лего скретчи, ДРАКОН и перенос кода в Ардуино С++ (на базе по Тышова кажется).. зашло. Но как было сложно потом с переходом на джава и питон. По итогу стек С/С++ так и остался "за пределами" ибо сложно для понимания .. зашёл по сути только питон, увы.

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

Предлагаю для детей GWBASIC. Всё до нельзя просто, минимум ключевых слов, при этом на нем было сделано много реально полезных вещей.

Кому понравится - может потом и Pascal выучить. Главное для ребёнка - низкий порог входа, чтобы не испугаться раньше времени.

GWBASIC

Мне больше нравится QBASIC. Я с него начинал.

Можно начать с

10 CLS

А потом изучить всё остальное по встроенной справке, дойдя в пределе до процедур и структур.

Но в qbasic числа спереди не обязательны

Вы не поверите :))

Да, немножко не тру, потому что номера строк не совсем номера, а метки, но при попытке написать "10 dim a" студия заботливо сообщит о том, что надо бы добавить двоеточие...

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

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

при переводе или окончании 9 класса с них будут требовать знание программы

Во-первых, вас уволят по статье. Во-вторых, дети не сдадут ОГЭ. Вспомните, у вас на всё про всё есть 40 минут в неделю, 30 недель в году, три года. Итого - 60 часов на вообще весь курс информатики с абсолютного нуля (включая неумение пользоваться клавиатурой и мышкой, потому что дома есть планшеты и смартфоны, но компьютера нет). И перед вами сидит не собранная по интересам группа готовых внимать вам людей, а просто 30 случайных детей, которые как раз все эти три года проходят пубертатный период.

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

Подавляющему большинству моих родных и знакомых ни разу в жизни не понадобились алгоритмы нахождения НОД и НОК, решение квадратных уравнений, знание столиц стран Африки, понятие "моль" и его использование в уравнениях химических реакций, прыжок через коня и бег на 60 метров, функция вакуоли в клетке, основная мысль "Преступления и наказания", уравнение маятника, иностранный язык целиком и практически все правила языка родного.

Я не понимаю, что именно вы предлагаете для исправления этого вопиющего безобразия, но вариантов я вижу только два:

1) углубить и расширить школьную программу лет до 25, преподавать только реально практически применимые знания, причем на таком уровне, чтоб выпускник школы мог немедленно их применить на практике, и заставить каждого отучившегося отработать везде, от квантовой физики через ботанику до посла в развивающихся странах, чтоб знания не пропадали

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

Подавляющему большинству моих родных и знакомых ни разу в жизни не понадобились...

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

А так, приходится всех обучать, авось пригодиться...

Так я, на секундочку, об этом и говорю. Тут встречаются страдания на тему того, что школьников обучают на неправильных языках, которые не входят в топ 5 тиобы. Беда то какая... Хорошо, если процентов пять станут кодерами. Но не со всех курсов программирования института пять процентов становятся кодерами.

Надо сказать, многие напрочь забыли, что предмет называется "информатика", а не "программирование". А некоторые забыли, что информатика не равно программирование. Страдая от паскаля, надо было также непременно упомянуть, что наших детей злостно не учат на уроках обжимать витые пары и тянуть кабеля по чердакам и подвалам, хотя это пригодится скорее всего большему числу нынешних школьников. Опять же есть тестирование, инфобез, IoT, базы данных, REST API - ну как же они посмели обойти вот это вот все?

А если честно, лучше бы научили не попадаться на уловки кибер-мошенников, проверять, что у вас в адресной строке браузера (не mvideo.shop.bis, а mvideo.ru, и это большая разница), пользоваться интернет-магазинами и банкингом, понимать, когда пора заяву писать в полицию, если с вас за услугу гудок кучу денег сняли. Опять же, десятипальцевый набор, способность не теряться, если вместо мс-офиса оказался либре, а вместо хрома лиса. Дофига бытовой информатики, которая в жизни пригодится почти всем, а что касается паскаля...

Вот на трудах у нас, например, был выбор, и большая часть пацанов пошла на фрезерный, а (в компании еще пятерых) я на девчачий радиомонтажный. Мне здорово пригодилось. А с программированием сегодня и выбора нет, а реально надо ли оно в школе? Ну правда ведь, кому надо - есть кружки и масса информации в сети, а многим ли оно надо? Но! Я согласен, что есть знания, которые надо попытаться впихнуть в каждого, например, таблица умножения и "у лукоморья". Есть вещи, которые должны быть по разделению или по желанию, типа финского, или швейной машинки/фрезерного. Но я бы не взялся решать, что куда.

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

Так давно уже умеем - оценки (по какому-то предмету). Если оценки хорошие - значит в этом направлении есть способности, значит так или иначе они будут задействованы и на работе.

А на самом деле нет.

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

когда это все знаешь - да, учить это нафиг не надо.. так еще богатые любят говорить, что деньги фигня..

конкретный язык - это лишь инструмент для изучения

п.с. а вы, как мне кажется, давно забыли что такое процесс обучения

Это не моё утверждение. Мой поинт в том, что когда дети на вопрос "а где мне этот ваш пакаль будет нужен в жизни" гарантированно будут получать от препода ответ "нигде" - они потеряют всякий интерес.

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

И я всё ещё учусь, только другим вещам - профессия обязывает актуализировать знания. Ещё в моей семье есть те, кому тоже приходится учиться. Так что вам много чего неправильно кажется

Это не моё утверждение. Мой поинт в том, что когда дети на вопрос "а где мне этот ваш пакаль будет нужен в жизни" гарантированно будут получать от препода ответ "нигде" - они потеряют всякий интерес.

Ну не знаю, когда я ребёнком был, мне не особо важно было, кто и где использует тот же Basic. Я мог писать простенькие игрульки, и это было здорово. Это взрослый при выборе языка будет руководствоваться тем, полезен ли он ему будет на работе, или нет. Ребёнку важнее то, что он интересного может на языке сделать. И тут что Pascal язык общего назначения, что python

Когда я был ребёнком, мне было интересно программирование и вообще компы поковырять, а одноклассники приходили на кружок информатики ровно одно занятие, хлопали глазками что "а вы тут не в игры играете" и уходили. А выбора, что именно учить, тупо не было. А тут выбор как бы есть, но вы почему-то всё ещё хотите чтобы его не было.

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

Когда я был ребёнком, мне было интересно программирование и вообще компы поковырять, а одноклассники приходили на кружок информатики ровно одно занятие, хлопали глазками что "а вы тут не в игры играете" и уходили.

С чего вы взяли, что питон будет интереснее паскаля при обучении.

Важно показать школьнику, что он с помощью мёртвого языка сможет сделать что-то никому ненужное, а там где нужно не сможет его применить... окей...

Мне начинает надоедать, можете как-нибудь сами тут вокруг почитать? И заодно сходить рассказать всем (от УО и забугорных УО, до кровавого тырпрайза) что они не правы, что вальнули с паскалей

А что может вау-полезного сделать школьник на python, чего он же не может на паскале?

Я бы сказал, что некоторые вещи на том же Delphi сделать проще, чем на том же python. В delphi достаточно удобно писать гуй, кто бы что ни говорил. На python это делать тоже можно, но уже сложнее.

Зачем GUI школьнику? Формошлепство - не особо креативное занятие.

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

PyQt или Kyvi - это не так уж и сложно. Про остальные "некоторые вещи" срочно хочу знать

PyQt или Kyvi - это не так уж и сложно

Не скажите, qt - довольно сложен, я пробовал, знаю. kyvi не прбовал, если честно

А вы не путайте C++/Qt и PyQt и будет вам счастье. Хотя и C++/Qt довольно прикольный для тех, кому интересно, а не "сдать и забыть как страшный сон"

Сайт школы за зачётик...хотя сейчас такие челленджи уже не в моде)

ML для проверки тестов. Бота, который будет напоминать какие сегодня занятия, какие замены, в каких кабинетах (можно на паскале, но затраты несопоставимы, а нужно ещё и хостить где-то). Тут скорее главный вопрос - а что нужно школам.

ML для проверки тестов.

Если это Machine Learning, то не смешите. Мы сейчас про школьников говорим.

Бота, который будет напоминать какие сегодня занятия, какие замены, в каких кабинетах (можно на паскале, но затраты несопоставимы, а нужно ещё и хостить где-то).

Согласен, что на питоне проще. Однако мы всё ещё про школу говорим, никто детям основы SQL, асинхронного ввода вывода и http объяснять в школе не будет. А без этого вы бота не напишите. Ещё раз, в школе преподают основы - переменные, условия, циклы и функции. Всё. Тут без разницы, какой язык брать

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

Я вот помню как училка показывала какие-то примитивные запросы в MS Access и гордо называла это базами данных. После этого Python с SQLite действительно выглядит хорошим выбором. Асинхронщина там будет такая "суровая" что её большинство даже не заметит. Ну и... если никому ничего не нужно, то к чему тогда вопрос о том "что они могут сделать на Python"? Люди которым ничего не нужно - обычно вообще не могут сделать ничего (внезапно!) Остальных фанаты паскаля в образовании просто выбора лишают.

Сайт школы

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

ML для проверки тестов.

Тесты это по которым выставляют оценки? Много нудной работы. Спроектировать систему, сделать админку, авторизацию.. Школьники любят нудную работу.

Бота, который будет напоминать какие сегодня занятия, какие замены, в каких кабинетах

Я слышал, дневники бывают.. электронные.. И расписания.
Опять же, откуда бот будет брать эту информацию? Нужно проектировать систему, с админкой, с правами доступа, сдавать в эксплуатацию.. Это нормальный кусок нудной работы. Да, если 1 апреля бот всем отправит сообщение "занятия отменены" - это чья зона ответственности?

Тут скорее главный вопрос - а что нужно школам.

Вот именно.

с помощью мёртвого языка сможет сделать что-то никому ненужное

Я когда-то DoubleCommander использовал, он на Lazarus написан (Object Pascal + редактор для гуя). Весьма полезная программа. Внезапно, с помощью мёртвых языков можно делать полезные вещи.

И заодно сходить рассказать всем (от УО и забугорных УО, до кровавого тырпрайза) что они не правы, что вальнули с паскалей

Какая разница при обучении, что там энтерпрайз использует?

Неудачная калька на тотал, ага (У меня даже лицензия на него есть честно купленная). Исключения бывают, но только лишь потому что у них авторы загорелись клёвой идеей и это было первое что им под руку попалось, а не потому что язык такой клёвый. С таким же успехом можно какой-нибудь nnCron на SP-Forth использовать для автоматизации вместо нормальных инструментов. Я когда-то писал на дельфях сам, патчил сторонний софт (например Radius FTN, который в отличие от binkd загнулся быстрее чем даже фидосети). Всё ещё не вижу причин не применять в образовании более живые, актуальные и свободные языки.

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

И что? Вы сказали, что написать ничего полезного он не сможет, я доказал обратное. Ну и опять же, а кто определяет клёвость языка? python, имхо, как и паскаль, совсем не клёвый, но им почему-то пользуются.

С таким же успехом можно какой-нибудь nnCron на SP-Forth использовать для автоматизации вместо нормальных инструментов.

А чем паскаль не нормальный инструмент (да я не считаю его клёвым, как написал ранее, но это не показатель, мне из ЯП мало какие нравятся)?

Всё ещё не вижу причин не применять в образовании более живые, актуальные и свободные языки.

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

я доказал обратное

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

Мотивацию актуализировать ЯП на более востребованный тут уже обосновали раз 100, вы её намеренно игнорируете пытаясь вытащить ещё какой-нибудь труп с флопиков чтобы "доказать", как вот этот копролит 30-летней давности был крут, нужен и востребован

Раньше то было ух, не то что сейчас

полезным его делает вообще не язык, а мимикрия на тотал.

Открою вам секрет, любые программы полезны из-за выполняемых ими задач, а не языка, на котором они написаны.

Нет, не доказали, вы выстрадали исключение которым сами не пользуетесь.

Когда мне нужны были гуй программы, пользовался, меня устраивало. Сейчас пришёл к тому, что мне проще открыть терминал и там всё, что нужно сделать, без всякого гуя.

А вот сопровождаемым и переносимым (и вот тут начинается бОООООЛЬ)

Тут хз, не я пишу DoubleCommander, может быть автору и больно.

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

Тут тоже ничего не могу сказать, я не в курсе, почему он не пришёл на линукс и маки. Причины могут быть в языке, могут быть и не в языке.

Мотивацию актуализировать ЯП на более востребованный тут уже обосновали раз 100, вы её намеренно игнорируете пытаясь вытащить ещё какой-нибудь труп с флопиков чтобы "доказать", как вот этот копролит 30-летней давности был крут, нужен и востребован

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

Если что, Total Commander тоже написан на Delphi (а 64-битные версии собираются на Lazarus).

  1. Разве у школы очередь с улицы? Я не работал в современной школе, и не представляю, как устроен процесс. Неужели всё настолько формально и жестко?

  2. У вузовских дисциплин такое количество часов обычное явления: одна лекция и пара практик раз в две недели. Согласен, что сложно за это время научить широко и глубоко, но у вуза пока ещё есть преимущество: мы можем сами составлять программу обучения и сами пишем, как правило, учебные материалы.

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

  4. Ну и, наконец, как ни странно, но на программистов приходят много понятия не имеющих о программировании... Представляете? Так что с чего начинать, чему учить и какой язык программирования изучать первым здесь также не праздный вопрос. В вузах обычно выбирают практически полезный язык: чаще всего это C, C++, Python, C#. А вот раньше чаще встречался тот самый Pascal в разных исполнениях.

Будет завал на экзамене. А информатику выбирает почти половина выпускников 9 класса (т.к. низкий проходной балл).

На кружках и внеурочке с удовольствием разбираем интересные темы. Давеча с 10 классом квантовые компьютеры обсуждали, например. Но внероучки и кружков на всех не дадут никогда. Человек 30 со всей школы в год ко мне попадает.

Здорово, что есть такая отдушина!

По ссылке сходил кто-то? Я вот не поленился.

Всё же написано какой язык "выбирать"! Глава: "ПЛАНИРУЕМЫЕ РЕЗУЛЬТАТЫ ОСВОЕНИЯ ПРОГРАММЫ ПО ИНФОРМАТИКЕ НА УРОВНЕ ОСНОВНОГО ОБЩЕГО ОБРАЗОВАНИЯ"

Раздел: "ЛИЧНОСТНЫЕ РЕЗУЛЬТАТЫ"

Результаты:

  1. патриотического воспитания

  2. духовно-нравственного воспитания

  3. гражданского воспитания

Ну и так далее. Вы же за этим предмет преподаёте ага:) То есть выбирать надо русский! То есть идеально - учить 1с! Иначе какое же это патриотическое воспитание...

Чтобы лучше понять проблему времени, вспомните, сколько вы потратили на изучение последнего языка программирования? Вот реально: с первого знакомства и до написания простейшей программы с циклами, ветвлениями, массивами. Уложились в 20 астрономических часов?

Не особо хочу спорить со статьей в целом, но аргумент очень плохой. Простейшая программа с циклами, ветвлениями и массивами пишется на новом языке (если уже знаешь 2+) за 1-4 часа, в зависимости от сложности запуска компилятора

А вот объяснить циклы, ветвления и массивы тому что про них не слышал - это уже да, это требует огромного количества времени.

ну, тоже слишком страшно рассказываете. Нас после двух лет службы в Советской армии повели на ускоренные курсы программирования, которые за это время успели ввести в ВУЗе. К концу первого урока уже написал свою первую прогу с циклом и условием. И тут же разрешили запустить ее на компьютере "электроника", который стоял рядом. Другие, может, не так быстро схватывали, но, тоже за урок-другой.

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

Как в наше время при наличии минимальной склонности и имея хотя бы планшет можно не выучить язык, или языки, как программирования так и поболтать, не научиться рисовать и писать музыку - я не понимаю. А если склонность выше минимальной, то и смартфона хватит. Тогда задача школьного учителя - калечить детей как приказано, но показать им что вообще вокруг есть. Что помимо тик-тока может гаджет. Где чего искать. Это поможет тем кому можно помочь, а что склонности не имеющим не помочь по любому, по крайней мере в программировании, просто признаём и взращиваем добродетель смирения.

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

Если в классе мажоры, то Swift. Они на своих iPad и Маках во всём мигом разберутся. Ещё и денег, санкции с помощью родителей обойдя, заработают.

Если в классе не все мажоры, то Julia. У всех компьютеры, а язык сразу выводит на занятные, зачастую движущиеся, разноцветные картинки. Это должно быть забавно и завлекательно, да и помогать с другими предметами, при наличии склонности к ним, может изрядно.

Если в классе «кухаркины дети», то Python или Lua или JavaScript. С ними на одиноком телефоне проще всего. А если не все кухаркины дети, то и на iPad не хуже.

Мажоры с айпадами и кухаркины дети с айфонами бросятся программировать калькуляторы на своих айфонах и андройдах, не перепутать главное. А у кого телефон не той системы - срочно купить поавильный? Это будет 1 человек из класса, которому это будет интересно. Остальные скачают себе готовую игру. Да и кодить прямо на телефоне редкостное извращение, я бы своим такого не пожелал.

В среднем польза от нишевых языков одинаковая, что от swift что от паскаля. Либо зайдет либо нет.

Неприятно пороть правду матку рискуя обидеть, но как раз сейчас приходится ибо всё взаимосвязано.

Телефон не той системы

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

Это будет 1 человек из класса

И замечательно. Ради него и надо работать. А ломать через колено остальных чтобы потом они путались к него под ногами… И ещё возможен вариант - это сначала будет один человек.

Кодить на телефоне редкостное извращение

Вы правильно поняли что я не предполагаю DeX. А что я призываю кодить на телефоне - неправильно. Это последняя надежда «кухаркиных детей» преодолеть digital divide. По крайней мере пока они дети. Термин специально взят в кавычки ибо имеет долгую историю.

В среднем польза от нишевых языков одинаковая

По чему проводим усреднение? Если по вакансиям, то да.

от swift до паскаля

Просто замечу - swift полностью покрывает Эппл, а это где-то треть от всего. Что ещё покрывает треть от всего? Как swift и паскаль оказались рядом?

swift полностью покрывает Эппл, а это где-то треть от всего.

Треть от чего? За пределами эппловской экосистемы (завендорлоченной по самое дальшенекуда) это приблизительно 0.

Как swift и паскаль оказались рядом?

А бывает эще веб, микроконтроллеры, датасатанисты, линуксы, виндовсы, геймдев.. Применимость этих языков там приблизительно одинаковая.

Паскаль - как латынь. Напрямую не пригодится нигде. Но после паскаля можно написать fizzbuzz на любом языке (brainfuck, lisp, forth пожалуй вычеркну).

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

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

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

Любая аналогия ложна ;)
Знание лишним не бывает, но перекатиться с паскаля на куда угодно будет легче чем со swift. Не нужно будет забывать вкус одного синтаксического сахара, чтобы переучиться на другой ;)

Затруднение понял. Вместо Кореи в аналогии нужно использовать AUKUS и она станет точной.

Посмотрел на github например
python - 3M results
swift - 353k results
java - 4.4M results
js - 4.4M results
pascal - 20.1k results

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

В том то и дело что это средняя школа. Пока доберутся до рабочего места, всё поменяется, но переучиваться, в строгом смысле этого слова, не придётся. Придётся доучиваться и в любом случае. Тем более что язык - малая часть, а библиотеки и причуды ОС - части великие.

Я же пишу - раз в школе всё равно ничему не научишь, то нужно помогать учить вне школы. Если класс обеспеченный, то гарантирован iPad или iPhone, весьма возможно оба, и с вероятностью 40%, это по данным о США, ещё и Мак. Чему учить как не Swift? Swift там нормальный, Python вне Мака уже не вполне, Lua есть везде, но против их обоих не тянет.

нужно помогать учить вне школы

Вне школы есть курсы, там можно учить что угодно. Но тема же про школу?

Если класс обеспеченный, то гарантирован iPad или iPhone

Да хоть и Mazeratti. Какая то странная школа, в которую нужно ходить с телефоном определенной модели.

Какая то странная школа, в которую нужно ходить с телефоном определенной модели.

Давно уже и так в любую нужно, если не хочешь прослыть лохом на весь класс. У любого школоло мобила в два-три раза дороже чем моя "Nokia 7.2" из 2019 года.

И абсолютно все с айфонами..

Кто ходит в класс вместе с другими мало-мальски обеспеченными детьми, то ходит с iPhone. И не потому что так нужно, а потому что ходит.

Вне школы есть курсы

Тема про школу. Которая должна учить учиться. Не на курсах. А курсы - та же школа, финансовые потоки только поправлены.

Какая то странная школа, в которую нужно ходить с телефоном определенной модели.

См. выше - обеспеченный класс. Не «нужно», а наблюдаемый факт. Я понимаю почему он не нравится, пишите как именно не нравится больше, попытки прятать голову в песок на асфальте всегда забавны.

Я понимаю почему он не нравится, пишите как именно не нравится больше, попытки прятать голову в песок на асфальте всегда забавны.

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

А оно уже и давно появилось. И не только в России. Ещё в 90-е наблюдал как школа в посёлке городского типа решила проблему обучения разделившись на школу и гимназию. В гимназии учить легко, в школе учить не нужно, win-win.

Какое-то деление действительно есть.

Но всё-таки деление на уровне обших стандартов - это совсем срань.

Деление на уровне стандартов лучше и честнее чем негласная практика. Но я про деление, в любом виде, не затрагиваю. Идея проще - посмотрел на класс и всё видно. Можно, конечно, ещё и поговорить, повыспросить что у кого есть.

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

А курсы - та же школа, финансовые потоки только поправлены

А вы точно учитель? В школе программа обязательная для всех. В школу идут все, потому что закон об образовании. На курсы идут по желанию. И программа будет та, за которую проголосуете деньгами. Хоть swift, хоть уроки пения.

Может, самое лучшее - это что-то типа Еxcel с VBA: там и алгоритмы можно, и интерфейс. И практический опыт работы с электронными таблицами.

Вот таблицы как раз нормально изучаем в 9 классе. Благо, они есть в ОГЭ. Конечно, лез скриптов.

Что-то мне подсказывает, что при упомянутых вводных, обеспечивающих впечатляющий отрицательный рост качества образования наших отпрысков, вопрос выбора языка глубоко вторичен. Сильно сочувствую автору, всем занятым в российском образовании и всем нашим детям. Сам в школе в 90-е учил всякие Бейсики, на школьном факультативе - Пролог, на УПК - Фортран, а дома - ассемблер. Времена меняются...

О да, питер абель и debug... других ассемблеров у меня не было.

В точку. Еще до этого был ассемблер ZX Spectrum. Счастье было, когда раздобыл документацию на нескольких листах. Баловался реверсом Элиты, и код который видел после с точки зрения оптимизаций уже не производит впечатление...

А по мне было бы неплохо дать детям попрограммировать на чём-то типа Siemens Logo!, там можно и переключать отображение программы между Ladder и FBD.

Много примеров готовых и видно зачем всё это и как.

Вы блин понимаете что такое ladder? Это придумано 40 лет назад чтобы взрослым дядям с бэкграундом в релейной автоматике слишком много нового для себя не учить переходя на контроллеры. Давайте на этом школоте программирование объяснять, ага, удачи.

Да, очень легко понять что такое элементы И или Или на примере релейной логики.

Да, я знаю что такое Ladder, иногда применяю его в программах для наладчиков.

только для этого надо знать "релейную логику"... а зная булеву алгебру хотя бы на примере ДВМ-1М, релейная логика понимается "автоматически".

Там всё наглядно - контакты замыкаются, ток течёт, лампочка загорается.

Java. В ней есть и простота и сложность, объекты как реальном мире, понятные типы. Язык максимально приближен к реальным проектам и вишинка на торте: На нем написан Minecraft и моды для него.

Остается только вопрос, как его подать. Я бы подавал Java в ввиде шаблонов как в Scratch.

Java крайне плоха для обучения с нуля - я как то пробовал научить человека чуток кодить для себя с нуля, и пробовал сделать это на Java т.к это мой рабочий язык, и я считал что будет проще учить тому чем сам каждый день пользуюсь. Так вот хрен там плавал: Java ООП - язык, у него даже минимальная программа базируется на классе, а новичок еще и концепцию переменной то не усвоил, какие уж там классы. Можно сказать "абстрагируйся, это тебе пока не надо", но так совсем не запоминается весь этот бойлерплейт. Вобщем в итоге промучались мы много. И потом я понял, что еслиб первой программой был бы петухоновский "print('hello world') оно б пошло куда проще всех этих "public static void main(String[] args)"

минимальная программа базируется на классе

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

Когда я учился, мне сказали "ну короче тут так надо"

Тут вопрос чего мы хотим добиться - аналога чатГПТ в голове или все таки понимания. Вынести за скобки можно, но не всем это нравится -копировать без понимания сути, да и мне не нравилось так объяснять

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

 А понимание вообще сильно позже придет

Ну тут хум хау, как говорится, мне вот режим "стань чатГПТ" и самому никогда не нравился, и понимаю почему другим не нравится. Ну просто хотя бы потому, что поняв не надо зазубривать, а зазубривать я всегда ненавидел

Раз в школьной программе мало часов, значит надо заинтересовать детей заниматься программированием дома, решая практические задачи, как в кружках, а для этого надо выбрать современный везде доступный язык программирования, это может быть Python или JS (прямо в браузере можно запускать скрипты), как начальный язык, ну а дальше дети сами выберут другие направления, если захотят продолжить.

Для тех, кто пойдет в программисты - Pascal, для других Python.

Для тех, кто пойдёт в программисты - любой из top5, для остальных Python

Для тех, кто пойдёт в программисты - любой. Вообще любой.

Для остальных - блок-схемы на бумажке.

Для тех, кто пойдёт в программисты - любой. Вообще любой

А еще лучше специализированный, для обучения. Чтобы для каждой темы в компиляторе можно было поставить соответствующую галочку (для добавления новых алгоритмов и команд). Чтобы на нем можно было пошагово пройти всю цепочку: Процедурное_программирование -> ООП -> ФП. А также можно было добавлять/убирать модули, ориентированные на разные задачи и платформы.

Вы путаете обучение программированию и обучение технологии для работы. Но это не одно и тоже. В школе надо обучать программированию, причем разному: веб, мобильник, ПК - чтобы ребенок попробовал, что ему больше нравится и потом уже в ВУЗе шел на выбранную специализацию.

Точно ли всем школьникам нужно поступать в вуз?

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

чтобы технари учили Паскаль

А чем паскаль для технарей лучше питона ?

Потому что Паскаль идеален для обучения программированию, а Питон всего лишь один из многих распространенных. В чем именно лучше - уже описано (даже здесь в комментариях) не раз. Довод "за" Питон единственный - из распространенных он один из самых простых (и то в некотором смысле).

А хороший вывод сделан здесь - https://habr.com/ru/articles/783900/#comment_26333064

" - чем лучше, чем??
- чем армяне!"
:)
Торвальдс, например, начинал с Бейсика, и неплохо выучился ;)

Потому что Паскаль идеален для обучения программированию

что совершенно не доказано. Это всего лишь одно из мнений. Все что можно сделать на паскале - можно сделать точно так же и на любом другом языке, но без begin-end.

Хотя питон, как язык без типизации, для первого языка я тоже не рекомендовал бы ;)

Кстати, что не так с С? Никто не заставляет обмазывать все макросами, ifdef"ами и ребусами типа *++ii-- :) Пишите как на паскале но с {} ;)

можно сделать точно так же и на любом другом языке, но без begin-end.

Так begin-end пишется намного быстрее чем {} – ведь не надо на шифт нажимать. И читается намного лучше.

begin-end пишется намного быстрее чем {} – ведь не надо на шифт нажимать.

А в чем проблема с шифтом? Такая же клавиша. Во первых, сколько там управляющих конструкций в средней учебной программе? Сколько миллисекунд можно сэкономить? ;) Во вторых, если кодить не в блокноте а в IDE, управляющие конструкции набираются полуавтоматически. VS code скобки вставляет парами, например.

И читается намного лучше.

Форматирование рулит.

begin-end тоже IDE может вставлять парами. И да, форматирование рулит. Но с begin-end рулит лучше. Они банально читаются лучше.

что совершенно не доказано

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

Другими словами, в Паскале нет узкой специализации, которая всегда есть в промышленных языках. Он не грузит совершенно ненужными тонкостями, которые может никогда в жизни конкретного программиста и не пригодятся.

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

Вообщем все как всегда упирается в деньги. Если их не - то держитесь берите Паскаль.

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

Единственное что может помешать обучению - ужасные строки в С ;)

Он не грузит совершенно ненужными тонкостями

Не нужно грузить тонкостями ;) На паскале (перле, С) можно писать с помощью синтаксиса любого языка ;)

Вообщем все как всегда упирается в деньги. Если их не - то держитесь берите Паскаль.

Хм ;) "я топлю за раздельное школьное образование, чтобы технари учили Паскаль, остальные умники Питон". Поясните тогда, зачем остальным умникам питон, если паскаль насколько хорош, что аж идеален ;)

Единственное что может помешать обучению - ужасные строки в С ;)

Строки, работа с памятью, отсутствие ООП (будет мешать потом), указатели, ... - этого абсолютно достаточно, чтобы не использовать С для обучения программированию.

Не нужно грузить тонкостями ;) На паскале (перле, С) можно писать с помощью синтаксиса любого языка ;)

Так ученик сам что-то наберет неправильное, а компилятор проглотит - кто это будет потом проверять, и как в этом случае надо будет объяснять, что так нельзя? Это уже не обучение получается, а какая-то прогулка по минному полю.

Поясните тогда, зачем остальным умникам питон, если паскаль насколько хорош, что аж идеален ;)

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

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

работа с памятью

Не работайте с памятью, если в этом нет необходимости. И детей не учите. Массивы в С выглядят точно как в паскале, только индекс начинается с 0. А если захотите выделять память в паскале - придется разбираться и с указателями.

отсутствие ООП (будет мешать потом)

Будет мешать - можно скачать С++ ;)

Так ученик сам что-то наберет неправильное, а компилятор проглотит

В 21 веке компилятор показывает, в каком месте ошибка. И какая.

кто это будет потом проверять, и как в этом случае надо будет объяснять

Ну, ожидается, что преподаватель немного хотя бы понимает свой предмет.

берем ЯП, где основное внимание приковано к алгоритмам

То есть любой ;) Последовательность инструкций можно описать на любом языке. В курсе алгоритмов так то используют псевдокод. Кстати, стихи. Вы же не считаете, что есть языки подходящие для стихов и неподходящие? ;)

Для просто умников - будущих экономистов, финансистов, биологов, лингвистов, геологов и т.д программирование является вспомогательной деятельностью

Ну, как сказать.. Excel ихнее все. И специальный софт, за деньги купленный.

А есть еще трактористы и парикмахеры, им что паскаль что питон..

В 21 веке компилятор показывает, в каком месте ошибка. И какая

Вы когда нибудь детям преподавали (или хоть кому-то)? Или оцениваете все сейчас исключительно с высоты своего сегодняшнего опыта (типа понятно это лично вам или нет)?

Ну, ожидается, что преподаватель немного хотя бы понимает свой предмет

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

В курсе алгоритмов так то используют псевдокод

Вот какой-то ЯП типа псевдокода будет еще лучше, чем Pascal. Нет предела совершенству.

Вы же не считаете, что есть языки подходящие для стихов и неподходящие?

Французский для любви, немецкий для войны, итальянский для искусства... Так что считаю)

Ну, как сказать.. Excel ихнее все. И специальный софт, за деньги купленный

Excel тоже, но он для хорошистов. Для отличников - Python.

А есть еще трактористы и парикмахеры, им что паскаль что питон

Вот им да - максимум Excel.

От школьного курса информатики любого адекватного человека стошнит... На этом этапе самое главное не отбить у человека желание изучать компьютер. На уроках на кинопроекторе нужно показать десяток забавных обучающих фильмов и на дом дать работы по word-y, excel-y, HTML-y и попросить накидать на JavaScript-e простую игру вроде змейки или тениса. Всё, план на два года выполнен. Это для обычной общеобразовательной школы. А с углублённым изучением информатики дать ещё основы C++, Kotlin. В старших классах нужно не мешать им готовиться к ЕГЭ и по возможности, помогать готовиться к ЕГЭ.

Мне всегда казалось что Golang просто идеальный язык для школьного обучения, считающий строгую типизацию и в целом "Си" шные принципы и очень простым и понятным синтаксисом и понятными ошибками при компиляции.

Отсутствие традиционного наследования, утиная типизация и подход к работе с ошибками может сильно навредить при переходе на другие языки.

Согласен, что pascal с точки зрения нулевого входа в программирование лучший вариант. Потом легко давать другие языки уже в сравнении конструкций. Pascal вырабатывает правильные привычки работы с переменными. Важный момент, а зачем это все всем школьникам., большей части из которых максимум , что надо, это офис и возможно 1С

Что такое правильные привычки работы с переменными? Именовать всё по одной буковке и писать всё в одну портянку без отступов, потому что тогда файл на дискете меньше займёт? Большинство преподавателей паскаля в гробу видали всякие Coding Conventions и прочие действительно правильные привычки.

В каком месте вы нашли что большей части нужен 1С? Большинству лучше обходить это за километр, как и бабушкины сказки в духе "иди учиться на экономиста, большим человеком будешь"

В седьмом классе всё "программирование":

перевод битов в байты и обратно (например: 10^67 бит в байты и потом в гигабайты);

подсчёт информационной ёмкости текста (попробуйте на досуге - очень весело);

Работа с кодовыми страницами, перекодирование текста, без объяснения что это такое вообще (кто помнит KOI8, 866, 1251? Unicode приводится вперемешку UTF разной разрядности).

Кстати, я из учебника узнал что:

doc - не является контейнером и это чисто текстовый формат;

exe - не может содержать в себе текст.

Кстати, понятия типа файлов-контейнеров, системные/сервисные/прикладные программы, URI/файловый путь - в учебнике рассматриваются настолько вяло, что можно говорить что определений в учебнике нет.

перевод битов в байты и обратно (например: 10^67 бит в байты и потом в гигабайты);

Меня недавно на собеседовании для прикола спросили сколько будет 2^32. Я, естественно, точного значения не помню (ибо незачем), но рассудил так: 2^32 это (2^10)^3 * (2^2), поскольку 2^10 это примерно 1000 то тут же в уме вычисляем, что всё вместе это примерно 4 миллиарда, что от точного результата отличается (как я потом проверил) меньше чем на 10% :))

дети хотят: "взломать контакт", "взломать майнкрафт" и "играть в ксочку по сети", а не переводить из одной системы счисления в другую.. )

 переводить из одной системы счисления в другую

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

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

А можно поинтересоваться где? Я просто с таким встречался разве что в изучении дампов в хекс-редакторах, которые кстати могут перевести в десятичное и сами

Ну, например, в маске сети в IP.

а, ну еще одно исторически сложившееся место, то, что IP записывается как 192.168.1.1, а не С0.А8.1.1 само по себе курьез - десятичные значения байтов разве что для диктовки удобны

О, администрирование и прочие автоматизации... все же знают эти знаменитые ансиблы и прочие прикладухи для автоматизации, написанные на паскале)))))))))

дети хотят: "взломать контакт", "взломать майнкрафт" и "играть в ксочку по сети"

А разве этого мало для того, чтобы заинтересовать школьников? Уверен, у многих интерес к IT (у меня например) пошёл именно из соображений "вот бы что-нибудь взломать и куда-нибудь залезть". А там уже можно начать объяснять, что и как работает, как устроена компьютерная сеть, что такое тестирование на уязвимости (д/з: зайти на порносайт через официальный ученический клиент издательства "Просвещение") и т. д.

Тогда урок информатики можно заканчивать фразой "Ваше ДЗ - найти видео в YouTube про то как написать бота для Minecraft на Python")

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

Как по мне, лучше бы детей в школе учили писать скрипты для Excel, вместо "базы" :) Хоть на VBA, хоть на Python.

"Базу" всё равно не впихнёшь, а вот рутинная автоматизация пригодится буквально каждому. Кого заинтересует программирование, те и так в ВУЗе научаться, благо это не какая-то магия.

"рутинная автоматизация" уже требует некоторых базовых понятий - "отличие числа от текста" (т.е. "тип значения"), понимание условного оператора, и с ним - булевой алгебры.

Но вообще, это было бы действительно полезно - но ФГОС есть ФГОС.

Сын - учился в мат.классе лицея. Две часа информатики в неделю. Массовое участие в олимпиадах по программированию (кроме 11 класса) Весь класс (кроме небольшого числа не сдававших её) сдал информатику на 90+ баллов.
Сын жены - обычная школа (хотя класс продвинутый в её рамках), отправили в 11 классе в ВУЗ на курсы подготовки к ЕГЭ (не только по информатике, но и по ней тоже). На курсах предупредили - приходить с базовым знанием Python (хотя первые пару месяцев проходили теорию - подготовку к первой части ЕГЭ). Сейчас начали решать задачи. Ребёнок сказал - у нас оказывается в школе вообще информатики не было.

PS У сына в ВУЗе (программная инженерия) был входной контроль знаний по программированию (по оценке сына - среднего уровня сложности) - говорит часть студентов встала и сказала "а мы это не проходили". Скорее всего платники/льготники и целевики с предприятий.

Вспомнил про все эти блок-схемы, таблицы истинности, переводы между системами исчисления - аж передернуло. Мы, ученики физмат лицея, просто ненавидели информатику именно за то, что приходилось на бумажке рисовать какие-то стрелочки вместо работы с ПК. У всех поголовно было ощущение, что нам втирают какую-то дичь.

Да да, база-уяза, но это ж дети. Слава б-гу, что однажды пришел другой преподаватель и мы стали конкретно прогать на паскале. Кому-то и это было неинтересно, а я вот загорелся. Мама мне купила книжку по паскалю за 200 рублей. Сейчас страшно даже подсчитать, сколько я заработал благодаря этим 200 рублям.

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

Я почему-то представил, как в это же время, пока взрослые дяди обсуждают Паскаль, Питон и педагогику, некий школьник, мрачно матерясь, втыкает в матрицы, вектора и весьма извращённо реализованное на Lua ООП, чтобы у него в Roblox куда-нибудь поехал Скибиди-унитаз.

Не понимаю, как можно вообще рассматривать Python для обучения основам программирования, когда в нём нет массивов? Есть списки. Но чтобы нормально объяснить, что такое список, чтобы потом в голове не было говна, нужно рассказать про гомогенные и гетерогенные данные, а после такого даже у самых заинтересованных всякий интерес пропадёт.

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

Используют списки и кортежи? В питоне и двоичного дерева поиска нет в стандартной библиотеке, и вообще много чего полезного.

И как они живут без всего этого такого полезного? Должны, наверное, невыносимо страдать и переходить на паскаль? А, нет...

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

В реальности используются B-деревья и хеш-таблицы.

Если данные редко меняются, а поиск в них надо выполнять часто, то двоичное дерево - вполне практичный вариант.

Даже при условии неизменности данных всё равно получаются большие издержки по сравнению с B-деревом. На один элемент данных в двоичном дереве расходуется целиком один указатель и необходим проход по этому указателю.

дело не в питонистах, дело в порчядке обучения. Ребенок как-то пошел на онлайн занятия к преподу. Тот дает задание - массив, который нужно отсортировать. Ребенок соображает ,что вместо массива можно взять список и пишет arraylist.sort() и сдает задание. И так там со всем остальным - в любом уроке для начинающих дают синтаксис списка, и тут же методы для работы с этими объектами. И ребенок долго не понимает, чего от него хотят.

Поэтому, при всей правде, что здесь высказали про паскаль, он всё-таки лучше.

Чем лучше? Препод и вы не объяснили ребёнку, чем написание алгоритма отличается от применения готовых функций (которых при желании можно и в паскале найти). С таким же успехом вашему ребёнку не нужно программирование, потому что уже есть готовые программы, не нужна математика, потому что есть калькуляторы, не нужны языки, потому что есть переводчики и спеллчекеры... Но это так не работает. Язык сам за себя никого учить не будет. Если препод так себе препод... какая разница чему он не научит вашего ребёнка?

не волнуйтесь, всё ему со временем объяснили. Речь о том, что питон такой язык, в котором практически нет смысла учить голому языку. И поэтому даже статьи для самых маленьких начинаются с того, что вот вам список, а вот его метод sort(). И это логично и правильно для питона. Его так и надо учить. Взрослые люди, которые не собираются становиться программистами, читают эти статьи для начинающих и загоняют свои таблицы в pandas и довольны жизнью.

Загуглите сортировку для паскаля - получите алгоритм, загуглите сортировку для питона, получите метод .sort()

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

можно. всё равно вы только сами с собой разговариваете.

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

Что такое список, спокойно объясняют второклассникам за одно занятие в рамках языка Лого. Это гораздо более простая фундаментально вещь, чем массив. Вы как-то совсем со странных позиций критикуете Питон.

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

Чего-то про школьное программирование на бумажке вспомнилось: в школе дважды писал прогу в тетради, - один раз змейка на бейсике, другой - какой-то графический редактор на Паскале. Удивительное ощущение было, когда переносишь в среду и оно работает. А в змейка потом еще на уроках игрались - вообще агонь 😁

Буду судить по себе.

В своё время очень помогла мотивация в написании карт с различными сценариями для одной игры на lua.
Позже написание плагинов на PHP для форума по этой же игре.
Там же освоил основы Apache2 (Denver), Linux. И все это в школьное время.

КМК текущая популярность майнкрафтов и роблоксов может так же сыграть роль мотиваторов в освоение навыков основ программирования.

Мельком пролистал все комментарии, но так и не понял, зачем всем детям страны преподавать навыки программирования. Почему не навыки качественного выращивания помидоров? Когда готовить рассаду, нужно ли удобрять, и чем, когда высаживать в грунт, в тенёк или на солнце, как близко друг к другу, как часто поливать, сколько лить воды?

Почему именно программирование было выбрано умением, которым должны владеть все люди в стране?

За это же количество учебных часов, мне кажется, можно учить детей делать хороший кофе: разбираться в сортах, в отличии разного помола, вот это вот всё. Почему мы заботимся о детях, которые выберут профессию программиста, но не заботимся о тех, кто станет баристами (н люблю несклоняемые слова)?

А ещё можно обучать детей делать обувь. Там столько нюансов! Плюсом то, что они потом смогут выбирать себе обувь не просто по цене и внешнему виду.

Или можно всех обучать массажу. Вот уж что точно пригодится близким.

Школа не для того. чтобы обучиться всему, а школа чтобы понять, ещё до поступления в ВУЗ, осилишь ли ты это, или лучше выбрать профессию по плечу.

Так почему же выбор пал на программирование? Если человек хочет стать автомехаником, школа не должна дать ему понять, осилит ли он это?

Я-то не призываю всему учить, я спрашиваю, почему чему-то всё же учат, как это выбрали?

по-хорошему, должна. например, я учился в сельской школе, и к моменту выпуска мог вспахать поле, перебрать трактор или управлять комбайном. Школа при заводе может на уроках труда обучать работе на токарке и тп. И это норм, я считаю. Кто-то останется и прямо со школьной скамьи пойдет на завод/в поле.

А вы на биологии ничего не проходили и не выращивали? Вроде с этим никогда ещё не было в школе проблем при достаточной квалификации учителя. С физикой и химией сложнее, там материальная база нужна для демонстрации опытов.

Ну а про информатику лучше всех сказал Ершов: Программирование – вторая грамотность. Сегодня хочешь-нехочешь, а придётся хотя бы таблицы и рассчёты базово освоить, чтобы вести семейный бюджет, либо считать сколько баристе какого кофе купить чтобы не сесть в лужу. А про серьёзное земледелие или даже молочку вас вообще ждёт много сюрпризов (одни только офигительные таблицы выплат людям за сданное молоко в соответствии с его жирностью, ежемесячно меняющимися тарифными сетками и прочими параметрами заставят некоторых "преподавателей информатики" уйти в запой)

Ничего не выращивали, как я помню. А из того, что проходили — всякие классификации, кто там двудольный, кто парнокопытный, ещё что-то из генетики было, аллели всякие. Но практических навыков нам не давали, типа на какую глубину рыхлить землю. Лично для меня программирование — это из таких навыков.

Неужели подсчёт домашнего бюджета каждый программирует себе сам? Надо опросить знакомых. Мне кажется, из них даже не каждый десятый вообще ведёт учёт. А так, лично у меня в банковском приложении есть графики по категориям. Но я всё же написал себе свой учёт :)

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

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

А те кто пойдёт дальше будет автоматизировать теплицы (это всё ещё не программист!) и снимать помидорки килотоннами, заказывая обувь по 3D-модельке которую не нужно месяц разнашивать до кровавых мозолей

Тут была когда-то статья про мега-нано-айти-теплицы - судя по статье, вроде бы, дела у них всех не очень.

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

ИИ, стартапы и "Все" - звучит надёжно, настолько надёжно что можно даже не проверять. Пойду скажу чувакам работающим в теплицах, что им пора разоряться. Но если у них не ИИ, то не пора? Или как это работает? А если у них не стартап? А если не паскаль?

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

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

Предметы в школе представляют собой некий паритет интересов, причем не всегда интересов школьников. Если вы хотите заменить/поменять информатику, то вам вполне могут ее заменить религией или чем-то подобным, но вы вряд ли сможете заменить ее "основами искусства бариста". Желающих включить какой-нибудь нужный предмет предостаточно. Даже в сравнительно независимый мфти ввели китайский язык по чистой глупости, а введение чего-то "полезного" в школах - это всегда хорошее предложение, для демонстрации "эффективности образования", как говорят, лучшее - враг хорошего.

Программистами тоже работает даже не процент населения, но учат всех. Мне кажется, людей с дачами и деревнями наберётся побольше. Важнее уметь выращивать еду, чем писать программы. Сейчас даже ноутбук не в каждой семье, а уж тем более десктоп. Одного только времени уроков точно не хватит, чтобы разобраться до уровня понимания, а не простого копирования кода.

Пришлось учится в сельской школе, там хватает "трудового обучения", в качестве бесплатного эксплуатирования детского труда, при этом, обычно это происходит в ущерб обучения. В городских так же есть "отработки". Я бы лучше отработки запретил и вcе это фиктивное "трудовое обучение", детских травм больше, а "трудового обучения" и вообще "обучения" там на фиговый листок. Не научите вы городского ребенка за час в неделю ничему, тем более трудовому. Не может школа заниматся всем подряд. Я способен выращивать еду и много чего другого, но школьное "трудовое обучение" здесь даже рядом не стояло. Выращивать еду и работать баристой это профессиональные навыки, которые вырабатываются в процессе работы и не нужно имитировать "знание" профессиональных навыков в школе, вряд ли это выйдет, но скорее произойдет "фальсификация" обучения. Сельские ребята вполне умеют выращивать еду, они не тупые и для такой простой деятельности школа не нужна. Ну а если речь про агротехников (которых тоже много не нужно и не нужно всех превращать в агротехников), то для них, как раз нужны продвинутые курсы, может и программирование пригодится. Может в массе и не пригодится программирование в селах, но с другой стороны, сейчас в городах детей все больше и больше и "выращивать еду" им точно так же не пригодится. Ну а если это прямо нужно, то специализированные училища с урезанной программой и профессионалами преподавателями с опытом в "выращивании" гораздо лучше справятся. У меня был "опыт" учебы в разных школах и трудовое обучение было безобразно устроено. В селе принципиально трудовое обучение малоосмысленно, а в городах это как раз курсы смузи-баристов. В селах вообще достаточно отменить субботнее обучение и реальое трудовое обучение ускорится в два раза.

Имхо, не нужно из школы делать цирк, с клоунскими священниками и пьяными трудовиками. Это плохо и для школы и для священнослужителей с трудовиками и в конечном итоге для детей. У школы должна быть более четкая цель, допустим, какой-то минимальный набор знаний. Почему убирать именно программирование? Сейчас у детишек нет ноутбуков - зато "компьютеризация" сейчас везде и дальше - больше. Ну а если убирать, то почему не черчение, религию и подобные в первую очередь - ведь эти предметы вообще бесмыссленные для абсолютного большинства. Для простейших активностей, вроде баристы и сельского хозяйства и математики/физики/химии/биологии не нужно, но ведь к ним вопросов нет? И вообще, до программирования в списке бесмысленно раздутых предметов - полно. Как правило, как только пытаются улучшить один предмет, то это происходит за счет других, а результат - дети могут сдать ЕГЭ, а реальных знаний - кот наплакал. Даже на литературе (которая нужна) на прочтение такой книги, как "Тихий Дон", у обычного ребенка (если он будет читать, но, скорее всего, не будет) уйдет месяц, а то и два. В школьной программе и так хватает обманов, почему именно программирование - не очень понятно. Может быть, абстрактное программирование в школе и не нужно, но нужны какие-то веские причины, имхо.

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

"выращивать еду" им точно так же не пригодится

Сейчас такие времена, что лучше уж самим выращивать.
А ну как родители состарятся и не смогут копаться на грядке, как нынешним детям или даже тем, кто постарше, заниматься огородом? Лично я не знаю, в какой месяц сажают капусту, а в какой — помидоры; что нужно в теплицу, а что на открытую грядку; когда поливать, когда окучивать.

у детишек нет ноутбуков - зато "компьютеризация" сейчас везде и дальше - больше

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

С литературой есть беда, согласен. Я встречал людей, которые кичились тем, что за всю жизнь не прочитали ни одной книги. Подозреваю, знание родного языка у них на уровне "пишу как слышу", что в будущем может отразиться на однородности общества. Не знаю, два месяца на чтение — это много? Я с октября 2022 одну книжку читаю… Правда, за это же время успел прочитать 4 других и множество мелких рассказов, которые входят в 5-ю книгу. Раньше я принципиально читал только одну книигу за раз, даже если она скучная, но в какой-то момент завёл правило, что можно читать несколько книг, если они разных типов: учебник, историческая литература, художественная, научпоп, книга на английском.

в какой месяц сажают капусту, а в какой — помидоры; что нужно в теплицу, а что на открытую грядку; когда поливать, когда окучивать

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

Я только за то, чтобы детям преподавали типовые элементы интерфейса ... Я не против информатики и знакомства с компьютером.

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

два месяца на чтение — это много

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

встречал людей, которые кичились тем, что за всю жизнь не прочитали ни одной книги.

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

Я вообще не вижу смысла в обучению программированию в школе кроме совсем азов.

В школе надо дать:

  • базовый офис

  • инет + основы безопасности

  • небольшие задачки на алгоритмы

Изучать язык ... как по мне выхлоп почти нулевой. Но если учить, что-то примитивное типа Pascal либо те же макросы в "офисе". Желающим детальнее - есть факультативные занятия

А для чего базовый офис?

Но если учить, что-то примитивное типа Pascal

Паскаль старенький дедушка, но почему "примитивное", тем более, если мы говорим об изучении основ и в рамках школьной программы?

Тоже никогда не понимал, зачем нам в школе давали задания по paint и MS office. Сейчас я думаю, что так делают из-за устаревшей программы. Раньше, когда дети с компьютерами совсем знакомы не были, может быть обучение офису и было актуально, сейчас любой, кому надо сам может его изучить.

Ну смотрите. Офис даже в школьном обучении - нужная вещь. Дальше больше. Рефераты, курсовые, дипломные. Т.е. это банальный инструмент, который стоит знать.

Конечно все можно выучить самому. Но это же школа, тут то проще потратить Х часов и дать основы. Иначе - так к любому вопросу можно подойти. Чего вообще в школу ходить, все ж есть - можно все самому

Конечно все можно выучить самому. Но это же школа,

Я бы сказал да, если бы на это не тратилось время, которое можно потратить на изучение чего-то более фундаментального в области информатики. Офис же спокойно можно осилить в момент написания первого доклада/реферата/курсовой

Ну да, 99% людей информатика больше будет полезна в жизни, чем офис :)

Ребята, среди пользователей ПК програмистов пара процентов. А вот офисные программы используются еще огромным числом ролей, даже если брать только работу :)

Ну да, 99% людей информатика больше будет полезна в жизни, чем офис :)

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

Ну вот мой вопрос к офису собственно и был связан с этим подходом.

---

Просто как-то странно и не соотносится с другими школьными предметами.

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

Когда мы изучаем химию, мы учим не как мет варить, а изучаем какие-то уравнения реакций.

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

И так относительно всех предметов.

Кроме разве что уроков труда. Мы там весело работали на станках и пилили. Это более-менее в будущие рабочие навыки перетекает, да.

---

Казалось бы, информатику логично было бы в этой общей логике рассматривать как основы computer science для школ. И ожидания строить соответствующие.

Странно, что мы воспринимаем этот предмет не как абсолютно все остальные предметы в школьной программе, а как такой вот урок труда с компухтером вместо станка.

И рассуждаем про то, что "ну надо ворд преподавать, ворд в офисе понадобится, а, собственно, саму науку информатику на предмете с этим названием, преподавать не нужно - она же нужна только тем, кому информатика в профессии понадобится".

---

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

Я думаю, так как тут сайт ИТ-шников, имеет место банальная проф. деформация. Для нас Computer Science - язык программирования. Для 99% остального мира (а школа - это про всех), это базовые навыки общения с компом

На примере математики - в школе изучается примитив и азы, так же как и физика.

Как раз я бы рассматривал именно как ИТ урок труда, спасибо за аналогию

Лучше бы на лабораторках учили работать паяльником, потому что вуз тоже этому не учит, будто дети уже умеют, приходя туда.

Не понятно, где брать практические навыки. А ведь многое из теории проверяется практикой. В теории, если цепь не замкнута, то ток не течёт. Значит, можно брать руками один любой провод?

имхо, офис (любой) нужно давать гораздо раньше "информатики", классе в 5-6. Возможно, в рамках "окружающего мира" (или как там сейчас называется бывшее Природоведенье)

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

Если школа неспециализированная, в программисты уходят (по крайней мере раньше уходили) единицы, может 1%. Реально, большинству достаточно просто знакомства с программированием.
Мы же не удивляемся, почему в химии счас все упрощено до растворения пов. соли/медного купороса, реакциям цинка с серной и соляной кислотой. И то, часто нет реактивов и это показывают на экране. Хотя можно было бы проводить интересные неорганические и органические синтезы, давать серьезную аналитику - все то, что в промышленности.
Почему? А потому что в химики уйдет даже менее 1%. Так зачем же на информатике давать актуальное "промышленное" программирование? Не для того оно... Вот получается, Паскаль это цинк в соляную кислоту.
В школе все подряд и для всех сразу не охватить. Что, в общем-то, проблема всего человечества, связанная с экспоненциальноподобным накоплением знаний, уже превышающих способности среднестатистического человека даже поверхностно ознакомиться и запомнить.

Я лично склоняюсь к тому, чтобы вернули систему профилей в старших классах. Детей нужно профориентировать раньше (конечно, кто хочет) и предоставлять возможность учиться по углубленной программе в области их максимальных интересов. А до момента профориентации давать предметы в ознакомительном варианте, как обычно.
Я сам так учился, возможно, даже получил больше знаний, находясь в профильном классе лицея (8+ часов химии в неделю, организованных по вузовскому распорядку и программе), чем далее, в уже увядшем университете (вузы - это отдельная проблема, которая становится все страшнее).
Конечно, со школьной профильной системой есть свои недостатки, но мне кажется это работало.

Меня скорее бесило не то, что мы офис изучаем, а то сколько мы тратим на это времени. Вот сколько помню уроки информатики, столько помню и офис. Что самое смешное, после школы в ВУЗе у нас опять были лабораторные по ворду. Если на офис и стоит тратить время, то уроков 4-8, не больше.

Согласен. Во времена ковида и удаленки оказалось, что ПК в каком либо виде есть далеко не у всех. Притом это касалось и не бедных семей. Зачастую дети пользовались планшетами и ещё чаще телефонами. Если был ноутбук, то часто это был очень старый ноутбук и скорее всего на нем родители работали.

Сейчас дети тоже практически с компьютерами не знакомы. Не у всех вообще дома есть что-то с нормальной клавиатурой.

Все мой знания по программированию базируется нам том, что я застал советские компьютеры классе в 5 наверно. Уже в старших классах. учительница случайно дала задания для последнего, года - 5 минут из которых 4 заменить команды бейсика, на команды паскаля.

С точки зрения базового обучения как на взгляд не программиста по-моему вообще без разницы - хоть специальный учебный язык делай. Та же привязка к Бейсику меня сейчас больше склоняет ко всяким извращениям вроде Bascom AVR...

С точки зрения что навыки именно программирования не нужны в информатике - у тогда и математику убрать, "баристе" из примера выше, тоже уравнения не нужны... сложить, умножить и норм.

Перешёл в преподавании на Python, как только появилась возможность (уже почти десять лет назад), возвращаться назад нет ни малейшего желания. Хорошо бы, конечно, что-то современное типизированное вроде C# или Java, но детям заходит намного сложнее Пайтона.

Аргументы за Пайтон против Паскаля:

1) В каком-то базовом виде можно запустить на чём угодно, в любой операционной системе, включая мобильные. Да хоть из браузера. PascalABC.NET - нормально только в винде.

2) Намного менее многословный, это важно для детей, которые медленно работают на клавиатуре, и это важно при работе с тачскрина.

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

типизированное вроде C# или Java

Совершенно не понимаю, что вам мешает использовать груви или котлин? Там есть все тоже самое, и там нет тех заморочек с синтаксисом, т.е. простейшая программа выглядит как:

println("Hello, world")

и все.

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

Вы хотите сказать, что для питона все это есть? Что методички нужны - я согласен. Просто вы же сами завели разговор про Java или C# - так с ними будет та же картина, и при этом синтаксис для груви и котлина намного, намного лаконичнее.

Вы хотите сказать, что для питона все это есть?

Стех пор, как люди изобрели книгопечатание, отсутствие методичек не является нерешаемой проблемой. Книги в стиле "Питон для самых маленьких" кто-то же написал. Значит, и про groovy сможет. Нужно только..

Да, для Пайтона это всё есть в огромном количестве. Для C# есть как минимум старая майкрософтовская книжка для школьников, материалы на Метаните достаточно неплохие, есть шикарный курс ulearn.me для особо продвинутых, много материалов на ютьюбе. С джавой хз, давно не интересовался, но учитывая возраст языка и популярность, скорее всего, тоже много чего есть. В любом случае, как показала практика, Пайтон резко снижает когнитивную нагрузку и позволяет думать в первую очередь о задаче, а не о борьбе с компилятором, несмотря на все минусы динамической типизации (это обобщённая позиция продвинутых школьников, которые познакомились с двумя-тремя языками).

Если стоит цель не просто провести уроки информатики, но и подготовить к ЕГЭ, то тут лучше Питон. Так в РФ сложилось, что ЕГЭ на Питон решать проще. Ну и опять же специфика проведения самого ЕГЭ. Там спускают список языков который должен быть на ПК. Шансы того, что что-то кроме Питона было нормально установлено кратно уменьшается с уменьшением популярности ЯП. Конечно же можно встать в позу и пойти в резервный день... Но по мне так проще не создавать себе и детям проблем и учить на Питоне решать задачи.
Хотя я сам считаю, что лучше Паскаля базовые конструкции языка программирования никто не покажет.

Ну, с практической точки зрения я с вами согласен. Если перед нами стоит такая цель, как сдать этот экзамен - то надо и готовиться к этой цели, в идеале - чтобы сдача была самой простой. То есть, идем по самому типичному пути.

Но тут изначально началось с утверждения:

Хорошо бы, конечно, что-то современное типизированное вроде C# или Java, 

потому я и спросил, раз уж кто-то готов учить C# и Java, то почему вместо них не учить более простым и удобным языкам на тех же платформах, которые вполне имеются? Причем в тоже время это ведь и языки, широко применяемые практически - котлин это на сегодня вообще весь андроид, а груви - это много разного девопса. Я согласен, что этот подход не совсем укладывается в идеологию ЕГЭ, но это как по мне, проблемы ЕГЭ, а не подхода.

Согласен. У ЕГЭ по информатике есть проблемы, но тенденций к их решению не видится. Хотя вот изменения которые были привнесены вместе с переходом на компьютерную форму сдачи всё же были положительными, как я вижу для себя.
По крайней мере переход от оценкой человеком программы которую написал школьник к изменению задания, так что нужно написать программу и получить ответ за разумное время мне кажется более правильным.

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

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

Ну, осталось определить одну мелочь - все по чуть-чуть должно же на сегодня включать умение решать задачи по математике? Если таки да, то не вижу особых причин, почему не должно включать и умение немного попрограммировать? Профессионально программировать? Скорее нет, чем да. Написать макрос для Excel, Blender, AutoCAD? Cкорее да, чем нет. Написать SQL запрос? Может и не помешало бы. Хорошо бы иметь тот самый широкий кругозор, который позволяет понять, что вот эту операцию можно запрограммировать, если изучить некий API или язык - кругозор, который дает понимание сложности изучения нового языка, понимание что это вовсе не что-то запредельное, и языки можно знать десятками, на уровне пригодном для применения.

А дальше возникает простой вопрос, не имеющий ответа - сколько времени мы готовы уделить обучению этим вещам, и кто будет учить?

все по чуть-чуть должно же на сегодня включать умение решать задачи по математике?

Математика нужна чтобы выработать абстрактное мышление. И для этого математику нужно освоить в довольно большом объеме. Прикладные аспекты математики, в которых входит и программирование не так уж и важны для средних школ. Немножко, конечно можно и нужно. Но именно что немножко.

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

Мда. Попробовал порешать ОГЭ - ничего сложного, естественно всякие там презентации я не делал, нафиг надо, да и код для черепахи не писал. Попробовал порешать ЕГЭ - потратил 50 минут на первые 17 заданий, в основном на них требовалось решать что-то в экселе, заткнулся на 18й https://inf-ege.sdamgia.ru/problem?id=33763 - это уже вполне комбинаторная проблема, которую чтобы решить, надо во-первых код писать, а во-вторых он должен быть хоть немного эффективным, а то не досчитает.
PS: ещё и три ошибки допустил. Обидно.

Технически да, а что в программе - ХЗ. Документ для поиска подстроки прилетел в формате doc (!), таблицы с данными - в xlsx (хотя бы), а на чем учат работать учеников - может различаться. У меня на компе LibreOffice стоит, в нем всё прекрасно открылось и позволило набирать необходимые формулы в таблице, чтобы решить задания, а то что ответ не сошелся - дык может руки кривые, я с формулами работаю раз-два в год и естественно наизусть не помню синтаксис (который ещё и различается между MSO и Libre).

в программе прошлого года на выбор - ms office, libre office. вроде еще какой-то был. но уже не помню.

На выбор - LibreOffice, OpenOffice, MS. Но что интересно, везде рекомендуют отказаться от MS, но шаблоны отчётов в школы министерство до сих пор спускает в docx/xlsx со скриптами.

еще в прошлом году можно было проломить стену этого задания на С, на котором задача в лоб выполнялась минут 10 (на питоне - пару суток), но уже в этом году то ли С запретили в этом задании, то ли поменяли условие так, что она в лоб и на С сутки решается.

Эту задачу, кстати, тут совсем недавно обсуждали в другой теме, только там, по-моему, более жизненно было - по доске жук ползал и монеты собирал.

Вы правы, всё обсуждение ЯП для школы явно не опирается на ФГОС - поэтому это скорее обсуждение на тему как оно должно быть, а не как есть сейчас, и как выкручиваться преподавателям информатики в школах сейчас. Мне удалось застать более ранние времена (до ЕГЭ), когда свободы в обучении информатике было куда больше, и ещё повезло с преподавателями (даже в средней школе учительша физики, что вела и информатику - хорошо вела оба предмета). И сам тоже преподавал, позже, информатику, свободно и с практической стороны.

Поэтому я ратую за кардинальный пересмотр школьной программы по информатике. И начинать изучать её нужно чуть ли не с начальных классов - ну с 5-го то уж точно, хотя я бы с 3-го уже начал, сейчас дети куда более подкованные в работе с компьютерами, есть школы - где начинают работу с компьютерами на каждом уроке уже с первых классов (хотя информатика появляется конечно позже)!

Просто для вся программа информатики должна выстраиваться поэтапно - как минимум 3-4 этапа с 3(5) по 11(а лучше по 12 класс, при 12 летнем же обучении - а не при 10 летнем как в некоторых классах, где в школу идут с 7 лет и пропускают 4-ый класс). И на каждом этапе нужно учить по-разному и в разных средах:

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

  2. Для школьников чуть постарше подойдёт что-то типа Кумир (хотя сам Кумир мне не понравился) - нужен простой текстовый ЯП опять же крайне желательно на русском языке (но с поддержкой и латинского синтаксиса), с очень хорошо продуманной простой IDE, графической средой и мощной библиотекой классов. Тут надо продолжать игровую форму - но уже ближе к реальному программированию - должен быть плавный переход от визуального программирования к текстовому - но всё ещё с обширным использованием готовых решений, которые будут расширяться и дорабатываться.
    Вот тут уже стоит начинать потихоньку давать теорию алгоритмов, булево алгебру и т.п. И да - видимо это должна быть задачей именно преподавателей информатики, а не математики (хотя преподаватели могут легко совмещать в средней школе эти профессии, особенно с их "любовью" работать на две ставки)

  3. Ближе к 9-ым классам нужно уже переходить к чему-то более серьёзному - но с ФГОС я полностью не согласен. Даже если выбирать тут Python в качестве ЯП для изучения программирования. Тут программа обучения уже может сильно расходится в зависимости от углублённости школы (или класса) - одно дело гуманитарное углубление, другое - уклоном в информатику. Так же тут должны активно продвигаться факультативные занятия по информатике, где можно как изучать что-то более практическое, чем чисто теорию алгоритмов, например какое-то инструментальное ПО, или WEB-дизайн. Так и наоборот - что-то более интересное - программирование игр на готовых движках (конечно не с нуля). Но не на факультативах нужен какой-то простой ЯП для удобства разбора теории алгоритмов, без широкой подборки библиотек. Но с простым синтаксисом без побочных эффектов, и, как я считаю, без строгой типизации. Но при этом, похожий на профессиональные ЯП - чтобы переучиваться с него потом было не сложно.

  4. Это уж старшие классы (10-12 в моей модели). Вот тут уже можно переходить на популярные ЯП. И углубляться в теорию написания практических программ. Но только не C/C++/Rust и т.п. - для школьников даже углублённых в информатику школ - это слишком сложно (хотя на факультативах - можно). Хотя я бы в основной программе всё-таки тут стал давать уже теорию СУБД (и на практике у меня так и было).

Ещё одно важное замечание. В России Информатика в ЕГЭ это экзамен по выбору (хоть я и считаю что это должен быть обязательный экзамен для будущих поколений). Пока я считаю, что все предметы с необязательными экзаменами на нужно требовать изучать в основной программе так глубоко, чтобы этого было достаточно для сдачи таких экзаменов для всех школ (или классов), где этот предмет не является основным / углублённым для изучения априори. То есть, ту же информатику "не надо" изучать на в стандартной школьной программе так, чтобы ученики сразу могли сдавать такой экзамен в обычной школе и в обычном классе. Безусловно вся необходимая теория должна быть в учебниках, и как минимум упомянута преподавателем (в старших классах), но всё же для успешной сдачи такого экзамена нужно ученику приложить и не мало своих усилий. Вот тут обязательно должны быть факультативные занятия (в той же школе, и в другой - по партнёрской программе, НУ ИЛИ ШКОЛА ОФИЦИАЛЬНО ДОЛЖНА ИМЕТЬ СТАТУС, КАК НЕ СПОСОБНАЯ ПОДГОТОВИТЬ К СДАЧЕ ТАКОГО ЭКЗАМЕНА - и этот недостаток должны стремиться устранить). Вот с факультативом уже должны быть высокие шансы сдать экзамен ЕГЭ по информатике. Но опять же - если это не углублённый класс/школа - то 100% гарантий высоких балов никто не обязан давать - это необязательный экзамен, так что тут школьник пусть сам оценивает свои силы.

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

Вот такое моё мнение. Человека, прошедшего через правильное обучение информатике (в обычных школах), и самого преподававшего информатику в школе в старших классах

Но это всего лишь мечты.... увы в России это всё несбыточно в ближайшей перспективе! Ну учат в школах Питону - и на том спасибо!

P.S.

Кстати, небольшой офтопик, помимо того, что я разрабатываю ЯП Kotlin для .NET я ещё и разрабатываю C# на русском (проект RUSlyn) - что, считаю, будет интересной альтернативой для обучения в школе. Но прошу не начинать холивор насчёт того, что программировать надо только на латинице - для школьников это спорный вопрос, но даже я буду на стороне тех, кто ратует строго за латиницу - во такой вот я противоречивый в этом плане!

очень благие намерения. Осталось найти преподавателей на всё это. У нас в не самом маленьком городе в школах некомплект до 50% преподов. В некоторых школах может не быть биологии, географии. Просто потому, что за 20-25тыс (включая классное руководства) этот зверинец вынесут немногие.

Потому что надо вводить профильное образование уже с 9-12 лет, тогда надо будет меньше учителей => у них будет больше з/п.

За последний год в школьную программу добавилось 2 предмета (ну или называйте это как хотите): "Россия - мои горизонты" и "Разговоры о важном". Да. Они по 1 часу в неделю. Но за год суммарно это 64 часа. Столько же сколько и какой нибудь физики. А часов в сутках не увеличилось.

Так я как раз за то, чтобы количество изучаемых предметов сократить!

в РФ даже близко нет общественного запроса на реформы в образовании. Большинство уверено, что у нас оно самое лучшее в мире и только вот ЕГЭ всё портит. Ну может ещё задают слишком много на дом, а в остальном всё отлично. Но президент уже об этом думает и чиновники вот регулярно говорят, что неплохо бы ЕГЭ отменить и вернуть старую систему, а некоторые прогрессивные вообще об отмене домашки говорят.
Я хочу сказать, что некому банально задаться вопросом, а что у нас с образованием то происходит?

в РФ даже близко нет общественного запроса на реформы в образовании

С этим не спорю.

Большинство уверено, что у нас оно самое лучшее в мире и только вот ЕГЭ всё портит

Я бы сказал, что и не худшее. Количество победителей разных мировых олимпиад по разным предметам подтверждает.

неплохо бы ЕГЭ отменить и вернуть старую систему

Кстати, я не вижу ничего плохого в самом ЕГЭ как таковом. Там основная проблема в запросе общества на "корочку", а не на знания. А это уже реформой только образования не лечится.

а некоторые прогрессивные вообще об отмене домашки говорят

Я категорически против! Только при самостоятельной работе происходит глубокое усвоение знаний.

Я хочу сказать, что некому банально задаться вопросом, а что у нас с образованием то происходит?

Да ладно, там статья про проблемы образования в топ Хабра за 2023 год вышла.

Я смотрю изнутри системы образования. Конечно есть отдельные люди вопиющие в пустоту, но толку если подавляющее большинство не слышит и не видит? Про то же ЕГЭ тьма размышлений в духе - оно всё испортило и единицы тех, кто его защищает.

А что до победителей олимпиад, то тут я хочу сказать, что большая заслуга в спец школах. Хороший пример был в РФ со студенческой олимпиадой, когда приехали из-за границы чисто по фану студенческие команды, а в РФ собрались проф. спортсмены. РФ то конечно победила всех, но что это дало массовому спорту? Ничего.
Точно так же победители олимпиад из Московской математической школы ровным счётом ничего не говорят об уровне математического образования в стране.

В целом согласен.

В России действительно великолепное образование по сравнению с Болгарией например. А у нас оно строго по стандартам ЕС. Просто вы не цените то что имеете. И да, если отменить ЕГЭ, дела только улучшатся.

Не строго... магистратуру уже стали отменять - 5-6 лет в России будут учить Бакалавров - пока ещё не везде но тенденция начинается - в России давно хотят отменить болонскую систему - видимо цель одна чтобы российские выпускники не котировались на западе - и им приходилось заново до обучаться за валюту в уже в иностранных государствах - что по идеи должно сильно снизить интеллектуальную трудовую миграцию из страны - как на деле будет не знаю - по идеи действительно умные студенты ещё на первых курсах должны прочухать этот нае...он и постараться перейти в иностранный вуз ещё задолго до окончания обучения - но да - это будет всё-равно сложнее, чем ранее! Ну а родителям нужно ещё лучше готовить будущее своих детей и стараться сразу их пристраивать в иностранные учебные заведения - ну если они конечно не долбо... патриоты и не видят будущее своих гениальных чад в оборонных КБ России!

чтобы российские выпускники не котировались на западе

Но, при этом гордо заявлять "НАШ кандидат наук = ихнему доктору философии".

ИМХО - преподавать в скором времени будет искусственный интеллект - люди нужны будут лишь как кураторы учеников и как надзиратели над машинами

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

Пока ЕГЭ предполагает именно классический код, такие вещи не покатят в школе. А так, да, языки типа Scratch - проще в плане понимания основ. Мы с code.org в некоторых классах играемся, нормально заходит.

Для выбора языка мы должны определиться чему мы хотим научить детей

В современном мире нужно учить 4 вещам:


1. Сбор информации
2. Её осмысление, фильтрация
3. Структурирование информации для использования
4. Использование полученной информации на практике


Но это по верхам, в плане программирования есть как минимум 2 пути - либо мы учим тех, кто на прикладном уровне пользуется компьютером (так делает 99% людей), тогда мы можем познакомить их с питоном, чтобы они могли писать простые скрипты для автоматизации ежедневных задач. Хотя если дать им основы С, то они также смогут применить их потом в питоне

Либо мы учим именно программистов, которые должны понимать что делают - тогда я не вижу выбора кроме С++ (начиная с основ С). Я бы запретил на ЕГЭ использовать не С++, если честно. Потому что так люди будут в более равных условиях, а пришли на ЕГЭ очевидно заинтересованные люди, им точно эти знания пригодятся

Питон и похожие на него языки просто как будто запрещают людям понимать что они делают - это моё мнение из практики. Нельзя давать это первым языком

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

Я всем рекомендую начинать программирование с Delphi, т.к. это самый быстрый способ сразу одновременно въехать в ООП, пока знакомишься с алгоритмами и структурами.

В пользу этого, конечно, говорит холодная статистика. И да, оправдывается и ищет поддержки. Про заботу о будущем детей, образования - речи нет

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

На счет начинать тут я не знаю.

В Delphi мне нравится полноценная IDE, с которой новичку будет довольно просто разобраться. Если сравнивать с тем же Python, где приходится работать в консоли, Delphi будет намного более дружелюбна и привычна обычному пользователю.

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

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

Я прекрасно понимаю, что в текущей школьной реальности это работать не будет. Однако не могу себе отказать в удовольствии помечтать.

Если восьмиклассник хочет сделать автоматизированную поилку для хомячка и подключить ее к умному дому

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

То что вы предлагаете - это скорее формат для кружка. И не для всех.

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

Правильно - не для всех. Только для тех, кто выберет проект по информатике в качестве факультатива. Кто-то физкультуру выберет, как факультатив. Кто-то обществознание.

В проектной работе уровень результата определяется соответствием продукта требованиям. Тут учителя, я думаю, хорошо справятся.

Учитель? А сам-то он откуда знает, как автопоилку подключать к умному дому? Может я ошибаюсь, но я исхожу из того, что учителя в массе никогда сами не программировали, и соответственно научить этому не могут. То есть, чтобы вести такие факультативные проекты, нужны люди несколько другого уровня. А откуда они возьмутся в массовом количестве - мне непонятно.

Впрочем, доказать я этого конечно не могу, ну просто я смотрю на это скорее с пессимизмом.

Возможно в базовую программу это не уместить, но для допов можно использовать Оберон. Например, в формате BlackBox от Ткачёва, который он давал в троицком Байтике.

Из личного. Полностью согласен с автором. Помимо основной работы занимаюсь с детьми как "преподаватель" уже два года. Мне нравится, как детям не знаю ). Занимаюсь с Lego конструкторами WeDo, это отсылка к отечественным разработкам. Дети и родители выбирают то что есть массово на рынке и есть материал по которому можно работать, строить, обучать. Дополнительно Scratch, тут уже детям не так интересна сама программа и ее написание, интересует результат.

И еще пытаюсь учить Phyton. Тут вообще пропасть над желанием родителей и детьми. Возраст 8-13 лет (по возрасту никого не выгоняю). Программа по питону рассчитана на год, циклы, сортировка, массивы и т.п. - уже немного адаптирована к школе, но детям этого не надо (в основном, да всегда что я вру-то, на программирование приводят родители) их надо заинтересовать, а за 1 урок в неделю по стандартным программам это невозможно. Последний случай: мама приводит ребенка на программирование, дома есть ПК, но его к нему не допускали, есть же планшет, смартфон. А он банально не знает как работать с мышкой, не то чтобы с клавиатурой. И первые 2-3 урока проходят в написании простой фразы, команды и рассказом что у мышки левая и правая клавиша. По питону пока провел только тестовые занятия 2 месяца, но не вижу перспектив для себя в этом направлении. Если кто подскажет как заинтересовать детей буду рад это увидеть.

Тоже уже 5 лет играемся с малышней с WeDo вторым. Интерес есть, пока идём по комплектным инструкциям. Как только даю посложнее задачи - начинают "отпадать" ученики.

У старших WeDo не заходит совсем (слишком "детский" для тех же 7-8 классов). Из Lego gj; это дело пойдёт LEGO Mindstorms EV3, но сейчас его в школу не купить.

В плане интереса - вполне нормально идёт простейший web на связке PHP/HTML/CSS. В прошлом году у меня 9-классник в качестве выпускного проекта писал интерфейс управления расписанием звонков, например. Хорошо, когда есть наглядный результат (интерфейс как минимум). Python в том числе этим не нравится - нет наглядности в процессе работы.

В статье и в обсуждении забыли упомянуть самое главное - на какой технике (компьютерах) будут изучаться Паскали, Питоны, Бейсики и т.п. ЯП. В школах сейчас в кабинетах информатики (если таковые есть в школах) стоят настолько древние пк, что что-то современное там запустить будет очень сложно. И учеников бывает по 4-5 на 1 пк. Это про сельские школы - про городские ничего сказать не могу.

А про домашние пк лучше не спрашивать - или дома нет пк или это что-то такое же древнее.

Ну, как мне кажется, проблема в целом в образовании. Вот помню я в школе максимум что делал на Pascal - рисовал по точкам. В то время мой нынешний одногруппник изучал многомерные массивы где-то в классе 7-8, все благодаря его учителю, что любил объяснять детям и доносить информацию, а также водил их на разные конкурсы/олимпиады где они участвовали. И естественно он знает больше меня, ведь у него уже а детства есть та самая база, и ему легче разбираться в других языках.

Ладно это, я не жалуюсь. Но этот же Pascal мы изучали на 2 курсе как профильный предмет! И потом начали изучать Delphi 7(да, именно 7-ю версию). Спрашивается, а зачем? Что мешало Pascal заменить на условный C#, а Delphi на WinForms(молчу про WPF)?

Поэтому все зависит от обстоятельств. Одно дело изучать Pascal в школе, другое изучать это профильно, ведь когда ты идёшь в ССУЗ или ВУЗ на разработчика ты хочешь получить знания которые дадут тебе в будущем работу и помогут начать карьеру.

P.s. Мы кстати ещё изучали Pascal и Python одновременно! Т.е. бывало что в один день первая пара - Алгоритмизация на Pascal, а вторая пара - лаба по Python :-)

И если подход к изучению информатики не изменится кардинально, то на первых курсах технических ВУЗов преподавателям скоро придётся учить фактически с нуля

Вообще, я не из России, а из Беларуси, но в общем-то у нас в ВУЗе как раз с нуля и учили (плюсам). До этого я учился в лицее, пусть и не специализированном, могу сказать, что тому, чему нас учили (паскаль), вообще в мозг не въедается как-то, да и зачем нам там нужны были всякие задачи на создание каких-то ходящих человечков и рисование (на паскале), я без понятия.

А так, что насчёт преподаваемого языка использовать C++? Его сишная часть как раз была нацелена на структурное программирование, что прекрасно подойдёт для объяснения всяких базовых концепций по типу циклов, а плюсплюсная часть для обучения будет хороша в плане опускания всякой устаревшей сишной лабуды, тем самым позволяя глубоко не углубляться.

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

Если что, сразу уточню, что понимаю существование всяких golang и подобного, которые будут немного "чище" плюсов, но всё же.

Моя родственница преподает много лет информатику в хорошей школе. Каждый год у нее кто-то из учеников побеждает на олимпиадах по информатике. Родственница очень хвалит Python как язык для обучения детей информатике по таким параметрам как доступность, простота и популярность. Что с этим языком легче заинтересовать ребенка информатикой и программированием

Да, ещё лет 10 и министерство образования про Котлин узнает. В целом, если спросить, какое из достижений более выдающееся, то, что Россия запустила Буран с языком ДРАКОН или то, что Гугл сделал Котлин основным языком Андроида, то первое абсолютно для человечества ничего не стоит. :-D

Ну, запустить "Буран" вопреки языку ДРАКОН - это реально подвиг.

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

Но тут стоит другой вопрос. А зачем вообще предмет информатика в школе? Что мы хотим по итогу то? Читая учебники я для себя ответа на этот вопрос не нашел.

А в Питоне из-за синтаксического сахара базовых конструкций не видно.

Никто не запрещает не использовать сахарные конструкции. Пишите на питоне как на паскале, только с отступами ;) , если хочется показать эти базовые конструкции.

О Паскале, язык вредный, не программистам он вообще не нужен, начинающие программисты дальше по инерции начинают учить Delphi, до них не сразу доходит, что они попали в ловушку и придётся на работе писать на других языках. Трятят усилия впустую. О Питоне, язык хороший, но очень не универсальный. Программистам, которые пишут на других языках, он нафиг как правило не нужен. Поэтому если уже и давать что-то, то HTML + JavaScript. Просто потому что это почти все программисты рано или поздно учат, на каждом втором проекте есть web-интерфейсы. О Котлине, от этого языка духовные скрепы становятся крепче. В качестве бонуса ещё идёт понимание android-a.

Articles