Domain: castleproject.org
Stories and comments across the archive that link to castleproject.org.
Comments · 10
-
Re:.NET Developers Have Long Favored Open Source
How about these to name just a few?
Plus tons more available on:
-
If you like the ActiveRecord pattern
Take a look at the Castle Project, which implements Active Record on top of nHibernate.
It's very nicely done.
-
Re:You need to get into Test Driven Development
and do some reading on "inversion of control"
Yeah, I forgot to mention that one. Inversion of Control is among the more useful concepts to come out of the software development community in recent years and it goes hand-in-hand with TDD and with modular programming and loose coupling with respect to software development in general. Personally, I use and like the Structure Map IoC framework (I especially like the assembly scanning and convention definition features), but Castle Windsor is also popular and even the Microsoft entry (late as usual) into this field, Unity, is fairly decent and getting better. The only caution I would give about using IoC is to take time to properly understand it before using it (it tends to be a bit of a mind-bender or an inversion, if you'll pardon the pun, the first time through) and learn to recognize where the boundaries are in your libraries and where IoC can help you achieve the goals of modularity and loose coupling.
-
ANTLR vs Gold Parser
On a project I was on, I needed to parse 50+ COBOL copybooks in
.NET so that we could use those data definitions to whittle down a 600MB flat file full of nightly data for a data warehouse.
I tried ANTLR, and I wound up abandoning it. I wanted ANTLR to work - I really thought it seemed to be the best and most mature solution, but the documentation is ABYSMAL. And if you want to use .NET with it instead of Java, there's a reserved circle in hell for that.
I'm sure if I'd had proper documentation, I could have managed it. I have a CS degree and took a 400 level automata class as part of my curriculum, so I'm no feather weight on this topic. Heck, I've even used this in a past life. But, I still was at a loss as to how to even begin with ANTLR and C#.
I found Gold Parser, and I was done with 151 commented lines in my grammar file, 148 lines of generated C# code in a constants file, and less than 500 lines of business logic to actually deal with the parsed copybook to do what we needed to do with it. The whole development effort was mere days, and let me quickly get out of the weeds and back to solving the real business problem.
Recently, I saw this ANTLR reference discarded on a shelf in Half Price Books, and just had to pick it up. I thought, maybe this would have gotten me there. Alas, the book is not even close to a reasonable reference. Moving from tokenizers and Regular Expressions to full-fledged CFGs is not a layman's topic, but there's not much help to be gleaned from the arcane drivel that comes from Mr. Parr's book on his already overly complicated application. If you're interested in theory and wallowing in the mire of acedemia, then this is the book for you. But, if you have a working understanding of the topic and just want to get the blasted tool to work, the best advice I have is to stay far, far away. At least, that is, until someone other than Parr himself sets forth a reasonable guide to this ANTLR'ed beast.
I found this to be much the same with Parr's StringTemplate project. After trying to figure it out from the limited documentation, I found it less painful to just dredge up NVelocity from its hidden location at Castle Project, fish for the necessary dlls, throw away the rind (who uses Castle anyway???) and happily went about my merry way. -
Re:Wow, that's a big fat ASS^H^HPI
Monorails?
Is that a port of a Ruby web application framework to an open-source reimplementation of a (possibly patent-encumbered) proprietary common language runtime?
Yes, but that's a rather negative way of looking at it'
What, you thought you were joking? -
To learn the important things about C#
I'm assuming you're doing this on windows.
1) Write a small program to start understanding the syntax. Use code you find on the web for reference.
2) Become familiar with the following projects, and understand how they are implemented:
a) mbUnit, a fantastic example of modern, idiomatic c# design.
b) DynamicProxy, which pushes (abuses?) the CLR's reflection APIs past what you might think they are capable of.
3) Get a copy of .NET reflector, which you'll need to overcome the lack of documentation for key useful pieces of the framework. This thing is magical.
4) Write something larger. -
Re:SQL apis suck.
Check out: Typed DataSets, LINQ and ADO.NET Entities. The last two technologies are under development. In the mean time, how about NHibernate, or ActiveRecord.
It wouldn't make sense for a relational database to do this, so you will always need an abstract layer in between. The ADO.NET API gives you direct access to the relational data, the aforementioned layers will abstract it for you, where LINQ uses new language constructs to try to bring queries in a natural syntax to your programming. -
Re:Ruby on Rails?
That would be Monorail: http://www.castleproject.org/index.php/MonoRail.
-
Re:so...
Please check out MonoRail Framework, its part of the Castle Project... its a development framework for asp.net that allows you to use templates instead of webforms. A much easier and cleaner implementation to develop and maintain IMHO. It also has libs builtin to give you AJAX / Ruby on Rails functionality.
-
Re:Rails posts prediction ...
Four other frameworks shamelessly stealing from Rails:
Castle Project works on .Net with Ajax support.
Cake is a Rails-like framework for PHP, and Biscuit is another.
Lest the Java folks feel left out, there's also Trails.