49
ALT.NET - Are you ready for the red pill? JOAKIM SUNDÉN [email protected] http://www.joakimsunden.com/ 1

ALT.NET - Are You Ready for the Red Pill

Embed Size (px)

DESCRIPTION

Talk given at Øredev, November 17-21 2008. Video available at http://www.oredev.se/

Citation preview

Page 1: ALT.NET - Are You Ready for the Red Pill

ALT.NET - Are you ready for the red pill?

JOAKIM SUNDÉ[email protected]://www.joakimsunden.com/

1

Page 2: ALT.NET - Are You Ready for the Red Pill

You take the red pill - you stay in Wonderland and I show you how deep the rabbit-hole goes.

This is your last chance. After this, there is no turning back.

You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe.

2

Page 3: ALT.NET - Are You Ready for the Red Pill

JOAKIM SUNDÉN

3

Page 4: ALT.NET - Are You Ready for the Red Pill

BODEN

4

Born and raised.

Page 5: ALT.NET - Are You Ready for the Red Pill

5

But now I live in Stockholm.

Page 6: ALT.NET - Are You Ready for the Red Pill

Kul bild här

6

Where I work at Avega.

Page 7: ALT.NET - Are You Ready for the Red Pill

7

As a consultant.

Page 8: ALT.NET - Are You Ready for the Red Pill

8

Now you know me. So, who are you?

Page 9: ALT.NET - Are You Ready for the Red Pill

9

Microsoft is catering for all your needs so why should you leave the comfort zone? Besides, “no one ever got fired for choosing Microsoft”.

Page 10: ALT.NET - Are You Ready for the Red Pill

10

Lots of tools and practices out there not originating from Redmond.

Some open up entirely new possibilities in how we can work.

Some of Microsofts tools are great as well - the important thing is to use the right tool for the right job, not just the same old tool you happen to know or that a vendor throws in your lap.

To be able to make that choice, you have to keep an eye out for alternative and better ways.

Page 11: ALT.NET - Are You Ready for the Red Pill

Continuous Improvement

11

Popular slogan for describing ALT.NET.

David Laribee, the guy who coined the label “ALT.NET”, recently proposed two criteria for determining whether or not you belong in “this little movement we’ve got going on”.

Page 12: ALT.NET - Are You Ready for the Red Pill

12

1. Do you write software or otherwise work in a team using the .NET Framework?

Page 13: ALT.NET - Are You Ready for the Red Pill

13

2. Are you interested in learning and improvement?

Page 14: ALT.NET - Are You Ready for the Red Pill

14

That is really not all there is to it.

Page 15: ALT.NET - Are You Ready for the Red Pill

15

At the Microsoft MVP Summit, March 2007, Daniel Simmons presented the upcoming Entity Framework.

Page 16: ALT.NET - Are You Ready for the Red Pill

So, in a little cluster in the center on the right, I called them the NHibernate Mafia; and it was James Kovacs, Scott Bellware, Jeffrey Palermo, Jean-Paul Boodhoo, all in a little cluster, and they are just hammering these guys...

So, these guys -- I mean they buy ORM in a very deep way; and they are all NHibernate believers -- they are in there. and so, they are looking at this product in its very early stages, which I get -- they are just getting started on this, it’s just coming along now, been thought through a few times, and they are comparing it to NHibernate and just boom, boom, boom. And Dan, I’d never met him before; he was sitting in the left, right at the front, and I figured out because there was couple of his guys in the back that it was him. And when the session broke, he made the mistake of popping up a couple of times and answering questions. So now they knew who he was; he had the target pinned on his head. When the session broke, it took him an hour to get out of the room. The boys were just on him; and even when he got out of the room, they were still on him.

