Лучшие языки для обучения слепого взрослого основам программирования?

У меня есть друг, который слеп и хочет научиться программировать. Я тоже слепой, но я научил себя программировать на старом компьютере с версией gwbasic и аудиокнигой, написанной в 1980 году, которая больше не доступна, поэтому способ, которым я научился, не вариант. Я смотрел на подобные вопросы, но у меня есть некоторые уникальные требования:

  1. Я исключил Python как обязательный выбор хотя бы на начальном этапе из-за использования отступов.
  2. Программы на языке должны легко запускаться как консольное приложение, они не годятся для начинающих слепых программистов.
  3. Язык должен быть применим в любом текстовом редакторе и командной строке, IDE часто изначально трудно использовать с программой чтения с экрана, учитывая количество имеющихся у них опций.
  4. Язык должен иметь хорошие электронные учебники; Я не могу тратить время на обучение этого человека всему, что ему необходимо знать, хотя я могу помочь, если у него возникнут проблемы.

8 ответов

Решение

Почему не Руби?

  • Его командная строка ориентирована
  • Это можно написать в любом текстовом редакторе
  • Очень простой синтаксис / парадигмы
  • Тонны документации / учебники онлайн

Звучит как хороший вариант для меня. http://www.ruby-lang.org/

Язык программирования Lua также может быть хорошим вариантом. У Спенсера была хорошая идея отметить, что многословие здесь может быть плюсом, языки, использующие много символов, могут раздражать, когда говорят вслух.
Ядро Lua простое, синтаксис хороший, оно предпочитает ключевые слова над символами ("и / или / не" против "&& ||!", Функции с тегами явно, do... end вместо мягких скобок). Как и большинство хороших языков, ему нужен только хороший текстовый редактор и компилятор командной строки (для всех видов платформ).

Существует хорошее справочное руководство, и первое издание превосходной книги по Lua (от одного из разработчиков) доступно в Интернете, а второе издание (для последней версии) доступно в виде файла PDF.

,

Я начал изучать JavaFX с хорошего, прогрессивного учебника ( Эксперименты со скриптом JavaFX), и хотя этот язык в основном ориентирован на визуальные эффекты и графические интерфейсы, немногие из тех, что я видел до сих пор, хорошо работают в командной строке и отображают подробные сообщения в случае синтаксические ошибки, которые могут помочь новичкам:

Test.fx: 15: Извините, я пытался понять параметры объявления функции, но я запутался, потому что вы пропустили ")", который является символом пунктуации, который должен быть там.
функция Dist2(x1, y1, x2, y2
пробелы для выравнивания стрелки ------> ^ 1 ошибка

Как и Lua, он использует больше ключевых слов, чем Java ("функция" и / или / нет), но при этом использует мягкие скобки. Его вывод типа (меньше объявлений типов) хорош для начинающих.

Я предвосхищу свое предложение, сказав, что я слепой человек, который учится программировать, поэтому я кое-что знаю о ситуации. Я говорю это, потому что вы, вероятно, подумаете, что мое предложение немного напыщенно:

Перейти с C или C++. Я изучаю с ++ как мой родной язык. Существует множество учебных пособий, многие знают об этом, поэтому могут оказать помощь, и это, безусловно, текстовый редактор и дружественная к командной строке. Вы можете полностью взять C и C++ и написать простой код в виде TextPad, NOtePad или EdSharp, а затем сразу же развернуть его и скомпилировать в командной строке. Он также многому научит вас о том, как на самом деле работает программирование, потому что вы можете быть с ним на высоком или низком уровне. Очень гибкий Чтобы доказать, что это может быть сделано, вот путь, который я прошел с C++ за последние 3 или 4 недели, изучая его самостоятельно в свободное время, пока моя жена и малыш спят.

Я начал использовать блокнот с MinGW-компилятором и командную строку для моих первых программ, используя начальные учебные руководства на www.cplusplus.com. Я использую Jaws для Windows в качестве средства чтения с экрана с установленным для всех уровнем пунктуации, что для тех из вас, кому не требуется средство чтения с экрана, означает, что я слышу каждый <, () {} "и т. Д., Когда проверяю свой код за строкой. У меня также включен параметр, который точно сообщает, сколько пробелов осталось до первого символа строки, так как я хотел бы привыкнуть к этому, когда я берусь за Python.

Затем я перешел на использование EdSharp, текстового редактора, написанного на C# слепым разработчиком, с отличными функциями доступности, встроенными в приложение. Ваш студент может использовать любой из них довольно легко, и они оба бесплатны. Теперь я знакомлюсь с Eclipse и Visual Studio, чтобы понять, какие из них лучше всего соответствуют моим потребностям, поскольку в конечном итоге вам действительно необходимо перейти на IDE, если вы собираетесь делать что-то действительно существенное. Я работаю в своем духе Thinkinghg Thinking in C plus plus Брюса Экла, вся честь ему за прекрасную книгу, столь щедро предложенную бесплатно.

То, что я настоятельно рекомендую, это делать с чем-то слишком неясным, тупым и т. Д. Пойдите как мейнстрим, как вы можете. Таким образом, вы можете быстро освободить его. Получите его подписку на список рассылки для слепых программистов и попросите его проверить веб-сайт, посвященный индивидуальной разработке, который ведет Джамал Мазруи по адресу: http://testsite.blind-planet.com/. Он будет хорошо.

Хо-Ламат хун-лахун Уоо

Возможно, вам придется взглянуть на проекты, над которыми работает TVRaman, а также на инструменты, которые он использует. Кроме того, я столкнулся с этим проектом под названием Voicecode ( Project Page, Homepage), который специально разработан для слепых программистов. Voicecode утверждает, что вы можете программировать на любом языке, Python и C,C++, используя его инструменты.

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

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

Без какого-либо непосредственного опыта я бы предположил, что VB.Net был бы отличным языком для начала. Во-первых, у него есть компилятор командной строки, он способен писать консольные приложения, он очень многословен и является современной технологией, поэтому в Интернете доступно множество электронных учебных пособий.

Я нашел краткое руководство по написанию простого приложения на VB.Net с небольшим поиском в Google: http://visualbasic.about.com/od/learnvsnet/l/blecvbnet10201.htm

Я думаю, что Vbscript / VB.NET - хороший выбор. Специальных символов не так много, их можно запускать и компилировать из Блокнота и т. Д. (Vb.NET может быть немного сложнее для первой установки, но, возможно, с поддержкой компилятора сниппета...).

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

Исходя из ваших начальных требований, я бы порекомендовал язык с интерактивной консолью. Это дает преимущество слышать ответ компьютера, как только вы нажмете ввод. Руби может быть одним из таких вариантов. Если ваш друг использует Windows, изучение PowerShell может быть хорошим способом.

Наконец, вы можете рассмотреть HTML/Javascript. Я полагаю, что это мотивирует многих людей учиться, делясь своей первоначальной работой. Гораздо интереснее предоставить общий динамический веб-сайт, чем консольное приложение, которое требует, чтобы другой пользователь имел переводчика.

Нет ли способа, которым вы можете получить аудиокнигу BASIC и позволить ему начать взламывать BASIC?

Я думаю, что он обеспечивает наиболее подробный синтаксис из всех языков, чтобы стимулировать использование программ чтения с экрана. И, если используется правильно (без goto и других непослушных практик), это прекрасный язык для изучения в качестве первого таймера (так как Python и C исключены).

Другие вопросы по тегам