Comments on: Practical Database in C# http://v1.ripper234.com/p/practical-database-in-c/ Stuff Ron Gross Finds Interesting Sun, 02 Aug 2015 11:03:35 +0000 hourly 1 https://wordpress.org/?v=4.5.3 By: anatili http://v1.ripper234.com/p/practical-database-in-c/comment-page-1/#comment-1980 Sun, 17 Jan 2010 08:40:36 +0000 http://localhost/p/practical-database-in-c/#comment-1980 Try EffiProz Database http://www.EffiProz.com,
EffiProz is a database written entirely in C#. comprehensive SQL support including Stored Procedures, Triggers and Functions. Ideal for embed in .Net applications. Support Silverlight 3 and .Net compact framework as well
Include Visual Studio ad-in, ADO.Net provider, Entity Framework provider, etc.

]]>
By: ripper234 http://v1.ripper234.com/p/practical-database-in-c/comment-page-1/#comment-298 Mon, 10 Sep 2007 06:53:00 +0000 http://localhost/p/practical-database-in-c/#comment-298 Nobody’s trying to turn C# into LISP.

And it’s cowardly to call other people by names but sign as anonymous yourself.

]]>
By: Anonymous http://v1.ripper234.com/p/practical-database-in-c/comment-page-1/#comment-297 Sun, 09 Sep 2007 20:29:00 +0000 http://localhost/p/practical-database-in-c/#comment-297 the notion of turning C# into LISP is ill-conceived at best.
And Eli is a pompous fart.

]]>
By: ripper234 http://v1.ripper234.com/p/practical-database-in-c/comment-page-1/#comment-296 Sat, 08 Sep 2007 16:55:00 +0000 http://localhost/p/practical-database-in-c/#comment-296 In C# as well, you can very easily, create a where() method with a variable number of arguments, and parse them to supply the same user interface as the LISP version. I was just too lazy for that 🙂

]]>
By: Eli http://v1.ripper234.com/p/practical-database-in-c/comment-page-1/#comment-300 Fri, 07 Sep 2007 13:44:00 +0000 http://localhost/p/practical-database-in-c/#comment-300 First of all let me say that your post proves my point – people who learned at least some Lisp earned a valuable way to look at programming problems and apply powerful paradigms to solving problems.

Now, it’s really cool that C# has all these functional features, and that in version 3.0 they’re adding even more. The dynamic scripting languages like Perl and Ruby have these features for almost 10 years now. In fact, the only thing that’s really missing in them from being “a Lisp” is the uniform syntax. But uniform syntax is what allows Lisp macros – and this is a big difference.

Compare your implementation of select and where vs. the Lisp one. While in Lisp the statement:

(select (where :title “Give Us a Break” :ripped t))

Looks like a normal Lisp statement, in C# it’s much less natural – you have to create several “where” selections and then explicitly combine them. In the Lisp solution, the “where” macro already does that. Not only that the macro allows for more flexible coding – by code generation – but also it looks much more like just a new part of the language. This is what makes Lisp the best language for writing domain specific languages.

Anyway, I’m not trying to say you can’t do everything in C#. You can, it’s actually quite a powerful language that is being constantly improved. It also enjoys the support of the best IDE in the world (IMHO, and apologies to all Emacs diehards). My point is that learning advanced functional techniques makes C# programmers better C# programmers.

P.S. Note that in the book the DB isn’t actually named “Practical”, rather, it’s one of the “Practical” chapters which show hands-on examples. There are several other Practical chapters as you can see in the book’s table of contents:
http://www.gigamonkeys.com/book/

P.P.S. The MoreFoo naming convention exists in the Win32 API, where it is done as FooEx (i.e. CreateWindow and CreateWindowEx). The goal is the same as yours. Personally I prefer the Ex subscript, because as a subscript it leaves the more important part of the name – the class name itself – first.

]]>
By: ripper234 http://v1.ripper234.com/p/practical-database-in-c/comment-page-1/#comment-299 Mon, 03 Sep 2007 18:05:00 +0000 http://localhost/p/practical-database-in-c/#comment-299 P.S.

Another useful features in C# 3.0 that will help is Automatic Properties (saves you the trouble of declaring private variables for simple properties).

Also, while looking for C# I came across this article that had a nice implementation of Select.

]]>