Live data from Hacker News

Microsoft introduces Universal Windows apps

wmpoweruser.com

171–180 of 187 posts

Re: Microsoft introduces Universal Windows apps

#171

I think the most significant part of this announcement is how they are dogfooding, Office for 'metro' and for the windows phone are using this Universal targeting.

They've been dogfooding for decades, that's a very core part of the developer culture at MS. (You can say many bad things about them, but they really do dogfooding all the time.)

Kind of... Still, they didn't use .NET, Windows Forms, WPF and countless data access layers in their core products (Office and Windows), which probably contributed to the fact most of these frameworks got obsoleted every few years.

Re: Microsoft introduces Universal Windows apps

#172

Some people here have mentioned this already but I am quite surprised with all the happiness and it's nice but... I have been writing apps on my Mac targetting asp.net, ios, android, wp8 and win8 with a lot of reuse and perfect frontends for two years. I love f#/c# and it works like a charm. Business wise it is nice that you have to pay only once but outside that what in god's name is so nice or special about this? I…

Agreed, it's been possible for years, especially with PCL libraries gaining significant traction last year. But these announcements and improvements have made things even easier than before. And to a certain extent have made what was once somewhat a "black art" to the layman C# devs now a official development track.

Not sure why you've been downvoted for stating facts. So I +1'd.

Re: Microsoft introduces Universal Windows apps

#173
post #123
post #106

Earlier quoted context omitted.

> he amazing thing is that you can potentially write all your code in C and have backend/frontend logic for the web, Windows, Windows Phone, OSX, FreeBSD, OpenBSD, Tru64, VAX, Arduino, Linux Kernel, Windows Kernel, Mach, Hurd, and practically every processor or operating system ever built, and even iOS/Android (via Xamarin). Wow. Have you ever done C development like this, ever in your life? I did. Between 1994 and 2…

The only portable GUI code that I've ever seen work somewhat reliably is HTML/CSS. Everything else either implements a 3rd GUI, Swing, et al, or looks weird on a few of the platforms, GTK. Oddly enough the best cross-platform lib I've seen, Qt, is written in C++. C certainly isn't the be all and end all, however, it's far more portable, reusable, and linkable than C#.

Too bad you missed out on Flash / Flex. At one point it was absolutely brilliant.

Re: Microsoft introduces Universal Windows apps

#174

Earlier quoted context omitted.

From your one can tell that Windows is really engrained in your workflow. There's nothing wrong with that, but it's sometimes good to open up a bit and acknowledge the weaknesses of a system such that you can use this knowledge for future decisions. So let me give you examples of why the registry is wrong. Let's say you or a user that you administer has a problem with Complex GUI application - for some reason it won'…

Wait just a minute. The topic was registry corruption. Not whether the registry is a good or bad idea as a whole. All I said is that the registry corruption is a non issue. It was a slight problem on Windows 9x; but it never happened to me personally. But was never an issue at any point on Windows NT based systems. I've known for years that the registry in itself is a software design anti-pattern. It's just a giant b…

Well, Taiki's original point was

"What about the registry? Any idea if they'll make that easier to manage for regular people? Am I still fucked if it corrupts?"

Which I also understand as a criticism on how it works in the first place. Also, I see 'corruption' not just when the whole registry is rendered unusable (which never happened to me at least and I've never read about such a case), but when applications create a state that renders them unusable, and that state persists in the registry such that one either has to reinstall his whole OS or go hack the registry (which even most electronics store supporters can't do, so without enterprise level support or deep technical know how any user is out of luck).

Re: Microsoft introduces Universal Windows apps

#175
post #119

Earlier quoted context omitted.

I should've been way more clear about my gripe with the Windows TCP/IP stack. Why the hell does the TCP/IP stack eat itself? No other OS I've ever used has the nuttiness that is netsh winsock reset as a regular troubleshooting step when diagnosing network connectivity issues. I was long under the impression that the reason why that kept happening was that the NT kernel didn't have a robust TCP/IP stack of its own and…

None of the "problems" of which you speak are actually mainstream problems. It's perfectly possible to hose your network stack in any OS. Just don't do that and you'll be fine. USB drivers, sound drivers, printer drivers, web cam drivers, etc etc, are all using user-mode drivers since Vista. They cannot crash your system. Similarly, graphics card drivers use a special model that means they can auto-restart if they we…

I used to do technical support for several ISPs before moving into a somehow nuttier profession(PHP development).

netsh winsock reset fixed quite a lot of things.

BTW: Before Microsoft added an automated tool in NetShell to repair corrupted WinSock2, this was the manual procedure: http://www.wikihow.com/Repair-Winsock-and-TCP/IP

Crappy Win32 APIs where bugs are features isn't a mainstream problem? Somehow in your decades of using Windows you have never run into buggy, crash prone applications. Amazing. Even Neo couldn't dodge those bullets.

Registry may never have corrupted on YOU, but that doesn't mean that it doesn't suck when it does happen. And it happens often enough that if you're in any sort of support role, you'll see it more often than you ever care to. Oh, it's rare, but it's prone to happen. It's just godawful design(this coming from someone who likes PHP, mind you) that you have this monolithic system database that somehow everyone can write to in various ways, not all of them good.

