Talk:Impromptu (programming environment)
Appearance
![]() | Computing Unassessed | |||||||||
|
Trimming
I'm gonna separate the lead and the features and try to clean them up. Also I'm going to remove the other sections, that content is not what the article is about. The references need to be trimmed, and the should be those needed to actually reference any claim - frankie (talk) 00:40, 2 June 2011 (UTC)
- Your refactoring of the description is excellent. However, I would not have removed the video and the code examples. It is pretty common to find screenshots of the interface of software packages. In this case, the video makes IMO much more sense. Code examples are also pretty common for programming languages/environments... Those previously in the article were illustrative without being excessively long (IMO), although there might have been too many. I'd have kept at least the first one. Pygy (talk) 13:00, 4 June 2011 (UTC)
- Video is not normally used as far as I know. Code examples appear but mostly to indicate syntax and paradigmatic features of the language. What I perceive to be the distinctive feature of the subject is the control over the symbols at runtime, but that is not something that you would express through code, and the code used to provide actual examples of how to setup or use the framework turns it into a how to. Also I feel that the banner is too big, and a screenshot would probably be better - frankie (talk) 16:32, 4 June 2011 (UTC)
- Also, the description was a copy-paste of a text that belongs to the subject's website, and that appears verbatim over a whole bunch of sites online. I've modified it to focus on the subject rather than just advertising it, but I'm still not sure what is meant by some things and whether they are relevant, such as an idiom called "temporal recursion", or how is it that the interpreter has been modified from TinyScheme 1.35 - frankie (talk) 16:37, 4 June 2011 (UTC)
- I'll answer both comments here: temporal recursion is a key feature of Impromptu. Functions end up with a "callback" call, which schedules a new execution of the function at a given time, optionally passing arguments. You can see it around 1:10 in the video. You are right about the code examples. The video, however, illustrates the "paradigmatic features of the environment", as you said and is not at all a tutorial (you can see Andrew Sorensen editing the code, live). Have a look at it, the music is excellent. To be honest, I've never seen a video in a Wikipedia article either. But the software allows it and it fits in this case. Pygy (talk) 17:21, 4 June 2011 (UTC)
-
- Using callback methods is a standard feature, actually this is closer to a database trigger. The code itself says nothing about the actual features of the environment, but how to use it. Programming languages work by adjusting to particular conventions (in this case the one from Scheme) in order to achieve a purpose, but that makes that the code rarely reflects such purpose, it is instead a collection of esoteric words that only developers make use of. For developers, the framework should provide documentation or an API as part of their product offering, but for a Wikipedia article such information is too specialized - frankie (talk) 17:41, 4 June 2011 (UTC)
- Temporal recursion is about scheduled callbacks at predicted intervals, not just callbacks. For sure, callbacks are pretty common in CS, but AFAIK, in musical programming environment it is a unique feature for scheduling stuff. Furthermore, from a syntactic standpoint, it looks like tail recursion with a special keyword (see recurse in Clojure). Not mentioning it would be like not mentioning that a violin is played with a bow, because everyone knows what a bow is (in the archery meaning of the word). 81.247.43.6 (talk) 08:48, 5 June 2011 (UTC)
- Using callback methods is a standard feature, actually this is closer to a database trigger. The code itself says nothing about the actual features of the environment, but how to use it. Programming languages work by adjusting to particular conventions (in this case the one from Scheme) in order to achieve a purpose, but that makes that the code rarely reflects such purpose, it is instead a collection of esoteric words that only developers make use of. For developers, the framework should provide documentation or an API as part of their product offering, but for a Wikipedia article such information is too specialized - frankie (talk) 17:41, 4 June 2011 (UTC)
-
I have a couple of observations on the above discussion:
- Language features should be explained in less proprietary jargon if possible. I think the current version of the article does that reasonably well. It explains what "temporal recursion" is for example. Nota bene.
- An example of code is present in the more developed articles on programming languages. Sometimes editors complain that these are "original research" unless they are copied from somewhere else, but ulimately this seems common practice in Wikipedia. (See discussion on this at Talk:ChucK.) Given that Impromptu is aimed at live coding, I think a video is appropriate, at least as an external link. It would probably be less dazzling if the example included in Wikipedia were just a standard block of code accompanied by the audio sample produced. In the live demos Sorenson puts out, it's not exactly easy to follow what's going on unless you know Impromptu already. They're mostly for the wow factor. FuFoFuEd (talk) 06:18, 5 June 2011 (UTC)