(Richard Campbell and Carl Franklin, .NET Rocks podcast #226, April 5 2007)

16

Passion.

Entity Framework critique: not object-first, not persistence ignorant.

Page 17: ALT.NET - Are You Ready for the Red Pill

We may have sung a couple NHibernate arias at the Summit, but they

were all part of the greater TDD opera.

Scott Bellware

17

Scott Bellware, “On Being the NHibernate Mafia”.

Page 18: ALT.NET - Are You Ready for the Red Pill

Agile folks

It’s not the tools, it’s the solution.

Maintainability

David Laribee

18

David Laribee: “the meeting between the Agile folks and Microsoft’s ADO.NET team”

“If there has to be a label I’ll propose a new one: ALT.NET”

Page 19: ALT.NET - Are You Ready for the Red Pill

ALT.NET according to David Laribee

1. You’re the type of developer who uses what works while keeping an eye out for a better way.

2. You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby, etc.

3. You’re not content with the status quo. Things can always be better expressed, more elegant and simple, more mutable, higher quality, etc.

4. You know tools are great, but they only take you so far. It’s the principles and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principles (e.g. Resharper.)

19

ALT.NET “manifesto”

Next milestone: ALT.NET Open Space conference in Austin, October 2007.

Mailing list created.

Page 20: ALT.NET - Are You Ready for the Red Pill

ALT.NET:

agile + object-orientation + patterns + TDD + DDD

=OOPSLA school of software

development

Mainstream Microsoft != OOPSLA School

Martin Fowler20

“The alt.net mind-set is one that is very familiar to me. It has that mix of agile + object-orientation + patterns + Test-Driven Development + Domain-Driven Design which is very much the school of software development that I favor. (Lacking a proper name for it, I'm inclined to call it the OOPSLA school of software development.)

There is certainly a belief that there is a mainstream Microsoft orthodoxy at the moment, one that doesn't fit the OOSPLA school. And there's some frustration with that. But the point here is that it's not that the alt.net community thinks that the perceived mainstream Microsoft route should be erased, but that the Microsoft world is big enough for different approaches.”

Page 21: ALT.NET - Are You Ready for the Red Pill

21

MSDN Way: Rapid Application Development (“demoware”), visual programming, data-centric.

APIs and framework details, not design and coding fundamentals.

Page 22: ALT.NET - Are You Ready for the Red Pill

22

Page 23: ALT.NET - Are You Ready for the Red Pill

23

Maintainability, how easy it is to change and evolve the solution.

Much of our time is “maintenance”.

OO design = maintainable

Page 24: ALT.NET - Are You Ready for the Red Pill

24

Robert Martin, “Agile Principles, Patterns, and Practices in C#”

Page 25: ALT.NET - Are You Ready for the Red Pill

Single Responsibility Principle

Open Closed Principle

Liskov Substitution Principle

Interface Segregation Principle

Dependency Inversion Principle

25

Page 26: ALT.NET - Are You Ready for the Red Pill

DRY

26

Don’t Repeat Yourself

Martin Fowler: “I often find that a nice design can come from just being really anal about getting rid of duplicated code.”

Page 27: ALT.NET - Are You Ready for the Red Pill

27

Page 28: ALT.NET - Are You Ready for the Red Pill

28

Encourages a good maintainable design and enables change.

BDD, Behaviour-Driven Development. “TDD done right” + new vocabulary (behaviour not tests) + more.

Page 29: ALT.NET - Are You Ready for the Red Pill

29

Popular tools oriented at fulfilling the values, principles and practices of ALT.NET.

NHibernate. Object-/relational mapper for persistence ignorance etc.

Castle Project:MonoRail - MVC framework for web applicationsActiveRecord - an implementation of the ActiveRecord pattern on top of NHibernate.MicroKernel and Windsor - Inversion of Control containers.

Page 30: ALT.NET - Are You Ready for the Red Pill

30

CruiseControl.NET - Automated Continuous Integration Server.ReSharper - Great Visual Studio productivity add-in.NUnit and MBUnit - open source unit test frameworks.RhinoMocks - Dynamic mock object framework.

Page 31: ALT.NET - Are You Ready for the Red Pill

ALT.NET in summary

• Continuous improvement

• Pragmatism

• Principles and practices, not tools

• Maintainability

• Agile

• TDD/BDD

31

Page 32: ALT.NET - Are You Ready for the Red Pill

32

Criticism

Page 33: ALT.NET - Are You Ready for the Red Pill

33

Nothing new.Exactly, that’s the point. Learn from mistakes, history, proven principles/practices.Still unknown to majority of ,NET community.

Page 34: ALT.NET - Are You Ready for the Red Pill

34

Sam Gentile: “ALT.NET is a divisive thing. No matter what they tell you, they are full of negative energy, they sneer at others that don't buy into their view and sneer at the ‘enterprisey’ folks. I know, I was there. I am not going to be part of it any more.“

Roy Osherove and others: dogmatic.Promoting certain tools, categorically denying the value of other tools, e.g., TypeMock.

David Laribee: “we are discarding politeness for the sake of efficiency”.

Sam Gentile is now back on the mailing list and Roy Osherove is still a very active member of the ALT.NET community.

Page 35: ALT.NET - Are You Ready for the Red Pill

35

Alternative != in opposition to MicrosoftAlternative == something that embraces choice.Scott Bellware: “the ALT.NET movement has to be seen as anti-crap. ALT.NET is anti-Microsoft when it is necessary, and it’s very pro-Microsoft when it isn’t.”

Page 36: ALT.NET - Are You Ready for the Red Pill

36

What if I am alternative (continuous improvement etc) but not agile/OO? Don’t like ReSharper and NHibernate?

That’s ok, but avoid certain topics on the mailing list...

Page 37: ALT.NET - Are You Ready for the Red Pill

What do you want?

37

What does ALT.NET want?

Page 38: ALT.NET - Are You Ready for the Red Pill

38

Change.

Separate ALT.NET groups or influencing existing ones? Both.

Jeremy Miller, The Shade Tree Developer blog, sees ALT.NET as a second pole of leadership and thought in the .NET community, complementary to the traditional leadership, such as book authors, MVPs and INETA speakers focused on existing and forthcoming Microsoft tools. The void that ALT.NET will fill is information and leadership on: OOP fundamentals, development processes and practices and alternative tools.

Page 39: ALT.NET - Are You Ready for the Red Pill

What has ALT.NET accomplished?

39

So what has ALT.NET accomplished so far?Difficult to tell if ALT.NET should be credited for individual steps of progress.

But Microsoft has changed since the inception of ALT.NET.

Entity Framework. Advisory council: Martin Fowler, Eric Evans, Jimmy Nilsson and others. New persistence ignorant, object-first version announced @ PDC.

ASP.NET MVC was first demonstrated at the first ALT.NET conference i Austin.

Microsoft is shipping the JQuery open source JavaScript library with the next version of Visual Studio.

Microsoft is taking an active interest in the community. Microsoft employees like Glenn Block are active participants in the ALT.NET community.

The ALT.NET crowd is growing.Tracks at conferences.National and local user groups.

Page 40: ALT.NET - Are You Ready for the Red Pill

Why bother?

40

Why bother?

Page 41: ALT.NET - Are You Ready for the Red Pill

41

Because you care. Because you are passionate about what you do. And because you are a professional developer.

People want to do a good job. In order to do that you have to use the right tool for the right job.

Page 42: ALT.NET - Are You Ready for the Red Pill

42

“If all you have is a hammer, everything looks like a thumb”.

Page 43: ALT.NET - Are You Ready for the Red Pill

43

Same tool == same solution, no matter what the problem is

Page 44: ALT.NET - Are You Ready for the Red Pill

What can I do

44

What can YOU do?

Page 45: ALT.NET - Are You Ready for the Red Pill

45

Inform yourself. Read books and blogs, make connections, join the mailing list. Learn on the job.As Abraham Lincoln said: "If I had four hours to chop down a tree, I would spend three hours sharpening the saw.”

Page 46: ALT.NET - Are You Ready for the Red Pill

46

ALT.NET Open Space conferences in USA, UK, Sweden.

Page 47: ALT.NET - Are You Ready for the Red Pill

47

Swedish ALT.NET user group.

Coding dojos in Stockholm and Sundsvall.

Ask for a group close to home on the mailing list.

Start your own local user group! If you need help you can contact me or just drop an e-mail to the mailing list.

Your local .NET User group.

Page 48: ALT.NET - Are You Ready for the Red Pill

Altnetpedia, http://altnetpedia.com/ALT.NET mailing list, http://tech.groups.yahoo.com/group/altdotnet/Ayende Rahien, http://www.ayende.com/Blog/Jeremy Miller, http://codebetter.com/blogs/jeremy.miller/David Laribee, http://laribee.com/blog/Glenn Block, http://codebetter.com/blogs/glenn.block/

SwedenALT.NET Sweden Google Group, http://groups.google.se/group/sweden-altnetJimmy Nilsson, http://jimmynilsson.com/blog/ (in English)Torkel Ödegaard, http://www.codinginstinct.com/ (in English)

ALT.NET Resources

48

Somewhat arbitrary list.

Jimmy Nilsson wrote THE ALT.NET book, “Applying Domain-Driven Design and Patterns: With Examples in C# and .NET”.

Page 49: ALT.NET - Are You Ready for the Red Pill

Thank you for listening!

http://www.joakimsunden.com/

Thanks to Peter Hultgren, Ulrika Johansson, Pontus Frendin, Håkan Alexander and Torkel Ödegaard from the Stockholm ALT.NET User group for helping me with this presentation.

Joakim Sundén

Questions?

49