Re: [orca-list] Punctuation, capital letters, exchange of characters and strings, generally error in the design of Orca



On Mon, Apr 07, 2008 at 02:31:11PM +0200, Halim Sahin wrote:
If this is the goal all apps except orca must add python to their
dependency list.

I can't understand why many projects are trying to reimplement existing
stuff and try to migrate to python.
The core of such an important stuff like speech/braille output should
really use a fast stable programming language like c / c++ and not
python.

I think part of the answer is that many programmers find it more productive to
work in high-level languages with garbage collection and suitable abstractions
built into the core of the language. Python is one such option. Since it is
widely used nowadays, I expect almost every modern Linux installation to
include a Python interpreter. There are also interesting projects underway,
such as Pypy which is supposed to compile Python code into an executable
(i.e., into the machine instructions for your CPU).

If Python isn't your choice, there are other possibilities starting to be more
widely embraced among free software developers such as Objective Caml and
Haskell. I'm not a programmer, but having been inspired by Abelson, Sussman
and Sussman's Structure and Interpretation of Computer Programs (2nd ed.),
a truly great textbook that introduces many important concepts via functional
programming in Scheme, I think modern functional languages hold much promise.

As time permits, I'm reviewing draft chapters of a forthcoming book on
Haskell, which should provide an interesting opportunity to become somewhat
familiar with that language. http://www.realworldhaskell.org/beta/

I don't know what motivated the decision to implement Orca in Python rather
than in C/C++, but it's certainly part of a wider trend to write only
performance-critical code in C and everything else in a higher-level language.
Orca's predecessor, Gnopernicus, was written in C (but not C++). Whether
venturing down the Python route was, on balance, a better choice for Orca I'm
not in a position to judge. I'm sure the Speech Dispatcher developers have
strong reasons for taking the same path, though, as programmers in my
experience generally don't rewrite projects without very good reasons for
doing so.

Of course, in the Orca case, the dynamic scripting support would be hard to
implement in C/C++ without linking in a scripting language or writing your
own. In that case I suppose it's reasonable to write the whole system (above
the AT-SPI layer) in the scripting language.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]