Сайт | Скачать | Видео | Wiki

Автор Тема: Обсуждение языков программирования  (Прочитано 4064 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн forthuser

  • Постоялец
  • ***
  • Сообщений: 128
  • Репутация: +2/-0
  • Автор темы
Что-то ucblogo не кажется доступным для первоклассников. Любой бейсик наверно легче. А если учесть что можно что-то реальное написать, то проще взять какой нибудь FreeBASIC.
Basic-256 есть в  репозиториях  разных Linux (В учебный ALT Linux включён)
Джеймс М. Рено "Хотите научиться программировать?"

P.S. Сам бы посоветовал Forth (Форт) или, к примеру, Smalltalk (Pharo, Squiek), но думаю это несколько будет сложно для использования в применении к школьным урокам и задачам.
Хотя такую книгу, всё же, полезно прочитать ЛЕО БРОУДИ "СПОСОБ МЫШЛЕНИЯ - ФОРТ ЯЗЫК И ФИЛОСОФИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧ"

и такую Л.Броуди  "Начальный курс программирования на языке Форт"

« Последнее редактирование: 24 Октябрь 2022, 18:34:15 от forthuser »

Оффлайн AZJIO

  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
Re: Обсуждение языков программирования
« Ответ #1 : 24 Октябрь 2022, 20:31:21 »
У меня уже есть вариант, но для школы надо бесплатный. А чтобы учить надо самому в совершенстве знать язык, которому обучаешь.

Оффлайн St12

  • Постоялец
  • ***
  • Сообщений: 189
  • Репутация: +0/-0
Re: Обсуждение языков программирования
« Ответ #2 : 25 Октябрь 2022, 05:48:55 »
Что-то ucblogo не кажется доступным для первоклассников. Любой бейсик наверно легче. А если учесть что можно что-то реальное написать, то проще взять какой нибудь FreeBASIC.
В лого много комманд и структур в разных версиях. Но во всех есть черепашка, которую гоняешь по экрану и она рисует. Даже неруссифицированная версия легко ребёнком осваивается. Команды типа LT90(Left90), PD(PenDwon), BK(Back). И запомнить пару десятков комманд несложно. А есть руссифицированные версии.
Вот пример кода из https://wiki5.ru/wiki/UCBLogo
FD 20; проведите линию и переместите
PENUP; поднимите перо так, чтобы оно ничего не рисовало
FD 20; двигаться, а не рисовать
PENDOWN; опустите перо, чтобы оно снова рисовало
FD 20; проведите линию и переместите
PENUP; поднимите перо так, чтобы оно ничего не рисовало
FD 40; двигаться, а не рисовать
PENDOWN; опустите перо, чтобы оно снова рисовало
RT 20; повернуть вправо (по часовой стрелке) на 20 градусов Википедия  site:wiki5.ru
Бейсик в начальной школе даже представить не могу. Разве что тупо переписать листинг и запустить.
« Последнее редактирование: 25 Октябрь 2022, 05:59:49 от St12 »
Кито цяй не пьёт, тота цмо. Конфеций.

Оффлайн St12

  • Постоялец
  • ***
  • Сообщений: 189
  • Репутация: +0/-0
Re: Обсуждение языков программирования
« Ответ #3 : 25 Октябрь 2022, 05:53:43 »
А чтобы учить надо самому в совершенстве знать язык, которому обучаешь.
Я лого весма поверхностно знал, но это не мешало мне обучать началку. Да и другие языки изучить невозможно более чем на 20%
У меня уже есть вариант, но для школы надо бесплатный.
вАРИАНТ ЧЕГО???
Кито цяй не пьёт, тота цмо. Конфеций.

Оффлайн St12

  • Постоялец
  • ***
  • Сообщений: 189
  • Репутация: +0/-0
Re: Обсуждение языков программирования
« Ответ #4 : 25 Октябрь 2022, 05:59:01 »
Хотя такую книгу, всё же, полезно прочитать ЛЕО БРОУДИ "СПОСОБ МЫШЛЕНИЯ - ФОРТ ЯЗЫК И ФИЛОСОФИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧ"
Форт - это философия. Не все программисты философы. И тут не то что в школу в вузе современном делать нечего.
Помню анекдотичный случай с форт. Он отличал знаки препинания по языку. Те запятая английская и русская совершенно разные.)
При отладке ваще мрак.
« Последнее редактирование: 25 Октябрь 2022, 09:10:34 от St12 »
Кито цяй не пьёт, тота цмо. Конфеций.

