Earlier quoted context omitted.
From the Windows/Client UI side, I think you may want to check out WPF. Winforms is exactly what you said, a thin Win32 wrapper in .Net (which is why I found it easy, already knowing some C Win32 APIs and MFC). WPF takes some times to wrap your head around, I still haven't done it, but it seems like a better way to go. Of course now we have Windows 8/WinRT so who knows what's going to happen to WPF.
WPF is definitely the way to go. I started a modest sized project a few years ago at an internship, and this past summer I was allowed the task to move it from Forms to WPF. Let me tell you, working with WPF is so much better. Especially when you get into anything custom. Custom drawing in Forms is always a hack, and you basically have to do it in code. WPF is essentially designed to make creating custom controls wit…
C# is the language of the year, Python of the decade
31–40 of 74 posts
Re: C# is the language of the year, Python of the decade
#32I recently started using C#, having not programmed for windows in years, and have to admit I'm greatly impressed by it. It really feels modern, well designed, and very flexible and powerful, in too many ways to list. Unfortunately, I'm finding the .NET libraries that I'm using not quite so well designed - Working with windows forms specifically. Fortunately, a lot of the third party libraries seem pretty well designe…
This does lead into the other serious detriment for dotnet, open source. There is very little going on there because the majority of the community doesn't actively engage with new libraries or frameworks that don't come out of Microsoft itself. Hence, why I say it's too bad something isn't sanctioned.
It probably doesn't help that if Microsoft did deem it worth supporting something like ReactiveUI, their history shows that they would just rebuild it themselves. Effectively destroying the OSS.
Overall, Microsoft is improving. Just look at the changes they are making to support ASP.NET MVC as an open source project. They are just a lot slower than everyone else right now. Their research department might help them keep a few things ahead (like C#), but for the most part they are behind the curve.
Re: C# is the language of the year, Python of the decade
#33Re: C# is the language of the year, Python of the decade
#34Quite deservedly so, you can't argue with statistics! Anyway, I saw something interesting in the graph. If you just look at C and C#, then in 2011 you notice that where C made a sharp decline, C# made an almost equally sharp incline. Are these movements correlated? What happened in 2011 that made a bunch of wannabe (since they look for C tutorial) C programmers suddenly turn to wannabe C# programmers? I realise it ma…
Probably the end of older generation COM C++ stuff that is being pushed to .net (server 2k appears to have finally bit the dust in corporates) and reasonable maturity of WCF.
Being a user of WCF, I'm sorry to say, it's terrible. Don't ever make the mistake of thinking WCF is fit for production.
This goes for pretty much the whole C#/.NET ecosystem. The Microsoft tools are severely lacking in good design principles and the open source tools are amazing and life changing but don't have the mindshare to be revolutionary. This is mostly just a fact of Microsoft being unfit for open source workflows.
Instead of WCF, try ServiceStack (or SignalR if it makes sense). Instead of ASP.NET MVC, try NancyFx or FubuMVC.
Re: C# is the language of the year, Python of the decade
#35Re: C# is the language of the year, Python of the decade
#36Earlier quoted context omitted.
Probably the end of older generation COM C++ stuff that is being pushed to .net (server 2k appears to have finally bit the dust in corporates) and reasonable maturity of WCF.
> reasonable maturity of WCF Being a user of WCF, I'm sorry to say, it's terrible. Don't ever make the mistake of thinking WCF is fit for production. This goes for pretty much the whole C#/.NET ecosystem. The Microsoft tools are severely lacking in good design principles and the open source tools are amazing and life changing but don't have the mindshare to be revolutionary. This is mostly just a fact of Microsoft be…
If i had my choice, I'd do it in Go.
Re: C# is the language of the year, Python of the decade
#37So in that case, I don't think a general "{{language}} tutorial" accurately represents the growth of a language. Perhaps interest, but this isn't limited to programmers, either, which makes me feel like it's even more misleading. For instance, the only time I entered "python tutorial" into Google was when I wanted to see a quick few basic programs to get an idea of whether or not I'd like the language. I don't really use Python personally (never will, it's terrible), but I've hacked around in it at work, and I never once used "python tutorial" to get my work done. I think one was "python reference urllib" which took me directly to the python reference page for urllib.
Re: C# is the language of the year, Python of the decade
#38This is because every university in the world teaches Java first to newbie programmers
Re: C# is the language of the year, Python of the decade
#39I recently started using C#, having not programmed for windows in years, and have to admit I'm greatly impressed by it. It really feels modern, well designed, and very flexible and powerful, in too many ways to list. Unfortunately, I'm finding the .NET libraries that I'm using not quite so well designed - Working with windows forms specifically. Fortunately, a lot of the third party libraries seem pretty well designe…
From the Windows/Client UI side, I think you may want to check out WPF. Winforms is exactly what you said, a thin Win32 wrapper in .Net (which is why I found it easy, already knowing some C Win32 APIs and MFC). WPF takes some times to wrap your head around, I still haven't done it, but it seems like a better way to go. Of course now we have Windows 8/WinRT so who knows what's going to happen to WPF.
Re: C# is the language of the year, Python of the decade
#40Earlier quoted context omitted.
If you're using C# or similar, the only reasonable choice is to always use Mono. Just use the cross platform and open source runtime, as you would for any other language, and pretend that .Net doesn't exist.
Or just use java and benefit from mature libraries and frameworks, tooling and package management that isn't a piece of shit. Your insurance is the openjdk then rather than a thinly veiled promise not to sue from Microsoft.
That "thinly veiled promise not to sue" is backed by the full force of a legally binding promise recognized by the combined weight of the US and Euro legal systems. Microsoft is, by centuries of established law and court decisions, precluded from suing someone from using C# through Mono or any other API or framework.
Moreover, using Java is now riskier than using C#, as Oracle has changed the licensing terms for the language, the API, and the development tools to allocate to itself greater legal control over the Java IPs than Sun did (or which Microsoft reserves as to C#).
EDIT: Just so we're clear, to all the non-lawyers and non-legally savvy HNers: The promise not to sue is itself what is binding, as a consequence of more than two centuries of US and Euro law (see, e.g., the concept of promissory estoppel). The point of the promise was to clarify the permissive license to use Microsoft's IP as it relates to C#.