nedoPC.org

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



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

Joined: 20 Jan 2015 03:52
Posts: 79
Reply with quote
Lavr wrote:
Ага. Вот если в языке надо всё это строго объявлять, то придётся для начала рассказать, что из себя в компьютере
представляют эти "целые" и "дробные" числа. :wink:
Тут-то у детей повянут уши и завянет весь интерес к программированию и алгоритмам. :-?


Мне кажется, объяснение совершенно не нужно. Переменная имеет имя, тип и хранит данные (содержимое). Сорт этих данных (целые, дробные, символы...) определяется типом. Этого вполне достаточно. Физически переменная одна или несколько ячеек памяти. Особо любопытным можно добавить, что число в компьютере кодируется нулями и единичками так как в электронных деталях ток может быть или его нет. 1 - ток есть, 0 - тока нет.

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


Last edited by Shigure on 04 Feb 2023 22:51, edited 2 times in total.



04 Feb 2023 21:09
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 172
Location: USSR, Tashkent
Reply with quote
Shaos wrote:
ну если ещё вспомнить, что паскаль как язык для серьёзной работы давно помер...


ну в мир я не пишу, а для заказчиков... они и не знают что на пакале (дельфи/фрипаскале)


04 Feb 2023 21:23
Profile
Fanat

Joined: 01 Jan 2023 11:37
Posts: 80
Reply with quote
Lavr wrote:
Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...


Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...


05 Feb 2023 00:11
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 172
Location: USSR, Tashkent
Reply with quote
Andnor wrote:
Lavr wrote:
Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...


Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...


QBasic был позже и отдельным продуктом
сначала был GWBasic


05 Feb 2023 00:19
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Reply with quote
imsushka wrote:
Andnor wrote:
Lavr wrote:
Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...


Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...


QBasic был позже и отдельным продуктом
сначала был GWBasic

Сначала был BASICA :)

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


05 Feb 2023 00:23
Profile WWW
Senior

Joined: 01 Jan 2022 04:34
Posts: 172
Location: USSR, Tashkent
Reply with quote
Shaos wrote:
imsushka wrote:
Andnor wrote:
Lavr wrote:
Под "древним скриптоязыком для MS-DOS, куда он был включен только от безысходности", я так понимаю, вы учебный язык Паскаль имели в виду? :roll:
Ну я бы не сказал, что от "безысходности", просто его конструировали именно как язык для обучения, не более того...


Нет, я про QBasic. Стыдно было мелкомягким выпускать ОС вообще без каких-либо ЯП вот и воткнули от безысходности свою старую поделку, тянущуюся ещё с Альтаира...


QBasic был позже и отдельным продуктом
сначала был GWBasic

Сначала был BASICA :)

это который прошитый в биосе ?


05 Feb 2023 00:43
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22587
Location: Silicon Valley
Reply with quote
imsushka wrote:
Shaos wrote:
Сначала был BASICA :)

это который прошитый в биосе ?

Нет - см. http://www.nedopc.org/forum/viewtopic.php?p=132564#p132564
Shaos wrote:
Lavr wrote:
Shaos wrote:
Мне сильно понравился момент, что картридж может иметь в себе несколько подменяемых имен DOS (например бейсик-картридж подменяет команды доса BASIC и BASICA) - но для этого надо DOS запустить откуда то :)
Так это ж, похоже, и есть ROM-BASIC.
Потому как BASICA - и есть его дисковый вариант.

В списке файлов PC-DOS 2.10 есть оба бейсика:
Code:
BASIC    COM    16256  10-20-83  12:00p
BASICA   COM    26112  10-20-83  12:00p

однако вставленный бейсик-картридж перехватит оба вызова...

P.S. напомню, что ROM-бейсик (который Cassete) в PCjr тоже есть (он запускается, если нет ни дискеты, ни вставленных картриджей)

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


05 Feb 2023 01:10
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
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


05 Feb 2023 06:16
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shigure wrote:
Lavr wrote:
Ага. Вот если в языке надо всё это строго объявлять, то придётся для начала рассказать, что из себя в компьютере
представляют эти "целые" и "дробные" числа. :wink:
Тут-то у детей повянут уши и завянет весь интерес к программированию и алгоритмам. :-?
Мне кажется, объяснение совершенно не нужно. Переменная имеет имя, тип и хранит данные (содержимое). Сорт этих данных (целые, дробные, символы...) определяется типом. Этого вполне достаточно.

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

