digitalmars.D - Is D a useful programming language for the web?
- Justin Johansson (8/8) Mar 04 2010 I throw this subject up for the D community's consideration.
- Adam D. Ruppe (8/8) Mar 04 2010 Yes, though it needs a little more work on the library side to be simple
- =?ISO-8859-1?Q?Pelle_M=E5nsson?= (3/11) Mar 04 2010 I imagine the type system can eliminate a lot of security flaws, like
- GiM (9/12) Mar 04 2010 I'm not sure if it's useful but I've managed to write simple
- Nick Sabalausky (28/36) Mar 04 2010 If I were managing my own web server I would *absolutely* use D.
- Chad J (3/15) Mar 06 2010 You sir, are a hero.
- Nick Sabalausky (27/47) Mar 06 2010 Heh, thanks :)
- Chad J (3/40) Mar 07 2010 OK, neat. Thanks for explaining.
- Steve Teale (6/6) Mar 04 2010 I was working on a web application framework kind of like Tomcat (using
I throw this subject up for the D community's consideration. Admittedly the subject is quite broad in scope. However, in response to some of my posts of time ago, people on this NG have said things along lines of "D is a Systems Programming Language so we want none of that", or words to that effect. So I'll play devil's advocate for a while and see what transpires. Regards to all, Justin Johansson
Mar 04 2010
Yes, though it needs a little more work on the library side to be simple to use for it. Web programming is still programming, a field in which D excels. I don't really know what else to say, but I know having D's type system is something I long for whenever using other web languages. -- Adam D. Ruppe http://arsdnet.net
Mar 04 2010
On 03/04/2010 02:04 PM, Justin Johansson wrote:I throw this subject up for the D community's consideration. Admittedly the subject is quite broad in scope. However, in response to some of my posts of time ago, people on this NG have said things along lines of "D is a Systems Programming Language so we want none of that", or words to that effect. So I'll play devil's advocate for a while and see what transpires. Regards to all, Justin JohanssonI imagine the type system can eliminate a lot of security flaws, like the "tainted" perl strings.
Mar 04 2010
So I'll play devil's advocate for a while and see what transpires.I'm not sure if it's useful but I've managed to write simple web-server (I used tango since I'm used to it) that served simple minesweeper application :) async request were made using jquery, some request were responsed with static pages, and to other content generated directly in D was sent. cheers, -- GiM
Mar 04 2010
"Justin Johansson" <no spam.com> wrote in message news:hmob4s$pai$1 digitalmars.com...I throw this subject up for the D community's consideration. Admittedly the subject is quite broad in scope. However, in response to some of my posts of time ago, people on this NG have said things along lines of "D is a Systems Programming Language so we want none of that", or words to that effect. So I'll play devil's advocate for a while and see what transpires. Regards to all, Justin JohanssonIf I were managing my own web server I would *absolutely* use D. Unfortunately, damn near everything is shared-LAMP hosting these days. And while there may be better servers out there, as a programmer I rarely have any control over my client's or employer's servers or choice of host. So when I do web-dev (Ie, nearly all the damn time) I have to put up with that god-awful PHP instead. And when the only common ground available on the servers you deal with is PHP (as is typically the case, such as with me) then the *only* alternative to PHP (Ie something that can be compiled to PHP) is Haxe, which is certainly better than straight PHP, but it's still crap too (especially the package system...I mean, people sometimes complain about D's package system, but Haxe's is truly horrible, so bad that I'd almost prefer C/PHP-style includes). D's great for web, *if*, as the programmer, you're lucky enough to have a high degree of control over the server. Usually you aren't that lucky. Which actually happens to be one of the main motivating factors for my Goldie project ( http://www.dsource.org/projects/goldie ). Eventually I want to get it to a point where it can handle languages like D and PHP, and have a strong, ultra-flexible and generalized AST system that knows how to emulate one set of language features with some other set of language features, so I can automate translation from whatever the hell language I want (say, D) to whatever the hell language I want (say, PHP). Yea, it'll run much slower on the server than normal natively-compiled D, but, well, that's what's gonna happen when some sysadmin insists on crap like PHP as a baseline, so screw 'em, I say. If the sysadmin wants their server running fast then they can let me natively compile whatever the hell I need to, otherwise, tough shit to them.
Mar 04 2010
Nick Sabalausky wrote:... D's great for web, *if*, as the programmer, you're lucky enough to have a high degree of control over the server. Usually you aren't that lucky. Which actually happens to be one of the main motivating factors for my Goldie project ( http://www.dsource.org/projects/goldie ). Eventually I want to get it to a point where it can handle languages like D and PHP, and have a strong, ultra-flexible and generalized AST system that knows how to emulate one set of language features with some other set of language features, so I can automate translation from whatever the hell language I want (say, D) to whatever the hell language I want (say, PHP). ...You sir, are a hero. Question though, why not just have llvm emit code in another language?
Mar 06 2010
"Chad J" <chadjoan __spam.is.bad__gmail.com> wrote in message news:hmul75$qsm$1 digitalmars.com...Nick Sabalausky wrote:Heh, thanks :)... D's great for web, *if*, as the programmer, you're lucky enough to have a high degree of control over the server. Usually you aren't that lucky. Which actually happens to be one of the main motivating factors for my Goldie project ( http://www.dsource.org/projects/goldie ). Eventually I want to get it to a point where it can handle languages like D and PHP, and have a strong, ultra-flexible and generalized AST system that knows how to emulate one set of language features with some other set of language features, so I can automate translation from whatever the hell language I want (say, D) to whatever the hell language I want (say, PHP). ...You sir, are a hero.Question though, why not just have llvm emit code in another language?A few (admittedly not very big) reasons, in no order: - I wanted some experience writing lexer/parser code on my own. - LLVM's written in, umm, either C or C++, not D, and I'd rather not have to deal with C/C++ (*especially* if it involves string manipulation) or D<->C/C++ bindings if I don't have to (I spent years with C/C++...then I found D. I'll be very happy if I never have to go back). - AIUI, LLVM's intermediate representation is very low-level, so high level code generated from it would be pretty much unreadable and bear no resemblance to the original code. This is certainly fine for many uses, but I wanted to take a more generalized approach, to allow for more basic source manipulations than just language translation (such as customized pretty-printing and whitespace-stripping), or to act as the first step in maintaining a port of some app/lib in another language, or to allow for "language-tweaking", such as "python with curly-brace scoping", or "VB with semicolon statement-terminators" (The motivation and ideal goal behind this is to make many langauge feature debates as pointless as a debate on what tabsize your editor should use). Yea, it's very ambitious, and as such, I have no idea how it'll actually turn out. But I think it's at least worth attempting. Goldie's really aiming to be more of an evolved ANTLR rater than something like LLVM. The closest competing project to Goldie would probably be Gazelle (or an ultra-souped-up version of GOLD Parser Builder, which Goldie is currently oriented around, or something like JetBrains MPS, but not tied to a single IDE and not so insanely slow and bloated).
Mar 06 2010
Nick Sabalausky wrote:"Chad J" <chadjoan __spam.is.bad__gmail.com> wrote in message news:hmul75$qsm$1 digitalmars.com... ...amen.Question though, why not just have llvm emit code in another language?A few (admittedly not very big) reasons, in no order: - I wanted some experience writing lexer/parser code on my own. - LLVM's written in, umm, either C or C++, not D, and I'd rather not have to deal with C/C++ (*especially* if it involves string manipulation) or D<->C/C++ bindings if I don't have to (I spent years with C/C++...then I found D. I'll be very happy if I never have to go back).- AIUI, LLVM's intermediate representation is very low-level, so high level code generated from it would be pretty much unreadable and bear no resemblance to the original code. This is certainly fine for many uses, but I wanted to take a more generalized approach, to allow for more basic source manipulations than just language translation (such as customized pretty-printing and whitespace-stripping), or to act as the first step in maintaining a port of some app/lib in another language, or to allow for "language-tweaking", such as "python with curly-brace scoping", or "VB with semicolon statement-terminators" (The motivation and ideal goal behind this is to make many langauge feature debates as pointless as a debate on what tabsize your editor should use). Yea, it's very ambitious, and as such, I have no idea how it'll actually turn out. But I think it's at least worth attempting. Goldie's really aiming to be more of an evolved ANTLR rater than something like LLVM. The closest competing project to Goldie would probably be Gazelle (or an ultra-souped-up version of GOLD Parser Builder, which Goldie is currently oriented around, or something like JetBrains MPS, but not tied to a single IDE and not so insanely slow and bloated).OK, neat. Thanks for explaining.
Mar 07 2010
I was working on a web application framework kind of like Tomcat (using AJP), but different. At one point I thought it was going quite well. I foundered on the inability to dynamically load things, which was an essential. I tried messing with DDL, but that seemed to be a dead end. Shared libraries would have been OK but ... Steve
Mar 04 2010