As a sometimes-user of F#, I’m quite happy not caring about a dead-end technology like UWP and .NET Native, thank you very much. I’m glad everyone else seems to agree about that, too.
I run a few things on .NET Core today and it’s great. I’ll probably runs some things in Azure soon enough. I just think UWP has no future because its primary device type (Windows phone) is dead, and it hasn’t seen any uptake in the enterprise to replace Winforms and WPF. F# seems just fine to me, and it’s supported for my app type. Perhaps you need to rethink your choices in development technologies.
All this FUD and hostility from the F# community (including the Fable devs) towards UWP, or anything that's of interest to most Windows and C# developers making the switch, is why F# will never be popular.
And for most people who need to have their code running on anything else than Windows, F# and .NET wouldn't be their first choice anyway, given that there are plenty of better alternatives around, like Haskell, Scala, ReasonML, OCaml etc.
Nothing is being moved. UWP has been here since the dawn of Windows 10, which evolved from WinRT, going back to Windows 8, and is constantly being extended with new APIs.
I've been holding of targeting UWP, until proper F# support.
I have experience with plenty of languages and technologies, including C, C++, Rust, Scala, OCaml, Haskell, Clojure, Elm, Idris, WinForms, WPF, DirectX and dabbled with Silverlight. Migrating from WPF or Silverlight towards UWP shouldn't be a problem.
F# has been my favorite language since 2008, but the hostile anti-UWP, anti-Windows community, compounded with the lack of abstraction features such as ML functors, higher-kinded types, type-classes and terrible modern Windows client support, are driving me away from it.
UWP is pretty mature now and all modern default 1st party Windows apps and critical UI components such as start menu, action center and settings rely on it, and more is being migrated towards it all the time, there is no sign of UWP going away anytime soon.
Except for Windows Phone getting killed, which was the _main_ device type for UWP. The Windows app store is the same graveyard that it was in late 2015 when the announcements around new Windows Phones piqued my curiosity. It looks like that's simply not a thing anymore. I'm betting my money on Xamarin and the browser for a client application, not UWP. There's just no point to it.
UWP is the future of Windows APIs, in case you missed Windows Developer day earlier this month.
So if F# doesn't speak UWP, the community keeps tweeting that GNU/Linux is so much better than Windows, and that we enterprise devs just don't get it, should we bet which of those technologies will last longer on MS roadmap?
My F# code runs on Linux. My client code is migrating to the web and mobile, as is just about every enterprise in the US. Why would I watch Windows developer day?
In some scenario support is more stable, other experimental, other are not supported.
like every technology.
Because budget is not infinite, you need to prioritize.
Just to show you things happened MS tech related to F# and .NET in the last two years:
- .net core
- .net standard (is not the same as .net core)
- new project system for VS
- new .net sdk (that mean work to support these on VS)
- portable pdb
- F# 4.1
- temporary stuff like project.json, who added work and was replaced
- new .net templating
- F# in VS now use roslyn workspaces (yes, that's big)
- integration of VisualF# powertools in default VS extension
- f# bundled in .net sdk and compiler in .net core sdk
- F# on azure notebooks
- F# on azure functions
- VS 2017
- VS 2017 installer (yes, that was annoying)
And that list is just some of MS technologies, who VF# team need to support/adapt too.
NOTE the list doesnt contains things created from community itself, like Fable. and some of these were added by community
Yes, and there is too:
- UWP
- .NET Native
- Corert
but you need to prioritize and choose your (moving) targets.
So ihmo while UWP can be nice to have (ihmo), was put in a lower priority than the others.
When you choose there are lot of factors:
- time to implement
- unknown
- other things open in parallel scenarios
- support needed to complete/make it usable
Community help a lot the F# development, and also a lot the VS VF# extension, see the repo.
Because F# has lot of OSS in the dna.
But that doesnt mean we cannot complain when things need improvements, in some important scenario.
And as a note, the MS VF# project manager was awarded the `F# community Hero award`, that mean the community like and support his work (the award is indipendent and run from community voting)
We don't do Azure and .NET Core is meaningless for us, as it doesn't have GUI support and EF Core is a tiny subset of EF 6.
As consulting company we are not bound to a single language or platform. When we do UNIX projects we use programming languages that are better fit for such platforms, and that isn't .NET Core.
For us .NET only matters for Windows related development, and there F# keeps being the black swan since its early days.
No tooling support for Windows Forms, XAML, Blend, ASP.NET, EF, WCF and now not even .NET Native, because for some strange political reason F# is separated from the .NET development group, and never considered on the decisions of the .NET platform as such.
With C# and VB.NET our customers on Microsoft solutions can be 100% sure their code is safe regardless of what Microsoft thinks to do next, at maximum they would need to re-write parts of it.
To me and many early investors of F# (loyal Windows developers), the current direction is the worst thing that happened to the language.
UWP is not just a nice to have, it's the backbone of client Windows development right now and going forward.
I used to be a huge F# advocate and all the people I converted to F# over the years have left, due to the lacking Windows support. And the VF# program manager siding with anti-UWP, anti-Windows, anti-MS detractors isn't helping the situation.
The main device type for UWP is any Windows 10 device. See the list of benefits mentioned in the link above, which extend beyond phones. I've never owned a Windows Phone, yet I always prefer UWP apps.
Also there is a big market for 2-in-1 tablets, and new small Windows on ARM devices are coming out very soon.
Not every kind of client app is suitable for the browser, especially if you care about performance and deep native platform integration. And I'd rather not deal with JS frameworks when not targeting the web.
> No offense (and sorry for being off-topic) but I never get how people obsess over the under 1 or 2% cost savings while completely ignoring the overvalued principal.
Here's my counterpoints:
1. ~5k is enough to pay for two amazing vacations for me and my fiancee. I'd be enthralled to save that amount of money.
2. Correct me if I'm wrong, but it sounds like you're making the implication that people should instead be searching for cheaper housing. Easier said than done.
Somewhat related, but there was a very good talk at MLConf 2017 about using sound to catch illegal logging in the Amazon. Similar premise: collect the sound, analyze the patterns, and classify.
In consumer products, perhaps not. Business systems? Oh, you betcha.
Note: I'm interpreting AI as "also the very useful subset of AI called Machine Learning" here. ML is already in so many things, but I think it truly has yet to take off. But I very much believe that it will be ubiquitous. It's probably worth it for programmers to learn some of the basic algorithms, general approaches, and what they're good for.
I agree. That's kind of my point. AI now seems tied to data mining consumers. Consumers don't want this. It is much better served behind the scenes, or in business settings. The majority of people just don't want a creepy assistant.
> Imagine if every bus, boat, and train in London was kitted out with sensors and counters, with the data made available to third-party service providers — this could help cities manage transport infrastructure far more effectively.
And my reaction is, "Imagine if we had more buses and investment in public infrastructure to begin with."
In fairness, public infrastructure is already miles better in London than most U.S. cities. So the idea of tricked out buses with good smartphone integration seems a lot more realistic to me than if this were done in the U.S.
>> Imagine if every bus, boat, and train in London was kitted out with sensors and counters, with the data made available to third-party service providers — this could help cities manage transport infrastructure far more effectively.
> And my reaction is, "Imagine if we had more buses and investment in public infrastructure to begin with."
Well in London all the bus and train data is made available to third-party service providers. That is how citymapper exists
Having said that they're frequent enough if you're an out-of-towner they feel like they're running perfectly on time.
If a bus is late where I'm from it just vanishes - you can be watching Arriva's live map and its route blip will just disappear, enjoy waiting for the next one (minimum half hour wait, repeat if that one's running late too)
It's also miles better than most UK cities, which is occasionally a sore point. The rest of the country has to put up with Stagecoach buses which are less reliable at twice the price.
(Except Edinburgh, which also has publicly funded cheap buses)
London is an exception indeed. In most other cities it's a free for all between two or three companies, each with their own very poorly developed payment systems with little or no connectivity between them.
I did some work using Census 2011 data and created league tables for modes of transport across England and Wales. 56% of London residents commute to work by public transport. Next highest is Manchester at 31%. Unsure where that stands within an international league. I'd assume Tokyo would be higher.
https://docs.google.com/spreadsheets/d/1U9f-g8ETvljw-YAZbFpW...
With another ~15% for cycling/walking for London, it's an amazingly easy city to get around with transport options that stretch out far from the city itself (I travel 50 miles each way, taking 1hr15m when everything is working correctly).
I think the more interesting work I did was around the 20 min walk/20min cycle and the numbers of people still driving those distances. In London 164,079 within 20 minute walk, 584,749 within 20 minute cycle out of a total of 1,097,173 people that drive.
I'm in the process of writing this up but the implication is that we could get a large reduction in congestion and traffic pollution through building a good cycle network.
More interestingly we should probably move to a road charging system that dispraportionatly charges high for short car journeys.
London underground trains are fitted with sensors that can tell the weight of each carriage and there's a good chance that the data will be available via Transport For London's API, if it isn't already (I worked on the API two years ago)
City mapper has their own data sources but a lot is still from the public API that TFL provides for free with the reasoning that app developers will do a better job than TFL could.
Probably easier from a technological standpoint, but I can imagine an autonomous freight network being just as challenging as an autonomous tax service if you account for all sorts of things: sales, mountains of other regulations, compliance, etc. I can hardly imagine it's as simple as, "let's just put some sensors on trucks and the problems will solve themselves!"
That seems a little unfair. I'd say they're more insulated than stupid. But when people inside their bubble start losing subsidies and getting hammered with the true cost of coverage, that might be enough to break through to some of them.
This bill is going to end up killing people (through the removal of health insurance for the poor and those with "pre existing conditions"); even your most uninformed voter will come around once this starts being put into place.
I'm hoping for riots, but will accept replacing representatives through the voting process.
I'm pessimistic that this will ever be known by those in swing states, let alone cared about. I've traveled to those places and met people there. They have normalized death due to medical complications and drug addiction. Why should more people dying make a difference there?
Netflix is a polyglot shop which uses a number of different programming languages for different parts of their systems. Yes, Node and JS play a large part in that, but that really isn't the whole story.
This is part of a specific re-engineering effort to enable front end engineers write their APIs in single threaded nodejs ..And the platform takes care of scaling.
Because "they already knew js". I know that Hystrix is still core, but IMHO the shift has started.