Оффлайн AZJIO

  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
Re: Обсуждение языков программирования
« Ответ #5 : 25 Октябрь 2022, 11:27:29 »
Цитата: St12
PENUP; поднимите перо так, чтобы оно ничего не рисовало
для такой задачи можно вообще русский интерпретатор написать
ПОДНЯТЬ_ПЕРО
Сделать постобработчик, чтобы заменил ключевые русские слова на англоязычные PENUP и компилировал. Тогда детям не придётся зубрить забугорные сокращения слов, которые в последствии придётся забыть.

Цитата: St12
Да и другие языки изучить невозможно более чем на 20%
Несогласен, при постоянном использовании языка ты уже разговариваешь на нём, берёшь готовые заготовки, например в голове думаешь "открыть файл" и уже знаешь пару десятков вариаций как это сделать, с какими флагами, бинарно, кодировка, только чтения, и для записи, перемещать ли позицию в конец, оставить в начале, установить относительно начала или конца, открыть как текст, как указатель в память, переместится до какого-то символа, варианты если файла нет, если он мал, если доступ только чтение, если нужен его второй поток.

Цитата: St12
вАРИАНТ ЧЕГО???
PureBasic

На мой взгляд тут поинтересней, можно писать GUI, можно просто математические задачи. А для Windows можно было бы AutoIt3, он намного легче компилируемого языка, меньше строк на задачу, полностью русская справка.
« Последнее редактирование: 25 Октябрь 2022, 11:31:51 от AZJIO »

Оффлайн St12

  • Постоялец
  • ***
  • Сообщений: 189
  • Репутация: +0/-0
Re: Обсуждение языков программирования
« Ответ #6 : 25 Октябрь 2022, 13:41:13 »
для такой задачи можно вообще русский интерпретатор написать
ПОДНЯТЬ_ПЕРО
Для этой ситуации надо внимательно читать
Даже неруссифицированная версия легко ребёнком осваивается. Команды типа LT90(Left90), PD(PenDwon), BK(Back). И запомнить пару десятков комманд несложно. А есть руссифицированные версии.
Вот дали девочке на 3 закончивший начпед. Она сама такую сложную фразу без ошибок не напишет. В импортных словах люди реже ошибаются. Я был противник руссификаций. Детей настолько захватывало рисование, что запомнить ради этого десяток слов даже двоишникам не проблема. И я старался быстро переходить на двубуквенные команды PENUP = PU.
Несогласен, при постоянном использовании языка ты уже разговариваешь на нём,
Так использование, а не изучение. Ну в васике решить квадратное уравнение, я и сейчас могу. А так без справочника никак. Вы тут задайте вопрос и вас отправят в вики, хотя всего навсего надо было написать какую команду и куда дописать.
Я лого не знал и не знаю, 1% - это не знания. Но преподавал и сейчас помню.
PureBasic

На мой взгляд тут поинтересней, можно писать GUI, можно просто математические задачи. А для Windows можно было бы AutoIt3, он намного легче компилируемого языка, меньше строк на задачу, полностью русская справка.
Для школы тем более сельской. Вы преподавать пойдёте??? И чему научите:?
Кито цяй не пьёт, тота цмо. Конфеций.

Оффлайн AZJIO

  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
