Theiling Online    Sitemap    Conlang Mailing List HQ   

Re: Spell Checking for Non European Languages, and for Conlangs

From:Mark J. Reed <markjreed@...>
Date:Wednesday, March 31, 2004, 0:03
On Tue, Mar 30, 2004 at 06:38:31PM -0500, Nokta Kanto wrote:
> C++ is popular because it builds on C, which was very popular because it > was a clean, simple language that was speed-competitive with assembly.
"C. All the power and speed of assembly, with the legibility of . . . assembly." :) The problem with C is that it is too low-level; it really is just a thin veneer over assembly. Which means that all of the safety checks that prevent malicious input from exploiting your program to do mean and nasty things are wholly the responsibility of the programmer; the language runtime is no help. This fact is the source of just about every virus, worm, and other security exploit on the 'net. At this point, with fast CPUs and just-in-time compiling, languages like C no longer offer enough of a speed advantage to be worth the safety tradeoff, IMHO. (In general purpose environments; embedded real-time systems are another matter. C is certainly a better choice than assembly, which is the usual alternative there).
> My limited experience suggests that Haskell is very suited to parsing and > the kind of rule-based processing that would be done for spell-checking.
C is a poor choice for anything that involves manipulating character strings, and C++ isn't really much better. I think Perl, Python, or Ruby. Or JavaScript if it's going to be embedded in a web page, or if it's going to use the Windows Script Host to automate other programs on a Windows PC. There are plenty of other options, of course. Heck, SNOBOL wouldn't be a bad choice. But less practical to know. :) A quick look at the last language-comparison project I did finds my sample program written in Algol-68, Ada, APL, Awk, BASIC, Bash, bc(1), Befunge, Brainf*ck, Common Lisp, COBOL, dc(1), Eiffel, Emacs elisp, Fortran, Forth, INTERCAL, Java, JavaScript, MIXAL, ML, MMIX, Oberon, Mumps, Occam, Pascal, PHP, Perl, PL/I, PostScript, Python, Ratfor, Ruby, REBOL, REXX, Scheme, SIMULA-67, SNOBOL, SmallTalk, TCL, varaq, VBScript, and Z-80 assembly (assuming a CP/M system); that means that compilers or interpreters for all of the above are freely available for Linux or Windows. -Mark