From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,ea30c4e9c3d00b X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,ea30c4e9c3d00b X-Google-Attributes: gid103376,public From: mkgardne@cs.uiuc.edu (Mark K. Gardner) Subject: Re: Ultimate Language feature list Date: 1998/05/13 Message-ID: #1/1 X-Deja-AN: 352889438 References: <6jc18b$lug$1@news.eclipse.net> Organization: University of Illinois at Urbana-Champaign Reply-To: mkgardne@cs.uiuc.edu Newsgroups: comp.lang.ada,comp.lang.eiffel Date: 1998-05-13T00:00:00+00:00 List-Id: On Wed, 13 May 1998 07:47:11 -0400, MSG wrote: >I do all my development in C++. Not necessarily because I want to, but >because I keep looking (and looking) for alternate languages/environments >and they ALWAYS come up short. I've decided that the language/environment >for me hasn't been created, so I'm starting a list of features that I >like/require. It's drawn from good languages (I don't consider C++ a "good" >language", neither is Java). If anyone would care to contribute, please >feel free. Who knows, maybe with enough interest we can create a >language/environment we REALLY like and that works easily on any platform, >allowing you to use a sophisticated language and still access platform >specific features for truly fantastic and stable applications. I too have spent considerable time looking for the "ultimate language". In the process, however, I have come to understand a few things. 1) My ultimate language is likely not your ultimate language. While I agree with some of the features you require, I disagree with some and would add yet others. 2) My ultimate language depends on what the task at hand is. In other words, my ultimate language is not a single language but a set of languages which are "ultimately suited" for the task at hand. 3) My ultimate language(s) change with time. I very seldom solve the same problem twice. New problems require new solutions, which make different features desirable. 4) Ultimately (pun intended), the language must be used by enough people for good-quality implementations to exist on the platforms you use. This implies that it must meet enough of the expectations of enough people to see wide spread usage or be mandated by some governing body, such as your employer. 5) Finally, if I spend too much time looking for my ultimate language, I will not get enough done to justify the effort spent in finding it. Some have called this, to paraphrase, "the best is the enemy of good enough". While no language has all the features I desire (and none of the ones that I despise), I have a toolbox of "good enough languages" that allow me to do my work while continuing to look for something better. While #5 is perhaps the most important lesson of all, I believe all of the above decrease the probability (and desirability) that I will ever find an ultimate language. That is not to say I would advise you to stop looking. But I would not waste an inordinate amount of time in the search. [By all means, please post an announcement when you have found, created, begged, borrowed, or even stolen the ultimate language! :) ] Mark -- Mark K. Gardner (mkgardne@cs.uiuc.edu) University of Illinois at Urbana-Champaign Real-Time Systems Laboratory --