Just the fact that there was a talk about developing iOS apps by the founder of Xamarin is telling. The fact that he was wearing Google Glass is another...
It's not that Windows is different, but that Windows is just plain broken and there's heaps of hacks on top of that to try and deal with the awful design. PowerShell is an attempt to fix CMD which is an attempt to fix batch files and the feeble CPM inspired command prompt.
It seems to me that Microsoft is going all-in on open-source and flexibility.
If you are using Asp.Net, you should check out Owin and project Helios - http://blogs.msdn.com/b/webdev/archive/2014/02/18/introducin...
The Pro edition is pretty sweet.
I think mobaxterm would be overkill for me (but i bookmarked it either way :))
Ahhh, Owin and Helios perhaps explain why the ASP.Net team are starting to feel like they are losing the plot.
Trying to put any of their new stuff into existing projects is a complete nightmare. Their new features are inflexible and brittle. WebAPI feels alien. Routing is getting more and more complicated instead of simpler.
And the new APIs just 'feel' wrong, as if they've been written by programmers who don't understand HTTP, javascript or the web. Programmers who haven't used apis on the web and know which ones are a joy to use and which ones are a nightmare. Programmers who don't seem to realize there a new javascript MVC hotness every week. Programmers who don't seem to understand that their javascript folders are never called '~/Scripts'. That 'S' still offends me.
Everything has to be done just so, their way. It's not flexible at all, things break all over the place. They've decided to adopt the zealot interpretation of REST, which doesn't work. The OData implementation is hard to step into and feels half-finished.
It's getting back to the bad old days where if you want to touch the pipeline at all ASP.Net gets angry and sulks in a corner. They're going back to their old 'MS knows best' model, where they can't trust programmers to choose their own (much, much better) practices. I wouldn't be surprised if they soon decide to start calling spans labels again because after all isn't that much clearer?
And it turns out it's because they've just given up on existing code base. Never a good sign.
I really just want ASP.Net Membership fixed to be super simple and not overengineered, the Request object to be fixed so I can get at the raw request when I need to without jumping through pre-generic collections, the cruft associated with the webform pipeline nuked and for no-one to ever, ever mention WCF to me ever again.
Oh and for-the-love-of-god stop trying to force a shitty URL/API structure down my throat and hiding the routing in totally different files.
I love C#, I am starting to seriously hate ASP.Net again. MVC 1 freed us, every subsequent release of MVC seems to smother, not liberate.
ASP.Net Identity 2 is just that, easy and extensible membership.
Owin requests also give you what you're asking for also.
Don't like the S, change it? lowercaseroutes=true.
;)
Oh, and just to be snarky, the "programmers who don't understand HTTP" were lead by Henrik Nielsen, author of the HTTP spec, used to work for Tim Berners-Lee. ;)
WebApi feels great and respects the HTTP spec (PUT, DELETE, UPDATE, POST,GET) and even the OData spec is compliant and after all, it's very fast to implement WebAPI and OData.
The .Net (mostly Asp.Net) is evolving fast for technologies like SignalR en OWIN.. And actually that's great.
You could still use webforms if you want, but i woudn't recommend that.
Most people hate change, but considering the (positive[subjective]) changes, they have done.. I think it's awesome and liberating.
OWIN has a improved authentication implementation, which has been a long requested feature for Asp.Net. For example, when you wanted to customize the Authentication implementation (don't remember the interface), you had to implement all of the methods (ForgetPass, EmailPass, ...). OWIN fixes that also (which was hard because of their former implementation)!
The only way it seems like more hassle/mess, is because there are more DLL's being imported, but i don't care because i know the reason behind it :)
Having written a view engine, security frameworks, NH session management stuff, 100+ complicated controllers, action filters galore and thrown it into MVC I've come to not appreciate it very much.
And don't get me started on Razor. Buffered rendering for layouts (bye bye RAM), batshit source, obtuse and non orthogonal syntax, poor runtime integration, absolutely no separation of logic and code.
I'm ready to move on.
Edit: just to add, I'm really liking Java's design by committee approach these days. It's incredibly clear that you need a lot of opinions to build a correct and well engineered solution. With .Net in general, it's served up to customers ike a soup kitchen. Occasionally we're left without soup though (WF3, Silverlight, early EF versions, WCF fragmentation, razor and so forth). The majority of the praise comes from people subjected to WebForms for years or even Telerik circa 2006 at the worst.
I prefer *nix but at work I need to use Windows sometimes, Chocolatey is a HUGE step in the right direction. It boggled my mind that MSFT wasn't throwing money behind the project- it does loads to make Windows friendlier to developers who prefer CLI.
I hope they commit a person/team to evaluating/maintaining/cleaning up packages in the Chocolatey repo.
One question I have tho is why they don't just adopt Chocolatey/cinst (chocolatey install) directly? What's the purpose of get-command (besides ownership which is obviously important). Why not just fork/rebrand chocolatey? Or is that what's happening?
This is good news for Chocolately, which should be able to support these packages even on older versions of Windows.
http://sourceforge.net/p/msys2
(disclaimer: I work on MSYS2)
I spent a couple minutes trying to figure out what MSYS2 was from the project page/the project wiki/Google, and then just gave up.
Really, a single sentence on the summary page at http://sourceforge.net/projects/msys2 and the wiki at http://sourceforge.net/p/msys2/wiki/Home/ would go a long way.
For anyone else in the same boat, I assume this is a replacement for MSYS, which according to http://www.mingw.org/wiki/MSYS, is a "collection of GNU utilities such as bash, make, gawk and grep to allow building of applications and programs which depend on traditionally UNIX tools to be present."
http://www.mingw.org/wiki/MSYS
At a minimum, they should just put a URL to the above.
http://sourceforge.net/p/msys2/wiki/MSYS2%20installation/
Seems like a bit of marketing is in order!
It's a personal preference, but having the code mirrored on a Github repo would be awesome too.
You get an IDE for free. It's quite usable out of the box and it's really nice for learning the language.
It's less reliant on punctuation. There are a few special symbols and they are highly regular in their usage. Syntax feels more readable (to me) than that of bash thanks to this.
You deal with objects. You can reflect on them (great for exploration), call methods on them, while still having generic ways for composing them and manipulating in large quantities. Yet the language itself is not object oriented, which makes it much simpler than it would be otherwise.
You get the whole .NET to use. Or most of it. You can basically instantiate and use any .NET class (and COM objects and other such things) without hassle.
There are a few concepts in the language which unify many concepts from the system. For example you can "cd" into a directory or a key in the registry or a network share or any number of other things which can be thought of as a listable resource.
This is coming from a programmer, so it's missing things probably important for sysadmins, like security management and built in process of signing and verifying scripts signatures before running them.
One think I didn't like: it was slow. The other: nothing worked on it (I mean things like python's virtualenv, which comes with .bat file, but not with .ps1 file), even Visual Studio command prompt. I ended up writing some PowerShell code for translating cmd.exe variables to PS ones.
And, of course, it's Microsoft, so forget about running it somewhere else. But, all in all, if you have to script something in Windows, it's by far better than any other tool.
You might be interested in my little project redditps - https://github.com/manojlds/redditps
I wrote it to mainly highlight such cool features of Powershell.
I am hoping that since package management is now an official Microsoft effort, a large gain will be to address these "hacks".
The long term potential of this is that enterprise can build their own repository and push changes out as they wish. This would be the real value. Also, companies that already provide package/software deployment solutions will now have another tool to help them do this.
I use PS all the time - and it's killing me that I need 4+ windows open to account for all the different projects I've got to work on at the same time.
I really don't like the default ConEmu configuration, but it's flexible enough that you can make it do just about anything if you poke at it enough.
Here, outside Windowsland, we have been using package management for more than a decade and, after that long, I'd suppose we have it pretty much nailed down. There are still some different ideas and approaches (different dependency management schemes, pre-compiled vs. locally compiled, ports), but I'd guess we get it right most of the time. The "right way" is a tricky concept, but, seriously, this is all very mature by now.