Учебный язык программирования
От: LaptevVV Россия  
Дата: 19.10.12 19:03
Оценка: 1 (1) -1
При разработке учебного языка нужно следовать некоторым основополагающим принципам (концепциям). Концепции разработки языка программирования делятся на три группы: семантические, синтаксические и прагматические (реализационные).

Основные семантические концепции, принятые при разработке учебного языка, следующие:
— понятия учебного языка должны соответствовать понятиям промышленных императивных языков программирования;
— множество понятий должно быть минимально;
— конструкции учебного языка не должны зависеть ни от аппаратной платформы, ни от операционной системы;
— язык должен поддерживать модульность, процедурное программирование и объектно-ориентированное программирование;
— конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);
— намерения программиста всегда должны указываться явно (запрет умолчаний).

В качестве примеров запрета умолчаний можно привести следующие:
— отсутствие неявных преобразований типа (кроме преобразования в арифметических выражениях целый->вещественный);
— явный параметр this, задаваемый при определении метода класса;
— явное определение класса как базового для наследования;
— явное указание наследуемых элементов класса;
— явное указание типа константы при определении.

При разработке учебного языка были приняты следующие синтаксические концепции:
— базовая лексика языка должна быть русскоязычной;
— ключевые слова должны иметь английский эквивалент;
— каждый оператор языка начинается ключевым словом;
— все операторы завершаются символом «;» – точка с запятой;
— блочные конструкции языка завершаются ключевым словом «конец».

Основу реализации интерпретатора учебного языка составляют следующие принципы:
— эффективность выполнения не слишком важна;
— загрузка и связывание модулей должны выполняться динамически;
— управление памятью осуществляет система;

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

И наконец, среда должна предоставлять стандартную библиотеку в виде набора модулей на учебном языке.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Учебный язык программирования
От: Abyx Россия  
Дата: 19.10.12 20:05
Оценка: 16 (2)
Здравствуйте, LaptevVV, Вы писали:

> конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);

SESE признано устаревшей практикой (http://programmers.stackexchange.com/questions/118703/where-did-the-notion-of-one-return-only-come-from)

> явное указание наследуемых элементов класса;

имеется в виду доступ к членам базового класса?

> явное указание типа константы при определении.

всмысле "константы"? Вы имели в виду литералы?

> базовая лексика языка должна быть русскоязычной;

зачем? мы же не используем русские буквы в физике, химии и математике.

> каждый оператор языка начинается ключевым словом;

"оператор" это statement? т.е. будет что-то вроде let для присваиваний, и call для вызовов функций?

> все операторы завершаются символом «;» – точка с запятой;

почему не EOL? что бы в одну строчку несколько операторов писать?

> управление памятью осуществляет система

всмысле "система"? GC или ручное?

> Основу реализации интерпретатора учебного языка составляют следующие принципы:

> переключение лексики не должно приводить к повторной трансляции программы;
это же интерпретатор, о какой трансляции речь?
In Zen We Trust
Re: Учебный язык программирования
От: Философ Ад http://vk.com/id10256428
Дата: 19.10.12 20:27
Оценка: 10 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>В качестве примеров запрета умолчаний можно привести следующие:

LVV>- явный параметр this, задаваемый при определении метода класса;
Следует ли это понимать, как: обращение к полям будет через this?

LVV>При разработке учебного языка были приняты следующие синтаксические концепции:

LVV>- каждый оператор языка начинается ключевым словом;
LVV>- все операторы завершаются символом «;» – точка с запятой;
Вероятно, "составной" оператор? Довольно странно, например оператор разыменования начинать ключевым словом.

LVV>Основу реализации интерпретатора учебного языка составляют следующие принципы:

LVV>- загрузка и связывание модулей должны выполняться динамически;
Значит ли это невозможность самостоятельной (в ручном режиме) загрузки и выгрузки модулей?

LVV>- управление памятью осуществляет система;

Почему принято именно такое решение?
Значит ли это, что в классах не будет деструкторов?

LVV>Не менее важными являются концепции реализации интегрированной среды, в рамках которой осуществляется обучение программированию:

LVV>- ошибки должны определяться в момент набора программы;
Вероятно, синтаксические?

LVV>- ввод-вывод данных должен осуществляться в рамках среды без выхода в операционную систему.

Значит ли это, что будет невозможно обратиться к функциям операционной системы?
Для всех таких примитивов ОС, как файлы, сокеты, пайпы, mmf, среда будет предоставлять собственные "обёртки", которые по умолчанию будут доступны в любом модуле?
LVV>И наконец, среда должна предоставлять стандартную библиотеку в виде набора модулей на учебном языке.
Что в неё будет входить?
Учитывая предыдущее, логично предположить, что стандартные модули будет реализовывать АТД.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[2]: Учебный язык программирования
От: LaptevVV Россия  
Дата: 20.10.12 05:42
Оценка:
Здравствуйте, Abyx, Вы писали:

>> конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);

