Существуют определенно достоинства к обоим вариантам; однако, так как Ваш домен является образовательным опытом, я думаю, что решение для C/C++ больше всего принесло бы пользу студентам. Графическое программирование всегда будет опцией, но просто не обеспечивает функциональность изящным способом, который сделал бы более эффективным использовать, чем текстовое программирование для низкоуровневого программирования. Это не плохая вещь - смысл абстракции должен позволить новое понимание и представление проблемной области. Причина я верю многим, может быть разочарована графическим программированием, хотя то, что для какой-то конкретной программы возрастающее усиление в движении от программирования в C к графическому является совсем не тем же как идущий от блока до C.
Знание графического программирования принесло бы пользу любому будущему программисту наверняка. Вероятно, будут возможности в будущем, которые только требуют знания графического программирования, и возможно некоторые Ваши студенты могли извлечь выгоду из некоторого раннего опыта с ним. С другой стороны, прочная основа в фундаментальных концепциях программирования, предоставленных текстовым подходом, извлечет выгоду весь из Ваших студентов и конечно должна быть лучшим ответом.
V8 легко построить и не требует дополнительных затрат виртуальной машины Java из-за автономного интерпретатора Javascript Mozilla. К счастью, V8 поставляется с кодом для создания консоли. Вот как это построить:
$> svn co http://v8.googlecode.com/svn/trunk v8-trunk ... $> cd v8-trunk $> scons $> g++ ./samples/shell.cc -o v8-shell -I include libv8.a
Теперь у нас есть автономный двоичный файл с именем v8-shell
.
Запуск консоли:
$> ./v8-shell V8 version 2.0.2 > var x = 10; > x 10 > function foo(x) { return x * x; } > foo function foo(x) { return x * x; } > quit()
Выполнение Javascript из командной строки:
$> ./v8-shell -e 'print("10*10 = " + 10*10)' 10*10 = 100
Многие другие функции описаны в справке:
$> ./v8-shell --help Usage: ...