Now that that is out of the way, it seems like indy developers don't really do Windows anymore. I'm guessing this is part of the effort to reverse that trend.posted by Mick at 5:10 AM on July 8, 2014

Now that that is out of the way, it seems like indy developers don't really do Windows anymore. I'm guessing this is part of the effort to reverse that trend.

There's indie developers and then there's enterprise software which is going to be 90% Java or .NET and MSFT is making amazing in roads where the Java stack hasn't. Look at their vNext initiative and chucking out the 10 year+ code base of .NET to a lightweight more Node/Rails way of developing. RIP GAC is a good resource for this.

Again, we're still a long ways off as legacy platforms have to be supported and will never be properly end of lifed by most corporations, but MSFT has definitely seen the light and focused on making the experience easy and nice for developers while recognizing the real way to make money is on enterprise hosting via Azure.

So it may not be as cool as whatever the flavor of the moment is (which is what? Node or has it moved again), but for those of us who make a living writing applications for large corporations and have to abide by whatever MSFT/Oracle/Adobe says, having this kind of investment is a boon for keeping developers and keeping myself from jumping ship to something else.posted by geoff. at 5:17 AM on July 8, 2014 [3 favorites]

I guess everyone's forgotten the skipped heartbeat heard round the Slashdot world when everyone realized that this Metro thing in Windows 8 was supposed to be The Future, and .NET was not going to be capable of developing Metro apps.

They got the memo and walked that back pretty fast, but it just proves the point some of us have been making for 10 years. MSFT is not a trustworthy corporation and anyone who makes themselves dependent on a MSFT development tool does so at their peril.posted by localroger at 5:25 AM on July 8, 2014 [5 favorites]

Honestly, if whatever comes after ASP.NET is comparable in power, flexibility, and ease-of-use with the FOSS solutions I typically specify it would make my life easier. As it stands, I wind up having to fight the IT department tooth and nail for a non-Windows server because they don't usually have the in-house expertise to support or administer *NIX. Sometimes from the reactions I get you'd think I'd asked for a cluster of Parallella boards or Raspberry Pi.posted by ob1quixote at 5:45 AM on July 8, 2014

... .NET was not going to be capable of developing Metro apps.

What?

...anyone who makes themselves dependent on a MSFT development tool does so at their peril.

Anyone who pigeonholes themselves in any particular technology does so at their peril. One has to stay aware of the broader goings-on in the world and try to understand how their particular development stack fits into that. At least on the web side of things, MS is moving towards the rest of the industry, not away from it. I've also been doing this for 10 years, and I'm pretty delighted with the direction things are going.posted by JohnFredra at 6:23 AM on July 8, 2014 [3 favorites]

MSFT is not a trustworthy corporation and anyone who makes themselves dependent on a MSFT development tool does so at their peril.

You're still upset at Microsoft for putting kludgy, piece-of-shit VB6 out of its misery, aren't you? :)posted by JeffL at 6:32 AM on July 8, 2014 [4 favorites]

MSFT is not a trustworthy corporation and anyone who makes themselves dependent on a MSFT development tool does so at their peril.

I think what localroger is pointing out is that the Graveyard of Microsoft Technologies that ZOMG GUYS CHECK THIS OUT TOTES EVANEGELIZE WE ARE GONNA DO NOTHING BUT THIS FROM HERE ON OUT is overflowing with things that were once hip, that people invested education and megaLOCs in, and now must be rewritten going forwards because Microsoft buzzed off in another direction.

It's a pattern with them. J#, Silverlight (going through six iterations in a heartbeat before burning out all of the devs), XNA ... SharePoint may soon be added to that list. .NET was the one thing they were planning on evolving and everyone was pretty hopeful about that, right up until they thought that maybe Metro didn't need it. You know, Metro, the UI they were going to put on top of everything. It's a terrible message to send to devs and to people who employ devs.posted by adipocere at 6:49 AM on July 8, 2014 [4 favorites]

