"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Wednesday, November 10, 2004

C# or Java as Target Languages

An interesting post to comp.lang.lisp on generating code for C# (or Java)...

I am continuing to evolve a system that generates business applications for .NET in C#... it is giving us about a 10-1 productivity gain...

Why do we not just use Lisp as the delivery language? It comes down to components. .NET (and Java) have huge choices of commercially available components for GUI, Infrastructure, Database, ... (not available in Lisp).

Why not deliver Lisp that *connects* to the dotnet runtime? (e.g. Python.Net does this and Cincom Smalltalk is heading in the same direction with their Fall 2004 release.)


Considered Opinion said...

Why not deliver Lisp that *connects* to the dotnet runtime? There is currently no viable Lisp (nor Smalltalk) that does this.

And the connection needs to be two-way -- .NET returns a DataSet that you manipulate in Lisp that you pass as a DataSet to a grid that you extract and manipulate in Lisp and pass back to .NET to save... -- and reasonably performing.

I would like nothing more than a real Lisp or Smalltalk in .NET. Now we have the best of all worlds. The best programming language with the best components! Those of us that would use Lisp or Smalltalk would now be unassailable!

Patrick Logan said...

I am not convinced that having a Lisp or Smalltalk implemented in dotnet or the jvm is the preferable approach. Iron Python should plow through the issues, but I think this is going to be a tough rowto hoe.

Certainly Python.Net provides today (I've used it a good bit with WinForms and GDI+) and within a few weeks or so, Cincom Smalltalk should also provide, a viable approach that is usable today. Going forward the need to be "in the same runtime" should become less of an issue.

Meanwhile the ability to rely on for example all the goodness of the mature Cincom Smalltalk virtual machine will remain a strong argument. As would a similar integration of, say, the mature Franz Common Lisp implementation or the high-performance and open-source Gambit Scheme implementation.

Would you really want to reimplement each language that has a mature advantage (consider Erlang and the OLTP runtime) in an immature VM just to get at the foreign language features? Integration seems the way to go.

Considered Opinion said...

I would love to use Franz Allegro or Cincom Smalltalk in all their maturity. On the other hand, if I have to write my own infrastructure and GUI components, I will never finish the "real" project.

What do you do in Franz and Cincom for the Infragistics GUI components, ActiveData reporting, GoDiagram...? What do you do for .NET Remoting, Declarative Transactions, MessageQueue, Declarative Code Access and User Security (based on Windows Login)...?

Hence the solution I have chosen.

If you can get me into the Lisp or Smalltalk world in a viable way I would be a very happy person!

Anonymous said...


Anonymous said...


Anonymous said...

Hi, my name is alizee_bi
from United States
, i like your web site, very good job !
, my web site , my e-mail: alizee_bi@hotmail.com

Anonymous said...

Hi, my name is sexy-girl
from United States
, Hi, my name is Gauge, i'love your Website. Very Good Job.
, my web site , my e-mail: gauge_amatrice@hotmail.com

Anonymous said...

Hi, my name is http://alizeevideosx.free.fr
from alizee_bimbo
, hi, your site is very good, please look at mine too !
, my web site , my e-mail: United States

Anonymous said...

Hi, my name is divx videos x
from United States
, hello !
, my web site , my e-mail: divx.videos.x@sexbot.com

Anonymous said...

Galeries Videos X - X Movies - Free Gallery

Anonymous said...

Recyclage informatique ! Venez Vite decouvrir: recyclage informatique Did you mean: recyclage dechet

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.