What do people think of UWP?
-
I am sure many people here would read your articles, and learn from your experiences ! The questions always on my mind are: 1. what does it offer me now, and in the future ? 2. what does it cost in terms of "learning curve," set-up, deployment ? 3. what resources are available to get oriented, and start developing ? 4. to what extent can current skills be re-used ? cheers, Bill
«When I consider my brief span of life, swallowed up in an eternity before and after, the little space I fill, and even can see, engulfed in the infinite immensity of spaces of which I am ignorant, and which know me not, I am frightened, and am astonished at being here rather than there; for there is no reason why here rather than there, now rather than then.» Blaise Pascal
-
Afzaal Ahmad Zeeshan wrote:
I think, in the next update Microsoft should work on these things, to make sure asynchrony is managed by OS itself and even being a feature of language, stays as a pain of the kernel only.
I'm not convinced this is reasonably possible. I assume when you say "asynchrony is managed by OS itself" you are saying the OS should re-use a blocking thread's time-slice? How would you maintain state then for the blocking code? If you save the stacks, registers, etc before loading the new code then you're still basically performing a context-switch with even more overhead. The OS/hardware is already both asynchronous and multi-threaded from its standpoint. The hardware has a specific number of cores ("threads") and the OS switches out kernel threads ("tasks") to make best use of them including suspending blocking kernel threads. Abstracting out these kernel threads into another thread/task pattern is of no concern to the OS and rightfully so. The language being asynchronous would be possible but I'm not convinced it would be a benefit. Multi-threaded applications might rely on the main thread being synchronous which would no longer be a guarantee. Just enabling asynchrony by default might be an alright idea. You could just wrap the return in a
Task
under the covers. If the function doesn't useawait
then it'll just run synchronously.public class Whatever
{
public async Task ReturnTwoSynchronously() => 2; //Synchronous currently, access to await if you want
public int ReturnTwoSynchronously2() => 2; //Make the above represented by this standard pattern. As long as await is not used to create asynchronous behavior it will run synchronously.
}At the end of the day though, is it worth the effort? My opinion - probably not.
Oh, some good points. :thumbsup:
The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~
-
Sorry bill about the mess (flips his coin like Han solo in the cantana to bill), I will make up for up for it with an article here soon. Some people here must be older programmers to know what the nuclear systems are written in.
jeffery
NASA had to re-purpose its existing computers whenever a new satellite was launched. I know for a fact that these were programmed in assembler as that is the fastest language to execute programs in. The programs that processed the data streamed by the satellites were themselves written in assembler. In addition, real-time operating systems were written for machines that you could swear couldn't support such OS for lack of even minimal hardware support. All of this in the 1970s. Been there, done that.
-
Their is c/c++ programming forums too. That was a typo. But your a skeptic so try out UWP for yourself. Just remember about what happened to assembly language. All the years wasted to only be replaced with c/c++. However, I prefer vb.net for most apps because their is not a lot of difference to c# with the exception of games/hardcore apps which I prefer to go to c/c++. I found out with a little help on vb.net forums about how to call do p-invokes on device drivers. Only can be coded in c#? No. For the most part, you can code in native c/c++ for apps.
jeffery
jeffery c wrote:
Just remember about what happened to assembly language. All the years wasted to only be replaced with c/c++.
Could you elaborate on this? Or are you just using it in a poor attempt at reductio ad absurdum?
-
If I post some code here and articles would people be interested in UWP? I have some file API's and sample code that could help people. To be honest, I like UWP file operations but they are slightly weird. At the same time have great ways to do chain folder/file creation operations which I like and you can create the simple Append to end of sub/function like before but its a little different then before. Note: 1. I understand peoples problems with windows 10 updates but I have not had any problems with my updates with the exception of office 2010 because its so old windows will not install them properly the first time. 2.If you install visual studio at all, remember to install the Hypervisor for windows first because it uses that to test windows phone apps and needs time to run before you install studio.
jeffery
jeffery c wrote:
If I post some code here and articles would people be interested in UWP?
Yep, definitely. I've got an existing Xamarin app that runs on iOS and Droid, but I've been toying with the idea of creating a UWP app with it as well (for desktop/laptop machines). I don't know much about UWP (been a bit busy with porting my ASP.NET app over to .NET Core and coding the Xamarin apps) so it'll be interesting to see what it can do and whether it's suitable for my needs. :thumbsup:
Now is it bad enough that you let somebody else kick your butts without you trying to do it to each other? Now if we're all talking about the same man, and I think we are... it appears he's got a rather growing collection of our bikes.
-
If I post some code here and articles would people be interested in UWP? I have some file API's and sample code that could help people. To be honest, I like UWP file operations but they are slightly weird. At the same time have great ways to do chain folder/file creation operations which I like and you can create the simple Append to end of sub/function like before but its a little different then before. Note: 1. I understand peoples problems with windows 10 updates but I have not had any problems with my updates with the exception of office 2010 because its so old windows will not install them properly the first time. 2.If you install visual studio at all, remember to install the Hypervisor for windows first because it uses that to test windows phone apps and needs time to run before you install studio.
jeffery
It's not popular and is used by very few people/companies today. I had considered writing an article series on it last year and then decided against it. If you've got them drafted already, I'd say post them - don't expect a lot of feedback though, outside of casual 5 votes.
Nish Nishant Consultant Software Architect Ganymede Software Solutions LLC www.ganymedesoftwaresolutions.com
-
Marc Clifton wrote:
bothering to even learn more about it.
Let me tell you what I learnt in my past 6 months, or literally-hair-pulling-ly-rough-experience, it works fine and in 2 different ways. 1. You don't use async/await at all. You perform all the operations synchronously. 2. You write every function call, with an await operator. That way, most of the errors (such as Illegal operation, Invalid state) etc would go away. I would go with the second one, but like you said, it still requires us to learn more about it. I built one of my application, 1.5 years ago, which had 0 async await applied, because I did not know anything. But, I was working on another application a few weeks back, and since I knew async/await, I mistakenly added a few function calls as awaited. After that, it forced me to make sure every call in the stack was awaited, otherwise, 1. Illegal state 2. Invalid operation 3. Infinite loop Were only a few of the problems to tackle and work on. I think, in the next update Microsoft should work on these things, to make sure asynchrony is managed by OS itself and even being a feature of language, stays as a pain of the kernel only.
The shit I complain about It's like there ain't a cloud in the sky and it's raining out - Eminem ~! Firewall !~
-
If I post some code here and articles would people be interested in UWP? I have some file API's and sample code that could help people. To be honest, I like UWP file operations but they are slightly weird. At the same time have great ways to do chain folder/file creation operations which I like and you can create the simple Append to end of sub/function like before but its a little different then before. Note: 1. I understand peoples problems with windows 10 updates but I have not had any problems with my updates with the exception of office 2010 because its so old windows will not install them properly the first time. 2.If you install visual studio at all, remember to install the Hypervisor for windows first because it uses that to test windows phone apps and needs time to run before you install studio.
jeffery
I like what Microsoft is trying to do with UWP apps. It's the only game in town if you want to run the same application on both your desktop and mobile device. The only problem is that there aren't enough Windows 10 Mobile users to drive the demand for UWP apps. If Windows 10 Mobile could get just 20% of the mobile market it would change everything.
-
jeffery c wrote:
Just remember about what happened to assembly language. All the years wasted to only be replaced with c/c++.
Could you elaborate on this? Or are you just using it in a poor attempt at reductio ad absurdum?
No, this is really referring to a difference of opinion not absurdity. Because a programming language being irrelevant is bases on overall demand and assembly language and/or fortran or any other language is used in specific scenarios. Those 70-80's languages are only used in nasa mainframes or any mainframe which are mostly irrelevant because of the training tine required to show people how to use one. Time sharing was a big problem because once an connection was established to the machine you could only have a handful of connections depending on the setup. This slowly changed but initially was not. Look up thee enaic computer.
jeffery
-
No, this is really referring to a difference of opinion not absurdity. Because a programming language being irrelevant is bases on overall demand and assembly language and/or fortran or any other language is used in specific scenarios. Those 70-80's languages are only used in nasa mainframes or any mainframe which are mostly irrelevant because of the training tine required to show people how to use one. Time sharing was a big problem because once an connection was established to the machine you could only have a handful of connections depending on the setup. This slowly changed but initially was not. Look up thee enaic computer.
jeffery
jeffery c wrote:
Those 70-80's languages are only used in nasa mainframes
I'm with you that some languages have become less popular, even to the point where they could be called esoteric. Though I'd draw a line at calling them irrelevant. Perhaps something like Fortran / Cobol tends to be used just (or rather mostly) in legacy systems yes - does that make them irrelevant? Assembly is still used though, quite a bit in fact, wherever you see hardware with extreme limits in resources you're sure to see at least some ASM codes (even in lieu of C), think stuff like a washing machine controller. Another place it gets used often is drivers. Also this new "fashion" of IoT is a prime place for ASM to help out where a higher level language just doesn't provide the full control. And then there's still those who go and optimise after a compiler's done its best. Not to mention, in some cases certain things are just impossible to do in the higher level language. Even in DotNet there are some features impossible to implement in C# without reverting to IL instead (i.e. DotNet's "ASM"). No matter the language which was used to produce the program, it's rather rare to see users being trained in a language instead of how to operate the program. Think e.g. something like SAP, 99% of all its training is done on end users explaining to them which value to put into what field and what button to click when - not anything about the language used to develop those forms. Why would you think that training on a "mainframe" is any different, especially for the operators? In fact it's probably more useful to train users on a higher level language (for stuff like scripts and automation) while leaving the lower level stuff to actual programmers.
-
If I post some code here and articles would people be interested in UWP? I have some file API's and sample code that could help people. To be honest, I like UWP file operations but they are slightly weird. At the same time have great ways to do chain folder/file creation operations which I like and you can create the simple Append to end of sub/function like before but its a little different then before. Note: 1. I understand peoples problems with windows 10 updates but I have not had any problems with my updates with the exception of office 2010 because its so old windows will not install them properly the first time. 2.If you install visual studio at all, remember to install the Hypervisor for windows first because it uses that to test windows phone apps and needs time to run before you install studio.
jeffery
With Windows Phone completely dead right now, my personal opinion of UWP / .NET Native is that it's a huge pain in the ass and not worth using at the moment except for very limited use cases. I'm personally of the opinion that WPF is a better solution for *almost* every application with many less "gotchas". As you've noted, you can still get it into the store with their converter. The thing that really kills UWP for me is lack of emit and code gen, which I use extensively. Reflection also becomes painful. The desktop to store app converter is pretty brilliant. It's great. I wish they would kill UWP / .NET Native and put the resources into coming up with a better solution that doesn't rely on native compilation. Android seems to be doing just fine without it.
Blog: [Code Index] By Mike Marynowski | Business: Singulink
-
jeffery c wrote:
Those 70-80's languages are only used in nasa mainframes
I'm with you that some languages have become less popular, even to the point where they could be called esoteric. Though I'd draw a line at calling them irrelevant. Perhaps something like Fortran / Cobol tends to be used just (or rather mostly) in legacy systems yes - does that make them irrelevant? Assembly is still used though, quite a bit in fact, wherever you see hardware with extreme limits in resources you're sure to see at least some ASM codes (even in lieu of C), think stuff like a washing machine controller. Another place it gets used often is drivers. Also this new "fashion" of IoT is a prime place for ASM to help out where a higher level language just doesn't provide the full control. And then there's still those who go and optimise after a compiler's done its best. Not to mention, in some cases certain things are just impossible to do in the higher level language. Even in DotNet there are some features impossible to implement in C# without reverting to IL instead (i.e. DotNet's "ASM"). No matter the language which was used to produce the program, it's rather rare to see users being trained in a language instead of how to operate the program. Think e.g. something like SAP, 99% of all its training is done on end users explaining to them which value to put into what field and what button to click when - not anything about the language used to develop those forms. Why would you think that training on a "mainframe" is any different, especially for the operators? In fact it's probably more useful to train users on a higher level language (for stuff like scripts and automation) while leaving the lower level stuff to actual programmers.
I level with you on most of this except most users barely know where the power button is on their computer. I worked in IT at a public K-12 school system and the multimedia/computer teachers were the only ones who had half a clue about them(I am from KY). The science teachers do not know how to program or even learn. High science class was the exception probably.
jeffery
-
I level with you on most of this except most users barely know where the power button is on their computer. I worked in IT at a public K-12 school system and the multimedia/computer teachers were the only ones who had half a clue about them(I am from KY). The science teachers do not know how to program or even learn. High science class was the exception probably.
jeffery
jeffery c wrote:
most users barely know where the power button is on their computer
Well, I suggest that you don't make the kind of glaringly deceptive statement that you would use with those people when you post here, in CP, which comprises millions of people who have made a living coding for years (many of us, decades). The only programming languages that have become "irrelevant" are the faddish languages, which came and went, while the old -- faithful, solid, and trustworthy -- languages are still in use, and still being used creatively, alongside the recent/new-fangled (if you're as old as I am/if you're not) OO languages. The whole ms "universal" thing will go the way of all their fads, and in short order, because other people are doing better things -- whether individual, gifted developers, who are finding their own ways to do things; or large firms, who are looking to set standards. ms has already lost the battle, no matter what their marketing morons and wu-maos say. Had windows phone been a success, things might have been different, but they killed windows phone with the very direction they went in for it. Understand that very clearly: UWP killed the windows phone -- no-one wanted it on their computers, therefore they didn't want it on their phones, either. If something stinks, you don't want to put it in your pocket. Shame, really, because the baby-blocks thing, with its low-ish graphics overhead, was a good interface for a phone. Note that I have only really responded to the title of your posting, and not to the content, which is not entirely related to the title (don't get me started on titling things appropriately!), so, in response to your "shall I write articles about it?" question, I reply; Why the Hell not? There is always something to be learned from every direction taken in computing.
I wanna be a eunuchs developer! Pass me a bread knife!
-
jeffery c wrote:
most users barely know where the power button is on their computer
Well, I suggest that you don't make the kind of glaringly deceptive statement that you would use with those people when you post here, in CP, which comprises millions of people who have made a living coding for years (many of us, decades). The only programming languages that have become "irrelevant" are the faddish languages, which came and went, while the old -- faithful, solid, and trustworthy -- languages are still in use, and still being used creatively, alongside the recent/new-fangled (if you're as old as I am/if you're not) OO languages. The whole ms "universal" thing will go the way of all their fads, and in short order, because other people are doing better things -- whether individual, gifted developers, who are finding their own ways to do things; or large firms, who are looking to set standards. ms has already lost the battle, no matter what their marketing morons and wu-maos say. Had windows phone been a success, things might have been different, but they killed windows phone with the very direction they went in for it. Understand that very clearly: UWP killed the windows phone -- no-one wanted it on their computers, therefore they didn't want it on their phones, either. If something stinks, you don't want to put it in your pocket. Shame, really, because the baby-blocks thing, with its low-ish graphics overhead, was a good interface for a phone. Note that I have only really responded to the title of your posting, and not to the content, which is not entirely related to the title (don't get me started on titling things appropriately!), so, in response to your "shall I write articles about it?" question, I reply; Why the Hell not? There is always something to be learned from every direction taken in computing.
I wanna be a eunuchs developer! Pass me a bread knife!
Mark, sorry for confusion I meant that in the context of my previous IT job. No offense to the programmers on here but normal people can be idiots especially in KY and some do not want to learn. I was referring more to normal users not programmers which deserve a special right to themselves.
jeffery
-
Sam Hobbs wrote:
I was actually in her office in the basement of the Pentagon once.
That's an experience I'd swap for a lot. The best thing about COBOL is that it was optimised specifically for handling financial data, so it's blistering fast, when used in that field. The only language that can even come near to keeping up with it is C (with no plusses, sharps, etc.)
I wanna be a eunuchs developer! Pass me a bread knife!
I should have returned to Grace Hopper's office sometime when she was there and told her I wanted more challenging work. I did not think about that back then but my life would have been different if I had done that. At the time I was working in the Pentagon but I had very, very little to do. As for COBOL, we need a language with similar requirements but improved with modern advances. I don't know what the current standard is but it is probably held back by COBOL's legacy. I think it would be interesting to design a language based on COBOL's design and used in internet servers like PHP. It could be and should be more professional than PHP.
-
The whole ms uwp concept is a huge waste of a lot of people's time. Like everything else they've produced over the last few years, they came up with it without even thinking about keeping their feet grounded in reality, and all they've done is take phenomenally uncreative steps (which they probably think are highly creative) in a direction that cannot possibly be the way to the future. What is currently being done by weChat and facebook is one of the potential roads to "universal" computer products. That much is obvious, because many of the roads in that direction are patently obvious -- it's just a matter of waiting to see who will get it all to come together. But that won't be ms. Their idea of "universal" is crippled by their new-found lack of vision and creativity. It's a joke, which will be swept under the carpet, within a couple of years (joining all the other dustballs they've previously hailed as the next great thing), and the people who suffer most because of this will be developers who invest their time, skills, and effort into it. Seriously, you'll do your career better by studying COBOL.
I wanna be a eunuchs developer! Pass me a bread knife!
Spoken like one who is "Truly" outside the loop. I love the "Oh, we're dumping ReactJS. We've rewritten it completely with only "Small" breaking changes. YEAH, let's go AngularJS the "More versions than fleas on a baboon" language. Pick one you will like. uh, no that one is now obsolete. Besides, browsers are soooooo stable across platforms they should be declared a standard..... Actually there are so many standards you can't keep up with them. You are probably right.... Having a true write once and just change the IO's to match the op system language and platform is probably a pipe dream.... Oh, wait... I already have it working using ASP.NET Core....... I know, I know,,,, Raspberry pi is really not a computer......... Actually it is, and is very stable if you use a 2 amp dongle. So C# and a PI talking to an MVC app running in the cloud is a lot of fun...... But MS is sooo confused. Yes, they are probably just stupid to make almost all of their releases of software backwards compatible which protects everyone's investments in IP. I know being open source is so stupid and letting the user community submit enhancements is way dumb..... But they plod along just the same.....
-
Mark, sorry for confusion I meant that in the context of my previous IT job. No offense to the programmers on here but normal people can be idiots especially in KY and some do not want to learn. I was referring more to normal users not programmers which deserve a special right to themselves.
jeffery
Fair enough, but don't forget that "normal people" can be absolute geniuses in areas where developers are absolute idiots. "Bert isn't good at what I'm good at" doesn't mean "I'm good at what Bert is good at".
I wanna be a eunuchs developer! Pass me a bread knife!
-
I should have returned to Grace Hopper's office sometime when she was there and told her I wanted more challenging work. I did not think about that back then but my life would have been different if I had done that. At the time I was working in the Pentagon but I had very, very little to do. As for COBOL, we need a language with similar requirements but improved with modern advances. I don't know what the current standard is but it is probably held back by COBOL's legacy. I think it would be interesting to design a language based on COBOL's design and used in internet servers like PHP. It could be and should be more professional than PHP.
COBOL was held back be by the fact that it became one of the major languages to be used for banking; and those guys just don't handle advances the way everyone else can. I'm still jealous as Hell of the people you had access to, though, even though it's hindsight that gives me the possibility of such jealousy -- you can't tell something will be thought of as amazing in the future, when you're living through it day by day. It's good to know that I know someone who was there. Kudos.
I wanna be a eunuchs developer! Pass me a bread knife!
-
COBOL was held back be by the fact that it became one of the major languages to be used for banking; and those guys just don't handle advances the way everyone else can. I'm still jealous as Hell of the people you had access to, though, even though it's hindsight that gives me the possibility of such jealousy -- you can't tell something will be thought of as amazing in the future, when you're living through it day by day. It's good to know that I know someone who was there. Kudos.
I wanna be a eunuchs developer! Pass me a bread knife!
I don't think I ever talked with Grace Hopper directly. I attended a presentation by her. She gave all the participants a nanosecond. I was in the Army. I also wish I had appreciated Grace Hopper back then. As for COBOL, it is more appropriate to say "financial" instead of "banking". However COBOL was used substantially by non-financial companies such as aircraft manufacturers. The engineering and manufacturing systems of aircraft such as the L-1011 and the F-22 Raptor ATF were all COBOL. So it is probably more appropriate to say "business" instead of "financial" and it is called Common Business-Oriented Language. You are right that it is neither scientific-oriented nor software-oriented (as in operating systems and compilers). The C language was designed to include software-oriented uses.
-
You have no idea about UWP do you? I rarely develop for windows phone and use the desktop extensions of UWP to skip said non-sense and games for xbox is why I chose it but you can even get around that for xbox one to a certain extent. Anyways, I basically said you could still develop dotnet framework applications because UWP is a "choice" if your developing for windows 10 not a mandated requirement. Microsoft makes it seem that way but it is NOT. If you believe otherwise Microsoft has fooled you. VB.NET forum is going very well because their are still dot net developers on windows 10.
jeffery
No. The guy doesn't know anything. He thinks that UWP apps take over our whole screen. Ha ha ha.