Well - considering they just opened up their .net compilers as Roslyn. Considering F#. Considering the use of C# in Unity (though, they're doing some weird C++ backend/native compilation thing there in the future, so I don't know what the deal is for the future of C# in Unity)...

I would say that MS is fairly committed. I think now that Ballmer is out they're going to have a coherent long term vision that makes sense instead of the Monkey-Flinging DEVELOPERS DEVELOPERS approach. Not that I have a huge love for MS, but when it comes to languages I believe that have some of the best on their team.posted by symbioid at 7:32 AM on July 8, 2014 [1 favorite]

I'm as deep in the Microsoft-koolaid as you can get, but ANYONE that writes platform-specific software has to expect that platform to disappear eventually. Focus on skills that are easily transferable, in technologies that aren't pigeon-holed.posted by blue_beetle at 7:43 AM on July 8, 2014 [2 favorites]

Hey, I just got a new computer because all the old tanks around here were too underpowered to run this new alpha release product one of my manufacturers wanted me to review. Of course it's running Windows 8.1, and of course it had an incompatibility.

The incompatibility? Microsoft dot NET framework version 1.0. The manufacturer, which is still running Windows 7 plantwide, did not know. Also that since their application (like lots and lots of others) builds its local data in its c:\program files\manufacturer\program folder, Win 8 slaps an un-resettable read-only flag on everything unless you turn UAC completely off. And if you do that, not only do you not have any security (OMFG I AM TOTES HOSED) none of the metro crap works, at all.

As I said, you use their development products at your peril. And what adipocere said.posted by localroger at 7:47 AM on July 8, 2014

While PowerShell may cause cognitive dissonance, it's a powerful tool that finally allows someone forced into Windows to put their god awful DOS prompt & batch file "solution" to bed. PowerShell was an absoulte life saver at my last job. There appear to be some good books on that in the FPP link.posted by mcstayinskool at 7:47 AM on July 8, 2014 [2 favorites]

I'm sorry to mock what I realize is productive software for some people. But, well, let's just say Microsoft has never understood that "free" in the software world means freedom, not price.posted by Nelson at 7:56 AM on July 8, 2014 [1 favorite]

MS's client and web development stacks might as well be made by different companies. I can totally understand the thar be dragons! feeling about the client-side development.posted by JohnFredra at 7:56 AM on July 8, 2014

Please please please make it soon. Sharepoint is the very soul of fugliness.posted by scruss at 8:02 AM on July 8, 2014 [2 favorites]

I'm also deep in the Microsoft-koolaid, and I agree that you have to plan for your platform to disappear eventually. The problem is that with MS the platform often disappears after just 2-4 years. I haven't been doing software for *that* long, and I've already been stabbed in the back by MS on multiple occasions. If Google's plan to deal with competition is to try and hire all the smart people, it seems like MS's plan is to keep people on a treadmill of re-writing their software over and over and over.posted by Balna Watya at 8:03 AM on July 8, 2014 [1 favorite]

Don't get me wrong, I think people who are purely and only "MS Devs" (as the provider of my current work software is), they are trapped. But I think really good devs who can really work cross-language/cross-platform are more the rule than the exception.

That said, I think people seem to think that the MS of the past, I dunno 2-3 years, is the same MS as before. I think they are coming to realizations, now that they're having to face the realities of the current competitive world. Also, maybe I'm wrong, but isn't it true that one of the great things about MS in terms of their products is the level of support?

They really are opening up to MS as far as I can tell (witness codeplex, and, as I said, Roslyn, amongst other things).

Now it's good to be wary of any giant corp (MS, Apple, Google, Amazon, FB, etc...), and yes, don't put all your eggs in one basket. But if the tool is good, use it. If you truly don't have trust in the company, don't. If you're stuck with something you don't like (MS or anything else) because it's your company's choice and not yours, well... Advocate for change or leave I guess is all you got!

But seriously? .Net 1.0??? That's not MS's problem. That's a company that refuses to move ahead with the time.posted by symbioid at 8:07 AM on July 8, 2014

MSFT is not a trustworthy corporation and anyone who makes themselves dependent on a MSFT development tool does so at their peril.