A>SESE признано устаревшей практикой (http://programmers.stackexchange.com/questions/118703/where-did-the-notion-of-one-return-only-come-from)
Ну и что? Они давно первокурсников учили?
>> явное указание наследуемых элементов класса;
A>имеется в виду доступ к членам базового класса?
Нет. Доступ — тоже явно, и обычными средствами: открыт-закрыт. Здесь именно явно задать, что вот это наследуется.
>> явное указание типа константы при определении.
A>всмысле "константы"? Вы имели в виду литералы?
Ну, это я из-за Виртовских языков добавил. Там константа объявляется без типа. Например, const N = 10.
В С-подобных языках тип указывается
>> базовая лексика языка должна быть русскоязычной;
A>зачем? мы же не используем русские буквы в физике, химии и математике.
За полтора месяца обучения первокурсников преподы уже отметили очень положительный момент: новички (которые программирование в первый раз увидели) сразу осваивают правильную терминологию предметной области.
Кроме того, имена переменных ученики дают осмысленные — на русском.
Да и преподы, обучающие школьников с нуля, практически все отмечают, что на родном языке с нуля обучать проще.
А на английский у нас в среде одной кнопочкой переключается. Это мы в следующем семестре начнем, когда понятия-концепции усвоят.
>> каждый оператор языка начинается ключевым словом;
A>"оператор" это statement? т.е. будет что-то вроде let для присваиваний, и call для вызовов функций?
Да. Все равно студень этого слова не набирает и ошибок не делает.
А семантику — усваивают.
>> все операторы завершаются символом «;» – точка с запятой;
A>почему не EOL? что бы в одну строчку несколько операторов писать?
Опять же — не набирают они точку с запятой ручками. А видеть — видят. Для перехода на С-подобные языки — полезно.
>> управление памятью осуществляет система
A>всмысле "система"? GC или ручное?
GC. Как в Java, C#, Component Pascal, Pithon и т.д.
>> Основу реализации интерпретатора учебного языка составляют следующие принципы:
>> переключение лексики не должно приводить к повторной трансляции программы;
A>это же интерпретатор, о какой трансляции речь?
Именно. У нас вообще нет этапов лексического и синтаксического анализа.
Редактор сразу строит прогу во внутреннем представлении. И этот дерево — вход интерпретатора.
Я просто зафиксировал концепцию этой фразой.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Учебный язык программирования
От: LaptevVV Россия  
Дата: 20.10.12 06:01
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, LaptevVV, Вы писали:


LVV>>В качестве примеров запрета умолчаний можно привести следующие:

LVV>>- явный параметр this, задаваемый при определении метода класса;
Ф>Следует ли это понимать, как: обращение к полям будет через this?

LVV>>При разработке учебного языка были приняты следующие синтаксические концепции:

LVV>>- каждый оператор языка начинается ключевым словом;
LVV>>- все операторы завершаются символом «;» – точка с запятой;
Ф>Вероятно, "составной" оператор? Довольно странно, например оператор разыменования начинать ключевым словом.
Ну, у нас как-то стихийно сложилось понятие "блочный" так как в теле оператора можно писать и объявления переменных.
То есть тело — это блок в традиционном смысле.
Обычно составной оператор отличается от блока именно тем, что в составном операторе нельзя писать объявления переменных.
Так в Алгола повелось, потом в Паскальное направление перекочевало.
В С-подобных языках подобного отличия нет.
LVV>>Основу реализации интерпретатора учебного языка составляют следующие принципы:
LVV>>- загрузка и связывание модулей должны выполняться динамически;
Ф>Значит ли это невозможность самостоятельной (в ручном режиме) загрузки и выгрузки модулей?
Пока нет, но на уровне библиотеки можно решить.
LVV>>- управление памятью осуществляет система;
Ф>Почему принято именно такое решение?
Потому как сейчас это повсеместно так сделано...
Ф>Значит ли это, что в классах не будет деструкторов?
И конструкторов тоже...
LVV>>Не менее важными являются концепции реализации интегрированной среды, в рамках которой осуществляется обучение программированию:
LVV>>- ошибки должны определяться в момент набора программы;
Ф>Вероятно, синтаксические?
Не только. Если студень ошибся при наборе имени, то выдается семантическая ошибка: имя не определено.
А синтаксических у нас в принципе нет, так как все ключевые слова и даже весь оператор целиком вставляются снипетом или из подсказчика.
LVV>>- ввод-вывод данных должен осуществляться в рамках среды без выхода в операционную систему.
Ф>Значит ли это, что будет невозможно обратиться к функциям операционной системы?
Нет, не значит. Решается на уровне стандартной библиотеки.
Ф>Для всех таких примитивов ОС, как файлы, сокеты, пайпы, mmf, среда будет предоставлять собственные "обёртки", которые по умолчанию будут доступны в любом модуле?
Можем сделать для любых. Механизм расширения позволяет довольно просто сделать вызовы любых функций операционной системы.
Но пока ориентированы на первичное обучение программированию.
LVV>>И наконец, среда должна предоставлять стандартную библиотеку в виде набора модулей на учебном языке.
Ф>Что в неё будет входить?
Ф>Учитывая предыдущее, логично предположить, что стандартные модули будет реализовывать АТД.
Типичный джентльменский набор для первоначального обучения:
— System
— String – работа со строками;
— Math – набор математических функций;
— DateTime – набор функций для работы с датой и временем;
— Money – работа с денежными суммами;
— Stack – реализация стека;
— Queue – реализация очереди;
— Set – реализация множества;
— Dictionary – реализация словаря;
— List – реализация списка;
— Store – обобщенный контейнер;
— Files – модуль для работы с файлами;
— Windows – оконная библиотека;
— Graphics – графическая библиотека;
— Черепашка – модуль черепашьей графики (для обучения);
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Учебный язык программирования
От: AlexRK  
Дата: 20.10.12 06:07
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>При разработке учебного языка нужно следовать некоторым основополагающим принципам (концепциям). Концепции разработки языка программирования делятся на три группы: семантические, синтаксические и прагматические (реализационные).


У вас прямо Оберон получился. Ну, кроме русских идентификаторов (ух, не люблю я это дело), типов в константах и обязательной точки с запятой.
Re[2]: Учебный язык программирования
От: AlexRK  
Дата: 20.10.12 06:10
Оценка:
Здравствуйте, Abyx, Вы писали:

>> конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);

