To add an outsider perspective to the discussion, i would have liked to see a clean and modular pascal ecosystem.
Lazarus the IDE and Lazarus the rapid GUI designer should be two separate things, since all the desktop/RAD stuff is a rarely used ballast by now.
It's nice to see the IDE part had come a long way (since
http://forum.lazarus.freepascal.org/index.php/topic,29210.msg183997.html#msg183997 ), it's almost as good as Delphi 7 with productivity mods now, with just a few annoying quirks.
But looking at it's code reveals a cheetah dragging a dead elephant of all the forms, components, objects and so on.
It would have been nice to be able to separate the two.
On the compiler level, a cleanly defined interface and implementation part - being able to have a completely agnostic compilation part separate from an OS- and environment-dependent I/O and UI part.
That is, being able to include some units unto a program, and have an interface that you can feed a string and a buffer pointer to, and get a compiled code spewed out into the buffer.
This would enable embedded compiler, just-in-time compilation, high-performance scripting, CGI-like web stuff and so on.
On the language level, i would have liked to see all the object oriented stuff dropped. It was always painfully ugly in pascal, and practically useless.
The parts i would have kept are abstract types like string and operator definitions.
Since these are my personal preferences, i don't expect that to ever happen, but if the compiler was modular it could have been a matter of some compiler definitions to build a "lite" version and "object" version, once again giving an option to unharness the cheetah from the cartfull of dead elephants.