5 ms·
Very nice. I've not always stayed true to this advice, but for commercial products it is recommended to build software in the native language of the OS. Somethi
by pcunite 10y ago
Very nice. I've not always stayed true to this advice, but for commercial products it is recommended to build software in the native language of the OS. Something like .NET is available but this is supported by the creators of Windows.
Why?
Less bugs, better examples, community support.
- mikegedelman 10y agoI keep hearing how .NET and C# are supposed to be pretty great these days. C# often gets credit for popularizing async/await, although I don't actually know if that's true. Based on that, and the point you made, I'd definitely go the .NET/C# route if I ever ended up in the unfortunate position of having to develop software for Windows. Barring of course some reason that it had to be written in Go or something else.
- jasonjei 10y agoWTL is also great if you want or need something that doesn't use .NET. Building GUI apps doesn't suck with WTL. What I would like to see is an example of an app where I can build an app using both WTL/C++ and have Go code with channel support...
- addicted 10y agoI don't see why someone wouldn't use C#/.Net to build a native Windows app. It's open source, and supported by Microsoft, the makers of Windows as the primary Windows app environment. One reason would be if you're trying to build a node based app which you would like to use across other platforms.
- maxxxxx 10y agoThe problem isn't C#/.NET but what GUI toolkit do you use? Winforms, WPF, UWP and others are either in maintenance mode or incomplete. The only complete toolkit is Win32 which brings you back to C/C++.
- 0xffff2 10y agoIsn't Win32 basically in the same maintenance mode as WinForms? WinForms is mostly just a thin wrapper around Win32 anyway.
- maxxxxx 10y agoPretty much everything new first gets exposed through Win32 or some COM interface like DirectX.
- pjmlp 10y agoAll new APIs since Windows 8 are now COM based, yeah it is still Win32, but I guess it is just following their original idea for .NET (COM+ Runtime and not the CLR). In some future version of Windows, when UWP with its COM foundation becomes prevalent, they can ripoff all the Win32 APIs that aren't required to support WinRT. Just like Apple has done with Carbon, Quicktime and many others.
- maxxxxx 10y agoWe will see how UWP works out. I wouldn't be too surprised if they changed their strategy in the next few years to come out with something different. That seems to be the Microsoft tradition. As soon as something starts working it gets replaced by something else. The only constants are COM and Win32.
- pjmlp 10y agoSure, however I am with high hopes with WinRT, as it is what .NET should have originally been designed instead of the CLR detour. If you look at what Delphi, Modula-3, Ada, Component Pascal, Oberon variants, Eiffel were already offering before Java took off. > As soon as something starts working it gets replaced by something else. Just like everyone else. I can hardly think of any platform owner that has kept their APIs stable. Not that you are not right to complain, I just get the impression many tend to forget about the other vendors similar practices.
- mb_72 10y agoWhy 'unfortunate'? What is 'unfortunate' is developers having prejudice against any OS / IDE / language / etc; it restricts your creation of solutions for the problems that need to be solved. Keeping up with developments across all platforms - like the fact these days you can use C# for non-Windows targets- helps us be well-rounded and capable developers.
- icebraining 10y agoIt's only prejudice if it's not based on direct experience. Many of us would rather avoid going back to Windows at all.
- pjmlp 10y agoAfter several years using GNU/Linux I have happily returned. Windows and Mac OS X are the only sane alternatives for developers that care about desktop applications and developer friendly toolchains. Same applies to iOS, Android and WP. The other alternatives feel like only the CLI and daemons matter, stuck in a PDP-11 view of the world. Then again, NeXT was the only UNIX based OS with an alternative culture regarding developers tools and UX. KDE is the only environment that can match in terms of tooling and UX, yet it is lacking some serious love nowadays. I want my developer and user experience to be a Xerox Star and not a PDP-11.
- idobai 10y ago> KDE is the only environment that can match in terms of tooling and UX, yet it is lacking some serious love nowadays. KDE? Seriously? It's one of the worst DEs on linux. Any DE which isn't based on gnome is just cheap nowadays.
- pjmlp 10y agoSo which other DE on GNU/Linux does provide the same tooling and platform abstractions as KDevelop/Qt Creator do? GNOME has a very nice HIG from UX point of view, but it is stuck in C + POSIX as technology stack in what concerns developer experience. Vala is still not there and I don't believe in JavaScript for native UIs.
- serge2k 10y ago> Something like .NET is available but this is supported by the creators of Windows. and .NET isn't?
- pcunite 10y agoWithin the context of this discussion ... I was meaning that if you don't use C/C++ you could use .NET which "is" supported. So, with Windows you don't have to use the native language since C# is supported by the creators.
- kristianp 10y ago>> for commercial products it is recommended to build software in the native language of the OS I'm not sure I agree with this, it may have been true before VB on windows. People like Dropbox would also disagree, they use(d) python for their UI code on the desktop, I believe.