(it needs a face-lift, for sure)
Our product Elevate Web Builder allows you to write client web applications using Object Pascal and a RAD IDE:
http://www.elevatesoft.com/products?category=ewb&type=web
(examples are at bottom of the page)
The IDE/compiler/web server used in Elevate Web Builder were written using Delphi. We've also written two small database engines, as well as two ODBC drivers and a .NET data provider, using Object Pascal and Delphi. Object Pascal is a very versatile and useful language that allows you to write applications that do just about anything from front-end UIs to back-end server code. Being able to debug server-side code in the IDE is a life-saver and allows one to get to the root of any coding issues immediately.
FreePascal is also equally nice, albeit a little rougher around the edges in certain places. But, every year it gets better and more polished and has come a very long way since its humble origins.
I used Pascal to write some web apps, i.e. computer graphics explanations [0], visual philosophy [1], and simple games [2].
It's a nice ability to have - being able to share complex programming as you share written text.
However, i wrote my own compiler that among other things output C, which is then Emscripten-translated to asm.js you see.
This is the complete opposite of an easy, low friction path you'd want for web development.
[0] http://orbides.org/apps/superslow.html [1] http://orbides.org/apps/motion.html [2] http://orbides.org/apps/the_bits.html
docs: http://synopse.info/files/html/Synopse%20mORMot%20Framework%...
- with Lazarus/FreePascal, mORMot supports almost all Linux distros, check this forum post: http://synopse.info/forum/viewtopic.php?id=3319
- Check the commit logs of its github repository, see how active the development is.
- The FPC/Lazarus foundation (http://foundation.freepascal.org/) was launched several days ago, check the Projects menu - you can expect a lot of modern language features would be added.
- The newpascal.org site was launched recently to get you started easily for Linux web development with mORMot/Lazarus
It's applicable for both the preshipped fpWeb and Brook, which is my choice of web framework due to its simpler and shorter hand coding.
Unfortunately, with closures you need good memory handling. And this means either a complicated type-system such as Rust's, or a garbage collected environment. The way C++ does closures is too dangerous for event-driven code, imho.
Delphi has closures, FPC is on development, but in the end I won't use it much. I need performance and maintainability, closures are against those two.
They're called Anonymous Methods in Object Pascal:
http://docwiki.embarcadero.com/RADStudio/Berlin/en/Anonymous...
Free Pascal doesn't support them yet.
1. You don't need closures at a language level to do event callbacks. Just the ability to refer to functions by reference and call those references. Closures certainly make it syntactically nicer, but you can work without them.
2. You don't need event callbacks in a webserver to make it performant. The memory/CPU overheads needed to make closures work are essentially identical to what's needed to make blocking threaded code work, as long as the threading is done in userspace and you have support for expanding stacks. Even if you don't have support for those niceties, modern kernels and hardware are perfectly capable of handling thousands of OS-level threads.
I would love to use a fast, low-memory, natively-compiled, strongly typed language with a clear, readable syntax. Pascal meets all these requirements.
Golang is the other language I'm considering. It has many web-related libraries, excellent documentation and a lot of momentum. Free Pascal, unfortunately suffers from fragmented documentation (the wiki is often out-of-date and hard to navigate). Despite that, I still prefer Pascal syntax over Go (yes, really).
So, if you are using Pascal for web development, what has been your experience? Would you recommend it?