A>SESE признано устаревшей практикой (http://programmers.stackexchange.com/questions/118703/where-did-the-notion-of-one-return-only-come-from)

Кем признано, левым программистом со StackOverflow?

Вопрос неплохо освещен у Макконнелла. Мягко говоря, все неоднозначно. Можно дров наломать и так, и так. Лично я — за один вход и один выход.
Re[2]: Учебный язык программирования
От: LaptevVV Россия  
Дата: 20.10.12 06:56
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, LaptevVV, Вы писали:


LVV>>При разработке учебного языка нужно следовать некоторым основополагающим принципам (концепциям). Концепции разработки языка программирования делятся на три группы: семантические, синтаксические и прагматические (реализационные).


ARK>У вас прямо Оберон получился. Ну, кроме русских идентификаторов (ух, не люблю я это дело), типов в константах и обязательной точки с запятой.

Не совсем. Но конструкция модуля — практически из Компонентного паскаля
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: Учебный язык программирования
От: Don Reba Канада https://stackoverflow.com/users/49329/don-reba
Дата: 20.10.12 08:38
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Кроме того, имена переменных ученики дают осмысленные — на русском.

LVV>Да и преподы, обучающие школьников с нуля, практически все отмечают, что на родном языке с нуля обучать проще.
LVV>А на английский у нас в среде одной кнопочкой переключается. Это мы в следующем семестре начнем, когда понятия-концепции усвоят.

Интересно, осмысленные имена переменных тоже переключаются?
Программы же получаются только для личного пользования. Они на StackOverflow и то не смогут помощи попросить.
Ce n'est que pour vous dire ce que je vous dis.
Re[3]: Учебный язык программирования
От: Abyx Россия  
Дата: 20.10.12 10:26
Оценка: +3
Здравствуйте, AlexRK, Вы писали:

>>> конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);

