View previous topic :: View next topic |
Author |
Message |
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Fri Jun 18, 2004 12:32 pm Post subject: Welcome! |
|
|
I am proud to announce the addition of this project, DSP, to dsource.org.
Many thanks to Brad, our humble host.
Status:
At present, the project stands as a proof-of-concept for using D as a dynamic web programming language, as embedded in HTML. This technology is very similar to ASP, PHP and Cold Fusion, but truely borrows most of its inspiration from JSP.
The engine is running as an apache plugin coded mostly in D, that parses and transforms requests for .dsp pages into servlet .dll files. These are then loaded and executed as a part of the engine to complete the request. The dll is then kept in an in-memory cache which is then replaced with another build once any of its dependencies (the originating .dsp file for instance) is modified. Right now it also only compiles on Win32, with plans to replace the OS-specific bits with Matthew's Loader interface.
Design:
The DSP Engine itself utilzes the same compile-on-demand semantics that JSP uses. This means that the first hit to a page will always be the longest, with subsequent hits running as fast as the compiled code. Fortunately for us, Walter's D compiler runs amazingly fast, leaving us with a technology that could possibly run circles around JSP.
The core of the DSP engine is a flexible parser/processor which converts the syntax of a .dsp file into a servlet .d file, suitable for compilation into a .dll or .so. The parser itself is not an XML parser, as .dsp's do not have to be well formed documents.
The DSP offers a combination of JSP-like elements ("<? ?>" and "<@page >") as well as reundant, valid xml-style elements ("<dsp:output />" and "<dsp:page />"). This non-orthogonal approach to the dsp grammar was done to allow .dsp documents to be both familiar to JSP/ASP/PHP programmers, yet provide an alternate syntax should the .dsp need to validate as XML. The latter is a key design point since .dsp expressed as XML can be easily pre-processed by XSLT, or any XML-aware server plugin. Plus, the document is more explicit and readable.
Planning:
The next stage involve refactoring the implementation using the Concurrent and Mango D libraries. This should make for a very solid alpha release. At a minimum should feature bare-bones servlet support. possibly with application-level objects to provide context for sessions and the like.
Already working:
- Apache plugin (prototype RAD)
- Conversion of .dsp requests into (re)usable servlet libraries.
- Recompilation of servlet libraries on demand.
- Servlet compilation dependency model
Already somewhat working:
- Nested Servlets (or "custom tags" if you will).
- Application-level objects (ties into per-dir config for apache)
- Proper Read-Write locking for the servlet library cache
- ASPX style Code Behinds (allows for MVC-style designs)
Some planned features:
- Mango-based implemenation
- All-Encompassing DSP Langauge Spec and Best Practices
For those interested, code updates are soon to follow. Please be patient. Thank you.
Please feel free to write to the group or email me if you have any comments or questions. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
jcc7
Joined: 22 Feb 2004 Posts: 657 Location: Muskogee, OK, USA
|
Posted: Fri Jun 18, 2004 10:56 pm Post subject: |
|
|
This sounds like an interesting project. If D replaces C++, then DSP can replace JSP. Sounds like a plan to me. |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Mon Jun 21, 2004 8:00 am Post subject: |
|
|
[quote="jcc7"]This sounds like an interesting project. If D replaces C++, then DSP can replace JSP. Sounds like a plan to me. [/quote]
That's pretty much the idea. I can only hope that this, when completed, will ultimately accelerate D's adoption by the masses as a serious replacement for C++. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Mon Jul 12, 2004 3:01 am Post subject: |
|
|
I don't really have anything specific to add, other than I think this is a truly cool project ... this is the kind of grass-roots shot-in-the-arm that D would need to gain wider adoption. Great idea Eric! |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Mon Jul 12, 2004 9:08 am Post subject: |
|
|
kris wrote: | I don't really have anything specific to add, other than I think this is a truly cool project ... this is the kind of grass-roots shot-in-the-arm that D would need to gain wider adoption. Great idea Eric! |
Kris, thanks for the kind words.
Its funny you mention this becuase that's kind of where I was headed with DSP. II honestly took a look around and asked myself: what is holding D back from becoming more than it is?
Then I realized that web-programming has matured as a field and has as much (if not more) to offer as 'traditional' desktop programming. 'New' languages, like C# and Java, that have brought this paradigm fully into scope have surged in popularity. As a result they are now fixtures in the world of app development. I want to help do this for D. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
svanleent
Joined: 25 Sep 2004 Posts: 53
|
Posted: Sat Sep 25, 2004 9:40 am Post subject: DSP and XML |
|
|
I am glad to read that DSP is/will be(ing) designed to use XML (next to PHP/ASP layout). A note for thought, JSPX (or JSP documents) are also written in XML. Perhaps a good idea to look at their design as well as JSF (Java Server Faces).
DSP is a great step making D an industry platform, keep on the good work! _________________ How C++ became ancient |
|
Back to top |
|
|
pragma
Joined: 28 May 2004 Posts: 607 Location: Washington, DC
|
Posted: Sat Sep 25, 2004 7:51 pm Post subject: Re: DSP and XML |
|
|
svanleent wrote: | I am glad to read that DSP is/will be(ing) designed to use XML (next to PHP/ASP layout). |
I'm glad that design decision made someone happy. Thanks. Personally, I haven't a use for such a thing, but it seemed like one more thing I could get this technology to do that others simply cannot.
svanleent wrote: | A note for thought, JSPX (or JSP documents) are also written in XML. Perhaps a good idea to look at their design as well as JSF (Java Server Faces). |
Thanks for the info. I'm trying to keep all other grammars/platforms in mind (ASPX, PHP, CF, JSP) at this point, and when I eventually get to the DSP-platform library. I'll add JSPX and JSF to my research. Right now I'm more concerned with the base grammar that DSP will be providing, which I hope will be useful enough to code an application all by itself.
When the time comes to build a tag library, I plan on approaching it much like JSPX has. I also want to expose some equally useful D objects that the real power-programmers can use as well. I definately will not encourage a profusion of bits to remember, much like php and coldfusion have (each in their own way of course). But if someone wants to reimplement CF, Struts, the PHP library or whatever on this platform, I hope DSP will be flexible enough to allow that too.
svanleent wrote: | DSP is a great step making D an industry platform, keep on the good work! |
I'll do my best. _________________ -- !Eric.t.Anderton at gmail |
|
Back to top |
|
|
bmn24
Joined: 27 Jan 2007 Posts: 6
|
Posted: Thu Jan 10, 2008 2:59 am Post subject: WTF???? |
|
|
Why in God's name would anybody ever write something like this for Apache on Win32? That's about the most unlikely combination of web server/OS imaginable. |
|
Back to top |
|
|
larsivi Site Admin
Joined: 27 Mar 2004 Posts: 453 Location: Trondheim, Norway
|
Posted: Thu Jan 10, 2008 4:13 am Post subject: |
|
|
Shows what you know then, Apache on Windows is very common. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|