[fpc-pascal] FPC + Mobile development: the String type
mschnell at lumino.de
Thu Jul 10 10:41:00 CEST 2014
On 07/10/2014 07:24 AM, Graeme Geldenhuys wrote:
> Is this issue the same for FPC? ie: is the String type zero based for
> mobile development?
While I (doing a lot of C) don't like the one-based String paradigm in
Pascal, I think it's absolutely horrible to introduce zero-based Strings
(other than pchar) and break a many years old tradition.
Moreover, IMHO it's an extremely nasty idea to introduce any difference
between a "Desktop" and a "mobile" language ! Do we want additional
incompatible "embedded", "multicore", ... or whatever language dialects ???
fpc (and Lazarus) have set out for arch and platform independence, and
thus the syntax (and the programming paradigms and - as far as possible
- the GUI widgets) need to compatible.
Even regarding the GUI, Lazarus does a great job trying to provide
compatible widgets for all supported platforms. (If some widgets are not
supported by a some platforms I don't mind if I just get an error message.)
Delphi does a very bad job on the compatibility front, not supporting
VCL Widgets on so called "mobile" platforms, to me seems unacceptable.
If you want "Firemonkey" as an alternate Widget Set to create a "fancy"
GUI, maybe more appropriate for "mobile" use (the hell knows why this is
supposed to be different on mobile vs Desktop, now as many mobile
devices provide a huge screen resolution), both Widget Sets (or a decent
part of the widgets) should be provided for any supported platform.
Anyway "forking" fpc in such a way seems catastrophic.
Regarding strings, there were several discussions to completely kill the
"index" syntax for a strings. As with an unknown encoding, the index
does not make much sense, and, with certain frameworks (such as CIL)
strings are unalterable and need to be recreated when modified (which
seems to make sense performance-wise in some cases). IMHO, killing the
index syntax would be more acceptable than modifying the meaning of a
"visible" index into a string under the hood.
More information about the fpc-pascal