教盲人的最佳语言编程基础知识?

时间:2009-01-10 06:50:07

标签: blind

我有一个失明的朋友,想学习如何编程。我也是盲人但是我自学了如何在一台旧计算机上编程,该计算机上有一个gwbasic版本和1980年写的一本不再可用的有声读物,所以我学到的方法不是一个选择。我看过类似的问题,但我有一些独特的要求:

  1. 由于使用了缩进,我已经将python作为强制选择进行了至少最初的判断。
  2. 语言中的程序应该作为控制台应用程序轻松运行,guis不适合初学盲人程序员。
  3. 该语言应该可以在任何文本编辑器和命令行中使用,IDE通常最初很难与屏幕阅读器一起使用它们所具有的选项。
  4. 语言需要有良好的电子教程;我不能花时间教这个人他们最初需要知道的一切,尽管如果他们遇到问题我可以提供帮助。

8 个答案:

答案 0 :(得分:16)

为什么不是Ruby?

  • 以命令行为导向
  • 可以在任何文本编辑器中编写
  • 非常简单的语法/范例
  • 大量文档/在线教程

听起来对我来说是一个不错的选择。 http://www.ruby-lang.org

答案 1 :(得分:6)

The Programming Language Lua也许是一个不错的选择。 Spencer有一个好主意指出,冗长可以在这里加分,使用大量符号的语言在大声说出来时会很烦人。
Lua核心很简单,语法很好,它有利于符号上的关键字(“和/或/不”与“&& ||!”,明确标记的函数,do ... end而不是软括号)。像大多数好的语言一样,它只需要一个好的文本编辑器,并且有一个命令行编译器(适用于各种平台)。

有一个很好的Reference Manualexcellent book on Lua的第一版(由其中一位开发人员提供)可在线获取,而第二版(针对最新版本)则以PDF文件的形式提供。

我开始用一个好的,渐进的教程(JavaFX)学习Experiments With JavaFX Script,虽然这种语言主要面向视觉效果和GUI,但到目前为止,我看到的少数几个在命令行上运行良好,并且它会在语法错误的情况下显示详细消息,这可能对初学者有所帮助:

  

Test.fx:15:对不起,我正试图   了解一个参数   功能声明,但我得到了   困惑,因为你有他们   错过了')'这是一个标点符号   应该在那里的角色。
  功能Dist2(x1,y1,x2,y2
  空格以对齐箭头------> ^ 1错误

与Lua一样,它使用的关键字多于Java(“function”和/或/ not),同时仍然使用软括号。它的类型推断(较少的类型声明)对初学者来说很好。

答案 2 :(得分:5)

我将通过说我是一个学习如何编程的盲人来提出我的建议,我知道这种情况。我这样说是因为你可能会认为我的建议有点像一个重磅炸弹:

使用C或C ++。我正在学习c ++作为我的第一语言。有很多很多教程,很多人都知道它可以提供帮助,而且它肯定是文本编辑器和命令行友好的。您可以完全使用C和c ++并在TextPad,NOtePad或EdSharp等代码中编写直接代码,然后转而在命令行中立即编译它。它还教你很多关于程序化实际上如何工作的原因,因为你可以使用它或使用低级别的程序。非常灵活。为了证明可以做到这一点,这是我在过去3或4周内用c ++旅行的路径,同时在我的妻子和孩子睡觉时在我的业余时间自己学习它。

我开始使用记事本和MinGW编译器以及我的第一个程序的命令行,使用www.cplusplus.com上的开头教程。我使用Jaws for Windows作为我的屏幕阅读器,标点符号设置为所有这些,对于那些不需要屏幕阅读器的人来说,意味着我听到了每一个< ,当我逐行检查我的代码时,(){}“等等。我也启用了一个设置,告诉我在一行的第一个字符之前有多少空格,因为我想使用它当我处理Python时听到这个。

然后我迁移到使用EdSharp,这是一个由盲人开发人员用c#编写的文本编辑器,具有内置于应用程序中的强大的辅助功能。你的学生可以很容易地使用其中任何一个,而且他们都是免费的我现在熟悉Eclipse和Visual Studio,看看哪个最适合我的需求,因为如果你要做任何真正重要的事情,最终需要迁移到IDE。我正在以自己的方式工作thourhg思考C加上Bruce Eckle,所有人都很荣幸能获得一本如此慷慨免费提供的好书。

我强烈建议反对任何过于模糊,愚蠢,ETC的事情。尽可能地成为主流。这样你就可以迅速让他松动。让他订阅盲人程序员邮件列表,并让他查看由Jamal Mazrui运营的非法开发网站: http://testsite.blind-planet.com/ 。他会做的很好。

Ho-Lamat hun-lahun Uoo

答案 3 :(得分:4)

如果没有任何直接的经验,我会猜测VB.Net将是一个很好的语言。首先它有一个命令行编译器,它能够编写控制台应用程序,它非常冗长,而且它是当前的技术,因此整个网络上都有大量的电子教程。

我找到了一个关于编写一个简单的VB.Net应用程序的快速教程,只需在Google上进行一些搜索: http://visualbasic.about.com/od/learnvsnet/l/blecvbnet10201.htm

答案 4 :(得分:4)

您可能需要查看T.V.Raman正在运行的项目,以及他正在使用的工具。 除此之外,我遇到了一个名为Voicecode(Project PageHomepage)的项目,这是专门为盲人程序员设计的。 Voicecode声称您可以使用其工具以任何语言,python和C,C ++进行编程。

如果Voicecode适合你,那么python可能是一个很好的开始使用的语言。 此外,如果这个人是编程的初学者,那么我建议C或Python作为语言来启动它。 C语言很小,易于掌握。 Python并不是你想法的方式。

顺便说一句,请告诉我们您认为合适的人。它也可能对其他人有帮助。

答案 5 :(得分:1)

我认为Vbscript / VB.NET是不错的选择。没有那么多特殊字符,可以从记事本等运行和编译。( Vb.NET对于第一次设置可能有点棘手,但可能有片段编译器的支持......

一般简单语法没有太多奇怪的字符,VB也一般适合初学者。此外它不区分大小写,这应该使它更容易玩(尤其是在编写函数等时)。

答案 6 :(得分:0)

你有没有办法获得BASIC有声读物并让他开始通过BASIC进行攻击?

我认为它提供了所有语言最详细的语法,以鼓励使用屏幕阅读器。并且,如果使用正确(没有goto和其他顽皮的做法),它是一种很好的语言,可以作为第一个计时器学习(因为Python和C被排除在外)。

答案 7 :(得分:0)

根据您的初始要求,我建议使用带交互式控制台的语言。这样做的好处就是只要按下回车就能听到计算机的响应。 Ruby可能就是这样一个选择。如果您的朋友正在使用Windows,那么学习PowerShell实际上可能是一条很好的路径。

最后,您可以考虑使用HTML / Javascript。我之所以提出这个问题,是因为许多人通过分享他们的初始工作而有动力去学习。共享基本动态网站比控制台应用程序更有趣,这需要其他用户拥有解释器。

相关问题