Theiling Online    Sitemap    Conlang Mailing List HQ   

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

From:Christophe Grandsire <christophe.grandsire@...>
Date:Wednesday, March 31, 2004, 19:56
En réponse à Nokta Kanto :


> > As for C++.... I agree with you... god knows why so many programmers > >use it. *shrugs* There might be a good reason I'm missing, being a poor > >hobby programmer rather than a professional. > >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. Most >of the languages that programmers prefer over C run through an interpreter, >which makes them unsuitable for many purposes. A lot of people, especially >for multi-person projects, like the way C++ encourages structuring >programs.
Eh... I've never seen so many statements that are so contrary to real life experience written in one paragraph :)) . C being "clean" and "simple"? It's hardly simpler than Assembly, and its syntax gives a bad feeling of kludginess. As for C++ encouraging structuring programs... since anything written in C will compile correctly in C++, my experience is that it encourages a hybrid approach which ends up destroying any structure in your programs (not that I ever programmed in C++, but I read enough of those programs to see a trend :)) ). ________________________________________________________________________ En réponse à Mark J. Reed :
>It also removes any ability to sanity-check. With keyword block >boundaries, it's possible to write plugins for your favorite editor that >automatically verify that the indentation and keywords agree. When the >indentation *is* the structure, there's nothing to check against. It >also removes the ability to use indentation to make particular lines of >code stand out, a very useful device for temporary debugging statements. >etc.
I completely agree. When I first learned Python (under the influence of Boudewijn Rempt :)) ), I thought it was a great idea. But I soon saw the limitations of the indentation system, and the OO in Python looked too much like an afterthought to "feel" right for me (not that I think that OO is *the* way to go, but if you're going to be OO, I'd rather have it all the way rather than half-hearted. That's why Java disappointed me eventually - that, and its longwindedness - and why I feel Ruby is the language *right for me* :)) ).
>Python is an okay language, but its advocates tend to have this idea >that it's the end-all be-all and that other languages - especially Perl >- are Wrong. From what I've read, in this matter they are taking their > cue from the language's inventor, Guido van Rossum, who is a little >too convinced that his way is The One True Way. This attitude stands in >stark contrast to that of, for example, Larry Wall (who created Perl), >John Ousterhout (who created TCL), or Yukihiro Matsumoto (who created >Ruby).
Indeed. Mats goes even very far in his relativism: he created Ruby to fit him, and nobody else. He loves that Ruby is gaining acceptance over the borders of Japan, but if it didn't he would still work on it (his attitude is very reminiscent of the one of Linus Torvalds towards Linux :) ).
> Ruby is, incidentally my current favorite language of the type; >it's completely object-oriented (in the way that Python advocates often >claim Python is, but it's really not).
Indeed. I love that literals are objects too. Although it's mostly useless, I get a kick at writing -1.abs ;)))) .
> It shamelessly borrows many of >the shortcut features that make it possible to write quick one-liners to >get a one-off job done in Perl, but recasts them such that they don't >break the O-O design.
Yep. I've heard critics say that Ruby is not completely OO because it has a functional puts for standard output (as well as a functional printf()). They would have rather seen things like stdout.puts and stdout.printf. What they don't get is that those "functions" are just methods of the Object class (they are *not* primitives. Ruby has only very few of those :) ), and shortcuts for, you guessed it, stdout.puts and stdout.printf ;))) . About printf(), I love the way Ruby shamelessly plugs in the syntax of other languages, so that people who are learning the language don't feel too much in foreign territory :) .
> It has a generalized iteration model that is just >gorgeous in its elegance (a feature borrowed from Smalltalk).
Yep, n.times do ... end is a great way to program loops (and array.each conquerred me ;)) ), and closures make code so much more intuitive to write :) . Well, as you may guess, I'm in love ;)))) . Ruby is the first (and so far only) language which seems to adapt itself to my way of thinking, rather than obliging me to adapt my way of thinking to itself. And at the same time, it is extremely readable :)) . I have yet to program anything of substance in Ruby, but I know already that I found *the* language fit for me :)) .
>I think it's well worth a look for Python programmers.
Indeed. Although for some people it will probably not impress them (but Ruby is modest, and doesn't mind when it's not liked ;)) ), I think many will be charmed by it.
>I'm also professional programmer. Most of the work I get paid for is in >Java, but I also do a significant amount of work at the "glue level" in >Perl and shell script. When I program a tool for my personal use, or >just something for fun, I use Ruby, except in environments that mandate >one language or another (e.g. gdesklets have to be written in Python). >All the dynamic stuff on my website, including the "render this text in >Okaikiar's writing system" page, is written in Ruby.
Although I'm an engineer of formation, with little programming education (I did have classes of Pascal, C and Matlab, but that's about it. The rest is self-learned, whether it be Java, Perl, Python or Ruby ;) . I dabbled with Scheme to try and understand the underlying structure but gave up as my brains refused to accept it ;)) ), in my last job I'm becoming the company's main programmer. For that, I had to recycle myself into a Fortran (95) programmer. After 3 weeks of self-formation I was able to begin working on large scale programs (I attribute the speed of learning to the fact that Fortran in free form doesn't have a very original syntax ;) ), and since we bought Winteracter, I'm now making GUIs directly in Fortran (great, since Fortran doesn't have any good way to communicate with other languages and APIs). Now, don't get me wrong: I will never advise Fortran as first choice to someone who wants to learn a new programming language. After 6 months, I still have difficulties with many of its syntax choices, and I hate how instead of making the compiler more intelligent the Fortran designers decided to force the programmer to use a syntax that will optimize compilation, but is not very programmer-friendly :(( . And the fact that Fortran's scoping rules are very archaic doesn't help, for my brains more used to a OO approach to scoping ;) . But I have to admit that in the particular niche where I work in (heavy computation for flow simulation), Fortran is king. Its array syntax is the best around for flow simulations, and it is particularly good at optimising such calculations. Some people are trying to develop similar tools for other languages (like Blitz++ for C++), but they are nowhere near the power of Fortran's arrays, and their syntax is clumsy at best. Now, I'm waiting for Fortran 200X which will feature true OO and easy bindings with C (which will open the whole C library available nowadays for use in Fortran). But knowing the habit Fortran designers have to be extremely late in their versioning (after all Fortran 95 was finally implemented in 2000 ;)) ), I doubt it will appear before 2010 ;))) . ___________________________________________________________________________ En réponse à Henrik Theiling :
>Be ensured that I will have a lock at it before I try Python. I >disagree about the fall-backs of layout rules, but I see you have >strong arguments for Ruby, so I will definitely give it a try.
Please do! Ruby has a lot to offer, although it's a young language (current version 1.8.1 IIRC) with not a lot of libraries available yet. But the situation is changing quickly :) . http://www.ruby-lang.org/en/ is the best place to start I think :) .
>As to the rendering of text: I used Metafont for Fukhian script -- >unbeatable in quality and expressivenesss --,
I agree. I still have to work on that METAFONTtutorial :((( . It's coming along, but slowly, due to the work pressure I'm under currently. __________________________________________________________________________ En réponse à Philippe Caquant :
>I specialized in Pick Systems, which I found very >practical (1), although there are lots of lacks in it. >Now it turned to be old (1968), so I have to requalify >on something else, and I'm very puzzled. In former >times I also used Cobol and PL/I (all for business >applications, of course, not for linguistics). I never >had to use C++.
Lucky you :))) . Luckily, me neither (the simple idea scares me to death! ;))) ).
>So I'm trying to find advices on the very many new >languages appearing everywhere, most of them as >freeware. I bought a book about Perl, looks powerful >but nearly unreadable. I really wondered about Perl >philosophy: what can be the use of saving a few >keyboard hits if you lose 100x more time trying to >decipher program sources ? It's very irrational to me.
Perl is definitely programmer-oriented, and was originally meant for quick one-liners that the programmer writes once and forgets he ever wrote them. It shows in the syntax, and the way other things have been built upon it (like Object Orientation. Now, if you want a course on how Object Orientation works behind the scenes, there's nothing better than Perl. It asks more to the programmer than C++ itself does! But if you just want to program in OO and get things working, I'd advise against Perl, at least until Perl 6 appears :) ).
>Anyway, I hadn't yet finished reading the book when I >was warned that Perl was declining and that by now I >should learn PHP, or Python, or whatever. Some tell me >of MySQL, others of Zope or Java and many more exotic >and more or less confidential things.
I think Java and Python look good on a CV. But as said before everyone should take a look at Ruby. Its elegance is just something that cannot be missed ;))) .
>I wonder. Really mastering any language needs at least >a few months practice. So this is not a neglectible >investment, in time as in money. And if the language >gets outfashioned after 2 or 3 years, you have to >start (nearly) everything from zero again. What about >productivity ?
Mark gave very good answers to that.
>As for Ruby, this is the first time I hear that >name...
Hehe, Ruby is still quite unknown outside of Japan (its creator is Japanese). But there, if we're to believe the rumours, it's already more commonly used than Perl (I personally don't know if they are believable. But I do believe that Ruby has a place as equal with Perl and Python, and actually with heavyweights like Java, C++ and beurk.NET - I had the occasion to see the platform at work, so believe me, the "beurk" is a very unbiased comment :) . I just can't understand why so many people seem to think it's the best thing since sliced bread - too ;)) ). Christophe Grandsire. http://rainbow.conlang.free.fr You need a straight mind to invent a twisted conlang.

Reply

Philippe Caquant <herodote92@...>