Partial Methods in C# (draft)
PARTIAL METHODS MEME FAN
Masachuchu Technorogy Insitute
Abstract
I can hardly keep tears from raining down my already
mascara-stained face while reading the explanation of
the motivation behind the introduction of Partial
Methods into the C# language.
1 New spaggetizing capabilities
It is possible to split the definition of a class or a struct,
an interface or a method over two or more source files. Each
source file contains a section of the type or method
definition, and all parts are combined when the application
is compiled.[1]
Seems like I cannot avoid quoting Steve Yegge:
Large Systems Suck. This rule is 100% transitive. If you
build one, you suck.[2]
2 Lack of RCS
Please also observe this emerald:
When working on large projects, spreading a class over
separate files enables multiple programmers to work
on it at the same time.
Surely Microsoft never discovered an RCS without per-file
locks, and its whole philosophy forbids it from implementing
or adopting a distributed one, like Git.
3 Unquestionable VS codegenerator
When working with automatically generated source, code can
be added to the class without having to recreate the source
file. Visual Studio uses this approach when it creates
Windows Forms, Web service wrapper code, and so on. You can
create code that uses these classes without having to modify
the file created by Visual Studio.
Nothing screams more about unmaintainability of VS-generated
code than that. There is little possibility to reason about
such programs. Of course, this approach is vastly inferior
to more enlightened technologies of development, like the one
that was taught in MIT until recently.
4 Conclusions
We have proven in this paper that C# gets more and more
shitty with time.
% Insert punchline here -- PMMF
References:
[1]
http://msdn.microsoft.com/en-us/library/wa80x488.aspx
[2] Steve Yegge, Rich Programmer Food.
http://steve-yegge.blogspot.com/2007/06/rich-programmer-food.html