A>>SESE признано устаревшей практикой (http://programmers.stackexchange.com/questions/118703/where-did-the-notion-of-one-return-only-come-from)

ARK>Кем признано, левым программистом со StackOverflow?


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

ARK>Лично я — за один вход и один выход.

а вот лично Вас я не знаю.
In Zen We Trust
Re[4]: Учебный язык программирования
От: Abyx Россия  
Дата: 20.10.12 10:31
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Программы же получаются только для личного пользования. Они на StackOverflow и то не смогут помощи попросить.


вот уж чего не надо)
In Zen We Trust
Re[3]: Учебный язык программирования
От: Философ Ад http://vk.com/id10256428
Дата: 20.10.12 11:42
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, Философ, Вы писали:


LVV>>>- управление памятью осуществляет система;

Ф>>Почему принято именно такое решение?
LVV>Потому как сейчас это повсеместно так сделано...
Ф>>Значит ли это, что в классах не будет деструкторов?
LVV>И конструкторов тоже...

Как предполагается реализовывать такие штуки, как FileStream, свой вариант финализаторов и IDisposable?
Всё сказанное выше — личное мнение, если не указано обратное.
Re[4]: Учебный язык программирования
От: AlexRK  
Дата: 20.10.12 12:02
Оценка:
Здравствуйте, Abyx, Вы писали:

A>Здравствуйте, AlexRK, Вы писали:


>>>> конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);

A>>>SESE признано устаревшей практикой (http://programmers.stackexchange.com/questions/118703/where-did-the-notion-of-one-return-only-come-from)

ARK>>Кем признано, левым программистом со StackOverflow?


A>угу, программистом с немалым количеством репы на SO и еще несколькими сотнями программистов которые за это проголосовали.


ОК. Это ближе к истине. А то слишком громко звучит "SESE признано устаревшей практикой". Можно подумать, что так и есть.

ARK>>Лично я — за один вход и один выход.

A>а вот лично Вас я не знаю.

Меня знать и не требуется, я не выдвигаю претендующих на истину тезисов.
Re[4]: Учебный язык программирования
От: LaptevVV Россия  
Дата: 20.10.12 13:45
Оценка:
Здравствуйте, Don Reba, Вы писали:

DR>Здравствуйте, LaptevVV, Вы писали:


LVV>>Кроме того, имена переменных ученики дают осмысленные — на русском.

LVV>>Да и преподы, обучающие школьников с нуля, практически все отмечают, что на родном языке с нуля обучать проще.
LVV>>А на английский у нас в среде одной кнопочкой переключается. Это мы в следующем семестре начнем, когда понятия-концепции усвоят.

DR>Интересно, осмысленные имена переменных тоже переключаются?

DR>Программы же получаются только для личного пользования. Они на StackOverflow и то не смогут помощи попросить.
Вы забываете все время, что народ учит "таблицу умножения"...
StackOverflow у нас просто нет...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Учебный язык программирования
От: batu Украина  
Дата: 20.10.12 14:26
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>При разработке учебного языка нужно следовать некоторым основополагающим принципам (концепциям). Концепции разработки языка программирования делятся на три группы: семантические, синтаксические и прагматические (реализационные).

Есть еще лексические..

LVV>Основные семантические концепции, принятые при разработке учебного языка, следующие:

LVV>- понятия учебного языка должны соответствовать понятиям промышленных императивных языков программирования;
LVV>- множество понятий должно быть минимально;
Всего 5 понятий.. Куда меньше?
LVV>- конструкции учебного языка не должны зависеть ни от аппаратной платформы, ни от операционной системы;
Не зависит.
LVV>- язык должен поддерживать модульность, процедурное программирование и объектно-ориентированное программирование;
Плюс к этому поддерживает функциональную и логическую парадигму..
LVV>- конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);
Само собой..
LVV>- намерения программиста всегда должны указываться явно (запрет умолчаний).
Есть такое свойство.

