4 ms·
Seems to me like being able to implement things 10x more quickly than your competitors is a sustainable competitive advantage. If you're trying to appeal to emp
by jessep 17y ago
Seems to me like being able to implement things 10x more quickly than your competitors is a sustainable competitive advantage. If you're trying to appeal to employees/investors, being an order of magnitude faster is a good pitch. Think about it this way:
When you evaluate a startup, what do you look at first, the idea or the team? Obviously, the team. Why? Because (a) you want to know if they're capable of implementing the idea and (b) because you know that ideas almost always change, so the team's ability to rapidly implement and iterate is its real strength.
I agree that this struck me as somewhat absurd when I heard Asana was developing a new language, but if it actually works as advertised then it's really smart.
- davidw 17y ago> being able to implement things 10x more quickly than your competitors is a sustainable competitive advantage. The only way you are going to get 10x, with roughly equivalent people is if someone is using a wholly inappropriate language (Ruby vs Forth for web apps, say), or if you can avoid writing libraries because someone has already written them. This is one of the positive network externalities involved in programming language economics: the more people involved, the more likely it is someone has already written the code you need. Of course, these effects are not so strong that everyone gravitates to only a few languages, but they are certainly a consideration. By writing your own language, unless it makes it very easy to take advantage of some other language (the JVM languages are a good example), you are pretty much guaranteeing that you will have to do this work yourself.
- deleted 17y ago[deleted]
- smcq 17y agoYou're effectively arguing that all languages/frameworks are equal within an order of magnitude. I think this has been demonstrated false time and time again, and you even demonstrate it again in your own post (saying Forth is unacceptable for web development). Why so negative?
- davidw 17y agoI'm arguing that languages that are currently used and honed for this type of programming are going to be difficult to beat by an order of magnitude. I said that you could lose a lot by using something that's just plain wrong. In other words, it's very difficult to go faster than Lance Armstrong on a bike, but pretty easy to go a lot slower. Perhaps there is some room for radically new implementations; something along the lines of Erlang, which makes it possible to do what is quite difficult with other languages. I think there is more room in frameworks for existing languages, but still, an order of magnitude seems quite dubious to me. I'm actually not at all negative about new languages (I hack on a simple one myself), startups just don't strike me as the place for them. What they're doing does look cool, but what happens when you need to process an image, or send email, or talk to a different database, or deal with any of the other various things that are often covered by language extensions? Maybe this would have been better as a hack/framework on top of Javascript.
- raganwald 17y agoMaybe this would have been better as a hack/framework on top of Javascript Did you see the bit where they can drop into raw Javascript at will?
- davidw 17y agoIt seems to me that the core concept here is the declarative nature of the framework, and the logic that ties things together that comes from the compiler. On one side, it has to spit out Javascript, so perhaps it would have made sense just to do the whole thing as a hack/extension/whatever to Javascript? I guess without actually seeing the code behind it, it's difficult to really say with certainty.
- coliveira 17y agoWhere has this order of magnitude difference been "proved"? I would say that even developing in forth is not one order of magnitude slower than ruby, as long as reasonable libraries are available.
- scott_s 17y agoThe only way you are going to get 10x, with roughly equivalent people is if someone is using a wholly inappropriate language (Ruby vs Forth for web apps, say), or if you can avoid writing libraries because someone has already written them. Or if your competitors are using the standard languages and tools, and you're using a language that provides significant abstractions on top of the standard languages and tools. I was on board with your comments until I watched the video. Their language looks to be a jump on the order of assembly to C.