Языки программированияКумир

Случайно узнал про язык программирования, на основе школьного алгоритмического языка Андрея Ершова — Кумир.
Исходники под GPL, однако: lpm.org.ru/kumir2/
В них есть примеры программ, в кодировке UTF-16.
Код на Кумире выглядит вот так:

алг вперед 
нач 
  выбор 
  при направление = 1: 
    вправо 
    выход 
  при направление = 2: 
    вниз 
    выход 
     
  при направление = 3: 
    влево 
    выход 
     
  при направление = 4: 
    вверх 
    выход 
  все 
кон 


Да, и ссылка на интереснейший сайт-архив Ершова — ershov.iis.nsk.su/russian/
  • +2
  • semiletov
  • 05 сентября 2011, 16:31

Комментарии (15)

  • avatar
  • fog
  • 05 сентября 2011, 17:20
  • #
  • 0
Я помню, ещё в школе на таком «программировал». :-)
Говорят, внутренний язык 1C сильно похож на него, сам не видел.
> Говорят, внутренний язык 1C сильно похож на него

Он похож только тем что слова русские
и не более
Реальный кусок кода:
Функция ПогаситьРезерв(ТИРезервы, ПогаситьКолВо)
	
	ОстРезерва  = ТИРезервы.Количество;
	ПогКРезерва = Макс(Мин(ПогаситьКолВо, ОстРезерва),0);
	Если ПогКРезерва <> 0 Тогда
		// измерения                                                
		Регистр.РезервыТМЦ.Склад            = ТИРезервы.Склад;
		Регистр.РезервыТМЦ.ДоговорПокупателя= ТИРезервы.ДоговорПокупателя;
		Регистр.РезервыТМЦ.ЗаявкаПокупателя = ТИРезервы.ЗаявкаПокупателя; 
		Регистр.РезервыТМЦ.Фирма 			= ТИРезервы.ЗаявкаПокупателя.Фирма;
		// ресурсы
		Регистр.РезервыТМЦ.Количество       = ПогКРезерва;
		// выполним движение
		Регистр.РезервыТМЦ.ДвижениеРасходВыполнить();
		
		ПогаситьКолВо = ПогаситьКолВо - ПогКРезерва;
	КонецЕсли;
	
	Возврат ПогКРезерва;
	
КонецФункции // ПогаситьРезерв()


Юмор из интернетов:
КОНЕЦ) КАК ПросроченоПиздецКак,
 СУММА(ВложенныйЗапрос.СуммаОстаток) КАК ДебиторкаВся,
 ВложенныйЗапрос.Договор.СрокОплатыПоДоговору КАК СрокОплаты,
 ВложенныйЗапрос.Сделка.Ответственный КАК Менеджер
ИЗ


Yossarian:
Мы обращались в фирму 1С с предложением ввести в язык (речь идет о версии 6.0) следующие конструкции:
ПОЧЕМУ БЫ И НЕ — проверяет условие еще раз (самый частый глюк старой 1С)
НЕПРЕМЕННО — выполняет оператор без сбоев и зависаний
ОТНЫНЕ — присваивает значение переменной так, чтобы оно там действительно оказалось. (присвоить переменной вида, к примеру, «Справочник» значение в языке 1С — порой очень непростая задача, иногда требующая конструкции аж из 4-х операций)
ВО ЧТО БЫ ТО НИ СТАЛО — выводит текст отчета который без этого оператора выводится через раз.
НЕ СПАТЬ — отключает внутренний глюкогенератор
Я СКАЗАЛ — выполняет команду до тех пор, пока она не выполнится.
ИМЕТЬ СОВЕСТЬ — приостановить выполнение команды при её зависании.
Почему-то фирма не прислушалась к нашему мнению..
а зачем подобные бредовые языки? Зачем вообще нужны языки на русском языке? Нужно сразу обучать людей нормальным вещам, а то потом начинаются идиотизмы в виде русских комментариев и прочей ерунды.
Это же школьное обучение, а не профессиональное :-) Здесь цель — не научить правильному стилю программирования, а дать понять ребенку, как программы внутри устроены.
ну я понимаю конечно, что школьное. Именно для этого же и существует паскаль, та же самая фигня только на нормальном языке. Если нужно обучить как внутри устроены, можно использовать вообще блок-схемы, там все ясно и наглядно)
Если обучение программированию идёт на этапе, когда знание английского близко к нулю, а когнитивные способности ещё не достигли приемлемого уровня — да, наверное имеет смысл использовать такие языки. Всё равно потом в старших классах можно (и нужно) будет скорректировать знания и навыки (аналогия: в институте многие разделы математики и физики, которые есть в школьной программе, читают чуть ли не с нуля — потому что форма изложения и уровень детализации совсем другие).
в наше время слова типа begin/end/if/while/do знают дети с детского сада, а с первого класса начинают учить англ. язык. Поэтому можно использовать без проблем.
старших классах можно (и нужно) будет скорректировать знания и навыки

Чаще всего это не коррекция, а фраза типа «Забудьте что вам говорили, на самом деле это вот так.», по крайней мере в универе. Причем это «забудьте» проявляется несколько раз за время обучения в университете=)
  • avatar
  • Q2W
  • 05 сентября 2011, 18:26
  • #
  • 0
Мои глаза! Они кровоточат!

P.S.: русские комментарии в проекте — это нормально, когда не планируется привлекать иностранных программистов.
Замени «не планируется» на «строго запрещено».
Не заменю. Потому как это бредовая постановка вопроса. Есть проекты, которые никогда не будут привлекать иностранных программистов по своей сути. Но это, тем не менее, не запрещено. А ещё есть проекты, где эффективней русская встроенная документация, а уж если вдруг начнётся использование индусов, то дешевле один раз переписать всю документацию — заодно рефакторинг будет.
По идее то да, но при проталкивании своего софта в дистрибутивы можно наткнуться на QA, которые не пустит тебя в репы, пока все комментарии не будут на английском.
По-идее они правы — если русскоговорящая команда забросит проект, его мало кто сможет поддерживать.
Ну далекооо не весь софт «проталкивается» в дистрибутивы. Тонны софта проприетарны. Более того, тонны софта никогда не покидают компании, в которой они были написаны.
если русскоговорящая команда забросит проект, его мало кто сможет поддерживать.
Да не так уж трудно в гуглтранслейт комментарии покидать. ;-) Это я говорю как человек, ковырявший проект с комментариями на французском. ;-)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.