[Lazarus] Request for student project ideas

Alexander Klenin klenin at gmail.com
Sun Sep 13 05:58:15 CEST 2009


On Sat, Sep 12, 2009 at 22:33, Michael Van
Canneyt<michael at freepascal.org> wrote:
> On Sat, 12 Sep 2009, Marco van de Voort wrote:
>
>> On Sat, Sep 12, 2009 at 12:30:17PM +0200, Joost van der Sluis wrote:
>>>>
>>>> That unit might require functionality that is not yet there, because
>>>> Codegear
>>>> does all new units in a static class style. (class var/const etc)
>>>
>>> Yes, I saw that during one of their D2010 launch-sessions. Any idea why
>>> they do this? Is it just a .Net-me-too?
>>
>> Yes I think so. Pretty much with everything, same with the new RTTI
>> modifier
>> stuff in front of a declaration, instead after it. When I asked a question
>> about that, they were even surprised I doubted it at all. (worse, it was
>> Bob Swart!)

I agree that syntax is awkward, but I am afraid compatibility is more important
than better syntax.
OTOH, attribute-first syntax gives a way to implement grouping by attribute,
something like:

type T = class
public
   ...
   procedure A;
   procedure B;
   begin [deprecated]
     procedure A_old;
     procedure B_old;
   end;
end;

>> However due to the reaction of the audience (I went to a D2010
>> introduction
>> by Barnsten yesterday), specially from the younger crowd, the public
>> opinion seems to be this is absolutely great functionality.
>
> I still haven't seen any practical use for the new RTTI modifier stuff. I
> made some comments on some websites, but everybody keeps nagging about the
> persistent storage uses. Which is a basically flawed use of the feature.

What is flawed with it? I think this is indeed great for building
persistence frameworks.

> No-one has provided an alternative use yet :(
Oh, there are many use cases, here are just a few:
 - web frameworks (attributes like "handler", "ajax_handler" etc.) --
  see any Ruby or Perl framework for detailed usage.
- scripting (attribute "scriptable" for methods callcble from scripts)
- VCL/IDE itself (e.g. attribute "hide_from_OI" for published properties you
  do not want to display in Object Inspector)
- basically, anything requiring class registration now, including the
need to register
  components to stream forms.

The latter point will require some kind of built-in global classes registry,
which I am not sure will be in D2010, but this is a good feature anyway.

-- 
Alexander S. Klenin




More information about the Lazarus mailing list