I like open-source just fine too, but Microsoft's development tools - Visual Studio, their RAD tools, so forth - are light years ahead of the open-source community. No joke, if you think virtualenv is a good idea you are banging rocks together.

I'm on a Mac now, running a bunch of linux VMs as need be, but I still miss Powershell every day.posted by mhoye at 8:13 AM on July 8, 2014 [1 favorite]

I'm sorry to mock what I realize is productive software for some people. But, well, let's just say Microsoft has never understood that "free" in the software world means freedom, not price.

localroger: "Also that since their application (like lots and lots of others) builds its local data in its c:\program files\manufacturer\program folder, Win 8 slaps an un-resettable read-only flag on everything unless you turn UAC completely off. "

How is UAC redirection not kicking in here? That's weird.posted by boo_radley at 11:37 AM on July 8, 2014

MSFT is not a trustworthy corporation and anyone who makes themselves dependent on a MSFT development tool does so at their peril.

Like OSS does any better ? You've heard of Heartbleed and Truecrypt, right ?

If you don't own it and maintain it, you have no control over what happens to it, and may eventually be screwed when whoever does own it decides to go a different direction or does something else stupid with it.posted by Pogo_Fuzzybutt at 11:51 AM on July 8, 2014 [1 favorite]

But seriously? .Net 1.0??? That's not MS's problem. That's a company that refuses to move ahead with the time.

Amusingly, the VB6 apps I've been babysitting since 2003 run fine on that box, and did so even before I disabled UAC to get my manufacturer's shiny new bling functional. I'd say that indicates who's up for the next screwing.posted by localroger at 12:15 PM on July 8, 2014

I've looked casually at PowerShell and heard good things about it, but when I look I can't make heads or tails of it. It doesn't seem to work like bash? We've got some PS enthusiasts here, one of you could conceivably take this as an excuse to explain how to get started in it and what you like about it....posted by JHarris at 12:18 PM on July 8, 2014

get-help about_windows_powershell_2.0

It's useful because it's based on .net. You can instantiate objects directly on the command line. APIs can register modules/ snapins to make life a little easier than New-Object -TypeName System.Class.Name -ArgumentList ArgumentsGoHere

I can remotely administer and develop on servers, and reach into Azure instances. It's a sweet spot between butt-dumb batch files and starting up visual studio to write up a new c# program. There's a shitload of aliases, and the default naming convention of VERB-OBJECT is super tiring to remember. However, you can save your own aliases, and there's a bunch of useful stuff built into powershell.posted by boo_radley at 2:14 PM on July 8, 2014

boo_radley: A friend of mine indicated that PowerShell would not allow you to create your own classes/objects on the fly, implying that you could only ever use the built-in stuff.

I'm not a Windows sysadmin, so I didn't really pay much attention, but is this true or just MS hate?posted by drfu at 4:34 PM on July 8, 2014

It doesn't seem to work like bash?

The ultrashort version: Something like bash. You can daisychain useful tools in the same way you would with pipes -but with streams of structured objects instead of streams of characters.

Every time you've wondered if you've escaped this string or that regex right, or wondered why you were parsing things because it's 201X not 1987 and parsing text streams is bullshit, what you were secretly doing was wishing for Powershell.

A friend of mine indicated that PowerShell would not allow you to create your own classes/objects on the fly, implying that you could only ever use the built-in stuff.

I prefer the open source ethos, but damn that visual studio debugger is good.posted by scose at 7:07 PM on July 8, 2014

It's not about open vs. closed source. It's not about what is good; I'll be the first to admit that Microsoft ships first-class product.

It's about being able to depend on being able to use your code 10 or 15 years in the future. If you don't think that's important you don't work in industry. I just had a very long conversation today with a guy who runs several chemical plants worth of PLC's and analyzers about the accelerating obsolescence cycle and how it's killing them. The sexiest IDE in the world is no help if you can't keep the code functioning in 5 years without rewriting it from scratch.

