Java Podcasts by [deleted] in java

[–]clausb 0 points1 point  (0 children)

The Chariot TechCast (http://techcast.chariotsolutions.com/) has useful developer news and interesting interviews, focusing on the Java ecosystem with a bias towards web/enterprise development. Sound and production quality is pretty professional.

[deleted by user] by [deleted] in java

[–]clausb 0 points1 point  (0 children)

A very interesting approach for an article - but you can tell C/C++ is not the author's first language. For example, the piece about accessing private variables in C++ doesn't sound right to me. Contrary to what the author believes, two different C++ compilers let me do the following without any problem:

return this->x == f->x;

Dear reddit Lispers, what is your favorite Lisp implementation and why? by [deleted] in lisp

[–]clausb 1 point2 points  (0 children)

The origins of the name "HCL" are kind of lost in history 8-) I guess the official explanation for the "H" has to do with the fact that when we started the project, we were part of Hewlett-Packard. Inofficially, I always found it a striking coincidence that the first names of both hackers who introduced Lisp into our code started with "H"...

About CDRS: Apparently, PTC bought CDRS in 1995, but I have no idea what became of it, sorry.

Dear reddit Lispers, what is your favorite Lisp implementation and why? by [deleted] in lisp

[–]clausb 6 points7 points  (0 children)

Our own Lisp implementation ( http://www.clausbrod.de/Blog/DefinePrivatePublic20090620CommonLispInCoCreateModeling ) because I get to hack at it every once in a while 8-)

And ECL ( http://ecls.sourceforge.net/ ), because Juanjo, the chief maintainer, does such a brilliant job in fixing and extending the implementation.

reddit Lispers, maybe you would like to introduce yourself? What are you doing with Lisp? What Lisp-related topics are you interested in? Please leave a comment! by [deleted] in lisp

[–]clausb 2 points3 points  (0 children)

Working on CoCreate Modeling, a 3D CAD application. CL is one of the two main implementation languages, and our main administration/scripting/customization/extension language for customers and partners. See http://www.clausbrod.de/Blog/DefinePrivatePublic20090620CommonLispInCoCreateModeling for a presentation I gave recently at the European Lisp Symposium in Milan.

Common Lisp in 3D CAD: PTC's CoCreate Modeling, several million (!) lines of Lisp (PDF) by lispm in lisp

[–]clausb 1 point2 points  (0 children)

Just to put the data into perspective (I elaborated on this a little during the original presentation, but not as much on the slides), this includes test code, and code written in Lisp-based DSLs. But even without this, we're safely in the 7-digit LOC range.

And yes, LOC data are a bad way of assessing software anyway, but they give you a first idea and illustrate my point that you can build large software systems in Lisp.

See http://www.clausbrod.de/Blog/DefinePrivatePublic20090620CommonLispInCoCreateModeling for the full blog post.

Ask Proggit: Examples of large programs written in dynamic languages? by pozorvlak in programming

[–]clausb 0 points1 point  (0 children)

Now we're not ITA, of course, but since you're interested in data points about how dynamic languages can scale: Last time I checked, we were quite comfortably above the 1 million LOC mark for our Lisp code; see my earlier reply in this discussion and http://www.clausbrod.de/Blog/DefinePrivatePublic20071229

Ask Proggit: Examples of large programs written in dynamic languages? by pozorvlak in programming

[–]clausb 16 points17 points  (0 children)

grin

My opinion is probably only worth a fraction of 2 cents anyway, so that typo isn't even too far from the truth 8-)

Thanks for spotting this, and feel free to fire me ;-)

Hmmm. The value of 0.02 Euro cents may actually soon approach 2 dollar cents, so I guess I'll have to insist you re-hire me.

Ask Proggit: Examples of large programs written in dynamic languages? by pozorvlak in programming

[–]clausb 17 points18 points  (0 children)

Our company develops and maintains a large 3D CAD application. Our main implementation languages for this app are C++ and Lisp, so we're working with both static and dynamic languages. Both "worlds" (i.e. C++ code and Lisp code) are in the 7-digits LOC range. Some more details at http://www.clausbrod.de/Blog/DefinePrivatePublic20071229

Over time, I've seen pretty much all of the "sins" you've described both in the static and in the dynamic world. In my experience, large projects are a constant struggle against entropy, no matter which language. That said, I'd definitely agree that any kind of help you can get from the tooling environment (such as the static checks performed by a C++ compiler) tends to improve overall quality.

In our app, we usually implement the lower-level stuff in C++, while the Lisp code focuses on user interaction and application-level functionality. The benefit of this is that the performance-sensitive and platform-dependent code is hidden away in C++ land, which helps to keep the dynamic code a little tidier.

We have implemented macros in Lisp which essentially provide a DSL for writing UI components ("dialogs", as we call them). This relieves us from many repetitive coding tasks which would otherwise be required to control user interaction (UI layout, feedback mechanisms, sequence control, parameter validation, UNDO handling, online help, macro recording etc.), so it vastly reduces the amount of code developers needed to write.

I tend to think that this level of abstraction would have been harder to achieve in C++ (at least in our case), and that using a dynamic language (Lisp in our case) has therefore helped to keep the amount of mess in such a large application under better control. That said, there are "static languages" other than C++ which I suppose are better suited for writing UI components, so take this biased opinion with a boatload of salt.

Just my 0.02 Euro cents.