User talk:Allan McInnes: Difference between revisions
m Signing comment by RichardKatz - "→Quicksort in one line of code: " |
|||
Line 162: | Line 162: | ||
If you do not want this userright, you may ask any administrator to remove it for you at any time. <!-- Template:Reviewer-notice --> [[User:Courcelles|Courcelles]] ([[User talk:Courcelles|talk]]) 04:44, 20 June 2010 (UTC) |
If you do not want this userright, you may ask any administrator to remove it for you at any time. <!-- Template:Reviewer-notice --> [[User:Courcelles|Courcelles]] ([[User talk:Courcelles|talk]]) 04:44, 20 June 2010 (UTC) |
||
== if there's no inlining then why allow macros? (comparison of programming paradigms) == |
|||
Macros are not used just to implement inlining. Surely you must realize that macros can generate any code whatsoever (at least they can for [[IBM 360]] / [[Z/Architecture]] that I am most familiar with). I created and maintained a collection of debugging systems that were all written in ONE single macro (with many copy statements containing entire programs or sub-routines). There were more than a million lines of code. |
|||
Why? - because these programs could execute in a miriad of ways depending upon multiple operating systems, multiple transaction processing systems and target languages. The specific versions of the many programs were generated simply by specifying the parameters on the macro. This way, there was only ONE version of the source to maintain for all of it. |
|||
In the particular example in the article, a macro would generate the sub-routine in any program you like (with or without parameters). The program code can then invoke it as required. |
Revision as of 07:13, 6 September 2011
Allan McInnes (talk) is busy in real life and may not respond swiftly to queries. |
Archives
- 2005-12-07 through 2006-05-13
- 2006-05-14 through 2006-06-30
- 2006-07-01 through 2007-02-17
- 2007-02-17 through 2007-06-30
Redirect of Simon Ramo Medal
Hello, this is a message from an automated bot. A tag has been placed on Simon Ramo Medal, by another Wikipedia user, requesting that it be speedily deleted from Wikipedia. The tag claims that it should be speedily deleted because Simon Ramo Medal is a redirect to a non-existent page (CSD R1).
To contest the tagging and request that administrators wait before possibly deleting Simon Ramo Medal, please affix the template {{hangon}} to the page, and put a note on its talk page. If the article has already been deleted, see the advice and instructions at WP:WMD. Feel free to contact the bot operator if you have any questions about this or any problems with this bot, bearing in mind that this bot is only informing you of the nomination for speedy deletion; it does not perform any nominations or deletions itself. CSDWarnBot 02:33, 26 August 2007 (UTC)
- Sorry to interrupt, but this subject got my attention and I looked into it. Now I recreating the REDIRECT to the IEEE Simon Ramo Medal article. How the redirect could be speedy-ly removed in the first place, I don't understand. The IEEE Simon Ramo Medal article seems rather existing to me. - Mdd 20:31, 26 August 2007 (UTC)
WikiProject Engineering
Rai-me 20:46, 11 September 2007 (UTC)
hewitt
Hi Allen, how's life going? Could you have a look at concurrent computing and history of denotational semantics. I've redirect the latter to denotational semantics, but there might have been some material on it that can be moved to denotational semantics. Cheers, —Ruud 19:02, 11 November 2007 (UTC)
- Hi Rudy. Good to hear from you - it's been a while. I've looked over the articles you pointed me at. I have no problem with the redirect of the history article: there's nothing there that isn't either already adequately covered in the denotational semantics article, or involves an undue emphasis on the actor model. I have recovered a couple of inline refs though. As for the concurrent computing article, it needs major work (although the Hewitt bias seems to have been reduced). Unfortunately, I don't really have the free time to undertake such a project right now. If I get a chance, I'll see if I can make some incremental improvements. --Allan McInnes (talk) 03:57, 12 November 2007 (UTC)
Thanks for the corrections
Hi Allan,
Thanks for the corrections to my Academic Biography. (I would reply on the talk page of my article except that it seems that Ruud has blocked me from editing it.) The Wikipedia badly needs some adult supervision ;-)
Cheers,
Carl
PS. You might be interested that Concurrent programming has been mistakenly redirected to Parallel computing. It seems that the distinction between concurrency and parallelism is still not widely understood.--98.207.42.184 02:40, 14 November 2007 (UTC)
- Carl,
- Sorry for not responding earlier - I only just noticed that you had posted a note here. I have fixed the concurrent programming redirect. If I get some time, I'll try to add some more to the concurrent programming article to clarify the distinction between concurrent and parallel computing.
- Sorry to hear that you have been blocked from the talk page of your bio. Such a blockage strikes me as wrong, since it leaves you with no venue to discuss problems with the bio. Hopefully the block will get lifted at some point. It seems that even I can't do any more work on the bio page, since it is now protected from editing by anyone but admins (although I can at least post to the talk page). --Allan McInnes (talk) 17:38, 1 January 2008 (UTC)
WikiProject Systems
Good luck with your work and thanks for your contributions to the project -- Mdd (talk) 13:59, 1 January 2008 (UTC)
Loser
Get out —Preceding unsigned comment added by 86.151.52.16 (talk) 12:37, 5 January 2008 (UTC)
Taifarious1 09:11, 10 March 2008 (UTC)
Dining philosophers problem
Thanks for reverting my mistake on this article that will teach me not to read the whole section I am reverting good spot. BigDuncTalk 20:32, 6 May 2008 (UTC)
Correction
Hi, thanks for the correction in the functional programming article. I didn't notice the order of the functions. Sapeur (talk) 13:59, 14 May 2008 (UTC)
Integrated banner for WikiProject Computer science
I have made a proposal for a integrated banner for the project here . I invite you for your valuable comments in the discussion. You are receiving this note as you are a member of the project. Thanks -- Tinu Cherian - 04:43, 3 August 2008 (UTC)
Software Engineering Article Edits
Thanks for the edits on the SE Article. Educational...Lwoodyiii (talk) 13:30, 2 January 2009 (UTC)
Hi. Am I right in the assumption that you're going to turn Daniel Jackson (currently a redirect to Daniel Jackson (Stargate)) into a dab page, that also includes Daniel Jackson (basketball) and Daniel Jackson (footballer)? Not that I mind bold moves, but I really think that this main character who appeared in 15 years of a successful franchise is the primary meaning; Vala Mal Doran (who was only a main character for one season) demonstrates the potential of the DJ article, and I'd create Daniel Jackson (disambiguation) for the real people. What can I/we do if you feel the SG character is still not the primary meaning? – sgeureka t•c 12:01, 9 January 2009 (UTC)
- Yes, I do intend to turn Daniel Jackson into a dab page. In addition to the other current Daniel Jackson articles, there is also a Daniel Jackson at MIT who is well-known in computer science and software engineering circles (although he doesn't yet have a WP article - something I intend to remedy in the very near future). I guess if you're a Stargate fan, the SG Daniel Jackson might seem like the "primary meaning". But frankly I didn't even remember that Spader/Shanks' character's name was "Daniel Jackson" until I started searching around to see if there was already a bio article on the MIT "Daniel Jackson". "Daniel Jackson" is a fairly common name, as a quick look at Google shows. In fact, I note that the MIT Jackson is the number 2 Google hit for "Daniel Jackson" after the Daniel Jackson WP article. So I'm afraid I don't really see why the SG "Daniel Jackson" should have any claim to being the "primary" Daniel Jackson. --Allan McInnes (talk) 12:25, 9 January 2009 (UTC)
- Since it is unlikely that we will come to an agreement on our own, would you be fine with getting more input via Wikipedia:Requested moves per WP:BRD? I'll accept any result, even if it differs from my own POV. (I do realize that I may be a deluded fan, but I can't help thinking that there is 10 times more non-plot information about the character than there is real-world information for the real-world guys.)– sgeureka t•c 13:50, 9 January 2009 (UTC)
- Sure, that's fine with me. --Allan McInnes (talk) 13:56, 9 January 2009 (UTC)
- Since you have already fixed all incoming links and since I don't feel as strongly about this as I did a couple of hours ago (huh, I thought I was too old for overreaction nowadays... ) I'll just accept the location of Daniel Jackson (Stargate) for now, but may take the article to WP:RM once I get ready to expand the character's article (which will take at least a few weeks). Sorry for bothering you. – sgeureka t•c 17:44, 9 January 2009 (UTC)
- No worries. I can understand why you might have a concern. Please let me know if/when you take the article to WP:RM. Thanks! --Allan McInnes (talk) 19:36, 9 January 2009 (UTC)
Hello,
Thank you for the wikipedia guidelines you have provided and the interest you have shown in my article.
I was curious, however, about the deletion of the table listing some of the universities offering software engineering. The reason I included only a a few of these is because there are hundreds of universities offering this course, so this was just a few examples and anyone is welcome to add any institutions that they feel need to be mentioned.
Thank you for your time.
- Csgroup8 (talk) 12:33, 25 February 2009 (UTC)
- The reasons that I removed the list of institutions from the BSE article are the following:
- Fundamentally, Wikipedia is not a directory, and your list appeared to me to be little more than a directory of institutions offering BSE degrees.
- There was no obvious criteria for inclusion or exclusion in the list (aside from "offers a BSE", which would result in an excessively long list - you have said hundreds of universities).
- I have a hard time seeing the value of such a list. If the purpose of the list is to provide a directory of universities offering the BSE, the list fails the Wikipedia:NOT#DIR test. If the purpose of the list is simply to illustrate that there are lots of institutions offering BSE degrees, then I think it would be more informative (and more compact) to simply state the number of institutions that offer a BSE (with appropriate citation). You could perhaps break such statistics dwn by country or geographic region, or provide information on the number of graduates.
- Please take a look at WP:Lists and Wikipedia:Lists in Wikipedia, both of which give some guidelines for the use of lists in Wikipedia articles. While a directory of universities offering BSE degrees may well be useful, Wikipedia isn't really the place for it. You'd be better off simply providing an external link to a directory of SE degree-granting institutions on some other website. --Allan McInnes (talk) 21:13, 25 February 2009 (UTC)
Template:WikiProject Computer science
I read the archive you linked, however you didn't look at the changes closely before you removed them. [1] The changes you removed are a TF, not a parent (opposite of what the discussion you linked to discussed) and this also corrected the problems with the assessment categories having been depopulated. --Tothwolf (talk) 21:53, 3 December 2009 (UTC)
- Having now re-reading the discussion, Zawersh proposed this exact sort of solution which you supported as an alternative to what Tinucherian initially proposed. --Tothwolf (talk) 22:03, 3 December 2009 (UTC)
- I'm going to restore the rest of the template updates and modify the computing taskforce section to be disabled by default for now since I've not heard back from you yet. --Tothwolf (talk) 06:22, 5 December 2009 (UTC)
- The reason for my revert was that, as you have discovered, your edit was something that had previously been proposed but failed to achieve consensus. If you feel that this is a useful change to make, please consider making a case for it on the WPCS talk page. --Allan McInnes (talk) 22:17, 6 December 2009 (UTC)
- No, actually you seem to have misread my edit and then knee jerk reverted. I did not "discover" my edit was something that had been previously proposed and I had already seen that discussion you linked to. Most of the changes in the edit I made were not even remotely related to the discussion you linked to. The TF changes were also quite different from replacing {{WikiProject Computer science}} with {{WikiProject Computing}}, which was the proposal in the discussion you linked to. The TF change was an alternative idea from Zawersh and something you supported in that very discussion. Please be more careful before reverting people in the future. --Tothwolf (talk) 19:17, 8 December 2009 (UTC)
- The reason for my revert was that, as you have discovered, your edit was something that had previously been proposed but failed to achieve consensus. If you feel that this is a useful change to make, please consider making a case for it on the WPCS talk page. --Allan McInnes (talk) 22:17, 6 December 2009 (UTC)
- I'm sorry if my reversion of your edit annoyed you. You're quite right that your edit was not identical to Tinucherian's proposal. It did however include the words "This article is supported by WikiProject Computing", and appeared to be following a similar line of thinking. Given the somewhat cryptic edit summary ("Update"), and the lack of any information on either the template or project talk pages, I didn't see any obvious reason not to revert back to the consensus version of the template. The WPCS template has been somewhat contentious in the past (for a variety of reasons). Changes to it are best proposed on the talk page beforehand. If, as you say, you had already seen the discussion I'd linked to, why did you not re-raise the proposal there instead of just going ahead and making a change that had previously been floated and not taken up?
- Regarding the specific edit you made, I will concede that on closer inspection it appears to resemble Zawersh's idea, which I supported, rather than Tinucherian's original proposal. However Zawersh's proposal never really achieved any kind of consensus or large-scale support on the WPCS talk page either, so at this stage I don't support actually modifying the template in teh way you have. That said, I'm not concerned enough about this to bother reverting you again. But I would suggest that as a matter of courtesy to the WPCS project participants you post something to the WPCS talk page letting them know what you have done, and why. --Allan McInnes (talk) 20:36, 13 December 2009 (UTC)
Comparison of programming paradigms - link to Debunking the 'Expensive Procedure Call' Myth
As you added a note and reference to Guy Steeles 1977 publication, "Debunking the 'Expensive Procedure Call' Myth", I should point out that ordinary mortals who cannot, or do not want to, afford a $99 subscription to ACM and the cost of buying a copy (without knowing what they are getting) - perhaps because they are retired or are students - are not able to follow up the link!
Perhaps an extract here of what is claimed in the said memo (and the precise context) together with an actual example might be useful - to perhaps ellicit further analysis. As with many such generic statements, the actual detail is critically important. Does the piece talk about just the call/return (2 * control flow) itself or does it also include prologue/epilogue, parameter building and parameter extraction. Does it refer to direct calls or indirect calls or both? Does it also address copying of arguments for message passing? Does it include obtaining memory for the call and its subsequent freeing? etc.ken (talk) 08:12, 11 March 2010 (UTC)
- Actually, I didn't add the original reference or link -- that seems to have been an anonymous editor. All I did was collapse two duplicated references into a single reference. I haven't had any trouble accessing the linked paper though, and I'm doing so from a computer that's usually unable to access ACM material. The link is to a freely available copy hosted by the ReadScheme website, not to anything behind the ACM paywall. I'm not sure why you'd be having problems getting to it. Anyway, a few seconds with Google has turned up several other freely available versions (including the original source, MIT). I've added those links to the article. Hopefully one of them will work for you. --Allan McInnes (talk) 08:07, 13 March 2010 (UTC)
- Thanks Allan, having now read the (rather good) article, I agree with most of it - but it concentrates mostly on the call mechanism itself rather than the additional cost of building parameters / messages for subroutines/methods. It also coincidentally touched on a favourite programming "style" that I have used effectively for 40+ years, namely finite-state automaton. I personally don't really write programs, I write control tables (that embody the algorithm) and an efficient interpreter - a virtual machine where the actual cost of a "procedure call" is mainly dependent upon the efficiency of the interpreter.ken (talk) 10:54, 13 March 2010 (UTC)
The definition of computer science
Computer Science is concerned with data structures and algorithms, natch. Use of the term "information" here is simply too broad and ambiguous to be helpful; moreover, it is (often) incorrect. Information is data in human-useful context, whereas computer science is concerned most directly with collection, storage, presentation of data and its processing. I dislike the term "computation" as well, as it sounds a whole bunch like what we are trying to describe, but I decided to live with it. It is simply not worth my time to get into a long debate or reversion war on either of these terms but using the term "information" here is a serious compromise on reality. Please check out the information entry to get an idea of what I mean. Thanks - TO Tee Owe (talk) 18:39, 21 May 2010 (UTC)
- It would really be better to debate this on the CS talk page. But since you've opted to broach the topic here, I'll respond here.
- As I mentioned in my edit summary, "data structure" seems too tight a definition to me. For example, cryptography or compression are clearly concerned with information, are both often considered part of computer science, and neither are directly concerned with data structures (except insofar as data structures may be used in their implementation). Furthermore, there is a at least one reference in the lead that specifically says "Computer science is the study of information" (or something like that anyway). Perhaps the link to information is incorrect, but I think the general sentiment is about right.
- As for algorithm vs. computation, it's again a case of the specific vs the general. There are -- at least according to some people -- non-algorithmic computations. Examples include quantum computing (no sequence of steps), and reactive or interactive programs (some researchers claim that intermediate inputs and interaction with environment fall outside the standard definitions of an "algorithm").
- Finally, I'll just point out that the lead as it exists right now is the end result of an extremely lengthy debate and consensus-building exercise a couple of years back (dig back through the talk page archives if you want to see the debate in its entirety), trying to reach a version that satisfied many people rather than any one individual. That said, if you want to reopen the debate, by all means do so.
- --Allan McInnes (talk) 01:43, 22 May 2010 (UTC)
Quicksort in one line of code
Hello Allan, I made an update to your quicksort page on Literate Programming, adding a version that is done in just one line of code (qsortr, after qsort1). I didn't realize that the entire section was written by you, that is, all by one person. Please let me know if you want me to fix it, delete it, or do anything else with it. It seemed like a good lead-in for the next section, the discussion on partitioning. I did note that you have some test data, and I have used this to test the qsortr program.
The build log produces what it thinks is an error on the statement return [] if. Does the build use Python 2.4 or something earlier? —Preceding unsigned comment added by RichardKatz (talk • contribs) 20:30, 3 July 2010 (UTC)
Thanks,
RichardKatz (talk) 20:23, 3 July 2010 (UTC)
You are now a Reviewer
Hello. Your account has been granted the "reviewer" userright, allowing you to review other users' edits on certain flagged pages. Pending changes, also known as flagged protection, is currently undergoing a two-month trial scheduled to end 15 August 2010.
Reviewers can review edits made by users who are not autoconfirmed to articles placed under pending changes. Pending changes is applied to only a small number of articles, similarly to how semi-protection is applied but in a more controlled way for the trial. The list of articles with pending changes awaiting review is located at Special:OldReviewedPages.
When reviewing, edits should be accepted if they are not obvious vandalism or BLP violations, and not clearly problematic in light of the reason given for protection (see Wikipedia:Reviewing process). More detailed documentation and guidelines can be found here.
If you do not want this userright, you may ask any administrator to remove it for you at any time. Courcelles (talk) 04:44, 20 June 2010 (UTC)
if there's no inlining then why allow macros? (comparison of programming paradigms)
Macros are not used just to implement inlining. Surely you must realize that macros can generate any code whatsoever (at least they can for IBM 360 / Z/Architecture that I am most familiar with). I created and maintained a collection of debugging systems that were all written in ONE single macro (with many copy statements containing entire programs or sub-routines). There were more than a million lines of code.
Why? - because these programs could execute in a miriad of ways depending upon multiple operating systems, multiple transaction processing systems and target languages. The specific versions of the many programs were generated simply by specifying the parameters on the macro. This way, there was only ONE version of the source to maintain for all of it.
In the particular example in the article, a macro would generate the sub-routine in any program you like (with or without parameters). The program code can then invoke it as required.