Вот чистый пример на Quick Basic:
Attachment:
Пример.PNG
Пример.PNG [ 11.3 KiB | Viewed 1766 times ]

Я НИЧЕГО НЕ ОБЪЯВЛЯЛ! :roll:
Но мне и Pi не помешало, и я наглядно объяснил детям, как работает цикл, не засирая
мозг представлением чисел, особенно вещественных.
А если дети это поймут, им можно рассказать и о типах.
Не все знают, но в Quick Basic есть директива, после которой он контролирует типы и функции
не хуже других ЯВУ. Но на начальном этапе, я думаю, эта строгость не нужна.

_________________
iLavr


05 Feb 2023 06:22
Profile
Fanat

Joined: 01 Jan 2023 11:37
Posts: 80
Reply with quote
Lavr wrote:
Вот дети пишут Pi = 3,1415926, а машина им выдаёт ошибку... :lol:
Потому что Pi, как оказалось - целое, а в него впихивают вещественное.
Ну и как это без объяснений обойти? :o

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

Quote:
А если дети это поймут, им можно рассказать и о типах.
Не все знают, но в Quick Basic есть директива, после которой он контролирует типы и функции
не хуже других ЯВУ. Но на начальном этапе, я думаю, эта строгость не нужна.


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

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

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


05 Feb 2023 08:24
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Andnor wrote:
Lavr wrote:
Вот дети пишут Pi = 3,1415926, а машина им выдаёт ошибку... :lol:
Потому что Pi, как оказалось - целое, а в него впихивают вещественное.
Ну и как это без объяснений обойти? :o

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

Извини, но это вобще дебильно: на письме мы пишем десятичную ",", а в машинном представлении ".".
Так что это глупость. Не надо путать тёплое с мягким! :roll:

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

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

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


Andnor wrote:
Да и обычно программированию учат уже после того как ученик понимает, что память компьютера состоит из байтов, минимально адресуемых блоков данных, на всех современных компьютерах занимающих по 8 бит. И соответственно есть разные типы данных, занимающие разные количества байтов отличающиеся тем, как именно эти байты интерпретируются программой.

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

_________________
iLavr


05 Feb 2023 09:24
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Я считаю, что программирование вообще в школе изучать не нужно.


05 Feb 2023 09:53
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
VituZz wrote:
Я считаю, что программирование вообще в школе изучать не нужно.

Ну это очень крайняя точка зрения...

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

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

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

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

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

_________________
iLavr


05 Feb 2023 10:02
Profile
Fanat

Joined: 01 Jan 2023 11:37
Posts: 80
Reply with quote
Lavr wrote:
Извини, но это вобще дебильно: на письме мы пишем десятичную ",", а в машинном представлении ".".
Так что это глупость. Не надо путать тёплое с мягким! :roll:

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

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

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

Вполне вероятно. Я тогда многого не понимал.

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

А цель не в том, чтобы было проще, а в том, чтобы формировать правильное понимание происходящего.


Quote:
Andnor wrote:
Да и обычно программированию учат уже после того как ученик понимает, что память компьютера состоит из байтов, минимально адресуемых блоков данных, на всех современных компьютерах занимающих по 8 бит. И соответственно есть разные типы данных, занимающие разные количества байтов отличающиеся тем, как именно эти байты интерпретируются программой.

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


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


05 Feb 2023 12:03
Profile
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 657
Location: Russia, S.- Peterburg
Reply with quote
В 12 лет своему сыну помогал составить резюме. Подарил ему компьютер с windows 98.

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

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

Предлагайте школьнику сразу настоящий профессиональный язык программирования!


Attachments:
1469885953-scaled.jpg
1469885953-scaled.jpg [ 195.65 KiB | Viewed 1687 times ]
photo_2023-02-05_22-45-40.jpg
photo_2023-02-05_22-45-40.jpg [ 175.74 KiB | Viewed 1687 times ]

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
05 Feb 2023 12:53
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 163 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9, 10, 11  Next

Who is online

Users browsing this forum: No registered users and 97 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.