What do you think about the SAFE stack? (I know that the HN backend is written on a completely different stack.) Do you think it will gain some popularity and/or is a competitive advantage over something like a plain lamp/lemp stack? Or do you expect it to languish and die?
Really just curious what you think about it and would appreciate a reply if it isn't much trouble to you.
- Saturn for back-end services in F#
- Azure as a hosting platform plus associated platform services
- Fable for running F# in the web browser
- Elmish for client-side user interfaces
Also, I'm definitely not OP, but since I'm here, and just in case...
My own knee-jerk reaction goes straight to the value proposition of the cloud vendor it's tied to, which is a very odd/unusual dimension to bring to a programming stack (eg, LAMP isn't tied to Windows, or to GCP, it's entirely neutral). Cloud vs bare-metal vs VPS vs virtual hosting vs etc all have different cost dimensions and optimalities. Given that I can run PHP on App Engine, GCP, and (with a small amount of existential screaming) random Web hosts... PHP is canonically a bit more flexible than SAFE. (Then you've got the argument of "but you can technically run SAFE elsewhere" - to which I respond "okay make the A mean something else then!")
As for my generic opinion on the rest, it's all about what it brings to the table. If it introduces something genuinely new that adds a bit of "essence of 10x", if you will, if that new thing is tied to the rest of the stack, and the stack gets out of people's way to enable that 10x thing, then yeah, the stack'll follow after the new thing and catch on in the process. Thing is, "getting out of the way" is the critical part that is so easily gotten wrong - if you're trying to show people new ways of doing things, and it just feels like how they were doing things before, it doesn't matter if they look different, the magic just falls apart, and the new thing won't catch on. IOW, in much the same way that successful existing products are a million tiny details gotten right, successful visions for new things are those same million tiny details from the perspective of the new thing that doesn't "exist" yet. Does this do that?
Secondly, regarding your curiosity about whether this thing will languish and die... for what reasons might that be especially important? For the sake of debate, I'm not presuming you're actually coming from that perspective, I'm asking what if, and answering that what if by saying that the success or failure of a tool ultimately doesn't matter, because tools aren't ways of doing things, in much the same way considering operating system to be better than another is mushing too much unrelated context together. It's very good to build good designs that excel because they are well thought out, but I've learned (without becoming cynical :D) that success and failure are ultimately memetic and arbitrary, and that bad things can succeed because they're in the right place at the right time, not because the fundamentals of the universe are broken or biased towards bad things succeeding, but because the technical discourse of "A is better than B" confuses the semantic priority of problems vs solutions, and thus typically do not consider (or provide room to consider) the almost-always-limited scope of the situations A and B might be being used in (the problems), which may not give any consideration to the majority of the ways A might be better than B (the solutions). The fitness function isn't about All The Things™ the solution brings to the table, it's about whether the solution fits the problem at hand. As for "but what about the future?", I think that ultimately boils down to understanding the problem space well enough such that all the things a current problem might need to tackle in the future become apparent in the present, so the solution can integrate those considerations from the get-go. To reiterate, it's about understanding the problem space correctly, not the solution space.
The above was written with more than a healthy dose of assumption, and I apologize if I've extrapolated nonexistent signal from your question.
> "okay make the A mean something else then!")
Yeah, the website really makes it seem like that. Personally, I fully agree that it shouldn't be vendor bound at all (not even a mention). Along with that, I actually am somewaht using it on the bare metal.
> As for my generic opinion on the rest, ...
For me, the big draw to it is that it is f# from end to end (for the most part), and that in turn enables FP and type safety. This is, IMO, the 10x value proposition of it. Similar to how LISP and its dialects allow you to do MUCH faster dev cylces. And IMO it does "get out of the way"
> ... Does this do that?
Maybe? I lack the experience to give a qualified opinion on that.
> Secondly, regarding your curiosity about whether this thing will languish and die... for what reasons might that be especially important?
I know that technical merit isn't really the biggest or even a big factor in adoption. I think of dang as almost uniquely qualified in regards to web stacks, as he also doesn't use one of the common ones. And so he may have a perspective on whether people would be likely to adopt it based on usability.
Because I know dang is busy, I added the part about replying if it isn't trouble for him.
Sorry, for this badly worded/thought out comment, I suck at English.
Cool.
> For me, the big draw to it is that it is f# from end to end (for the most part), and that in turn enables FP and type safety. This is, IMO, the 10x value proposition of it. Similar to how LISP and its dialects allow you to do MUCH faster dev cylces. And IMO it does "get out of the way"
I've only played around with F# a very tiny amount, and the majority of my experience consists of noting that its VM warmup time is a tad slow. (I "grew up" on PHP at the CLI, so I'm used to 20-50µs of overhead... woops.) Once I solve the I Have Really Slow Hardware™ problem I expect I'll give F# a proper look (since then I'll have no excuses lol). I've been interested in functional programming for a while.
I was referring to the whole SAFE stack getting out of the way, being that I was criticizing SAFE's vision (albeit without being able to substantiate my critique with any domain-specific knowledge, haha). But if it's just a thin wrapper and a set of conventions, then maybe (I don't have the domain knowledge to discern myself) it actually does that well.
> I know that technical merit isn't really the biggest or even a big factor in adoption.
Sadly :(
> I think of dang as almost uniquely qualified in regards to web stacks, as he also doesn't use one of the common ones. And so he may have a perspective on whether people would be likely to adopt it based on usability.
Well now I'm curious too :P
> Sorry, for this badly worded/thought out comment, I suck at English.
FWIW, I've had both zero issues understanding your points AND zero instances of "...that {word/sentence/thing} doesn't belong there", so... :)
I mean, 4chan's design is far more eccentric and they're not exactly a bastion of high quality intellectual discourse.
Also, this discussion isn't really about the site's design, but its performance.