Какой язык программирования надо втюхивать в школе

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

forthuser
Senior
Posts: 165
Joined: 12 Jan 2023 07:26

Re: Какой язык программирования надо втюхивать в школе

Post by forthuser »

b2m wrote:
forthuser wrote:валюнтериским
"волюнтаристским", хотя я не уверен, что смысл слова автор понимает точно. Валюта тут точно ни при чём.
Да, немного ошибся в написании слова и не исправил волюнтаристский
Происходит от существительного волюнтаризм, далее от англ. voluntarism «волюнтаризм», от voluntary «добровольный; произвольный», из лат. voluntarius «добровольный, действующий по своей воле», далее из voluntas «воля, желание, хотение», далее из volo «хотеть, желать» (восходит к праиндоевр. *wel-/*wol- «нравиться»).
Но, если бы не этот оксюморон, то вряд ли бы Вы сколлапсировали своим откликом на выявленную ошибку словоуотребления?
b2m wrote:Что касается темы, то в школе лучше нормально преподавать русский язык, вместо языков программирования. А то дети и с одним-то языком уже не справляются.
Дети ака школьники - это, полагаю, обобщённо или замечание на мой пост? (Лол :)
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Какой язык программирования надо втюхивать в школе

Post by Lavr »

b2m wrote:...в школе лучше нормально преподавать русский язык, вместо языков программирования. А то дети и с одним-то языком уже не справляются.
Интересно, что сейчас русский язык взялись преподавать на 1 курсе ВУЗов... :-?
Очевидно, что школа и дети с одним русским языком уже не справляются... :(
И это при наличии умного Ворда! Да и интернет-средства сейчас проверяют грамотность! :roll:
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Какой язык программирования надо втюхивать в школе

Post by Shaos »

Ну т.е. мы плавно приходим к тому, что втюхивать в школе надо русский язык :lol:
Язык программирования русскоговорящих мозгов :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Какой язык программирования надо втюхивать в школе

Post by Lavr »

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

А то получится как в известном анекдоте:"Вы по-русски-то грамотно писать не научились, а уже рассуждать
о языках высокого уровня лезете!
" :lol:
iLavr
Andnor
Fanat
Posts: 80
Joined: 01 Jan 2023 11:37

Re: Какой язык программирования надо втюхивать в школе

Post by Andnor »

Shaos wrote:
Andnor wrote:Не, вопрос был именно в том что по-твоему главное, а не что разное вообще.
А я по-моему главное перечислил выше - мало? Одних бегинов и эндов уже достаточно, чтобы закопать язык раз и навсегда...
Мало. И у C тоже есть существенные недостатки по сравнению с Паскалем, которые я упоминал выше:
  • Нет строкового типа. Вместо него указатель на char и арифметика указателей, которая замаскирована синтаксическим сахаром в виде [ ].
  • Нет массивов. Только указатели.
  • Менее строгая типизация, например тип однобайтного целого не отличается от типа содержащего один символ.
  • Даже самая простейшая программа Hello World уже содержит множество малопонятных начинающему конструкций. Чтобы их объяснить нужно сразу же погрузиться в указатели и прочие интимные детали машинного кода.
  • Нет деления на функции и процедуры. На примере C очень трудно объяснить важнейшее в программирование понятие "побочного эффекта", поскольку фактически всё программирование на C состоит из побочных эффектов. Даже присваивание — это не оператор, а операция.
  • Слишком легко написать совершенно нечитаемый код вроде i += i++ + ++i;
  • Множество ситуаций где есть undefined behavior, в этом случае написанный и отлаженный на одной системе код внезапно не работает на другой.
  • Обязательность ';' везде. Не знаю, как у вас, но у меня это самая частая причина, почему только что написанная программа не компилируется. Что мешало сделать перевод строки терминатор оператора, а ; использовать только как их разделитель если несколько операторов в одной строке совершенно непонятно. В том же бейсике так и сделано, хотя символ (:) выбран неподходящий. В паскале эту точку с запятой хотя бы перед end можно не писать.
Кстати, отсутствие строкового типа — это очень существенный недостаток в современном применении, когда любой символ кроме всего лишь 97 занимает несколько байт и соответсвенно любой символ это уже не char, а string. И строки с терминатором NUL не только служат источником множества уязвимостей, но ещё и не позволяют включить в состав стороки собственно нулевой символ, а это часто нужно. И ладно, программист-то как-то с этим может и справится, например введёт собственный тип состоящий из структуры с длиной строки и собственно областью памяти под char-ы, а что делать пользователю? Например, что если нужно передать строку, содержащую нулевой символ в параметре программы?

В общем C — это язык, написанный хакерами для хакеров. Для хакерства он хорошо подходит, а вот для начального изучения программирования — очень плохо.
Lavr wrote:
Andnor wrote:Плюс его в том что функции и процедуры там отдельно, что и правильно, ибо это совершенно разные концептуально штуки, хотя и реализуемые в машинном коде похожим образом.
В этом и есть его неудобство и удалённость от естественного языка.
Это всё равно как говорить в стиле магистра Йоды:
«Должен быть назван твой страх перед тем, как прогнать его».
В машинном коде как раз всё можно делать более свободно.
Так от естественного языка или от машинного? В естественном языке математическая функция, которая по значению аргументов возвращает результат и процедура, которая что-то делает — это разные вещи.
И уж совсем я перестал уважать Паскаль, когда в него вернули оператор goto к версии 7.хх... :-?
Это просто позорище! Втюхивать людям про теорему Дейкстры, а потом вернуть оператор goto.
Это ситхи всё возводят в абсолют. Структурное программирование — это хорошо, а когда для передачи управления в высокоуровневом языке есть только goto — не очень.

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

А вот в других ситуациях лапша из goto трудночитаема. Не стоит стремиться к чистой структурности или чистой goto-ичности, главное — это читаемость и понятность кода. Обычно (почти всегда) goto её ухудшает, что собственно и заметил Дейкстра, доказав что goto не является обязательным. Но иногда в редких случаях улучшает — тогда почему бы и goto?
Я просто смеюсь, когда хвалят функции и процедуры в Паскале! Это значит, что люди не видели
как шикарно это сделано в Quick Basic 4.5...
Ничего, значит, не пробовали эти люди слаще морковки! :ebiggrin:
Ну да, давай теперь сравнивать современный язык программирования общего назначения с древним скриптоязыком для MS-DOS, куда он был включен только от безысходности... Но ради интереса, всё же, что там конкретно так тебя восхитило? Может примеры кода покажешь? А то я хоть как-то на QBasic и писал, но уже забыл всё.
Shigure
Fanat
Posts: 79
Joined: 20 Jan 2015 03:52

Re: Какой язык программирования надо втюхивать в школе

Post by Shigure »

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

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

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

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

Нужно учить не только языку и егоконструкциям, а умению переводить мысли с родного языка в код. Выбор переменных, представление задачи в виде структур данных, заранее учитываемые возможные изменения в проекте - вот, что должно быть фундаментом, а не максимальный за учебное время охват возможностей языка.
Коллекция советской ферритовой памяти www.mirebs.com
b2m
Devil
Posts: 907
Joined: 26 May 2003 06:57

Re: Какой язык программирования надо втюхивать в школе

Post by b2m »

Shaos wrote:Ну т.е. мы плавно приходим к тому, что втюхивать в школе надо русский язык :lol:
Язык программирования русскоговорящих мозгов :mrgreen:
Вот и я о том-же. Понятно, что есть некие индивидуумы, которые и в школьные годы способны освоить практически любой язык программирования. Но таких очень мало и не следует втюхивать всем программирование. Мне пришлось однажды замещать своего хорошего знакомого в школе, который преподавал информатику в 9-х классах, и я на личном опыте убедился в том, что из 40 человек в классе лишь двое-трое имеют способности (и желание) к изучению этого предмета.

Мы же не станем задаваться подобным вопросом, если возникнет прецедент освоения какого-либо языка программирования воспитанником детского сада.
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Какой язык программирования надо втюхивать в школе

Post by Lavr »

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

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

А вот когда нам очень неожиданно решили втюхать Паскаль 3.0, как "язык будущего", ситуация прозрачно
разрешилась, когда мы прослушали курс лекций и пришли на практику...
Откуда-то неожиданно свалился компьютерный класс из 10 "Ямах" с этим самым Паскалем...
Значит - если есть материальная база, очередной "язык будущего" надо учащимся втюхать! :wink:
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Какой язык программирования надо втюхивать в школе

Post by Shaos »

Andnor wrote:И у C тоже есть существенные недостатки по сравнению с Паскалем...
У си недостатков нет - если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент - учи дальше...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Andnor
Fanat
Posts: 80
Joined: 01 Jan 2023 11:37

Re: Какой язык программирования надо втюхивать в школе

Post by Andnor »

Shaos wrote:
Andnor wrote:И у C тоже есть существенные недостатки по сравнению с Паскалем...
У си недостатков нет - если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент - учи дальше...
Ну да, вместо того, чтобы прочитать аргументы, что-то ответить по пунктам просто заявить, что недостатков нет?
http://cmustdie.com/
Вот один товарищ даже целый сайт сделал
если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент
Речь идёт о школьниках, напомню.
imsushka
Maniac
Posts: 232
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Какой язык программирования надо втюхивать в школе

Post by imsushka »

Shaos wrote:
Andnor wrote:И у C тоже есть существенные недостатки по сравнению с Паскалем...
У си недостатков нет - если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент - учи дальше...
гы гы гы
у паскаля недостатков нет - если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент - учи дальше...
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

Re: Какой язык программирования надо втюхивать в школе

Post by askfind »

[1] Python (МФА: [ˈpʌɪθ(ə)n]; в русском языке встречаются названия пито́н[23] или па́йтон[24]) — высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью[25][26], ориентированный на повышение производительности разработчика, читаемости кода и его качества.

[2] Go (часто также Golang) — компилируемый многопоточный язык программирования.
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Какой язык программирования надо втюхивать в школе

Post by Lavr »

Andnor wrote: давай теперь сравнивать современный язык программирования общего назначения с древним скриптоязыком для MS-DOS, куда он был включен только от безысходности...
Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Какой язык программирования надо втюхивать в школе

Post by Lavr »

Shigure wrote:Если рассказывают про типы переменных, то наверняка будет здоровая таблица из десятка и более названий. Но, при этом, можно по-началу обойтись только целыми и дробными числами.
Ага. Вот если в языке надо всё это строго объявлять, то придётся для начала рассказать, что из себя в компьютере
представляют эти "целые" и "дробные" числа. :wink:
Тут-то у детей повянут уши и завянет весь интерес к программированию и алгоритмам. :-?
iLavr
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Какой язык программирования надо втюхивать в школе

Post by Shaos »

imsushka wrote:
Shaos wrote:
Andnor wrote:И у C тоже есть существенные недостатки по сравнению с Паскалем...
У си недостатков нет - если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент - учи дальше...
гы гы гы
у паскаля недостатков нет - если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент - учи дальше...
ну если ещё вспомнить, что паскаль как язык для серьёзной работы давно помер...
Я тут за главного - если что шлите мыло на me собака shaos точка net