Re: Обсуждение языков программирования
« Ответ #7 : 25 Октябрь 2022, 14:53:16 »
Даже неруссифицированная версия
Ну с чего я должен предполагать что русифицированная подразумевает русские ключевые слова? Обычно под русифицированная подразумевается русская справка и русифицированная среда программирования - IDE.
В импортных словах люди реже ошибаются
до сих пор не могу писать на забугорном в программировании, использую автоподстановку, например пишу "цикл", жму хоткей для автозавершения слова получаю варианты циклов For, While, Do, пишу выбор, получаю Select, или использую кальки, пишу "фор", "селект", "иф". Аналогично в справочном файле делаю кальки глобал, дим, аналогично выделяю слово или достаточно курсор в нём, вызываю справку хоткеем, на вкладке "Указатель" вставляется "дим", автоматически открывается страница описания Dim. Но это лёгкое, трёхбуквенные я запоминаю, а вот чекбокс мне уже проще писать на русском, прыгнуть в справку и скопировать там ключевое слово на забугорном с параметрами функции гаджета в том числе. То есть я код руками не набираю от слова совсем.
Вы преподавать пойдёте??? И чему научите:?
пытался, пришёл в школу, предложил вести что-то в виде кружка, как у нас в СССР были кружки моделистов и т.д. Но директор посмотрел сквозь меня и сказал не требуется. Дословно по глазам: бюджет у нас уже расписан, лишние рты не нужны, программа на школьников наложена уже достаточно чтобы еле вытянуть, самодеятельность не нужна. Конечно, я хотел за труды и получить зарплату, например определиться 2-3 часа в неделю, а потом как пойдёт, как школьники проявят желание, можно и больше. Конечно нужен класс. Это 8 часов в месяц, не так уж и напряжно, но можно поднять в школе программирование на высокий уровень, те кому интересно это будет предложено понятным человеческим языком, чтобы можно было получить результаты, а не читать мудрёные книги и ломать голову что такое массив и где это может мне пригодиться. И дети могут пойти уже дальше в институт на повышение знаний в этой области.

Оффлайн St12

  • Постоялец
  • ***
  • Сообщений: 189
  • Репутация: +0/-0
Re: Обсуждение языков программирования
« Ответ #8 : 25 Октябрь 2022, 15:47:33 »
Ну как бы без справочника на русском люди языки не изучают. Среда ваще пофик. Я знаю два языка на русском лого и был типа васёк, но его перекрестили. Я уже тогда понимал, что это путь в никуда. А вот детки изучающие английский язык были как рыба в воде и часто подсказывали тем кто "нихт спик итальяно", те обучали товарищей ангельскому.)
Хороший программист не всегда хороший преподаватель. Я это познал набив сотню шишек. Не все дети стремяться стать программистами, и не у всех это получится. Тут нужен особый талант. Поэтому моей задачей было, не обрушить свою гениальность, а хоть что-то каждому в голову вложить
Не знаю что вы подразумеваете знанием языка в совершенстве, но я do while даже в маразме врядли забуду.))) А слово ЦИКЛ не сразу вспомню. Но тут спорить не буду, голова не чердак, всё не уместишь))) Каждый хочет как он может.)))
Я знаю почему вас не пустили в школу. Там наплевать на детей. Мне впопыхах дали класс коррекции(дебилы), но не предупредили. Вот они почему-то чуть лучше успевали и были дисциплинированы. Может потому что их всех тюкали, а я за равных принял - я же не знал, что они "дебилы")))
Но я бы вас не пустил по другому. И вы наверно поняли почему.
Вобще вы пытливый умный человек, с вами приятно вести диалог. Но для школы этого мало. Хотя вы можете на меня обижаться, но ставлю вам + за приятное общение.
Кито цяй не пьёт, тота цмо. Конфеций.

Оффлайн AZJIO

  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
