F# has fantastic concurrency support. Great support for Asynchronous operations and Multi Threading. Being a functional first language and immutable by default means most of the micro services are stateless and this means we can take advantage of concurrency like crazy and not worry too much about race conditions. I think functional languages in general make concurrency much easier not just F#.
GC on the other hand is very aggressive with all of the immutable data structures F# creates. GC in F# is very good, though, I think without good garbage collection you have a tough time in a functional world. Microsoft is especially interested in GC performance for .NET and they have explored memory dumps to improve GC so it performs well even under load and when used with F#.
Have you ever used Jet? Try it, add a few things to your cart then add a few more and see what happens to the prices of the previous items. There are millions of permutations being computed behind the scenes.
The system is computing prices all of the time based on many factors. Plus we have built everything in house from our warehouse management system and supply chain tools to order management and everything else.
That amount of compute encompasses QA, Dev environments and any experimental and R&D work we are doing.
Plus jet.com is trying to compete with Amazon so that means the system has to be ready for many million more users than there are currently shopping with us.
While I think F# is a great programming language. The article missed some good uses of it.
Specifically the article missed one of largest F# deployment, in production, in the world at this point. We use F# at Jet.com and it powers every part of our core business from our dynamic pricing algorithm to search and analytics.
Over 4 million customers already on jet and over 2200 cores on azure all running F# code.
This is a good point but aren't you doing the same thing? sorry that was a cheeky response.
One thing I will say on your point is that this sort of "side" discourse sometimes brings about real good discussion. Maybe the actual article itself dosent spawn anything new or maybe it is too complex for most folks. However, sometimes the comments lead to new articles to explore a "side" idea that came out from the online comments.
So many articles I've read lately start with "There was a great discussion on hacker news on this topic I felt obligated to write about it, you can find it here".
That's very fair. I can't speak about Amazon, because I've never worked there. You're right that some companies are hanging not on to that startup canon, at least from the outside it seems that way, even after they are large and it's not just Amazon but Amazon is probably the biggest.
My comment generally holds true though that startups have tradeoffs to large corporations. If large corps are trying to take advantage of that then we, as top talent, need to stay away from them so they fail and this trend can go away.
Look startups aren't perfect. You will most certainly work harder than at a large established firm. Your life balance will be no where near as good as at a large firm.
But why are you electing to work at a startup?
1) You are getting some options and have the possibility of a big upside which does not exist at a large firm.
2) You want more responsibility and you will certainly get it in the form of wearing many hats, but you will work harder.
3) If things are working out you will be promoted faster and move your career forward much quicker than most established firms.
4) There are many other points I could make here but arguably the most IMPORTANT reason to work at a startup is to LEARN, and learn you will.
There are tradeoffs with working at a startup, startups aren't perfect. To say that they are much worse than large corps who are scared of key man risk and keep you at an arms length so they can fire and lay off thousands at a time is disingenuous.
Corporations are generally only after profits big or small. You as an employee have a responsibility to make the right decisions for you.
I'm pretty sure it is partly because most startups are started in some Garage without 250 million in runway. That doesn't mean this won't work. The fact that they are in New York/New Jersey and not in San Francisco might be another reason but that also does not mean this won't work.
Just because you can't understand it does not mean it won't work, in fact it probably means it's more likely to work.
They are clearly doing something right. The near 100% growth month over month they quoted today on some of these articles is also pretty good indication that things are probably working, the fact that they had a reported million dollars in sales in their first day of opening the site is probably another good indication that they might be onto something.
It's too hard to tell with these kinds of things but this is a smart decision to not lock themselves into a Prime/Costco only model and certainly not an indication that things aren't going to work.
They have only actually launched and been live for two or three months their trial memberships were probably not even up yet considering they gave everyone like six months or a year free.
GC on the other hand is very aggressive with all of the immutable data structures F# creates. GC in F# is very good, though, I think without good garbage collection you have a tough time in a functional world. Microsoft is especially interested in GC performance for .NET and they have explored memory dumps to improve GC so it performs well even under load and when used with F#.