Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"Good tools aim to simplify complexity, not complexify simplicity."

Some people don't realise that this is a goal, or that it's even possible.

At Microsoft, this was the philosophy behind the .NET Framework standard library. It is simple, beautiful, and abstracts away reams of complex boilerplate that was necessary with C++ programming.

Now?

I'm using Azure, and... oh... my god. Every internal piece of wiring is exposed, raw, to the end-user. Wear insulating gloves.

You need to know their internal project code names! The undocumented ones are typically the most important.

You need to pass secrets between two agents running on the same VM through your workstation during deployment!

Need to pass an identity around? It's broken up into individual fields, one of which can only have a single valid value. But you have to provide it using a programmatic lookup.

Want Accelerated Networking? There's a convenient Boolean flag for it. Great. Except that it'll break deployments if the VM size you've selected doesn't support it. How do you know if a VM size supports it? Bahaha... you don't. Build a switch statement with 300 entries yourself. That's what the Indian subcontractors writing the rest of Azure's code do! It's good enough for them, so it should be good enough for you. (I wish I was kidding, but I have seen the code and it is literally this.)

Ultra Disks? Switch statement.

Availability Zones? Switch statement.

You get the idea...

I have spoken with several Azure team leads, and they just blink at me slowly with an utter lack of comprehension when I explain that this is just not good enough. That in Visual Studio, I can tab-complete a type and it will compile. That 100% certainty is not comparable to 90% certainty in Azure, where a boolean true value might need to be the string "true" value because fuck you.



As long time developer on the Windows ecosystem I really don't get what happened.

I fully agree with the experience, add on top of that CLI tools for what used to be VS wizards, code instead of GUI designers, killing C++/CX replaced by C++/WinRT, which after 4 years still doesn't have VS tooling support, 5 competing GUI frameworks on Windows,....

Culture reboot at Microsoft went a bit too far in the wrong direction.


> Every internal piece of wiring is exposed, raw, to the end-user. Wear insulating gloves.

I'm stealing this one. Hope you don't mind.


Imitation is the sincerest form of flattery.


> That's what the Indian subcontractors writing the rest of Azure's code do!

Important to note that the subcontract would be paid 1/10th of what his counterpart in Silicon Valley would be getting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: