> > My proposed no-syntax > > IDE *also* gets rid of the need to bother with any programming-language > > syntax. I've been proposing it for years, but nobody has shown any > > interest > From: Steven D'Aprano <st...@remove-this-cybersource.com.au> > I'm interested. No-syntax IDE? How is this even possible?
I guess you missed what I previously posted. The basic idea is that you start with test data, and you use menus to select appropriate data-processing actions to perform on that data. For example, you manually key in a file name containing test data, or copy and paste that same file name. Then you select "open file by that name" or "load all lines from file by that name" etc. from a menu. If you just opened the file, you now have a stream of input, and you can select to read one line or one s-expression or one character etc. from that file. After loading the whole file or one unit of data, you now have some *real* data to work from. For example, with a line of input, you might break it into words. Caveat: When I said "no syntax", I mean no programming syntax, no syntax to indicate function calls or variable assignment etc. You still must deal with visual representation of strings and integers and other essential data objects, which in a way may be considered to be syntax. But if you want, you can avoid *all* syntax, even for data, by drawing a *picture* of the individual bits. For some low-level machine-language training, or boolean algebra lessons, this might actually be preferable to Arabic numerals and English letters to represent data values. Seeing a *picture* of something that looks like a paper tape seems more binary-friendly than seeing arabic digits "0" and "1" in rows across a page, when studying operations upon boolean values or bitmasks. Now if you don't like the burden of navigating the multi-level menus, a search engine can be available, whereby you key in keywords for the name of some data-processing operation you either saw before or a name you can construct in your mind based on naming conventions. The extreme case of search engine would be if English-language pseudo-code can be automatically converted into a very short menu of most likely data-processing operations. I actually am seriously considering doing NewEco software development by this means. Basically I contract people to brainstorm with me in a Delphi fashion to create the toplevel design of a new computer algorithm, then we do top-down break into pieces, and continue top-down break-down as far as it takes until the search engine recognizes some step as something it already knows how to do. > The only way I can think of is some sort of wizard interface. > E.g. instead of having to remember the syntax for a slice, you > click the "Slice" button and the computer prompts you to enter > some combination of start, end, step, then generates the syntax > [a:b:c] for you. Yeah, it'll be vaguely like that in some ways. For major data, we'll have the data first, all parameters to the next function to apply, and *then* we select what function to call on those parameters. But for minor parameters, we might allow you to choose the function before filling in the minor-parameter slots. For example, to select the nth character of string, we might have both the string and the integer N before we select the NTH function, but if N is a constant we might instead have just the string and select the NTH function and fill in the constant N. With the pseudo-code translation, some of the constant parameters might be apparent in the English. For example, we have a string, and we say "select the second word" (actually that's almost HyperTalk, the scripting language of HyperCard on Macintosh computers), at which point the constant parameter 2 would be supplied from the word "second" in the English. -- http://mail.python.org/mailman/listinfo/python-list