I've found that I have a hard time thinking in Microsoft. I can think in C, C++, Smalltalk, Java, Bourne, BASIC, Perl, LISP, and any kind of scripting you could care to name. But, hand me C#, VB, J, or any of the other language Microsoft has designed in the last ten years, and I just can't hack it. Well, I can, but it just seems ... the long way
(
Read more... )
Comments 7
(The comment has been removed)
Also, if you found this entry interesting, you'll probably find this one interesting, too.
I think it would be very, very hard to autogenerate maintainable C code. I think the solution to that problem involves designing a new language with that goal in mind. My first, knee-jerk response thought is that such a language would have to be very spartan, and very close to "human" thought architecture (roughly, "do this thing" as opposed to any sort of "manipulate these bits"). But, I haven't really spent much time thinking about it, because I figure the largest part of good design is the designing process itself, and not the tools used.
Hmm...second thought for a good visual designer would be to not autogenerate any structure code at all, but have adding "hooks" to named visual elements or events be part of the language itself. This way, with a separate named "form" object/file specifying initial layout, you could add any function to the ( ... )
Reply
(The comment has been removed)
Reply
Reply
Badly written programs will have badly written bugs, of course. Because LISP macros are literally programs unto themselves, badly written macros will have badly written bugs. But, there are ways (actually, it's ( ... )
Reply
Making macros Turing-complete, even making them expressed in the host programming language, does not make them first-class citizens of the programming language. It does make them far more powerful and far easier to write.
Here's another example of the second bullet point: static analysis. Your generic static analysis tool will operate on the fully-expanded syntax; how do results get mapped back onto the source syntax? There are workable approaches, but it's not a simple problem.
Reply
I just really prefer writing code that says exactly what it does. I can't do that with C. I can write something pretty close to english in LISP, and get what I want done. That's made possible by the openness and simplicity of the LISP macro system.
I like your comment that addressing these problems is in the arena of the development environment. LISP images are the development environment. The ( ... )
Reply
Leave a comment