[Lazarus] Please test this page

Marco van de Voort marcov at stack.nl
Tue Nov 17 14:00:30 CET 2015

On Tue, Nov 17, 2015 at 05:39:27AM -0500, Anthony Walter wrote:
> Scripting. There is something to be said for uncompiled deployment on the
> web. You just drop text in a folder and it goes. If you have an error, no
> problem no rebuild no worries. Just edit the text and save (everyone has a
> text editor). Ruby, php, classic asp, even C# all do it and it's great.
> Score 1 check

Any website that is not readonly will first deploy to an internal
testserver.  Most companies do not authorize direct editing of webcontent.

Moreover, in this case the content is wholly generated, so manual editing
(except to search modules code, but usually those are external) is not
needed anyway.

C# does not. It requires a compiling daemon in the background (ASP.NET,
integrated with IIS), and there is no reason why you could do this with FPC.

With coming packages support that would be even more modular. And most
Delphi based web packages already integrate some form of templating, often
with basic scripting, so usually changes to non business code do not require
compile +restart. (though in most cases that will be limited to emergency
minor css and textual changes to improve appearance)

I'm not saying that Delphi is ideal for webdevelopment, but just because the web stuff
is not default, and people only see some minor cgi tooling, that doesn't
mean it doesn't exist. In reality the difference in practice is a lot

And the usual deployment limits also apply to third party csharp packages,
so that is not a benefit either. (most affordable hosting is not MS based)

> Language features like closures and anonymous types are especially
> advantageous in web development. Anonymous types makes binding to Sql
> results a lot easier, and closures are great for deferment of execution,
> allowing requests to be more efficiently handled by the server (
> http://howtonode.org/why-use-closure).
> Score 2 check

If you manually connect with SQL, but most frameworks already handle that.

> Better reflection leads and true single object for all types (even int and
> string and everything else), leads to a better templating system.
> Score 3 check

Modern delphi has full introspection. Usually that is enough, and reflection
(as in modifying RTTI) is not that good a feature IMHO.
I never used it though because I did webdevelopment in D6. Not that I missed
it, the framework just provided everything you needed, and the objects were
abstractly defined and appropriate code was generated (including
introspection, and reflection if you would have liked it). Library based
instead of language based, but for the benefit of writing business code it
was the same.

> Stack traces. When something goes wrong, like an error in formatting a
> template, or an error in Sql, I know exactly where the problem occurred.

Same in any sane Delphi webframework. Anything not fatal didn't kill it
either, and fatal ones were really rare.

> I could go on all night and into the morning. It's not a knock on
> Lazarus/Free Pascal. Lazarus/Free Pascal excel on the desktop and even the
> server. But webpages, we gotta pick our battles and with webdev,
> Lazarus/Free Pascal will never stack up against those other tools. Move on.

Maybe you should actually look at some. Note that I wouldn't use FPC/Delphi
for webdevelopment now either, but that is more a management decision, not
technical, as nearly all your reasons are false for the most.

The only exception is for relative minor webdevelopment integrating with a
major Delphi service. There would be no point in making it a multi language

More information about the Lazarus mailing list