Re: Обсуждение языков программирования
« Ответ #9 : 25 Октябрь 2022, 17:12:52 »
Но я бы вас не пустил по другому.
Ну я сам не гарантирую что у меня получится, так как я понимаю что там коллектив может восприниматься не как жёсткое послушание, надо быть мудрым, что вы сразу могли бы подумать "без программы по обучению учить чему-то". Но по крайней мере если бы дали зелёный свет, это уже второй вопрос как бы я подготовил ситуацию, пустил на самотёк, или подготовил бы некоторый порядок чтобы заинтересовать детей иногда пуская на самотёк. Вдруг бы мне стало не интересно не увидев заинтересованности детей, одно дело это у тебя работа и ты приходишь выполнил и не важно как кто внимал, главное ты работу сделал, а у детей отложиться, другое дело ты не получаешь особой прибавки и это для тебя практически благотворительность и ты уже не станешь тратить время если не видишь отзывчивость и пытливый ум.
Хороший программист не всегда хороший преподаватель.
а вот тут я как раз любитель писать справочники, так как считаю основной проблемой это отсутствие качественных справочников по программированию. Хотя опять же это не преподавательские способности, но объяснять я люблю.
но я do while даже в маразме врядли забуду.))).
У меня тут две проблемы, после "w" я забываю какая вторая буква, а автозаполнитель предлагает варианты только после второй буквы, но так ещё надо закрыть циклы Until и Wend и тоже помню только первую букву. Но смотрю сейчас, по крайней мере Wend легко запомнить W и End, то есть конец While, также как конец If - End If, и почему я сразу этого не понял ))), для меня это было несуразный набор букв. Но автозаполнитель вставляет оба ключевых слова и это удобней.

Кстати, как я мог забыть, PureBasic то демоверсия бесплатно, до 800 строк кода позволяет писать программы. Вполне можно использовать для обучения. И плюс он кросплатворменный, Windows, Linux, MacOC, Raspberry (малинка). В комплекте много примеров, в том числе и игры. Посмотрел "образовательная лицензия" для класса включая учителя - 199 евро = 12200 рублей.
Для PureBasic есть русская справка, русский фейс IDE, подробнее...
« Последнее редактирование: 25 Октябрь 2022, 17:47:39 от AZJIO »

Оффлайн St12

  • Постоялец
  • ***
  • Сообщений: 189
  • Репутация: +0/-0
Re: Обсуждение языков программирования
« Ответ #10 : 25 Октябрь 2022, 19:07:30 »
Я вообще не люблю халтурить. Любую работу стараюсь делать на совесть. Или не делаю, если что-то не устраивает. В школу я попал случайно, тк не было работы. А директор решила, раз я выговариваю слово информатика, то спец высокого уровня.))) Ни педстажа ни образования я не имел. Но тут мне подвалила хорошая работёнка со свободным графиком(буквально через несколько дней). Но школу бросать было неудобно. Тк меня назначили зав кабинетом и у меня две тупые девицы типа работали. Ну те я им готовил материал и они его выдавали, в основном игры развивающие. Для девочек это было приличной прибавкой. Когда я уехал по семейным делам на две недели, они тупо читали детские книжки.) Ну а меня понесло, как Остапа). На второй работе(правда весьма тяжёлой) я за 3 дня имел месячную зп учителя. Думать о еде-семье не было нужды.
Первое что я заметил, я там нафик никому не нужен, твори что хошь. Да приходили комиссии - сидели и потом меня спрашивали, чем мы занимались, что им в отчёт писать.) Уроки были парами. Сначала изучение нового, затем игры.
Был строг, типа источники повышенной опасности и может ёб..нуть, если будете баловаться.) Но в тоже время не давал детям скучать, мотивировал. Как-то когда зависла сеть и один мальчонка решил пошалить. То его остановили дети - "Если будешь мешать - мы не успеем поиграть."
если не видишь отзывчивость и пытливый ум.
Да любого ребёнка можно заинтересовать, ты ведь умнее и ребёнком можно манипулировать.
но объяснять я люблю.
А про пре и прочим изи тоже любите?
У меня тут две проблемы, после "w" я забываю какая вторая буква
Ну ты даешь!) В слове вхиле букву пропустить.))) Это в ангельском пишется ливерпуль, то читается манчестер.). А в программистком как пишется так и слышится, благо никто не слышит.)))
Про васека, ну вот почему-то не люблю я его. Достаточно тупой для серьёзного, и сложный для пустяков. Как-то поглядев на васека переходили на паскаль. Просто дёшево удобно.
Кито цяй не пьёт, тота цмо. Конфеций.

