Live data from Hacker News

C# is the language of the year, Python of the decade

sites.google.com

31–40 of 74 posts

Re: C# is the language of the year, Python of the decade

#31
post #17

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…

Definitely this. Use WPF if you can. I don't recommend trying to use WPF "as is", but suggest reading about the MVVM pattern and the available frameworks, particularly Caliburn.Micro and ReactiveUI.

Re: C# is the language of the year, Python of the decade

#32
post #4

I 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…

C# truly is one of the diamonds in the Microsoft software dirt heap. It is unfortunate that there isn't something Microsoft sanctioned like UIKit for dotnet. However, I think ReactiveUI (http://www.reactiveui.net/) is quite close and reasonable popular.

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

#34
post #23
post #10

Quite 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.

> 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

#35
This is misleading simply for the fact that java and python are taught heavily in college over php, college students that need extra assistance will "google" tutorials, php is not taught in many colleges, if you add wordpress tutorials, drupal tutorials, and joomla tutorials to the mix you will see a totally different picture

Re: C# is the language of the year, Python of the decade

#36
post #23

Earlier 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…

Oh I completely agree with you and were moving to java slowly. All in saying is that WCF is about the most mature thing that shifts SOAP on windows which is the backend of most of our integrations unfortunately (they are corporates mainly).

If i had my choice, I'd do it in Go.

Re: C# is the language of the year, Python of the decade

#37
I don't think I can agree that "{{language}} tutorial" as a measure of "growth" is valid. When I am looking to learn a language, I don't Google for tutorials because you end up with mostly worthless information and maybe a single result that has any value -- and 9 times of 10 that result is on the website of the language, so my query becomes "{{language}}". Further, as I'm learning a language, I'm more likely to Google for a language or API reference than I am for tutorials on how to do particular tasks X, Y, and Z. That leads me to write queries like "mdn {{some DOM/HTML/JS/CSS thing}}", which oddly enough, are also the same kinds of queries I write when using a language I'm entirely proficient with.

So 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

#39
post #4

I 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.

WPF does take time to wrap your head around because it's more complicated, and in a lot of cases writing business apps (which most straight windows apps are) there is no need for all the 'power' WPF provides. WinForms is easy to develop using just the GUI designer. WPF you often need to mix your development between the form designiner and the XAML code itself. It's a needless headache. Also WinForms GUI designer translated the design into straight C#. The WPF->XAML->C# conversion isn't readily accessible, or editable by the programmer and is the source of a lot of complexity and confusion. Often typos in XAML can bring a whole application crashing down with not much of a clue to the source of the bug. /rant

Re: C# is the language of the year, Python of the decade

#40
post #21

Earlier 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.

Stop spreading FUD.

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#.

Post reply on HN