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

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

Moderator: Shaos

Shigure
Fanat
Posts: 79
Joined: 20 Jan 2015 03:52

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

Post by Shigure »

Lavr wrote: Ага. Вот если в языке надо всё это строго объявлять, то придётся для начала рассказать, что из себя в компьютере
представляют эти "целые" и "дробные" числа. :wink:
Тут-то у детей повянут уши и завянет весь интерес к программированию и алгоритмам. :-?
Мне кажется, объяснение совершенно не нужно. Переменная имеет имя, тип и хранит данные (содержимое). Сорт этих данных (целые, дробные, символы...) определяется типом. Этого вполне достаточно. Физически переменная одна или несколько ячеек памяти. Особо любопытным можно добавить, что число в компьютере кодируется нулями и единичками так как в электронных деталях ток может быть или его нет. 1 - ток есть, 0 - тока нет.
Last edited by Shigure on 04 Feb 2023 22:51, edited 2 times in total.
Коллекция советской ферритовой памяти www.mirebs.com
imsushka
Maniac
Posts: 232
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

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

Post by imsushka »

Shaos wrote: ну если ещё вспомнить, что паскаль как язык для серьёзной работы давно помер...
ну в мир я не пишу, а для заказчиков... они и не знают что на пакале (дельфи/фрипаскале)
Andnor
Fanat
Posts: 80
Joined: 01 Jan 2023 11:37

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

Post by Andnor »

Lavr wrote: Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...
Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...
imsushka
Maniac
Posts: 232
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

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

Post by imsushka »

Andnor wrote:
Lavr wrote: Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...
Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...
QBasic был позже и отдельным продуктом
сначала был GWBasic
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

imsushka wrote:
Andnor wrote:
Lavr wrote: Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...
Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...
QBasic был позже и отдельным продуктом
сначала был GWBasic
Сначала был BASICA :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
imsushka
Maniac
Posts: 232
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

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

Post by imsushka »

Shaos wrote:
imsushka wrote:
Andnor wrote:
Lavr wrote: Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...
Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...
QBasic был позже и отдельным продуктом
сначала был GWBasic
Сначала был BASICA :)
это который прошитый в биосе ?
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

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

Post by Shaos »

imsushka wrote:
Shaos wrote:Сначала был BASICA :)
это который прошитый в биосе ?
Нет - см. viewtopic.php?p=132564#p132564
Shaos wrote:
Lavr wrote:
Shaos wrote:Мне сильно понравился момент, что картридж может иметь в себе несколько подменяемых имен DOS (например бейсик-картридж подменяет команды доса BASIC и BASICA) - но для этого надо DOS запустить откуда то :)
Так это ж, похоже, и есть ROM-BASIC.
Потому как BASICA - и есть его дисковый вариант.
В списке файлов PC-DOS 2.10 есть оба бейсика:

Code: Select all

BASIC    COM    16256  10-20-83  12:00p
BASICA   COM    26112  10-20-83  12:00p
однако вставленный бейсик-картридж перехватит оба вызова...

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

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

Post by Lavr »

Andnor wrote:
Lavr wrote: Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...
Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...
Это вы свою безграмотность лишь демонстрируете...
"мелкомягким" стыдно ничуть не было, Билл Гейц ко всем своим регалиям гордо добавлял Basic programmer.
Ну а QBasic, Quick Basic, GW-Basic, Basic PDS, BasicA и VB - это довольно разные вещи, некоторые из них -
учебные, как и Паскаль, но ни один из них не скриптовый.
Скриптовый - это VBA.
А те, которые не учебные - хорошие средства быстрой разработки программ.

И когда Quick Basic 4.5 был великолепным средством быстрой разработки программ, Паскаль 3.0 ещё
только писял в штанишки детскими болезнями учебного "язычка будущего", которым он так и не стал.

Чтобы спорить надо знать предметы спора... :wink:
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

Shigure wrote:
Lavr wrote:Ага. Вот если в языке надо всё это строго объявлять, то придётся для начала рассказать, что из себя в компьютере
представляют эти "целые" и "дробные" числа. :wink:
Тут-то у детей повянут уши и завянет весь интерес к программированию и алгоритмам. :-?
Мне кажется, объяснение совершенно не нужно. Переменная имеет имя, тип и хранит данные (содержимое). Сорт этих данных (целые, дробные, символы...) определяется типом. Этого вполне достаточно.
Интересно... "объяснение совершенно не нужно"? :roll:
Вот дети пишут Pi = 3,1415926, а машина им выдаёт ошибку... :lol:
Потому что Pi, как оказалось - целое, а в него впихивают вещественное.
Ну и как это без объяснений обойти? :o

Вот чистый пример на Quick Basic:
Пример.PNG
Я НИЧЕГО НЕ ОБЪЯВЛЯЛ! :roll:
Но мне и Pi не помешало, и я наглядно объяснил детям, как работает цикл, не засирая
мозг представлением чисел, особенно вещественных.
А если дети это поймут, им можно рассказать и о типах.
Не все знают, но в Quick Basic есть директива, после которой он контролирует типы и функции
не хуже других ЯВУ. Но на начальном этапе, я думаю, эта строгость не нужна.
You do not have the required permissions to view the files attached to this post.
iLavr
Andnor
Fanat
Posts: 80
Joined: 01 Jan 2023 11:37

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

Post by Andnor »