Оффлайн forthuser

  • Постоялец
  • ***
  • Сообщений: 128
  • Репутация: +2/-0
  • Автор темы
Re: Обсуждение языков программирования
« Ответ #11 : 26 Октябрь 2022, 06:36:47 »
Помню анекдотичный случай с форт. Он отличал знаки препинания по языку. Те запятая английская и русская совершенно разные.)
При отладке ваще мрак.
Отладка  в Форт не сложная, но вот то, что он другой чем прививаемые языки то да. :)
 По Форт есть ещё живой рускоязычный форум с разными обсуждениями
 и у Форт вполне устоявшаяся ниша применения в области, embedded. экспериментальных исследованиях ...
 т.к. это вполне промышленный язык програмиирования с принятыми стандартами как ANSI так и ISO не считая ещё, к примеру, как OpenBoot.
 Где то в вузах Форт дают в учебных программах в том или ином виде  т.к. ниша у него достаточно широка по возможному использованию и методолoгическим основам.

Не Форт, но тоже залипательная развлекалочка хорошо воспринимаемая детями  https://forthsalon.appspot.com/

Forth и шейдеры из Хаба по Форт на Хабр

Добрынин Д.А. История создания минироботов в ЦДТ "Родник"
Добрынин Д.А. Принципы построения малых мобильных роботов - мобильной платформы "Crazy Mouse" и робота-собаки "Робик"
Лаборатория робототехники и искусственного интеллекта (Руководитель Лаборатории - Добрынин Д.А)


Для всевозможных контроллеров-процессоров и ОС наделано много Форт систем как открытых так и коммерческих.

Forth /lurkmore/


P.S.  https://rosettacode.org/wiki/Category:Logo 209 решённых задач на этой площадке на Лого языке.

Rosetta Code:  Popular Programming Languages

В качестве близкого к Лого есть язык  Tcl/Tk (по нему есть и изданная большая русскоязычная книга)
или "даже" G-code

Кстати, в качестве графического вывода некоторыми математиками/физиками использовался PostScript язык. :)
(много книг по нему опубликовано тоже)
« Последнее редактирование: 26 Октябрь 2022, 07:36:30 от forthuser »

Оффлайн St12

  • Постоялец
  • ***
  • Сообщений: 189
  • Репутация: +0/-0
Re: Обсуждение языков программирования
« Ответ #12 : 26 Октябрь 2022, 08:14:48 »
Отладка  в Форт не сложная, но вот то, что он другой чем прививаемые языки то да. :)
Ну да, когда проблема в том что запятая не на том языке))), прям так легко когда не знаешь))). Когда знаешь всё проще. Если затык не найти, то знаки препинания.
Видите ли языки ВСЕ делятся на высокого уровня - васёк(например) и низкого - асемблер. К форту это неприменимо. Да у него не просто есть ниша, она обязана быть. Это целая философия, но не все философы. Он очень дружественный, и лёгок для новичка. Но он другой. Если у васёка и асемблера при желании можно найти что-то общее, то форт не похож ни на что - он сам по себе. И уж тем более не для школы. В вузах дают для ознакомления, тк для системного изучения он непригоден, это для индивидуалистов-философов. Меня он в своё время зацепил.
Кито цяй не пьёт, тота цмо. Конфеций.

