|
Re: Designing a Language for Library Developers
|
Posted: Oct 12, 2005 11:28 AM
|
|
> I just wish people would simply say what the "brutal truths" > are as they see them, rather than asking leading questions > which either can't be answered, or they don't care to see answered.
I am perhaps not asking the questions you want to answer, and maybe I'm not asking them in the right way. But I wouldn't bother reading your posts or asking questions if I wasn't interested. I want to know what, if anything, Heron may offer to me as a professional programmer. And since you describe yourself as both a C++ expert and a language designer, I'm curious to know more about some of the criticisms you have of C++ and other languages, and how you intend to address the shortcomings of those languages with Heron. Are those not legitimate questions?
> my productivity is severely hampered in by C++ due to the > inability to easily express [list of buzzwords]
You have written that several times, with various lists of things that you can't do, or can't do easily or fast enough, in C++ or other languages. As an experienced programmer myself I am curious about what kinds of applications or libraries you are working on or need to work on or can't work on because of the shortcomings of C++ et al. In over 25 years of programming I have many times found a language or a set of libraries wanting and not up to my task, and I can often think of ways that I would do things differently. But as I mentioned before, that has happened when I did not have the luxury of choosing a language. In work for hire the environment and tools are often decided for me. In your case, however, you have the apparent luxury of designing your own language to solve problems, which means you aren't constrained by a customer who has 50,000 lines of Visual Basic code to work on.
That question is perhaps none of my business, but I think it's legitimate to at least ask. Larry Wall and Guido van Rossum and Bjarne Stroustrup and James Gosling have all written, at some length, about the actual real-world problems they ran into that prompted them to design new languages. Sometimes academic interest is the driver -- Niklaus Wirth and Oberon come to mind. Maybe you don't see the point in explaining how you decided to design and build your own language, and that's OK, but I for one am (or was) sincerely interested. I have to say that now I question how serious you are about developing a real language and ecosystem around it, but there have been enough language projects in the last decade I've been interested in (PHP, Python, C#, Ruby) that I was giving you the benefit of the doubt.
I've written hundreds of thousands of lines of mostly pedestrian application code, and a few thousand lines of truly interesting code. I honestly don't know if I am really missing something because C++ doesn't have good support for AOP, contracts, concept checking, and closures. I have never missed any of those things, at least not enough to tinker around with my own preprocessor for C++. By analogy, if someone tells me that all motorcycles but Harleys are crap and they need 1,200cc minimum for the kind of riding they do, I will (as a non-Harley motorcycle rider) ask "Why not?" I can ride for days and have lots of fun on a 750cc BMW (and probably not leak as much oil). Naturally I am a little skeptical of their position, but I can still ask them to explain with real interest and accept that perhaps they have different experience and needs than I do. That's all I asked you to explain: I'm trying to find some common ground between my programming experience and yours.
I apologize for indulging in sarcasm, but I am still not satisfied by any of the answers you've given me, or posted in response to other people. For me, the "brutal truth" is my suspicion that you are more interested in promoting yourself (as your Artima profile insinuates) than you are in developing a real language. If that is true, then I feel misled and tricked. If it's not true, I will be happy to try Heron and apologize to you for questioning your motives.
|
|