nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 25 Apr 2024 21:27



Reply to topic  [ 163 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10, 11  Next
Какой язык программирования надо втюхивать в школе 
Author Message
Senior

Joined: 12 Jan 2023 07:26
Posts: 165
Reply with quote
b2m wrote:
forthuser wrote:
валюнтериским

"волюнтаристским", хотя я не уверен, что смысл слова автор понимает точно. Валюта тут точно ни при чём.

Да, немного ошибся в написании слова и не исправил волюнтаристский
Quote:
Происходит от существительного волюнтаризм, далее от англ. voluntarism «волюнтаризм», от voluntary «добровольный; произвольный», из лат. voluntarius «добровольный, действующий по своей воле», далее из voluntas «воля, желание, хотение», далее из volo «хотеть, желать» (восходит к праиндоевр. *wel-/*wol- «нравиться»).

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

Дети ака школьники - это, полагаю, обобщённо или замечание на мой пост? (Лол :)


03 Feb 2023 13:40
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
b2m wrote:
...в школе лучше нормально преподавать русский язык, вместо языков программирования. А то дети и с одним-то языком уже не справляются.

Интересно, что сейчас русский язык взялись преподавать на 1 курсе ВУЗов... :-?
Очевидно, что школа и дети с одним русским языком уже не справляются... :(
И это при наличии умного Ворда! Да и интернет-средства сейчас проверяют грамотность! :roll:

_________________
iLavr


03 Feb 2023 16:02
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Reply with quote
Ну т.е. мы плавно приходим к тому, что втюхивать в школе надо русский язык :lol:
Язык программирования русскоговорящих мозгов :mrgreen:

_________________
:dj: https://mastodon.social/@Shaos


03 Feb 2023 18:13
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Ну т.е. мы плавно приходим к тому, что втюхивать в школе надо русский язык :lol:

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

А то получится как в известном анекдоте:"Вы по-русски-то грамотно писать не научились, а уже рассуждать
о языках высокого уровня лезете!
" :lol:

_________________
iLavr


03 Feb 2023 18:59
Profile
Fanat

Joined: 01 Jan 2023 11:37
Posts: 80
Reply with quote
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:
Плюс его в том что функции и процедуры там отдельно, что и правильно, ибо это совершенно разные концептуально штуки, хотя и реализуемые в машинном коде похожим образом.

В этом и есть его неудобство и удалённость от естественного языка.
Это всё равно как говорить в стиле магистра Йоды:
«Должен быть назван твой страх перед тем, как прогнать его».
В машинном коде как раз всё можно делать более свободно.


Так от естественного языка или от машинного? В естественном языке математическая функция, которая по значению аргументов возвращает результат и процедура, которая что-то делает — это разные вещи.

Quote:
И уж совсем я перестал уважать Паскаль, когда в него вернули оператор goto к версии 7.хх... :-?
Это просто позорище! Втюхивать людям про теорему Дейкстры, а потом вернуть оператор goto.


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

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

А вот в других ситуациях лапша из goto трудночитаема. Не стоит стремиться к чистой структурности или чистой goto-ичности, главное — это читаемость и понятность кода. Обычно (почти всегда) goto её ухудшает, что собственно и заметил Дейкстра, доказав что goto не является обязательным. Но иногда в редких случаях улучшает — тогда почему бы и goto?

Quote:
Я просто смеюсь, когда хвалят функции и процедуры в Паскале! Это значит, что люди не видели
как шикарно это сделано в Quick Basic 4.5...
Ничего, значит, не пробовали эти люди слаще морковки! :ebiggrin:

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


03 Feb 2023 22:31
Profile
Fanat

Joined: 20 Jan 2015 03:52
Posts: 79
Reply with quote
Вопрос, а что считать началом изучения программирования для школьников ? Минус кучи учебников в том, что сразу даётся огромное число справочного материала. Если рассказывают про типы переменных, то наверняка будет здоровая таблица из десятка и более названий. Но, при этом, можно по-началу обойтись только целыми и дробными числами. Как минимум, до конца изучения условий, циклов, функций, массивов.

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

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

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

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

_________________
Коллекция советской ферритовой памяти www.mirebs.com


04 Feb 2023 01:13
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 863
Reply with quote
Shaos wrote:
Ну т.е. мы плавно приходим к тому, что втюхивать в школе надо русский язык :lol:
Язык программирования русскоговорящих мозгов :mrgreen:

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

Мы же не станем задаваться подобным вопросом, если возникнет прецедент освоения какого-либо языка программирования воспитанником детского сада.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


04 Feb 2023 06:07
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Мне кажется, что в школах не загоняются такими проблемами, а исходят из своих реальных возможностей.
Что есть в наличии, тому и учат...
Как-то я не наблюдаю очереди в школы талантливых программистов.

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

А вот когда нам очень неожиданно решили втюхать Паскаль 3.0, как "язык будущего", ситуация прозрачно
разрешилась, когда мы прослушали курс лекций и пришли на практику...
Откуда-то неожиданно свалился компьютерный класс из 10 "Ямах" с этим самым Паскалем...
Значит - если есть материальная база, очередной "язык будущего" надо учащимся втюхать! :wink:

_________________
iLavr


04 Feb 2023 08:37
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Reply with quote
Andnor wrote:
И у C тоже есть существенные недостатки по сравнению с Паскалем...

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

_________________
:dj: https://mastodon.social/@Shaos


04 Feb 2023 09:38
Profile WWW
Fanat

Joined: 01 Jan 2023 11:37
Posts: 80
Reply with quote
Shaos wrote:
Andnor wrote:
И у C тоже есть существенные недостатки по сравнению с Паскалем...

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

Ну да, вместо того, чтобы прочитать аргументы, что-то ответить по пунктам просто заявить, что недостатков нет?
http://cmustdie.com/
Вот один товарищ даже целый сайт сделал

Quote:
если тебе видятся недостатки в каком-то месте, то ты недостаточно изучил данный момент


Речь идёт о школьниках, напомню.


04 Feb 2023 12:04
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 172
Location: USSR, Tashkent
Reply with quote
Shaos wrote:
Andnor wrote:
И у C тоже есть существенные недостатки по сравнению с Паскалем...

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

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


04 Feb 2023 12:20
Profile
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 657
Location: Russia, S.- Peterburg
Reply with quote
[1] Python (МФА: [ˈpʌɪθ(ə)n]; в русском языке встречаются названия пито́н[23] или па́йтон[24]) — высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью[25][26], ориентированный на повышение производительности разработчика, читаемости кода и его качества.

[2] Go (часто также Golang) — компилируемый многопоточный язык программирования.


Attachments:
3667a92e986f1d10d72a24f213f9f085.png
3667a92e986f1d10d72a24f213f9f085.png [ 50.78 KiB | Viewed 1609 times ]
piton-s-nulya.jpeg
piton-s-nulya.jpeg [ 144.16 KiB | Viewed 1609 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
04 Feb 2023 13:09
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Andnor wrote:
давай теперь сравнивать современный язык программирования общего назначения с древним скриптоязыком для MS-DOS, куда он был включен только от безысходности...

Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...

_________________
iLavr


04 Feb 2023 16:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shigure wrote:
Если рассказывают про типы переменных, то наверняка будет здоровая таблица из десятка и более названий. Но, при этом, можно по-началу обойтись только целыми и дробными числами.

Ага. Вот если в языке надо всё это строго объявлять, то придётся для начала рассказать, что из себя в компьютере
представляют эти "целые" и "дробные" числа. :wink:
Тут-то у детей повянут уши и завянет весь интерес к программированию и алгоритмам. :-?

_________________
iLavr


04 Feb 2023 16:18
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Reply with quote
imsushka wrote:
Shaos wrote:
Andnor wrote:
И у C тоже есть существенные недостатки по сравнению с Паскалем...

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

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

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

_________________
:dj: https://mastodon.social/@Shaos


04 Feb 2023 19:57
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 163 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10, 11  Next

Who is online

Users browsing this forum: No registered users and 74 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.