Оффлайн AZJIO

  • Старожил
  • ****
  • Сообщений: 298
  • Репутация: +10/-0
Re: Обсуждение языков программирования
« Ответ #13 : 26 Октябрь 2022, 08:44:41 »
На форуме пурик 2 раза при мне поднимали тему с просьбой убрать из названия пурибэсик приставку бэйсик, стыдно им что люди не доверяют программисту, думая что на бэйсике ничего серьезного написать нельзя. При этом это всего лишь оболочка ассемблера, как и Си. Поэтому это язык на котором все можно написать, и даже больше. На сишных придется изучать винапи или гуи-движок, чтобы создавать окна, а на линукс гтк, пурик же одними и теми же функциями создает совместимые окна, можно компилировать хоть в винде хоть в линуксе, хоть в маке один и тот же код. Последняя ссылка, которую я дал на руборд, в том моем посте последняя ссылка на мнение специалиста, который говорит, почему он пишет на пурике, а не на других языках будучи зная их. Мне понравилось два пункта - компактный код и совместимые между собой библиотеки, то есть не как в Си, встраивая чей то модуль он начинает вылетать и не как в шарпе или джава, создаешь мессагу и получаешь экзешник на 476 кб.

Оффлайн forthuser

  • Постоялец
  • ***
  • Сообщений: 128
  • Репутация: +2/-0
  • Автор темы
Re: Обсуждение языков программирования
« Ответ #14 : 26 Октябрь 2022, 09:12:35 »
Да у него не просто есть ниша, она обязана быть. .. В вузах дают для ознакомления, тк для системного изучения он непригоден, это для индивидуалистов-философов.
Какие то противоречивые фразы.
 Если у него есть ниша, а она есть, то как мнимум для изучения (не ознакомительного) и применения он может изучаться.
 то, что по нему нет каких то изданных значимых современных учебников - это не может служить аргументом и философия ему приписываемая это тоже не аргумент. :)

P.S. Как минимум есть MISC вычислительная архитектура не представленная массово на рынке процессоров/контроллеров.
Philip J. Koopman, Jr.  "Стековые компьютеры, новая волна" (1989)

MISC против RISC против CISC

Цитата
MISC (компьютер с минимальным набором команд, Minimal Instruction Set Computer) — архитектура для проектирования процессора, которая отличается наилучшей эффективностью и простотой в сравнении с CISC и RISC. Может содержать в себе блок RISC, обрабатывающий в себе от 10 базовых команд (+, —, /, *, if, else & etc), из которых формируются более сложные операции над значениями, методом ветвления полученных результатов в ПЗУ. С точки зрения быстродействия, время выполнения инструкции, скорость записи и передачи данных в память, сократилось бы в разы, так как не нужно было бы ожидать, пока заполнится и очистится конвейер, а выполнять всё «потоково» без задержек.

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

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

Первая вариация данного процессора под названием MuP21 (1995г) http://www.wikiznanie.ru/ru-wz/index.php/MuP21

, имеет вычислительную способность 100 MIPS, при техпроцессе 1.2 мкм (!), энергопотребление 50 мВт. Работает процессор на 100 мГц и количество транзисторов равно 7000 штук (!).

Впечатляет. У Pentium 1 (60 МГц) с 3.1 млн. транзисторов, 0,8 мкм и до 15 ватт энергопотреблением, вычислительные возможности были примерно на том же уровне.
Для GA144 делался и проект Си компилятора.

Форт, вообще, первый стандартизованный язык c парадигмой DSL из конкатенативной группы языков
К примеру программа nncron сделана на Форт и автор её давал интервью почему он пришёл к использованию Форта вместо ранее  С++.

Membaca “Interview Dengan Tom Zimmer: Forth System Developer”

Почему обречён язык Форт





« Последнее редактирование: 26 Октябрь 2022, 10:07:10 от forthuser »