LVV>При разработке учебного языка были приняты следующие синтаксические концепции:

Та какие концепции? Одна синтаксическая формула на весь язык. За исключением выражений.
LVV>- базовая лексика языка должна быть русскоязычной;
Без разницы..В основе 5 понятий.. Остальное создавай на любом языке.
LVV>- ключевые слова должны иметь английский эквивалент;
Ключевых слов нет. (ну, кроме вот тех 5-ти) Сначала идет имя концепта, класса или типа.. (Кстати, имя не обязательно слово. Имя может содерджать несколько слов и знаки тоже и даже один знак)
LVV>- каждый оператор языка начинается ключевым словом;
ну, концепт же..
LVV>- все операторы завершаются символом «;» – точка с запятой;
Не обязательно. Только в концептах с необязательной реализацией..
LVV>- блочные конструкции языка завершаются ключевым словом «конец».
На общем синтаксие..

LVV>Основу реализации интерпретатора учебного языка составляют следующие принципы:

Одновременно и редактор и компилятор и интерпретатор..
LVV>- эффективность выполнения не слишком важна;
Как реализуешь, такой и будет эффективный.
LVV>- загрузка и связывание модулей должны выполняться динамически;
Та не вопрос.
LVV>- управление памятью осуществляет система;
Само собой..

LVV>Не менее важными являются концепции реализации интегрированной среды, в рамках которой осуществляется обучение программированию:

LVV>- среда должна поддерживать работу и с одномодульными, и с многомодульными программами;
LVV>- среда должна обеспечивать простой и независимый от платформы механизм накопления программных компонент;
LVV>- среда должна позволять набор кода программы и в русской, и в английской лексике;
LVV>- переключение лексики не должно приводить к повторной трансляции программы;
LVV>- изменение ключевых слов в коде должно быть невозможно;
Увы.. Можно определить собственный концепт..и его реализацию..
LVV>- ошибки должны определяться в момент набора программы;
LVV>- редактор кода, с одной стороны, должен обеспечивать традиционные операции редак-тирования текста, и с другой стороны, должен оперировать конструкциями языка;
LVV>- ввод-вывод данных должен осуществляться в рамках среды без выхода в операционную систему.
Вообще нет операций ввода вывода. Загрузка, распределение памяти и хранение вопрос системы. Формат единый.

LVV>И наконец, среда должна предоставлять стандартную библиотеку в виде набора модулей на учебном языке.

Библиотеки делать надо.. Как и все остальное.. Язык только на бумаге и демонстрационка..
Re[4]: Учебный язык программирования
От: Философ Ад http://vk.com/id10256428
Дата: 21.10.12 17:47
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, LaptevVV, Вы писали:


Ф>>>Значит ли это, что в классах не будет деструкторов?

LVV>>И конструкторов тоже...

Ф>Как предполагается реализовывать такие штуки, как FileStream, свой вариант финализаторов и IDisposable?


Сорри, неправильно (неточно) выразился.

Как предполагается реализовывать такие штуки, как FileStream?
Своими костылями наподобие финализаторов и IDisposable?

Т.е. понятно, что есть объекты, заведующие временем жизни неуправляемых ресурсов, которые, в идеале, должны дохнуть вместе с ресурсами, которыми они заведуют. Т.е. в дотнете для этого изобретён IDisposable. Как будет у вас?
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: Учебный язык программирования
От: boot  
Дата: 08.11.12 06:43
Оценка: 1 (1)
Здравствуйте, LaptevVV, Вы писали:

