5 ms·
Respectfully, their example code is the following: <% <WebEntryPoint("example.asp")> _ Sub Example() %> <!DOCTYPE html> <html> <head>
by themgt 11y ago
Respectfully, their example code is the following:
<%
<WebEntryPoint("example.asp")> _
Sub Example()
%>
<!DOCTYPE html>
<html>
<head>
<title>An Example Wasabi Program</title>
<meta charset="utf-8">
</head>
<body>
<h1>An Example Wasabi Program</h1>
<p>Arithmetic: 1 + 1 = <%= 1 + 1 %></p>
<p>Dynamic Content: x + y = <%= IntRequest("x") + IntRequest("y") %>
</body>
</html>
<%
End Sub
%>
I mean, they basically went to the trouble of building their own compiler to be able to keep writing Frankenstein ASP. If they'd built a language like Elixir I think people would be a lot more sympathetic.
http://jacob.jkrall.net/wasabi-the-parts/a_first_program.html http://jacob.jkrall.net/wasabi-the-parts/a_first_program.htm...
- tptacek 11y agoNot sure I follow.
- kyllo 11y agoHe means if they were going to compile to ASP and PHP anyway, they could have at least gone with a better source language than ASP++.
- mwcampbell 11y agoASP++ Was the path of least resistance given where they started, which was classic ASP and VBScript. I suspect that many of the armchair critics can't relate to being constrained by decisions made years ago at the start of a project -- decisions that one might now regret but nonetheless constrain the way the codebase can evolve.
- themgt 11y agoI can relate, for sure, but it's not like they'd written a 50 million line operating system in ASP. At the point you've decide to build a terrible new internal-only language just to maintain a single bug-tracking app codebase ... perhaps you aren't been doing an accurate cost/benefit analysis?
- tptacek 11y agoLiterally every single person on this thread agrees: if you're going to rewrite code by hand, you wouldn't deploy something like Wasabi. Wasabi exists entirely to facilitate not rewriting. You've also got several current and former FC'ers on this thread, all? of whom don't like Wasabi as a language, all saying that from a pure cost/benefit perspective, Wasabi paid off.
- tedunangst 11y agoWasabi is a case study in technical debt. This entire thread is a case study in I wasn't there, but I know more about it than the people who were.
- TheOtherHobbes 11y agoAnd possibly of Greenspun's Tenth Rule. (Wasabi, not the thread.)
- reality_czech 11y agos/but/because
- kyllo 11y agoThe path of least resistance would have been to write the ASP-to-PHP transpiler, check in the PHP, and stop there.
- tedunangst 11y agoThat would, at a minimum, have created substantial turbulence on the windows side. Continuing to ship the same windows installer with the same system requirements was less resistance.
- themgt 11y agoIf you go to the trouble to write your own language, make it not terrible? Public Abstract Class Animal Abstract Function Speak() As String Overridable Function Eat() As String Return "Yum!" End Function End Class Public Class Dog Inherits Animal Override Function Speak() Return "Woof!" End Function Override Function Eat() Return Base.Eat() & " Woof!" End Function End Class http://jacob.jkrall.net/wasabi-the-parts/classes.html#access-control-modifiers http://jacob.jkrall.net/wasabi-the-parts/classes.html#access...
- tedunangst 11y agoAnother volunteer to rewrite all the existing ASP code!
- tghw 11y agoIt wasn't written that way to facilitate future spaghetti code, but to make sure the old stuff still worked. Without that, you'd have to rewrite, in which case, why not rewrite in an existing language?
- MichaelGG 11y agoThat isn't Classic ASP code, that's more .NET-ish stuff. So it wouldn't have required a rewrite to avoid it, right?
- tedunangst 11y agoThat's the ++ in the ASP++. Stock ASP/VB works (or worked) too, but lots of new syntax was added to support .net.
- pdiddy 11y agoI love that he calls <%%> "tie fighters."
- marssaxman 11y agoThanks for the explanation! I had no idea what that phrase referred to.
- ams6110 11y agoThe thing is, "frankenstein asp" (and PHP) are so damn easy. Yeah it mixes presentation with logic and after a point it all gets really messy but on the other hand everything about a page is right there and you don't need to do any builds and you can code in notepad and deploy with xcopy/rsync. Before rich client/ajax took off, it was more than adequate for most e-commerce, web publishing, and internal administrative applications. Truth be told, it still is, but it's just soooo 2001.