Lavr wrote:Вот дети пишут Pi = 3,1415926, а машина им выдаёт ошибку... :lol:
Потому что Pi, как оказалось - целое, а в него впихивают вещественное.
Ну и как это без объяснений обойти? :o
Только вот, упс, и QB тоже выдаст в этом случае ошибку. На твоём скриншоте точка, а не запятая.
А если дети это поймут, им можно рассказать и о типах.
Не все знают, но в Quick Basic есть директива, после которой он контролирует типы и функции
не хуже других ЯВУ. Но на начальном этапе, я думаю, эта строгость не нужна.
Наоборот, на начальном этапе она необходима, а уже потом можно и без неё, когда суть типизации понятна и не вызывает затруднений.

Да и обычно программированию учат уже после того как ученик понимает, что память компьютера состоит из байтов, минимально адресуемых блоков данных, на всех современных компьютерах занимающих по 8 бит. И соответственно есть разные типы данных, занимающие разные количества байтов отличающиеся тем, как именно эти байты интерпретируются программой. Например строка без терминатора 'Lavr', 32-битное целое 1920360780 и вещественное 59103688.0 одинарной точности в памяти выглядят одинаково и состоят из одних и тех же четырёх байтов 4C 61 76 72 .
Поэтому перед заданием переменной, необходимо сказать компилятор, каким образом следует интерпретировать заданную область памяти, для чего и служит ключевое слово var.

А вот когда ученик уже это всё понимает, тогда уже можно ему рассказать, что есть языки с нестрогой типизацией, которая хотя и позволяет писать меньше кода, но зато затрудняют обнаружение ошибок в коде и делает сам код медленнее. Во многих бейсиках например любая переменная без суффикса % или $ считается вещественным числом и соответственно операции над ней занимают в несколько раз больше тактов процессора чем необходимо, из-за чего бейсик крайне тормозной даже по сравнению с тем же Forth.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

Andnor wrote:
Lavr wrote:Вот дети пишут Pi = 3,1415926, а машина им выдаёт ошибку... :lol:
Потому что Pi, как оказалось - целое, а в него впихивают вещественное.
Ну и как это без объяснений обойти? :o
Только вот, упс, и QB тоже выдаст в этом случае ошибку. На твоём скриншоте точка, а не запятая.
Извини, но это вобще дебильно: на письме мы пишем десятичную ",", а в машинном представлении ".".
Так что это глупость. Не надо путать тёплое с мягким! :roll:

И что-то мне кажется, что для детей-школьников, о которых идёт речь, ты великоват... :lol:

А если б тебе - школьнику это всё втюхали, ты б иначе запел. :(

А теперь напиши мой пример на Паскале и конкретно увидишь, что для детей проще. :ebiggrin:

Andnor wrote:Да и обычно программированию учат уже после того как ученик понимает, что память компьютера состоит из байтов, минимально адресуемых блоков данных, на всех современных компьютерах занимающих по 8 бит. И соответственно есть разные типы данных, занимающие разные количества байтов отличающиеся тем, как именно эти байты интерпретируются программой.
Вот да, когда меня учили Фортрану на первом курсе, то этим и засрали всем голову. :(
После чего всем уже и алгоритмы не лезли, хотя и не было их там особо...
ЯВУ тем и отличается, от языка низкого уровня, что вовсе не обязательно знать, что такое байт.
iLavr
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

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

Post by VituZz »

Я считаю, что программирование вообще в школе изучать не нужно.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

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

Post by Lavr »

VituZz wrote:Я считаю, что программирование вообще в школе изучать не нужно.
Ну это очень крайняя точка зрения...

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

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

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

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

Собственно, поэтому и существуют разные языки программирования высокого и не очень уровня...
iLavr
Andnor
Fanat
Posts: 80
Joined: 01 Jan 2023 11:37

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

Post by Andnor »

Lavr wrote:Извини, но это вобще дебильно: на письме мы пишем десятичную ",", а в машинном представлении ".".
Так что это глупость. Не надо путать тёплое с мягким! :roll:
Так ты посмотри, что ты писал. Если дети или кто угодно напишут в Basic или ещё где Pi=3,14 или что-то вроде, они в любом случае получат ошибку. Хотя может и есть языки, где возможен другой десятичный разделитель.

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

Andnor wrote:Да и обычно программированию учат уже после того как ученик понимает, что память компьютера состоит из байтов, минимально адресуемых блоков данных, на всех современных компьютерах занимающих по 8 бит. И соответственно есть разные типы данных, занимающие разные количества байтов отличающиеся тем, как именно эти байты интерпретируются программой.
Вот да, когда меня учили Фортрану на первом курсе, то этим и засрали всем голову. :(
После чего всем уже и алгоритмы не лезли, хотя и не было их там особо...
ЯВУ тем и отличается, от языка низкого уровня, что вовсе не обязательно знать, что такое байт.
Ну это ты сказанул, конечно. Программировать, не зная, что такое байт?.. Чтобы программировать на любом языке, даже самом высокоуровневом нужно иметь хотя бы примерное представление, как компьютер работает, в таком случае гораздо легче написать эффективный код и понять если что-то пойдёт не так.
User avatar
askfind
Devil
Posts: 798
Joined: 04 Jan 2016 09:15
Location: Russia, S.- Peterburg

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

Post by askfind »

В 12 лет своему сыну помогал составить резюме. Подарил ему компьютер с windows 98.

В 16 лет посоветовал ему записаться на собеседование в компанию EPAM, в С.-Петербурге. Они набирали junior на язык Java.
Его пригласили, учили. Отработал пять лет.

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

Предлагайте школьнику сразу настоящий профессиональный язык программирования!
You do not have the required permissions to view the files attached to this post.
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)