I can't find any better sources for why I thought that the driver model itself was wrong, but I do remember that a lot of Windows crashes happen because of crappy drivers. I remember there was a specific reason for it, and it wasn't fixed in as late as Windows 7, and it's even considered a feature. So, you got me there. what ever. I can still gripe about having to wait for Windows to install a driver for my keyboard when I use bootcamp so I can play MWO or Hawken.

Re: Microsoft introduces Universal Windows apps

#176
post #166

Earlier quoted context omitted.

hose your network stack in any OS No, this is very very rare on things that aren't Windows. Lots of people say "registry corruption" when they mean "cruft"; over time apps register shell extensions and various other systemwide bits and pieces that gradually reduce UI responsiveness or break in strange ways.

It's rare on Windows too. Only on Hacker News, on this thread, does it appear to be an issue.

https://www.google.com/#q=winsock+reset

No, it's not as rare as you think. Yes, it's because of the lousy design of the TCP/IP stack in windows.

Re: Microsoft introduces Universal Windows apps

#177

Some people here have mentioned this already but I am quite surprised with all the happiness and it's nice but... I have been writing apps on my Mac targetting asp.net, ios, android, wp8 and win8 with a lot of reuse and perfect frontends for two years. I love f#/c# and it works like a charm. Business wise it is nice that you have to pay only once but outside that what in god's name is so nice or special about this? I…

Agreed, it's been possible for years, especially with PCL libraries gaining significant traction last year. But these announcements and improvements have made things even easier than before. And to a certain extent have made what was once somewhat a "black art" to the layman C# devs now a official development track. Not sure why you've been downvoted for stating facts. So I +1'd.

Probably because my tone and term 'fanboy'; I said it very carefully even as I am not anti MS or whatever; I use F#/C#/.NET every single day and like it. But apparently that was enough to trigger :) Thanks anyway; I was just surprised why suddenly whole HN seemed to hail in the new messiah... Easier is nice, but...

Re: Microsoft introduces Universal Windows apps

#178
post #168
post #66

Earlier quoted context omitted.

You can rely on C# being on all platforms by default? Linux and OS X? Really? Last time I used Windows (several years ago), there were always apps that needed to download and install the latest version of the .NET runtime... - is that still a thing?

is that still a thing? come on, you make it sound like Windows is the only OS that has prerequisites for software? Last time I checked, yesterday, I wanted to get a file server running on my Debian machine and I had to apt-get install 5 different packages I didn't yet have. So, yes, that's still a thing, and it always will be. Although afaik since Windows 7 .Net 4 or at least 3.5 should always be there, and 4.5 on Wi…

One of the main differences is that apt will do that for you. You made it sound like you had to manually research and ask apt to download each library, when actually you probably just typed 'apt-get install samba' and it took care of researching and downloading all that crap for you.

In Windows, that doesn't exist. The installer either bundles it for you (which can be bad if you weren't expecting it, although is usually fine) or it leaves it in your hands to find and download the correct version yourself.

So yes, not exactly the worse thing ever (still an improvement over the old DLL-HELL) but it's nowhere near how friendly a decent package manager is, either.

Re: Microsoft introduces Universal Windows apps

#179

Earlier quoted context omitted.

int main(){ puts("Hello World"); } This doesn't work in Windows. The standard entry point to Windows is "int CALLBACK WinMain( _In_ HINSTANCE hInstance, _In_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow );" C never really "ran" on Windows. C is built on top of abstractions to even run on Windows. A SegFault in standard C is supposed to be passed to a signal handler (in Linux/ OSX). A SegFault in W…

Have to disagree with you there. Windows is older than COM. It's actually older than C++. The classic core Windows libraries and interfaces like GDI are plain old C. Not even a hint of C++. COM is language agnostic. You can consume COM servers in Delphi that have been written in VB. Again, no C++, not necessarily. The only "true" C++ API I'm aware of is GDI+. Everything else to my knowledge was and is either straight…

And I have to disagree with one of your statements a little bit:

"The classic core Windows libraries and interfaces like GDI are plain old C."

__cdecl: this is the native C calling convention Calling function pops the arguments from the stack.

__stdcall: this is the standard Win32 library interface Called function pops its own arguments from the stack.

Calling conventions explained here: http://msdn.microsoft.com/en-us/library/k2b2ssfy.aspx

Re: Microsoft introduces Universal Windows apps

#180

Earlier quoted context omitted.

Asm output from a c program that prints hello world to the screen. You can figure out the other sections I'm sure. No win main or other similar concepts here and built using vs2012. Microsoft (R) COFF/PE Dumper Version 11.00.61030.0 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file consoleapplication6.exe File Type: EXECUTABLE IMAGE _main: 00401000: 68 48 20 40 00 push offset ??_C@_0M@KIBDPGDE@He…

I've tried to do programs with /nostdlib before, how did you implement the startup and shutdown functions that are required?

Sorry about that I didn't see your reply! Because I have to use phone it's challenging to type out all I did. While I achieved it, I wouldn't say it's sensible or easy!

Anyway, you have to turn off c++, c++ exceptions, security checks in compiler options. In linker set the entry point to main and turn off error reporting. From there it's finding the right lib which is dependent on arch, etc.

To be honest it's not worth doing. I only knew of it because I had to patch a vs2010 exe to run on windows 2000.

Post reply on HN