Fork me on GitHub
#off-topic
<
2017-04-21
>
fellshard00:04:11

Has anyone at Microsoft ever heard of the Law of Demeter??

fellshard01:04:14

I'm just... traumatized every time I try to touch anything around identity, security, and auth in .NET

fellshard01:04:44

Definitely a case of 'it shouldn't be this complex'

tbaldridge03:04:47

replace .NET with #{Java, Python, Windows, Linux, HTTPS} and I agree completely

fellshard04:04:24

Maybe I've just gotten used to Java, or at least have been favored enough to keep to open source libraries instead of its Standard Development Kludges. But I don't get the same feeling of over-modeling when I do things there :\

fellshard04:04:22

Too many things in the. NET world are forcibly bound to too many heavyweight libs in the .NET frameworks, that might be part of the pain. At least in Java they tried to leave their big frameworks fairly open to extension by modeling around interfaces and sometimes-decent abstractions.

tbaldridge04:04:02

That part is true, there tends to be "one framework to rule them all" that's MS blessed in the .NET world

fellshard04:04:11

Disappointing. Hope we can stick with the .NET Core stack for this client, since that's backing away from that issue quite a bit. But this client is immobile and paranoid, so...

fellshard04:04:41

Time to look into that CLR version of Clojure, wuzzitcalled. NClojure? Heh.

firstlast12:04:37

Is there a way to export the slack channel history and make it searchable ? It’s sad that all the discussions and insights are lost every 10K messages

firstlast16:04:34

Do you have a repository somewhere with the source code ?

fellshard22:04:59

Thinking further on the C# abstractions thing - I think part of the problem is that Microsoft documentation describes everything in terms of a resting model - sets of entities and their behaviour - but provides libraries that clearly have additional information about the model in use - how it's intended to be applied. They don't often connect the two, though, meaning it's difficult to make informed decisions on how to accomplish any task that deviates from the exact standard template.

fellshard22:04:42

Their docstrings reveal that pretty clearly, with token horrors such as constructors saying "Creates an instance of this type with these arguments."

fellshard22:04:07

They want the model to be the centerpiece, but don't do the work to tie things back to it.

tbaldridge22:04:36

So I worked for some time in the .NEt space, and by far the biggest issue I encountered was that MS tech changes way to fast. Stuff like Silverlight, Linq-to-SQL, http://ASP.Net (classic), all that stuff came out, was used for about 3 years then just terminated to be replaced by some new completely different tech.

sventechie23:04:51

@tbaldridge That was my frustration with Scala + Slick (db layer). API dramatically changed in production releases over a matter of a few weeks. Had to rewrite my code over and over to stay current.

mikepence23:04:26

@tbaldridge, yeah they went through more data access strategies than I care to remember in the 90's. RDO, ADO, DAO, ODBCDirect, JET, etc.