I’m having to develop a game in C#.
At first methinks me will not like this.
Me is watching Anders Hejlsberg videos and mentally wanking (watching anders is the pleasure equiv.. ENVER MIND)
Got a thing.. should I get this motherload Visual Studio 2010 and CTP pack? How quickly are they patching?
CTP stands for…
Hallelujah! I’ve finally managed to uncover what Microsoft so cryptically refers to as “CTP”.
CTP is an acronym that stands for Community Technical Preview in Microsoft’s current marketing lingo. Pretty much a synonym for a beta release, only targeted at professional clients and not the general public.
Anyway, NOT SURE about how to proceed. .NET has progressed a LOT since I last used it even remotely seriously (~2005, .NET 2.0, when some old idiots (especially web hosts) kept clinging to .NET 1.1 for some ODD reason and it was hard to find hosts that actually used .NET 2.0).
Now 3 years later we’re on .NET 3.5, and .NET 4.0 is just around the corner with dynamic types. There’s another channel 9 video I want to watch as well, which I will when I have the time to download as the SCRUB in that silverlight player is just AWFUL (it doesn’t remember even the past 5 seconds of video!) If it doesn’t play like winamp, I can’t use it.
an article about writing an rpg using design patterns
JAOO Video 2008 – James O. Coplien
Genius talking about something about oop
the above video is about how you write code in OOP. Weird.
old OOP only captured the “domain structure” – no place to capture “algorithm” and functionality of system.
so if need to change function, complex distributed reasoning
now we can go to one place in the code, reason about it – we haven’t been able to do that before in a clean way
in the old days we tried, 15 years ago, mixing paradigms: part in OO paradigm, part (UPPER LEVEL) in procedural paradigm, hooking things together in procedural code
problem: Missing important elements of structure. Users thing of things in terms of roles that objects play.
Putting everything into one fortran procedure — a variation is the 3 level architecture: institutionalization of the “bug”
“color modelling” – found difficult to understand, once understood, thinks brilliant.
he goes back: there’s something about roles. OORam methodology: roles work in Java, C++,
Peter felt the same fate – talking about Roles didn’t work because Java, C++ aren’t provided in these languages.
Complex relations: relationship concept is very simplistic in current langs: just a reference to another object
Object oriented programming: wiring
OOP Is a new diagram every 30 – 40 seconds. That’s really what’s going on, so how do we reason about that.
DCI centralizes mapping of roles to objects. There’s a context for every usecase. Going to the business model – rather than what the MVC people do
So how is MVC wrong? If you get too much wrapped into the code, you get unmaintainable systems. You need to be able to maintain the things users think about. The second thing is: a system that is unusable. The whole point of OO was to capture end user’s model in code.
take objects in the system and bring them out to the screen so i can directly manipulate them.
So desired: close relationship between what’s in screen and what’s behind
you can’t hide a bad architecture behind a good gui
MVC translates between user and data in program
MVC removes everything between the user and the architecture so the user reaches thru the screen and manipulates underlying objects.
The MODEL must represent the way user’s think. NOT the way programmers think.
If the model represents the way a programmer thinks, then the view reflects that, and a person trying to use a teller machine is asked to understand a transaction log. While really all he wants to do is drop some money into the box.
The whole notion of MVC was based on the idea of a “tool”: controller+view: those are written by end-users. You should be able to put them together very quickly as a tool to manage what you can use.
Deiukh rela: The tools and materials metaphor
UML people got it: the programming language
The OO people didn’t: they thought it was horrid to connect to a “procedure”, because that wasn’t OO
Scala has traits. 1st class traits. Use traits to express the roles. Some guy write a scala program to do DCI at JAOO.
This is clumsy in Java. Java doesn’t have the facility to extend an interface to give it methods. It doesn’t have the reflection power to be able to do class composition that you can with traits in Scala.
You can do this in Objective C.
You can do traits in C++ using Templates.
They tried to do this in Java: Give a feeling for class composition. Change language using a framework.