LVV>Вы забываете все время, что народ учит "таблицу умножения"...

LVV>StackOverflow у нас просто нет...

В универе у нас был преподаватель математики, рассказывал, что когда преподавал в школе (практика проходила там), учил не зубрить таблицу умножения, а представлять образно умножение чисел. Почему я это запомнил? Да потому, что именно так, образно умножаю числа в уме, но остальные в аудитории были в недоумении "как так?", он объяснил это дело на отрезках. Но, что поделаешь, когда таблица уже зазубрена? Не исправить уже. После он рассказал, что его методы обучения школа восприняла "в штыки", и его практически выжили оттуда. Он пытался воспитать гениев, а школе тупо требовалось выполнить программу.

PS. Вообще не могу, как мне повезло с преподавателями!
Жизнеспособность прямо пропорциональна простоте!
Re: Учебный язык программирования
От: LaptevVV Россия  
Дата: 08.11.12 08:47
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>При разработке учебного языка нужно следовать некоторым основополагающим принципам (концепциям). Концепции разработки языка программирования делятся на три группы: семантические, синтаксические и прагматические (реализационные).


LVV>Основные семантические концепции, принятые при разработке учебного языка, следующие:

LVV>- понятия учебного языка должны соответствовать понятиям промышленных императивных языков программирования;
LVV>- множество понятий должно быть минимально;
LVV>- конструкции учебного языка не должны зависеть ни от аппаратной платформы, ни от операционной системы;
LVV>- язык должен поддерживать модульность, процедурное программирование и объектно-ориентированное программирование;
LVV>- конструкции языка должны удовлетворять принципам структурного программирования (единственный вход и единственный выход);
LVV>- намерения программиста всегда должны указываться явно (запрет умолчаний).

Забыл добавить:
— семантика конструкций языка не должна зависеть от синтаксиса языка;

И естественно, это подвигает на реализацию сменяемого синтаксиса в рамках одного редактора кода.
Сейчас у нас 4 синтаксиса:
— Semantic Language? основная лексика русская, но переключается на английскую из меню...
— С-подобная (английская и опять же русская)
— паскале-подобная (то же самое)
— мини а ля Питон... — без лишних закрывающих endoв (тоже русская и английская)
Тем самым у учней развязывается связь между синтаксисом и понятиями языка — это важно. Ибо многолетние наблюдения показывают, что студенты, которые ВООБЩЕ НЕ ЗНАКОМЫ с программированием, склонны заучивать синтаксические конструкции, а не понятия языка.

В настоящее время новый синтаксис можно добавить в среду за 1 день.
И новое понятие тоже можно добавить на счет раз-два.

Кстати, русскоязычность имеет неожиданный бонус — усвоение студентами с самого начала правильной профессиональной терминологии.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Учебный язык программирования
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 08.11.12 10:01
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>При разработке учебного языка нужно следовать некоторым основополагающим принципам (концепциям). Концепции разработки языка программирования делятся на три группы: семантические, синтаксические и прагматические (реализационные).


Мне кажется идейка с языком заведомо тупиковая и причиной тому недостаточная мотивация у студентов и необходимость давать кроме языка еще чтото.

Если глянуть на самые толковые буквари по программированию, навроде sicp, то заметно, что там идет подача материала не от языка, а от задач.
То есть, нужно подготовить набор задач, которые 1 интересны 2 актуальны 3 раскрывают возможности языка

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

Еще интересная идейка у мит, это подача материала на заранее заготовленых библиотеках. Т.е. студент не пишет полностью всю задачу, а дописывает имеющиеся.
Re[5]: Учебный язык программирования
От: boot  
Дата: 08.11.12 10:05
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Вы забываете все время, что народ учит "таблицу умножения"...


Забыл самое главное написать человек, который первым придумал как умножать числа, стопудово не учил таблицу умножения.
Жизнеспособность прямо пропорциональна простоте!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.