[lazarus] Localization site
Marco van de Voort
marcov at stack.nl
Mon Sep 16 12:25:34 EDT 2002
> Courseware refers to training courses or learning/references products.
> The idea of SCORM is to make every little piece of a course reusable.
> That means every screen, graphic, media clip is reusable outside of the
> current course. So for example assume I have a course that teaches how
> to code in Perl. In the course there is a page that explains what a
> "Regular Expression" is. I have to design the course, it's flow, it's
> images everything about it to be totally independent on anything else in
> the course. That is so if someone else is writing a course on PHP they
> could just tell the manifest control file that it should just reuse the
> page on Regular Expressions found in the Perl course.
The big problem with reusability, is that it is perceived to have no
additional cost, which is typical for beginner and non- programmers.
And also that reimplementation with an example in the hand is much faster.
Fact is that most software (and other designs) are often only re-used 4
times at the uttermost, and mosttimes less.
So if
Rx=the reimplement time for the nth platform;
Tx=the time for creating the global portable library and
Px=the time for porting the global portable library to the xth platform then
R1+R2+R3+R4>=Tx+P1+P2+P3+P4
for portability to be worthwhile. Most projects except some really _major_
ones, loose on this.
(note that probably R1>>>R2>R3>R4 and Tx>>P1>P2>P3>P4)
One of course can make similar equations for maintenance etc, and make
comments like: "portable projects are also not infinitisemaly portable. One
sees complete rewrites per major version in portable projects too"
So the idea of "One codebase till eternity" is also nonsense.
------------
A striking example is the message from one of the Stonybrook compiler writers.
He redraws all widgets per platform of their IDE instead of creating a
unified library.
Why? Because it cost him 2 days max to redraw it, and you all know how much
time is invested to create a multi-platform widget set :-)
More information about the Lazarus
mailing list