For perspective, I have systems in the field that were first installed on 286 based DOS machines in the 1980's. They were upgraded to Windows 3.1, then to Windows NT, then to XP as necessary. The migration from QuickBasic to VB was pretty painless. Migration to .NET was impossible. Not difficult -- impossible. .NET is that different from the system it was "replacing."

Say what you want about how awful and primitive VS6 was, it worked and it worked very well, and trillions of lines of code became unmaintainable because Microsoft decided to force migration to a completely incompatible product.

They will do this to you too. They almost did it already, with the Win 8 Metro stuff that was supposed to be all Silverlight and no dot-Net. Maybe you don't remember that because they swept it under the rug really fast, but they were definitely thinking it. The only reason they didn't do it is that this time the stampede would have been to web tech and Linux instead of what they wanted.

I didn't stick with VB6 because it's the best thing since sliced bread (although it does do a lot of things .NET doesn't, which is why migration is so difficult). I did it because I will never invest another minute learning a MSFT development system. I will use VB until it crashes and burns (which will be a very, very long time, probably longer than any version of .NET because VB6 is much more closely integrated into a lot of Windows stuff that can't be deprecated). And when it finally crashes and burns I'll find a non-MSFT solution. I've looked at a few, none entirely satisfactory for the very good reasons given. But when it becomes necessary I won't care if the MSFT solution sucks my dick and writes the code for me. I will use something else or I'll go totally embedded and abandon PC's entirely as much as possible.

MSFT deprecrated literally trillions of lines of code as a marketing ploy to force their answer to Java into the market. You only get to do that to me once. Eventually everyone else will get tired of the BOHICA routine and maybe something worthwhile will result.posted by localroger at 7:31 PM on July 8, 2014 [3 favorites]

I realize on reflection someone might take exception to the way I used the word "impossible." By that I meant that migrating to .NET would have been more difficult than just throwing the original code away and rewriting from scratch. Not impossible I suppose, just ill-advised.

It has pretty much been my full-time job for the last 25 years to assemble that code base. Rewriting it all from scratch is not going to happen, because even if I cared to try the time doesn't exist if I want to continue pursuing actual profit-making new work.posted by localroger at 8:04 PM on July 8, 2014 [1 favorite]

localroger: "although it does do a lot of things .NET doesn't, which is why migration is so difficult"

Yeah, boo_radly. VB6 initializes all the variables for you, it does not require dimensioning, it does not require functions to explicitly return a result, and it allows the return of variably dimensioned arrays of user defined types as the result of a function. And while variants are evil in VB6 you have to use them to use the sophisticated date and time calculation and formatting functions, upon which many VB6 apps depend intimately. Just that short list is enough to kill the very idea of migrating a lot of VB6 code, and there are a lot more examples which I never got to because that was about the point where I threw my hands in the air and said fuck it.posted by localroger at 12:19 PM on July 10, 2014

Oh, and how could I forget: VB6 allows you to dimension arrays with both minimum and maximum dimensions, such as ARR(-4 to 7), in each dimension. I know some people who got seriously burned by not having that in .NET.posted by localroger at 12:39 PM on July 10, 2014

Well, I entered the suggested command and got:
get-help : Get-Help could not find about_windows_powershell_2.0 in a help file in this session. To download updated
help topics type: "Update-Help". To get help online, search for the help topic in the TechNet library at
http://go.microsoft.com/fwlink/?LinkID=107116.
At line:1 char:1
+ get-help about_windows_powershell_2.0
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [Get-Help], HelpNotFoundException
+ FullyQualifiedErrorId : HelpNotFound,Microsoft.PowerShell.Commands.GetHelpCommand

So I tried Update-Help and got a couple more errors, which suggest running Powershell as an administrator. Sigh.posted by JHarris at 2:01 PM on July 12, 2014 [1 favorite]

Tags

Share

About MetaFilter

MetaFilter is a weblog that anyone can contribute a link or a comment to. A typical weblog is one person posting their thoughts on the unique things they find on the web. This website exists to break down the barriers between people, to extend a weblog beyond just one person, and to foster discussion among its members.