Subj : Re: Is anybody's favorite computer programming language not included here? To : comp.programming From : rem642b Date : Tue Jun 28 2005 11:52 pm > From: Scott Moore Hey, you work at Sun, right? Please hook me up with somebody there to talk about getting me some paying work writing Java classes. For example, I'd like to work on a project to build a language-independent (Java and Lisp for starters) standard for external representation of interval-arithmetic values and flexible internal representation (BigInteger endpoints, rational endpoints, floating-point endpoints, rational-floating-point endpoints, BigDecimal endpoints, etc.) with appropriate expanding-conversions between any pair of internal/internal or internal/external formats. For input, it'd assume your value was exact in the decimal or other notation you typed in, or it'd assume it's accurate only to the number of significant digits you actually type in, or it'd allow you to specify tolerance from center or range of low-order digits, see output options below: For output it'd display exact digits so long as they agree, then suffix showing range of values, such as 3.141592[5..8] in one format, or just showing the digits that are sure and flushing the rest, or showing the mid value and +/- tolerance such as 3.141592[6 +/- 2] or 3.141592[68 +/- 15]. I'd also like to work on a class derived from JTextField which validates according to a sequence of possible validators, and depending on which is the first to validate sets up fields as to which type validated and runs a different event listener for each type such as turning the color of the field different for each event or converting to machine type and copying to somewhere useful or even running a script of programmer's choice. Whenever the text field contents can't be converted exactly to an internal machine type, it'd generate an interval, per previous paragraph, and display either how many digits are sure (limited by maximum-length-allowed, for example 1/3 knows an infinite number of digits but might show only 50 of them by default), or other interval-output formats described earlier. Using that as a base, I'd like to write a calculator which allows entry of data in any of several formats, recognizing the various syntaxes, not just for numbers but for other data types such as strings, then allows user to click one or more existing values and get a menu or auto-name-completion for methods that are appropriate for those values, or select a desired conversion value and automatically pull up the method(s) that convert from the existing value to the target type. Calculation steps would be automatically converted to correct source-program syntax, and steps already performed would be remembered and could be copied to a script (as in Java BeanShell or Lisp PROG). for permanent archiving, and later these scripts could be processed by BeanShell or Lisp REP, or edited to make them proper Java methods or Lisp functions. In this way a student could learn programming by using Java/Lisp as a nice calculator and gradually miagrating algorithms from manual-calculator through loose-script to proper-method/function to complete-classes/modules/packages. (And this would be not just beginning students. Seasoned programmers could increase productivity in both Java and Lisp by such a software-development tool. And non-programmers such as managers and secretaries could use the calculator as a smart "shell" for invoking entire applications to query databases or perform calculations or maintain files etc.) Now back to your regularily scheduled program, actual reply to what you posted ... > > See here: > > http://www.rawbw.com/~rem/HelloPlus/hellos.html#step1 > > If your favorite computer programming language isn't included there, > > please post a followup saying what language it is, and then volunteer > > to create an example in your language like the examples I already > > provided in others. Note: the above is one step beyond hello world, where the program produces different output depending on date&time or IP number of client, to prove it's a live program not a static WebPage. > http://en.wikipedia.org/wiki/Hello%2C_world I looked at that link, and see nothing whatsoever that is one step beyond Hello World. I see only a detailed description of the purpose of Hello World itself, and links to various source listings of Hello World programs in various languages, and links to other collections of links to Hello World programs. I think you mis-read my earlier posting. Please look again at my one-step-beyond-hello-world collection, at the URL which I gave above, more carefully this time, and let me know if your favorite programming language is not listed there and you'd like to set up a serverside demo of both Hello World (if I haven't done it already myself) and one-step-beyond-HW in that language, with both live runnable and source listing as I've done in my examples already. Reminder: I already include these HW+1: php sh* perl python lisp c c++ java and I don't think I'll be doing any more HW+1 myself, unless you can provide me access to a JSP server. As to my Hello World listing which comes earlier in my file: I have a link to the ACM site already, and I see that WikiPedia also has a link to that. But I see WikiPedia has a fine collection organized differently from the ACM site, and has links to other fine collections also organized differently, so I think I'll link directly to all those fine collections, so I do thank you for showing me those, even if they weren't relevant to the HW+1 challenge that I had posted. Here are the links to collections (including yours and ACM) that I now have: http://www2.latech.edu/~acm/HelloWorld.shtml (ACM I already had) http://en.wikipedia.org/wiki/Hello%2C_world (provided by you) http://en.wikipedia.org/wiki/Hello_world_program_in_esoteric_languages#23 (new, cute but missing a Simon Says program: Simon says "Say 'Hello World'" It's also missing a "Mother, may I?" program, which is a client/server system with server-inititated requests: Server: "Mother, may I say 'Hello World'?" Client: "Yes, you may. Server: "Hello World!" Server: "Mother, may I delete all your files?" Client: "No!!" Many of us have accidently pressed the delete button and had to play that game, right? Hmmm, I think I should set that online!) Hey, I have an idea for an alternate HW+2 program: You give it a number as the query string, and it sings that verse of "The Ants go Marching", with a link to the same script with number incremented, except after "The ants go marching ten by ten to warm themselves to start again" it reverts back to 1, but if you spike it with a number larger than 10 it'll make up new verses that rhyme and go on as long as you keep clicking the next link. In Common Lisp with (format ... "~R num) it'd be easy to program, and I just tested it, it can handle integers up to nine hundred ninety-nine novemdecillion nine hundred ninety-nine octodecillion nine hundred ninety-nine septendecillion nine hundred ninety-nine sexdecillion nine hundred ninety-nine quindecillion nine hundred ninety-nine quattuordecillion nine hundred ninety-nine tredecillion nine hundred ninety-nine duodecillion nine hundred ninety-nine undecillion nine hundred ninety-nine decillion nine hundred ninety-nine nonillion nine hundred ninety-nine octillion nine hundred ninety-nine septillion nine hundred ninety-nine sextillion nine hundred ninety-nine quintillion nine hundred ninety-nine quadrillion nine hundred ninety-nine trillion nine hundred ninety-nine billion nine hundred ninety-nine million nine hundred ninety-nine thousand nine hundred ninety-nine. That's a lot of ants!! :-) That reminds me: The first real computer I ever used, the most common program we'd run was this: one hundred sixty billion one million. Except of course we'd type it in arabic numerals instead of English. How many people remember (1) the computer make&model and (2) the purpose/function of that program? By the way, now that I'm finished HW+1 (except for contributions from others solicited above), I might be working on finishing HW+2 sometime soon. I currently have: * Two steps beyond (responsive, output depends on user input) html / php sh* awk lisp I definitely plan to include java, and probably perl and python, but I'm not so sure about c or c++ because they're such a pain to program in, so I might solicit somebody else to make fine examples of HW+2 for c and c++, wait and see. For HW+3, I currently have only: * Three steps beyond (proper decoding of HTML-form contents, so that program can be correctly responsive to user input) lisp Again I definitely plan to include java, and probably perl and python, and maybe also php, but probably not c or c++, and almost definitely not Unix shell script. (Is there anybody who knows how to make a Unix shell script that directly builds an associative array or map or table etc., except by setting environment variables to represent the names of the keys of the emulated table entries, and which then performs lookups on the associative array/whatever as needed by a pure shell-script CGI application which never cheats by calling other programs to do the real d/p (data-processing) work?) Then HW+4 is the fun part, a CGI-accessible interval-arithmetic calculator, as a stand-in for a swing/CLIM applet or JavaScript thingy, until I get some money to fix/replace the modem in my laptop so I can develop GUI software on my laptop and then upload it to the net ... It'll generate code for just about any programming language you want it to, starting with Lisp/Java/Perl/C/C++. I might even include primitive types, whereby it'll be able to generate code for assembly languages too, and emulate the corresponding CPUs too. Ideas for HW+4 aren't firm yet, still very flexible, still thinking what I'll do and how I'll organize it. Oops, I got distracted and didn't finish collecting links to collections of Hello World listings. I'll do that later ... .