<div dir="ltr"><div class="gmail_extra">Linux csharp:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://cache.getlazarus.org/images/linux-csharp.png">http://cache.getlazarus.org/images/linux-csharp.png</a><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">What's missing? From my example ...</div><div class="gmail_extra"><br></div><div class="gmail_extra">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.</div><div class="gmail_extra">Score 1 check<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">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 (<a href="http://howtonode.org/why-use-closure">http://howtonode.org/why-use-closure</a>).</div><div class="gmail_extra">Score 2 check<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Better reflection leads and true single object for all types (even int and string and everything else), leads to a better templating system.</div><div class="gmail_extra">Score 3 check</div><div class="gmail_extra"><br></div><div class="gmail_extra">Attribute flags allow user defined meta data which can then make life easier. e.g. I flag [Template, Logged] on a page and the system knows to track statistics on that page and run it through a template evaluation before the page is returned.</div><div class="gmail_extra">Score 4 check<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">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. This is because all errors print a clearly defined stack trace, with line numbers, file names, assemblies, and error messages. Plus it doesn't stop my executable/page. The error is displayed for 1 user and the site doesn't stop. I know you can use try/except in Pascal, but it's really ppor compared to other tools stack traces.</div><div class="gmail_extra">Score 5 check<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">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.</div></div>