Objective Evidence Against Top Discussion

(Note, I would put this in TopMind topic to follow wiki standards for on-going rants and long ThreadMode about narrow topics, but that is getting full. -- top)

From ClientSideAppDataCaching:

I'm willing to assume that you actually believe that, but your actions are actually the opposite, in that you will argue for *days* over something where you are objectively wrong. Examples:

are all circumstances where you've been objectively wrong, have had people with experience in the domain, which you lack, explain to you that you were wrong, and you have, at length, refused to admit it and retreated to contrived examples, definition arguments, and eventually just putting your fingers in your ears in an attempt to avoid having to admit any sort of incorrectness.

Wrong. They 'thought' they were objectively correct, but on closer scrutiny could not provide public evidence, and thus resorted to ad hominem attacks on me.

There comes a point when "you don't know what you're talking about" is the only reasonable response. You seem to define "objective evidence" as "evidence which convinces me" and therefore is totally useless. -- ChrisMellon?

No, rather SelfStandingEvidence, evidence that is not a BookStop nor a need to trust you personally.

[In other words, you won't trust anyone else's experience on an issue, even in an area you don't have any experience of your own, nor are you interested in reading. How do you learn anything?]

PageAnchor: 765

I will trust my experience over theirs. Most people do. It is possible others are purposely or accidentally omitting key factors. English is not a perfect transfer medium of information. The closest thing to "the complete story" is our own stories. In the case of the language translator example, going with a DB carries a small penalty for being the non-optimum solution. Thus, if the cost of failure (picking the non-optimum solution) is small, I will go with my own experience. The only potential monster I see is version control, which is immature in DB-land right now.

[Just so I'm clear here, you will trust your experience when you have none? Or are you saying that you actually do have experience implementing language translation systems, which is something that was very unclear on the original page.]

There's nothing wrong with ArgumentFromAuthority, assuming the authority is legitimate - you're the kind of annoying student who'd insist that a professor explain gravity from base principles because, seriously, who's this Newton guy anyway? Stop dismissing everyone else's experience and assuming that yours is adequate to grant you the grounds to argue on any field. -- ChrisMellon?

[Note: I reformatted some of Chris's text to make it easier to reply to. As far as I know, I didn't change the meaning.]

You just said I was objectively wrong, and then appear to change your tune to defend ArgumentFromAuthority. You wouldn't need AFA if you were objectively right. -- top

[Separate but related concepts, not a change in tune. Where someone else has knowledge and experience, and you do not, they are an authority relative to you. Unless you have reason to suspect they're lying or otherwise acting in bad faith, you should accept what they say in that domain. If you're a student and/or interested in learning, then asking for clarification is perfectly acceptable. Note the use of ask, you're looking for clarification, not arguing. You can't argue because you aren't an authority.]

Addressed above at PageAnchor 765.

Should add topic about his understanding that Higher Order Function is so useless, also.

Please stop bending my claims out of proportion. I claimed their value was exaggerated, NOT "useless", and asked those who claimed that FP "significantly reduces code" to provide realistic examples, which they failed. Some of them later narrowed their claims to "algorithmically-complex algorithms". If they said that at the beginning, it would have prevented a lot of battles. That is the facts Jacks. You guys hear only what you want to hear. -- top

(from DaveFayram)

TopMind has a very specific algorithm for discussions on C2. I've talked with him enough to see it. (DaveFayram annotates in square brackets. Hooray for thread messes. DeleteWhenCooked - preferably soon. I also made all Top's comments and mine depth 3 items. The original algorithm is depth 2 and 1.)

It is odd how you interpret much of what I write as an evil, sinister plot of mine. It is as if you go out of your way (subconsciously perhaps) to see my content in the worse possible light. Every miscommunication or subjective conclusion is interpreted from the angle that most makes me look evil and manipulative. Interesting, yet frustrating. I guess once somebody is "written off", you see them in a bad light regardless of what actually happens. People believe what they want to believe. Psychological tests have shown this.

Re: "You forgot: Make grandiose claims about how ComputerScience is not a proper scientific discipline subject to the ScientificMethod..."

I am not the only one who has claimed that. See DisciplineEnvy, a topic that I did NOT create I would note. Thus, I am not alone in that opinion. Also, I did not say that it wasn't subject to the scientific method, I said it has not been subjected to it at this point. It is likely capable of being subjected to it, but it has not for the most part. Again, you have twisted my real opinion. It keeps happening and the fault appears to be on your side. A convenient mutation happens to the restatement or interpretation of my opinion at just the right spot to make me sound sinister or wrong.

Re: "citing scientists on their research as ArgumentFromAuthority"

Much of it is. That's life in "computer science". I am just the messenger. There is very little solid science in this industry. If you disagree, take it up in DisciplineEnvy, not here.

-- top

That's BS, TOP. The fact that you may not be alone in that opinion means that you're just as wrong as others. Grow up, and move further.

Then why are you riding my ass and not theirs? They are allowed to commit such horrid sin without consequenced, but *I* get chewed out for it? Yet more evidence that you are simply baised against me.

And by the way, your opinion is worth close to nothing, because you have no credibility. Show us some code that is is worth paying attention to and we may reconsider. Continue polluting wiki with endless logorrhea and you shoot your credibility even further.

I believe in SelfStandingEvidence. It is the content that matters, not who says it. I know you come from a the European tradition where trusted elites are to run everything, but that is not the wiki way.

You are in no position to make any kind of sweeping characterization of computer science because your lack of culture in this domain is so blatant as to make you an impostor when you say anything about it. You don't know what you're talking about, TOP, it's as simple as that, but you pretend to know something. You complain about others making you sound evil or badly intentioned, well, Top, but it is time to realize that you put yourself in that position. Limit yourself to what you know and whatever you can talk about with a remote resemblance of competence, and the situation may change.

Odd, I was going to say the same about you.

And by the way, nobody needs to respond to your claims, TOP, because they are worth nothing. How about you give us objective evidence that mathematics is not science that computing science is not science that your 2c are just as good as those of any computer scientist you complained about. All prima facie evidence is overwhelmingly against you. So you have a BurdenOfProof from which you excuse yourself assuming the BurdenOfTroll?.

Do you have counter evidence that it is a science? Both are technically null until one or the other shows otherwise.

Either you put up, swallow your own pill and give us "objective evidence" of the crap that you claim,

I generally attack objective claims, not make them. The whole FP bruha started when somebody else claimed that FP "significantly reduces code size", for example. THEY made the objective claim, but your type twists the truth to make it sound like I was the originator of the an objective claim.

or we may start cleaning WardsWiki of your pollution,

You have not been elected God. I would accept some kind of consensus deletion, but not you. I remember how you kept calling an example something like "puny amateur toy example" over and over again, when it was MEANT to be a toy example to begin with. Yet, you kept referring to it using such derogatory language. This is evidence that you are either too sloppy to be a trusted editor or too mentally unbalanced. Thus, get your paws off of my stuff!

and the best you can hope is for us not to proceed to outright deletion, but to quarantine your crap under pages labelled with your own brand, so that we have a clear distinction between wiki content and your trolls. If you think your opinion is so valuable, and the rest of us are so wrong, you'll be rewarded anyways by the attention you get from your fans. You wouldn't be ashamed of your brand, would you? -- CostinCozianu

You F'd up the formatting when you moved it, BTW. Yet another reason why you can't be trusted as the Content God you think you are entitled to be. If I am all wrong like you paint me, then at worse I would be comparable to a mumbling village idiot. But your behavior is comparable to a terrorist: "My way or the bomb!". Which scales worse?

No, TOP, there's no way your going to handwave your way out of this by attacking me, because you fail to convince WikiPubliOpinion?. To begin with, a lot of people respect me for my modest contributions here, and a lot of other people whose contribution are valued here sided against you (not necessarily with me) on this one (you can see that I can enumerate ScottJohnson, DougMerritt, DanMuller, JonathanTang, and sorry for not enumerating others, without fearing that they will embarrass me by publicly disagreeing with me and siding with you on this one). Such people have made insightful contribution to this wiki, as well as they had public disagreements with me on technical issues of various subject, but what we're talking about here is a matter of overwhelming consensus of a large spectrum of wiki respected contributors. Plus you cannot accuse me of bias, since I've long held a reputation of RelationalWeenie so you cannot handwave about being persecuted by anti-relational bias, and your arguments make no sense.

The only honorable exit strategy for you is to drop some of your ridiculous claims and scale back on others (or alternatively - which won't happen, by picking up the BurdenOfProof). Plus when I make coherent argumentation and you accuse me of being mentally unbalanced and proffer other cheap insults, you are loosing credibility even more. -- Costin

If 50+% vote to delete my content, that is fine. I will accept that. But I will not accept it from small gang of info terrorist. In other words, if you are going to invoke Argument-By-Popularity, then let's do popularity-based-editing right. That is not asking too much. You use popularity when it suits you, and reject it when it does not.

By the way, Ward, the creator of this wiki, implies in DisciplineEnvy that the classification of our "discipline" is still up in the air. If you like to be fed credibility crackers instead of SelfStandingEvidence, there is a nicely buttered one for you to crunch on.-- top

To begin with, you are severely confused. And besides not being able to write correctly your native language,

Why bother, you are just going to delete it all anyhow.

you have a big problem reading it. Your "discipline", top, is not computer science, it can't be "computer science" unless you complete your studies, at best you can aspire to the status of software engineer. This is what DisciplineEnvy debated: SoftwareEngineering (read the introductory statement) as an engineering discipline. There's a big distinction between engineering discipline and scientific discipline as well as between SE and CS, so no cigar: you cannot honestly claim that Ward's statements back you up in your wild claims against computer science. You are still in the position of a charlatan challenging an established scientific community, so you still have a BurdenOfProof, and by the way, not even if Ward would claim that (CS is not science, which he wouldn't) that would not discharge you of the burden of proof.

Tell me, have SE or CS ever proven ANY software design objectively better outside of speed, code-size, and output? Can you name just one instance? IT's objectivity account is bankrupt and many are too stupid or blind to care, hiding behind institutional accolades because they have nothing else to rely on.

What a funny troll you are. One would think that speed, code-size and "output" (correctness of results, I presume) are important enough criteria that cannot just be wished away by any wannabe who thinks he has something to say.

You are trying to put words in my mouth. I excluded them because they generally have not been key debate issue. I have conceded many times that TOP is slower for certain things, for example. Those are CS's low-hanging fruit, but they have not worked their way up the tree yet.

So you say CS is bankrupt. Well, any objective evidence (I mean not any kind of objective but the pompous SelfStandingEvidence) for that? Or it's because TOP says so.

Stop playing word games and point to the evidence.

No, TOP, this time you made the claim that CS is bankrupt and many are too stupid (presumably many wiki contributors as well) to realize. So you have a BurdenOfProof. Presumably, unlike us, you are very smart and those charlatans calling themselves computer scientists can't fool a smart guy like you. Now give us a proof ( SelfStandingEvidence) that you are really smart and not just a garden variety megalomaniac.

(Removed angry content-free language.)

I didn't make the claim that FP reduces code volume or that software engineering is an objective science. The burden of proof is not on me.

Since my name was dropped in the above FlameWar, er, discussion; I will state again my position on this for the record. In short - yer both nuts. TopMind, I tend to agree with many of the other statements against you - you seem to feel that our discipline is all black-art and hocus-pocus, and that your claims and opinions are just as valid as those of DonKnuth or JohnReynolds or SimonPeytonJones or DrCodd or ChrisDate or BertrandMeyer. (That's a paraphrase, not a direct quote.) People will take you more seriously if you a) abandon the persistent "but that's ArgumentFromAuthority" posture; and b) actually act like you learn something. I've learned quite a bit here.


Costin, I've said it before and I'll say it again. In bold-face. You act (especially in the past few weeks) like you own this place. Like this is CostinsWiki? and not WardsWiki, and that you get to be the enforcer and delete/edit how you like - and if anybody dares oppose you they will have an EditWar on their hands. When it comes to the religious crap, I don't much care - it's OffTopic (sensitive or otherwise), and other than polluting RecentChanges it's irrelevant to me. OTOH, your aggressive posture to TopMind (and your recent tactics) kind of pisses me off. His content, although often wrong (and certainly prolific), is OnTopic; when it comes to OnTopic content on a site of this nature, an expression of disagreement is probably better than deletion or a ForestFire.

In short, I would like to request that you stand down on this particular instance. TopMind may be a troll, but he's harmless.

-- ScottJohnson

Costin wrote back (on my HomePage, I hope you don't mind me moving them here for context):

Now Scott, you have made some personal accusations against me (vis-a-vis TopMind)that are patently false, so you either scale them back because you made them in the heat of the moment and out of negligence. If you think it carefully you'll realize that you will not be able to back them up at close scrutiny.

I'm not sure which comment of mine you think is personal; I didn't intend anything as an insult. Instead, it is my observations of your behavior, which I'm happy to discuss with you.

You have all the right to disagree with me or anybody else about this or that technical subject, about this or that attitude, and I respect that. However you went way overboard in your accusations towards me, and if you still like to stand behind them, you'll have left me nothing but change the presumption of negligence into plain dishonesty and I would regret deeply to be forced to prove your dishonesty. Take a break, a deep breath and think it over.

As to what regards the attitude toward TopMind, I'll respond to that after you'll have clarified the above. In particular you were negligent in your perception of my attitude towards Top. I don't favor either wholesale deletion, nor ForestFire but you have failed to comprehend all the consequences of encouraging Top to pollute existing content. -- CostinCozianu

I'm commenting on what I observe, modulated by what I think is right and wrong. I will modify one comment right away; I don't intend to suggest that you are moving everything of Top's to his HomePage; and happily stipulate that only a few pages are at issue. That said, I think such behavior is inappropriate for this site. The only other user I know of who was subjected to that was RA, and his behavior was far more egregious (and the sanction came after much community discussion). Again, as I stated above, it is better (in general) to explicitly express dissent (and say why) than to engage in such unilateral editing. And if you must edit in this fashion, then follow DeleteOnceRestoreOnce. I refactor Top's stuff quite a bit, and I don't get much resistance from him for it.

My impression of your actions are that you wish this site to become more of a meritocracy. While meritocracies are good things, I'm not sure that's what the community wants, or what Ward wants. Part of what makes this site interesting is the GoodFaith discussion that often occurs. Unfortunately, much discussion recently has been made in bad faith (and I'm not naming any names here; this comment is not intended towards any individual). I've had lots of interesting (to me) conversations with Top, and I do learn a few things from my interactions with him. Likewise with you. Your style, however, is like the bull in the china shop - which is fine if you're the bull, not so much if you're the china. And in the past few weeks (my observation), you seem to have escalated your tactics from CriticizeBluntly to this more aggressive posture, where you are determined that certain editorial manners shall be decided in the manner you consider appropriate (and you may be right), and if someone else tries to undo your handiwork you will redo it ad infinitum. That, of course, is how EditWars get started.

I certainly don't intend to offend you, and wish you no ill will. But I think some of your actions recently are unwise.

-- ScottJohnson

Here is a summary of the claims investigation as I interpret them:

Only 1 of 11 complaints, less than 10%, seems to have solid merit. I should be acquitted. -- top

[Top is borrowing a reality distortion field, but he is not as skilled a wielder as some.]

Well, somebody certainly is delusional. I reread the stuff it it is generally consistent with my summary characteristics, so I if I am delusional, at least my hallucinations are internally sound and consistent. -- top

[I'm wasting time here, Top. You can continue BSing around the wiki if you want. I regret even getting involved in this page, and I'm going to do my best to make up for it by never visiting it again. Please don't assume that this means I agree with you or that I've "given up." I just have better things to do with my lunch break.]

From the title, I thought this was a page debating whether was any objective evidence of TopMind's existence, using his typical style of argument to shoot down his futile offerings of objective evidence that he does in fact exist. That would have been a fun read.

It could be that TopMind is an AI computer system that runs off tables.

[top says] Where the hell is this alleged Master Official IT Dictionary that you and Costin keep yammering about?

There isn't one, of course. There's several, and good old google define: can be amazingly helpful.

Let me share a story about myself. I worked in a theatre for several years, and I learned a lot about carpentry. I learned totally from experience, and pretty much on my own. I made sets and props and a lot of other things and I learned a lot. But I worked entirely with a couple different types of wood, which weren't especially high quality, due to the nature of what I was doing. Cheap pine and plywood, mostly. I wasn't doing fine carpentry, the object was "good enough for the stage" and we were under enormous budget and time constraints. I got really good at doing that. But I'm not a carpenter, and I'm especially not a fine carpenter. I can use a circular saw, and a table saw, and a bench saw, and a router, but I can't use a lathe. I wouldn't know how to carve with chisel. I've never worked with cherry wood and don't know anything about making well-hung cabinet doors. I don't know the right names for all the different times of carving tools, although I've seen them before. I and the other people I worked with invented our own terms for a lot of things, which caused some confusion at the hardware store when I was talking to professionals. Hopefully you can see the parallels I'm drawing here. The difference is that I never thought that my experience in the theatre qualified me as a craftsman of furniture. I don't even know if they have some special name for a furniture maker. If I wanted to be one of those, I'd have to learn more, and learn the vocabulary, before I started telling all them that it doesn't really matter if your cut is off by a sixteenth of an inch, because you can just shim it in and from a 10 feet away under lights you can't see the seam.

Well, maybe eval and my type def are similarly "good enough" for my domain. Custom business software has a lot of pump-and-dump parallels. UseTheRightToolForTheJob?. Being different from your domain is not a reason to be deleted, however. Someone who has been a "fine furniture craftsman" for life may similarly have a hard time adjusting to theatre construction because they will probably be anal-retentive about the wrong things at the wrong time. My techniques are probably poorly suited to systems software, I won't deny that may be the case. -- top

By the way, perhaps it is time for a wiki IT dictionary.

There's actually a second part to the story, which is that later I ended up working with a a guy who's hobby was building furniture and it truly was a pain because he spent too much time worrying about details we didn't care about and he'd go over our time constraints, resulting in truly memorable instances like an opening night in a French farce with no doors, where all the gags relied on people going into and coming out of doors. They key point is that just as his aesthetics and professional constraints were inappropriate for what I was doing, mine were inappropriate for what he was doing - I can't make furniture at any level above "good enough for a college dorm room". The important thing is for people to recognize this and not to dismiss things out of hand because they don't apply. If you're inclined to do so, it's best to simply avoid the discussion in the first place. It would be just as in appropriate for me to lambast a cabinetmaker for his attention to detail as it would be for him to lambast me for my lack of same. But what I'm doing is less challenging, less precise, and in a very real way less difficult than what he's doing, with regards to carpentry. There are other challenges, of course - a large part of writing business apps is getting your users to actually cough up what the process and rules really are - but with regards to the computer science, or even software engineering, or even programming, the challenges are pretty minimal. Where they come into play is in exactly the areas you avoid, the implementation details you don't want to be bothered with, like how do you design and implement a component based architecture that allows you to call a component written in C++ from a Visual Basic application, or how to lay out database tables on disk for optimal performance, or how to write a graphing component that can draw itself without flickering.

You seem to be saying that custom biz apps are more about users than computers, and therefore the computer side is less "tested" or "stretched". From a hardware performance standpoint, I generally agree with you (but could fuss on the details). However, from an "info organization and management" viewpoint, that view couldn't be further from the truth. Such systems often have tons of attributes, business rules, and information (these may not be mutually exclusive) that are or can be interrelated to various degrees, the interrelations can change on a whim, and it often grows into a big mess. It may not necessarily stretch the hardware to its very limits, but it is stretching info organization management to its very limits. Hardware and "machine issues" are no longer the biggest bottleneck, so in some ways it is at the cutting edge of virtual world handling technology. We are constrained mostly by our imagination, NOT by flicker rates and C++ memory management. We have just about all the desk-space, pencils, paper, staplers, etc. that we need. We just need to find better ways to organize it all so that it works right using our rules and so we can find what we need to find. -- top

My belief is that you're mainly doing management-level activities, rather than what I consider programming per se. Perhaps it's the way of the future, I don't know. But you want to manipulate information, not write tools to manipulate information. You aren't interested in how things get done, you just want to tell the computer what to do. There's nothing wrong with that, but there still has to be someone who's interested in how to actually implement the tools that you want. I think you would be surprised how much the hardware and the low-level things you dismiss can actually matter at the high end. In essence - you're talking to the wrong people in the wrong way here. The people you're telling to not bother you with low level details are the people who have to know these things in order to create the databases and relational tools and information management systems that are what you want to work with. I'm not sure we're constrained by our imaginations so much at all, it's really easy to imagine all the things I want when it comes to data manipulation. I watched StarTrek too, you know. Even if my own wasn't up to the task, I've had plenty of users tell me all sorts of insane things a system should do. Cracks about the DoWhatImean (DWIM) machine instruction are as old as computing. A good example is the weather system Dave (was it Dave?) showed you. You wouldn't implement that. You'd want someone else (like Dave) to implement it for you, and you'd use a system like the one he created to do your own data scrubbing and manipulation in a declarative manner.

No, I am not in management, and I have directly implemented many "data scrubbing" applications. Multiple times I have even built almost spreadsheet-like contraptions that had formulas stored in tables and dynamically executed using "eval"-like techniques. In one case it was a data conversion tool, and in another it was a kind of 3D spreadsheet. Existing spreadsheets didn't make it very easy to have formulas spanning dozens of sheets "deep", so I made one (specific to that need). And please stop mentioning that "weather" example unless more details are given (he claimed it was under a non-disclosure agreement, meaning it is legally locked away from public examination). I cannot respond to it better without more details. I gave several approaches to implemented it, and each and every allegedly has flaws that I cannot verify on my own without being there or seeing a detailed spec. "That won't work because I say so" won't cut it. Note that I am not saying that systems software is less important, but just that it is constrained and "shaped" by different issues. Wiki should accommodate both. -- top

Top does not debate in order to either learn or to educate; he does it merely as a form of MentalMasturbation, one of the many terms he is very fond of. Take a look, for instance, at DynamicStringsVsFunctional. The tone of the page starts out generally civil and informative. (Note that an early section starting with "This is silly, of course, ..." was added later out of chronological sequence - more so than other interspersed comments.)

I generally mirror the treatment that I receive. If people are courteous to me, I am courteous back. If I slip into rudeness first, then I am at fault. But, I have not seen it in the case. You are highlighting my rudeness and bypassing that of those you agree with. If I remember correctly, in this case politeness came to an end when somebody called FoxPro a "toy language for dummies" or the like. That was first blood. (Refactoring has made it difficult to verify. Maybe the history can tell, but I don't want to get that pedantic today.) If by chance it was me who drew first blood, it was unintentional. I recall them firing first. Honest. -- top

Top takes exception to very realistic complications to some of the problems posed ("You sure are going out of your way to bust this thing ..."), and offers only pseudo-code from his imagination versus concrete examples in an existing language, but there's nothing particularly offensive here.

Sorry, but I did not find them "realistic" based my experience. See the link below for more details on patterns I see and don't see in the real world.

Now search for the first occurrence of "MentalMasturbation". I marked this paragraph as being from "AnonymousDonor?", in order to keep the back-and-forth clearly labelled, but it is obviously by Top. We see the tone of the page starting to turn here. Note what prompted this. Neil, a Tcl programmer who joined the discussion to clarify some of Top's points and who provided some very informative, to-the-point (and civil!) information about how Tcl really works (something Top was too lazy to figure out for himself, in spite of using it Tcl as his counterexample in debate), comments that in fact Lisp's approach is cleaner and easier to work with. Top has lost ground in his argument - and so now he draws his usual debating tools from their sheaths: PageAnchor: 3472 // I need references to find stuff in the editor

Things get worse from here on. The tone gets a bit more brittle: Paradoxically, almost immediately after this, we have, from the same hand: More importantly, Top's counterarguments become more vague and inscrutable:

At this point my participation wanes, since there doesn't seem much more to be said in light of the vagueness of continuing objections. One KristofferLawson enters with some honest questions. He or someone else offers some examples in both Tcl and Lisp - which Top rejects (despite having practically demanded examples earlier), wanting now some sort of English requirements statement.

PageAnchor: 4087

Again we have run into Top's quintessential resistance to learning - although he enjoys debating the merits of language features, he finds it absolutely impossible to allocate time to learn enough about just two very popular languages to follow the examples. Now, I did not myself take the time to look up more than just a little Tcl during the evolution of that page. But I also wasn't demanding examples. (Later on the page, he even labels the provision of code examples as rude!!!)

At this point I must admit that I re-entered the dialog and flamed Top soundly for demonstrating twice in quick succession his continuing complete and utter ignorance of how a closure actually works. (Although I only called him on one of the two gaffes.) It is quite inexcusable to argue against something without making even a minimal effort to understand it. It was a very mild flame, really, accompanied by a heartfelt and urgent suggestion to make the effort to understand more about topics that he's obviously interested in. Top's asinine answer revolves around his BookStop argument, which I saw the first time here, but which he had apparently already honed on other pages. From this point on, I must say, the accumulation of stupidity and rudeness on this and other pages led me to drop any interest in Top's goodwill, ideas, or opinions, and I felt free to "criticize bluntly", as Costin would say.

It all started when people suggested that closures and related were objectively better. If it is "objective", then it can be measured. A number can usually be assigned to most objective metrics. In that case, it would not require understanding on my part. I have pointed this out many times, but you seem to disregard it as irrelevant. Well, it's not! I usually ignore suggestions that something is "more elegant", because that is almost impossible to objectively measure. It was the suggestions of objective benefits that alerted me to a topic I usually ignore. Thus, my understanding of your code is moot. I agree that such may aid in communication, but is still a side issue with regard to objective benefits.

After this point, he keeps repeating his need for "objective proof".

This is a mischaracterization of my point. *IF* you claim objective benefits, such as "significantly less code", I will hold you to it. I personally think software is mostly about psychology, so there probably are no objective metrics outside of producing "correct" results, execution speed, and possibly productivity.

The discussion above, and history on other pages, should make it apparent that, although the examples offered so far may not have been stellar, one would have very little hope of coming up with any examples that would cause even a momentary pause in the Toppish deluge.

Here is a novel suggestion: try examples outside of systems software and university lab puzzles. (And please, don't bring up that damned weather example, its spec was incomplete due to the NDA.)

Thus there is little incentive to do the work - it's more fun to write this analysis. Even if one did come up with more complex examples, I'm fairly certain that they would be countered by more pseudo-code. I'm not sure if anyone on this wiki has actually seen evidence of any real programming language that Top is facile with. But that's really OK, because code examples would just be rude anyway!

-- DanMuller, in a peevish mood

Again, I find it very curious but frustrating how you see every little thing I do through sinister-plot-colored glasses. And, there is a lot of double-standarding. If I do X it is part of plot, but if you do X, then it is somehow a minor slip-up. I don't do my full homework, but neither do you. I sometimes wonder off topic, but so do you. I am sometimes rude, but so are you.

And things such as implying that I said "code examples are rude" when I really said, "code examples without DESCRIPTIONS are rude" makes it appear to me you are purposely misquoting me to make me look bad. I don't have any direct evidence it was purposeful, but it seems to be pattern that is harder and harder to dismiss as just random innocent typos. (You omitted the description detail twice here.) And if it is just innocent typos, then fess up and accept at least SOME of the blame for the threadmess and rudeness in the process.

I find the examples irrelevant to actual software needs that I face. You get on my case for not being able to extrapolate to my domain (assuming it possible), and I get on your case for not finding business examples (that are not subjective to NDA's). This is the real impasse. All the personality bickering I can ignore and will try not to let it bother me. But we MUST do something about the Example Domain Impasse if we are to move forward. -- top

It's not really the technical details that are putting people off, top, it's your manner. The most frustrating point about it is that it's really hard to pin down a few words to describe it, but the words "defensive", and "combative" come to mind. It has nothing to do with what you're saying, but how you're saying it. You may think that's shallow, petty, whatever, but it's how the world works. Most of us think you know exactly how you come off and think it's deliberate - I think that's what stokes the flames most. It ain't my prerogative to coach anyone on social skills, let alone you, but if I had to offer just two words of advice, they'd be Mellow out. Peace.

{Usually my insults were defensive. I try hard to make sure the other guy insulted me first before I fire back, and try to keep my insult level at about 1/2. Thus, I insulted back about once per two of their insults. For some reason you guys are ignoring insults from your buddies. Is there a wiki flag I can use to point out insults toward me? I get no love.}

Ayee, I could go on forever about Top's responses above. Allow me to cherry-pick. I'll avoid the rudeness topics, except to note that I'll accept the "yeah but" excuse (no, that page has not been subjected to any major refactoring) as an apology. And I'll offer a weak one myself for the "code examples are rude" comments, since I may have misconstrued this. (Here's my own "yeah but": The relevant text is not as clear as Top implies). As to "I generally mirror...": Don't. The best way to destroy any discussion is to react to baiters, and many follow you around, no doubt in part because you take the bait.

"Don't turn J-walking into murder. I see content mistakes all the time from others.": Please note that the analysis above is intended to be an example. You display the behaviors described above repeatedly, on many pages on this wiki, and also in other venues before and during your presence here. In this particular instance, why would I bother to "politely point out" that code space wasn't an issue, when I had seen you introduce the same issue into numerous other discussions? I of course assumed that its introduction was deliberate and, in your mind, relevant.

I agree that it is hard to find objective measures for programming language quality, and did not imply that you had rejected any others.

I am curious. Why do YOU think objectivity is hard to come by? Doesn't that spark some big questions in ya?

I get the issues around DataAndCodeAreTheSameThing just fine, thank you. But the fact remains that you didn't, and haven't, explained why non-string representations of code are undesirable for the purposes of TableOrientedProgramming, not even on TableMantraTakeToExtreme?.

The weather data application had nothing to do with me and wasn't what I was referring to. I was referring to actual examples that people provided on the page.

I haven't claimed that your "Challenge #6" is too boring. I have other reasons for not taking it. And my laziness is not equivalent in any way to yours; I did actually research Tcl enough to understand the examples given by Neil and others. In fact, I spent a fair amount of time making sure that I understood all of them.

It does not matter if your laziness is not equivalent, it is a hamper to the process. I don't want to learn more Lisp any more than you want to deal with #6.

I never used the term "objectively", on this or any other page. The fact that you've become obsessed with it or that others are is your problem. I did claim, in so many words, that closures are easier to use than similar techniques involving strings. I still hold by that claim. You can't deny it, because you don't take the time to understand the issues. More on this below.

I read your "Regarding FP Examples and Applicability", and it is again based on ignorance, ignorance that only you can remedy by expending a little more effort. With regard to the particular topic of closures, they can simplify exactly the sort of things that otherwise lead to the strings of IF statements that you mention. But you'll never see that if you don't take the time to understand even the simple examples that are presented to you.

And there is no point in writing more extensive examples when you won't take the first baby steps. You wouldn't understand them. You made it very clear on DynamicStringsVersusFunctional? that you hadn't taken the time to understand the examples given.

I'm not interested in writing examples for the sole purpose of someone measuring how many lines, or characters, or tokens that they contain. I prefer the techniques that I do mainly because they make it easier to write code, which is about the process of translating concepts in my head into instructions for a computer. I think I made this pretty clear on that page. And I can't illustrate why I think so to someone who won't take the time to understand the techniques.

If it is only about something that happens in your head, then it probably would not matter if I learned Lisp. You need to find better ways to describe why it is allegedly better, or admit it is really just internal to the way your head works. I used to think that other's thought process was similar to mine, and I learned the hard way that it is usually not. Maybe only about one in 20 think in a similar enough fashion to me to communicate on a thought-processing level.

Another problem I have in communicating with you via examples, and this one is primarily my own problem, is that I am not well-versed in UI programming, particularly not in Lisp, which is the best vehicle I have at hand for illustrating these things. The kind of work I do is heavily involved with databases and application logic, but I generally leave the front-end stuff to others. (BTW, none of the examples on DynamicStringsVersusFunctional? have anything to do with "systems software", a term that I think you apply too broadly.) Exactly because the real world is messy, it's hard for me to extract any smallish examples from my real work.

Nonetheless, more for my own amusement, I've got in mind an example of how closures would simplify the writing of UI code that makes liberal use of modeless dialogs, and I may at some point take a stab at turning it into incomplete Lisp code.

-- DanMuller

Look no further than FranTk? for functional GUI goodness. Port it to gtk and to a language with state like Ocaml or Clean (tho Clean has a pretty nice GUI lib itself), and then you're cooking with gas. Not that this will satisfy top. But frankly, why is anyone trying to bother satisfying him? We've given him plenty, he can do nothing but react with endless bitchy metadiscourse. I give up, so should all of you.

I don't necessarily just want to see UI examples. There's a lot of batch processing in biz also. The weather example would perhaps be an okay example if more details were given. I should also point out that the biz community in general has rejected FP for the most part. It is not just me. FP'ers have done a crappy selling job. People will probably ignore it unless you give them convincing biz examples that show something more specific than "elegance". -- top

FP'er may have done crappy job at selling FP. But that doesn't mean what they sell is crap. Garbage collection has been rejected 10 years ago and C taking over. Look how many modern language today lacks GC. FP can raise programmer's productivity - but as same as monkey and human can use both stone to hunt but only human can use rifle - to use a tool that increases productivity requires a learning curve over it; where not everyone can easily grasp. The reason Biz app doesn't use much of FP because they want mass army of programmer which means in term of quantity not quality, and most of their app is just DB anyway; If all you want to eat is bananas, not deers, you can hire lots of monkeys instead of hard to find human. Only when we start to raise our level of trivialness in problem. Only when business start to put value added in their information, that FP will be out standing. It doesn't matter what language you use as long as the problem domain is "Hello World", does it? FP is catching up, new generation of programmer seems to know more about closure and OO than Top. Applications will do more than store/report data, they will do extensive analysis of data. So future will change. -- AnonymousDonor

Go take a look at darcs. A revision control system, written in haskell. It's actually being used for real-world projects that have nothing to do with FP. Oh, by the way, I saw the edit BEFORE you added this "largely rejected" stuff, so this is the very last response you'll get out of me here until I see that you can moderate your attitude - I already removed some previous material of mine before this commit, because you went and added this wholly gratuitous crack several minutes after committing your previous reply. This makes you no more than a troll in my eyes, and I'm becoming really sorry I took any effort to attempt to understand you.

The last part makes no sense to me. Is there any particular thing about Darcs that shows clear benefits? Verifying that it "works" by itself does not tell us anything about FP.

You guys are similarly frustrating to me, but on the other hand you are like an alien species that thinks vastly differently than I do. I find it that oddly fascinating, like a researcher trying to understand the Octopus brain. Unfortunately, you guys are frustratingly inarticulate, unable to convert claims such as "elegant" into something more precise, hoping that I will just "get it", bypassing the need to articulate and measure. It is as if the Octopus, which is otherwise bright, is missing a key brain articulation lobe or two. The fact that you cannot clearly articulate and measure the alleged benefits should bother you more than I bother you. But I have learned that this is probably yet another sign that there is no science in computer science and EverythingIsRelative whether we want it to be or not. -- top

There's a big difference, top, between lack of ability to communicate and lack of desire to speak with someone as fundamentally unpleasant as yourself. I just wish the rest of wiki could see that as clearly as I now do.

I would bet money that the number of insults directed at me exceeds those I directed. $40 is all my wife will let me bet. Takers? -- top

By the way, is there a more C-like or JavaScript-like language in which to illustrate your FP examples? I find Lisp difficult to mentally parse and concentrate on for reasons described in LispLacksVisualCues. It's lack of landmarks really tosses me. -- top

You were shown javascript examples already exactly for that reason, so you could read it, on the array deletion example page. Rather than look at the closure involved, you bitched about using an array and looping, which was completely irrelevant to the example. Until you understand those simple baby examples, you have no right to ask for more. You were so busy screaming about the array, you saw nothing else. Do you understand how ignorant it looks to be arguing against closures and higher order functions while claiming to prefer sql, a language made of 4 higher order functions Select/Insert/Update/Delete, that all take a closure called Where, and can be easily mixed and match via a higher order function called Join?

I countered it with some FoxPro examples. I did not ignore it. I am not sure what your complaint is. And, it does not matter to a custom biz app developer how or who made the RDBMS as long as it works. I already agreed that FP may be better for making systems software, such as RDBMS. But that is moot to my domain.

It is not moot, and it is not systems programming. It is real language creation, built into the language, that's what closures and higher order functions give you, the ability to create language, not dumb ass strings. Anything you do "will" benifit from adding these techniques, asp, aspx, html, whatever, this shit helps simplify code, period! Select isn't the only useful operator you know, we want Select/Detect/Reject/Collect/Do/Inject and all the rest too, and we want them everywhere, not just in the db. Higher order functions and closures are what enable CollectionOrientedProgramming you twit, don't you get that yet!

Yeah this is really one annoying thing about him. SQL is so powerful as it is because it's the language which is made of higher order function as you said. However, while Top love so much about SQL, he at the same time understands almost none of the benefit of closure and Higher order function. -- AnonymousDonor

Of course not, he's ignorant, if he studied even a little, his little pet wanna be language TQL would be done already, using higher order functions and closures on top another language, rather than passing strings and evaling them. Our bitching won't change him, that's pointless, but maybe it'll unite a few of us long enough to go on a cleaning spree removing his FUD and disinformation from all the pages he's ruined.

If you are suggesting that FP makes it easier to *build* a CollectionOrientedLanguage? and API's, I won't necessarily disagree with that. That is why it is used for SystemsProgramming?. But, I am not a systems programmer by profession and you have not made a case for why non-SP's should care. We don't build languages and RDBMS for a living. Millions voted with their feet, not just me. Biz langs and tools obviously include less FP than your domain. The reasons for this seems to be one of:

  1. Biz developers are stupid.
  2. FP adds too little a benefit to biz apps to justify the complexity of adding such features.

You seem to think it is the first, while I suggest it is the second. Being that I have yet to see a good example of it helping biz apps, it is not unreasonable for me to focus on #2.

-- top

Actually it's option #3, you're too stupid, and everything outside of your extremely limited experience, you qualify as systems programming and dismiss. The rest of us actual biz app programmers use HOF daily for tons of Biz related stuff. You don't want samples or proof, you want to be right, unfortunately, you're an idiot without the capicity to understand your own ignorance, so you just blame all us "evil" programmers.

Moved discussion to ChallengeSixVersusFpDiscussion.

Re: "I am curious. Why do YOU think objectivity is hard to come by? Doesn't that spark some big questions in ya?"

Objective measures for programming language quality are hard to come by because software, software development, and software maintenance are all complex. There are many relevant factors, and yes, some of them are psychological and thus subjective. No big questions (or conspiracies) behind it.

There are a lot of similarities between programming and the other applied sciences, and math.

I disagree. In engineering, almost everything is measurable. Bridges that fall down or vibrate too much are objectively flawed. Rocket designs that explode too often or miss their mark are objectively flawed. They don't serve their intended purpose. But because of the TuringComplete thing, most languages/paradigms can produce the same desired output, so that is not really a factor to compare.

Practitioners of an applied science tend to develop their own notation to concisely convey concepts that are important to their field.

That is documentation, not the product being measured.

Programming languages are our notation.

But they can all deliver the same thing, per above, so we are forced to focus on the notation as a primary instead of as an artifact.

If you look at all the programming languages out there, you'll see more similarities than differences, if you can learn to see past details of syntax. One of the reasons that I like both Lisp and (to a lesser degree) C++ is that they're multi-paradigm languages, providing ways to express a broad range of useful abstractions succinctly.

Because of 'Turing completeness', this range of expressivity is not necessary, but it's useful, just as higher-level abstractions in physics or math notations are useful. Even more useful is a notation that makes it easy to define your own abstractions - that's why the concept of subroutines or functions arose, and are represented in some form in almost every modern programming language.

One caveat: if you let everybody design their own abstractions, then communication, and perhaps maintenance, suffers. Consistency is also important. All else being nearly equal, consistency should be chosen. For example, if every application has different collection handling idioms, then learning and communication between developers will be slower.

These abstractions (built-in or user-defined) allow an author to write more concisely, and with practice I think that concise notation feeds back into the thought processes and allows one to think more concisely about difficult problems.

"Conciseness" can be measured in terms of the volume of code, more or less. It is one of the few objective, or at least semi-objective, metrics we have. However, it does not seem to favor any one paradigm at this point. They all score roughly equal if given a broad range of problem types.

I certainly feel that learning the various abstractions available in Lisp many years ago modified my thinking and made me a better programmer, able to tackle harder problems with confidence.

Can I prove that objectively? No, that would require fairly long-running experiments that involve controlling the education of groups of programmers and observing and measuring their abilities.

I assume you mean productivity rather than tests on concepts. The later tests processes rather than results and so is not necessarily a good metric. Good metrics focus on what is produced rather than how it is produced.

Maybe I'm full of it, and just have a natural talent or some other characteristic that makes me, in some ways, a better than average software shoveler.

Perhaps because it does not affect the size of financial rewards for them, and you do it mostly out of love for the topic. Plus, companies get nervous when they have to hire other highly-skilled people to read your code. They prefer the middle ground so that developers are more easily swappable. I have been chewed out for trying to factor out repetition for just such reasons. It has dampened my desire pursue fancier programming from a career standpoint.

Maybe I studied Lisp because of that characteristic, who knows? Does this uncertainty bother me? Well, it's annoying, but it doesn't seem like something that I'm suited to address, or particularly interested in addressing. It's never an issue unless I'm conversing with someone that's obsessed with 'winning' an argument over paradigms. (Top's not the only person in existence who tends in this direction, nor even the only one to argue in circles.) Most often, I can explain these concepts to someone, and they either do or don't show an interest. If they do, then they'll either ask more questions or go off and study it on their own.

Explaining concepts is probably easier than explaining benefits, I'm sure you will agree.

This ability to think in higher-order abstractions is still applicable when using other programming languages, but it takes more effort to write them down. And that's a pity, because it's so unnecessary. That's why I get a bit cranked when I encounter someone who's interested in language design, but seems to ignore the great body of existing useful programming concepts.

-- DanM

"Bridges that fall down or vibrate too much are objectively flawed.": And programs that crash, or store data that violates requirements are objectively flawed. And in engineering, it is not always clear what should be measured, or how to measure something. There are difference, but there are also similarities. Your basis for disagreement is not null, but is also by no means absolutely true. And I did say that there were similarities, not that the fields were identical. "That is documentation, not the product being measured.": In engineering, it is often design documentation, and a critical piece of the process of getting from concept to product, just as critical as programming languages are to software engineering. If the documentation is misunderstood by the participants, or is unable to capture all the essential characteristics, the product won't meet it's requirements. This is exactly the same in programming, the only difference being that the primary readers of our design documents are compilers or interpreters, who are not as bright as, but are more literal than, human readers. "But they [programming languages] can all deliver the same thing, per above, so we are forced to focus on the notation as a primary instead of as an artifact.": See above. The design documentation is just as important in other disciplines. It's just that the steps between our "documentation" and our product are mostly automated, whereas they're is a lot more to do after the documentation in other disciplines.

"One caveat: if you let everybody design their own abstractions, then communication, and perhaps maintenance, suffers. Consistency is also important." Yes, which is why it's important that you can define new abstractions in the programming language, which was my point. That way you can benefit from new abstractions, but those abstractions are well-defined in a way that the reader (or computer, in the case of software engineering) can reference. Excessive copy-and-paste programming is bad. If you've had managers that insisted on it, they were bad managers for a software engineering project. "Conciseness" can be measured in terms of the volume of code, ... it does not seem to favor any one paradigm at this point. They all score roughly equal if given a broad range of problem types.": Yes, conciseness can be measured somewhat, if you can agree on what to count. (Characters? Lines? Tokens? Expressions?) But it's not the only criteria. And for a given programming construct, different paradigms are not equal in their conciseness. Closures are a good example; they can be directly simulated by objects, but there's more textual overhead in doing so - and the simpler the closure and more trivial the task, the higher the overhead is, as a percentage. I'm painfully aware of this because I run into it all the time while programming in C++, in spite of knowing the language well enough to keep the overhead to the bare minimum necessary. "I assume you mean productivity rather than tests on concepts.": Yes, but not only. Other important things are maintainability and flexibility of the software. (The value of the latter is debatable and debated; agile and extreme programmers tend to discount it more than I do, you've called it into question based on market forces, and I acknowledge that it's open for debate and will depend on the expected lifetime and application of the software being designed. Estimating the importance of such factors is all part of the engineering process.) "I have been chewed out for trying to factor out repetition for just such reasons.": This is sad, but even more sad if you take it to heart as a guiding principle. I've seen a lot of software scrapped and rewritten because it became unmaintainable. Where's the economy in that? Nobody measures the long-term effects. Explaining concepts is probably easier than explaining benefits, I'm sure you will agree.: Yes. Since some benefits are subjective, or only manifest themselves through an improvement in thought processes that can't easily be directly demonstrated, the concepts have to be transmitted first so that the receiver has the opportunity to experience the benefits for himself/herself. This is where many of our discussions break down, IMO. BTW, I wish you wouldn't answer by interspersing comments. You've complained about ThreadMess, and that's one of the major causes. (You're not the only one that does this chronically.) I realize that it makes it much easier to reply, but over time it makes it very hard to follow a discussion chronologically. Even over the near time, a discussion is hard to follow this way without using a quickDiff view. I once tried to refactor your comments after a long section of a commentary, but it's very difficult to do after the fact. -- DanM

"Most software debates are not over correct output.": Well, yes, but you were the one that brought up project failures. This is a good example of how you debate circularly and illogically, and why everyone gets frustrated interacting with you.

"Yes, but those [maintainability and flexibility] are hard to nail down to specific numbers.": The fact that they are hard to measure does not mean that they should be ignored. "See CopyAndPaste.": I did, and disagree strongly, based on extensive personal experience.

I think we can sum things up by saying that your philosophies on what's acceptable practice in software development, although not entirely unique to you, differ from that of most of the people that come to C2 wiki to discuss technical issues. Your support of copy and paste programming makes that pretty clear,

and I don't think any of the raging debates with you will ever come to a conclusion due to these truly massive differences.

Since that's the case, I respectfully would ask you to simply avoid debates on other programming techniques, since you see them all as undesirable, and the debates are cluttering the wiki awfully by dint of sheer volume. There's not much point, for instance, in starting a debate on evaluation of strings versus functional techniques when you're convinced a priori that anything more sophisticated than eval is too difficult for most programmers, or not acceptable to managers.

Think first carefully what would convince you to change a position, and if it's not something that anyone can provide, or is logically impossible (like reducing code size without increasing abstraction), then don't bother. Or simply state the criteria up front. Yeah, that's a good idea. No more debates without specifying up front what the relevant criteria are. Then readers can judge a priori whether it's worth engaging or not.

The challenges are also pointless; anything that anyone would come up with that would meet your 'less code' metric would violate your prohibition on advanced abstraction. After all, how else can code size be reduced, other than using more powerful abstractions? There aren't too many ways, short of using shorter identifiers. (Ha ha.) Except in the case of complex algorithms, where the algorithm itself can sometimes be improved. But you're generally not interested in applications that involve complex algorithms.

I assume that one of your ultimate goals is to expose people to the TOP paradigm. Rather than challenging other paradigms, you'd be better off just providing examples, and answering questions that people might have. Direct comparisons of alternative implementations are not very useful since people differ so much on what the desirable qualities of programs are.

-- DanM

My last post on this page, I am (and have been) as fed up as anyone else. Top interests me because, while I know a great many people with a similar skill set, a disinterest bordering on disdain for "pure" or "low level" programming, and no interest or need to expand their knowledge,

A lot of biz developers spend a lot of time on education and self-education. It is just that they are not very interested in the same tools that you find nice. Most are also from the MentalStateOfMissouri.

[Sigh. I am so weak. I am a biz developer, you moron. But I am not only a biz developer, which is what makes me not you.]

Top is the only one who has all these attributes *combined* with the desire to debate with people who don't share them. I should mention that I don't think any of the first 3 attributes are bad, in and of themselves, although they don't lend themselves to skilled programming, but the last one really puts a point on things. I haven't seen any pages here where someone describes some cool technique and then tacks onto the end "By the way, this is impossible with tables, up yours Top", whereupon Top is obligated to defend his discipline. I've only seen Top interjecting that tables or collections or strings or whatever he's dealing with today are equal in power to whatever anyone is describing.

I see a lot of complaints about "arrogant Lispers/FP'ers" injecting their stuff. There is something like 4 topics complaining NOT started by me. This whole FP thing got started when I HAPPENED to spot some heavy bragging, the very kind you accuse me of making. Even the OO'ers are complaining, which is like Mussolini calling Hitler "evil". (I know I know, GodwinsLaw).

[I call em like I see em. I see you, not FPers. Maybe they all left and went home, so you should shut up now?]

I know a bunch of Access and Excel gurus, none of which know a damn thing about programming any other sense or environment, but they don't troll Usenet or Wiki looking claiming that Excel could be used to better implement something, either. -- ChrisMellon?

They leave that to the FP and OO zealots instead. The bottom line is that you ignore your own evil and magnify mine. You think your views are the default and/or center of the universe, but they are not. I might not like Excel or Excel programmers, but I am not going to belittle them without first producing a good demonstration.

[Oddly enough, not a single one of the Excel gurus I know gets email from OO zealots, not are they accosted in the street. They're perfectly happy doing what they do. Not one of them would be offended by my description, either, none of them think of themselves as programmers or language designers or any thing except a businessman who knows how to use Excel. You think that TOP, which you have shown absolutely zero working, live, tested code for,]

Do you mean examples? Challenge#6 is runnable code.

[is all hot shit and compares equally to every other paradigm out there, to the point where hybrid paradigms are just as blasphemous as anything else. You argue and argue and argue from ignorance, expecting everyone else to educate you from raw principles, and simultaneously rejecting any information that's at odds with your preconceptions. You regularly mischaracterize and otherwise throw up strawmen.]

No, it is YOU. I have documented several cases of youses above mischaracterizing my opinion. How many times do I have to keep presenting evidence for your screw ups? You don't even apologize. You are so biased as to dismiss your errors and magnify mine to be mountain-size. You are so full of double standards.

[You play both sides of *every* logical fallacy out there.]

Bullshit. My logic is sound.

[HOFs are only of minimal usage in rare circumstances, but it's worth rewriting an app to store all it's data in tables just in case the developlment team needs to handle billing at some point in the future.]

Managers ask for different things from the data in my experience. This is an accurate description of the world as I observe it. Maybe I am delusional and just imagined all those last-minute requests that resulted in my leaving the office late.

[You don't want to see code, but you demand specific examples. You're unable to generate a mental abstract of requirements from a short description,]

Hey, you guys complained that example #6 was poorly documented even though it looked pretty strait-forward to me.

[but expect everyone to swoon over your 8 line schemas. When all else fails you toss out the whiny "poor me, why am I so persecuted?" card. You aren't persecuted, you're just disliked. I don't know any of the other posters on this page, I've never met them, there's not #wehatetop IRC channel we all plot our attacks in. I became involved in discussions with you out of a genuine desire to (depending on the page and topic) either educate you about a question you were asking, point out an inaccuracy in your statements, or to request clarifiction on a claim you had made. Your behavior, and nothing more, has brought me to the point where I have a severe personal dislike for you. You might ask what it is about yourself that can take someone with zero previous experience with you to that point in such a short period of time. I suspect my story is not unique.]

People often end up hating people they disagree with. I already explained this.

[Last point: There's a common maxim in lots of fields, from athletics to deportment to science. It goes something like this: Rebel from knowledge, not from ignorance. Learn the common, "correct" way first. Learn how things are done now, and become skilled within that method. Once you're skilled in the form, you have the knowledge of how to break the mold and perhaps lead the way to new territory.]

That would just create a higher and higher pyramid that is purposely kept high to protect holy turf from the onslaught of scrutiny. "We won't listen to you until you master our 5000 volumes of bullshit." Nice trick. The grandest of self-fulfilling prophecy.

Kind of an annoying sort of Socrates, isn't he? Knows nothing when he talks, knows everything when you talk.

That's right. You are good and smart and I am dumb and evil. Life is simple. -- top

How can you discuss with someone

Moved discussion to BusinessSystemsAnalysis.

Moved from TrollColoredGlasses:

Top says, "Produce hard evidence, and I will go away."

Someone else responds, "No you won't, you'll ignore it and pretend it never happened or was never shown."

Is this evidence of trollmanship, or just plain stubbornness? Should we be a little less apt to toss the T-word around? Patience called for, methinks.

I've seen the evolution of Top's posting in real time, where he starts with a standard neutral piece of his continuing Socratic dialog ("tell me this, I just don't know, show me that evidence, I can't see it...") and then minutes later, adds wholly gratuitous remarks to the same sentence that are nothing but snide and inflammatory. This is, dare I say it, objective evidence of trolling. Fact is, there's nothing better to do on this wiki than do battle with this CompellingVillain, so I suppose he'll continue to dominate discourse here even with some who actually see his trolling.

Are you saying that he commits an edit where he has only added reasonable dialogue, and then minutes later edits his previous edit to include inflammatory remarks? That is quite strange. If it was just plain trolling, I can't imagine why he wouldn't put the inflammatory remarks in the first commit.

I'm saying exactly that, yes.

I honestly never recall doing this. I sometimes edit my comments to add details, but never JUST to add insults. These accusations are rather strong and I am personally offended by them. For the record, I adamantly deny ever intentionally doing such. Perhaps it was somebody else trying to make me look bad, or just a misunderstanding. All these "wiki urban myths" are popping up about me.

Once I put a nasty message in Costin's personal page on a line by itself, and then removed it in the morning after I decided against it. Is this what you mean? It is the opposite though: subtraction, not addition. However, it does bring up the question of what is the proper protocol for changing my own replies in the middle of threads. Should one mark it as changed? Is there a standard wiki flag for that? -- top

I compose my replies online, over several edits. Often, I add more attacks to my reply but the number and severity of actual insults always monotonically decreases over time. Revised replies are always calmer and less inflammatory, and almost always more elaborate and accessible. This is why adding insults over the course of a multi-edit reply seems distinctly sociopathic to me. It's an extremely serious charge and I simply don't believe it. -- RK

From SelfStandingEvidence:

It would be interesting to see Costin or anybody "prove" that relational is objectively better than navigational. I like relational, but I am not prepared to say it is objectively better. My evidence mostly depends on psychology assumptions, and thus is technically subjective.

The relational calculus is considerably better established and understood than the SigmaCalculus or the other various formalisms for OO; thus, formal reasoning about RDBMSes is fairly straightforward for those who study it, while OO formalists are still largely trying to agree on their terminology. However, that does not necessarily imply that RC is a better design approach in actual practice; after all, lambda calculus is even better established, covers a much wider field of study than RC, and is the lingua franca computation theory, but programmers haven't exactly flocked to the FunctionalProgramming banner even for those aspects of software where it is demonstrably superior. -- JayOsako

Well, that is the key: "actual experience". It is nice to have a lot of ways to reason about combinations of the base axioms of concepts, but that alone does not make it useful. Perhaps it is a necessary requirement, but not a sufficient one. Somebody can probably make a bunch of math out of most of the EverythingIsa's if they spend enough time playing with them. -- top

You may have a point. After all, MemTheory? and CalculusOfIndications? both frequently send classical mathematicians screaming into the night, but IIRC both of them have been proven to be TuringEquivalent computation models... hell, GameOfLife is TuringEquivalent, for that matter. -- JayOsako

Re: "hell, GameOfLife is TuringEquivalent"

That has gotta make for some odd source code, along the lines of reading BrainFsck.

Actually, GameOfLife implements simple NAND gates and memory cells using dozens of cells. So it's beneath even machine language.

I think, this page should be cleaned up, probably >90% deleted.

''It could serve as a sample and/or warning for anybody who wants to bring up a series of similar charges in the future. However, perhaps it is TheAdjunct material.'

TopMind is a Usenet troll who would like to be thought of as a "controversial personality." His current preferred groups appear to be comp.object and talk.origins where he recently (April 27, 2006) claimed "Perhaps I am delusional, but from my shoes it appears I win or draw about 90% of all key arguments." The consensus of objective observers is "delusional."

I get a fair amount of emails that thank me and encourage me to take on the status-quo when I see problems. A.K.A. "fan mail". Are they also delusional?

Ah yes, the great mass of supporters willing to send you email but otherwise completely undetectable.

Interesting, isn't it, that your detractors are more than willing to post publicly and yet only you hear from your defenders.

TopMind appears to be a classic instance of FerrousCranus? (from the Flame Warriors list at http://redwing.hutman.net/%7Emreed/index.htm):

"Ferrous Cranus is utterly impervious to reason, persuasion and new ideas, and when engaged in battle he will not yield an inch in his position regardless of its hopelessness. Though his thrusts are decisively repulsed, his arguments crushed in every detail and his defenses demolished beyond repair he will remount the same attack again and again with only the slightest variation in tactics."

In InternationalUiExample, you created a table-based solution to a task you by your own admission had never done, then were conclusively refuted by people who had done it (and done it professionally, not just a toy example). Those who had done it used flat files, never tables, and never an RDBMS. When challenged, your answers were a classic example of MovingGoalPosts. To everyone except those who rhinohide, it was a clear-cut knockout. You were crushed in every detail.

TopMind has expressed a desire that his identity not be explicitly revealed here, in order to prevent potential employers from knowing his true technical opinions. This should be honored because as a long standing participant who is universally known as "Top", he clearly falls into the tolerated exception category. There is nothing to be gained by trying to "out" him, especially as he's asked to remain pseudonymous, and his real name -- should anyone care -- is relatively easy to find.

No. You're already hiding, badly, behind a pseudonym to prevent potential employers from finding out pertinent information about you. There is no justification for hiding information about yourself from other netizens.


Moved from TopMind

TopMind is a Usenet troll who would like to be thought of as a "controversial personality." His current preferred groups appear to be comp.object and talk.origins where he recently (April 27, 2006) claimed "Perhaps I am delusional, but from my shoes it appears I win or draw about 90% of all key arguments." The consensus of objective observers is "delusional."

TopMind appears to be a classic instance of FerrousCranus? (from the Flame Warriors list at http://redwing.hutman.net/%7Emreed/index.htm):

"Ferrous Cranus is utterly impervious to reason, persuasion and new ideas, and when engaged in battle he will not yield an inch in his position regardless of its hopelessness. Though his thrusts are decisively repulsed, his arguments crushed in every detail and his defenses demolished beyond repair he will remount the same attack again and again with only the slightest variation in tactics."

TopMind has expressed a desire that his identity not be explicitly revealed here, in order to prevent potential employers from knowing his true technical opinions. This should be honored because as a long standing participant who is universally known as "Top", he clearly falls into the tolerated exception category. There is nothing to be gained by trying to "out" him, especially as he's asked to remain pseudonymous, and his real name -- should anyone care -- is relatively easy to find.

Please take complaints about TopMind's debate style to ObjectiveEvidenceAgainstTopDiscussion, and complaints about RealNamesPlease to PseudonymityAndHonesty, where it has already been discussed in detail.

No. You're already hiding, badly, behind a pseudonym to prevent potential employers from finding out pertinent information about you. There is no justification for hiding information about yourself from other wikizens.

What a bizarre approach to privacy you have. There's no public interest in exposing his identity. As far as I can tell, you're only doing it as a (rather pathetic) attempt to do harm; "I disagree with your views/approach so I will reveal your identity despite your expressed wish otherwise" is just plain rude. --AnonymousDonor
This has got to be one of the most useless, totally content-free pages on C2. Why do any of you care?

Because the issues have a tendency to keep reoccuring. It is better to keep them in a side topic ("discussion" page) than to keep reinventing the wheel. If the same issues start brewing, this acts as a been-there-done-that page.

The "issues" are meaningless. Don't feed the troll.

Fortunately for the world, you are not the sole god of "meaningless" judgement.

[I (MartySchrader, and not afraid to let the world know my identity) would like to know who this clown is so that I can avoid him in professional circles. I'd prefer not to get on to a gig and then find out that the IT side of the house is run by a paranoid, delusional, egocentric, melodramatic nitwit who has no clue about modern software development schema and thinks the software development universe revolves around him. The two things I absolutely can not tolerate in a business environment are incompetence and bullshit. Topper satisfies both of those conditions, so I would like to know if he is there up front so I can turn a gig down.]

Just avoid people who ask difficult questions and aren't afraid to take on others' HolyCows. Stick to comfortable ArgumentFromAuthority. --top

{If you were to actually "take on others' HolyCows" with compelling evidence and persuasive logic, you might be onto something. From the readers' perception, however, you merely quibble. Whilst you and the farmer bicker, the HolyCows stand chewing cud, placidly unthreatened.}

I cannot do that because ProgrammingIsInTheMind, and every mind is different. You should have known that about my position if you bothered to learn. Software is a tool to communicate between humans and computers; and how best to communicate varies per individual's WetWare. The computer doesn't care how software is organized, it just follows literal instructions like a savant. The difference maker is on the human side, not the machine side (outside of performance issues). I don't claim my pet technologies are "objectively better", only that nobody can show them objectively worse. If people imply something is clearly and objectively better, I will hold them to it, even if it irritates them so much that they call me nasty names. Complaints about OOP, such as the ones I have been making, are now becoming recognized by the industry and OOP is falling out of favor as a primary GoldenHammer. --top

{Your response almost entirely sidesteps my point. The only one here who has consistently and persistently claimed something is "clearly and objectively better" is you, about TableOrientedProgramming. The remainder of us tend to be much more objective.}

That's a fat falsehood. I'm tempted to call it a "lie", but perhaps you are just confused and dazed or blinded by irrational hatred.

{No, I certainly don't hate you. I find it difficult to hate what, from my point of view, is merely text on my screen. I'm simply reporting what I've observed -- and what others have observed, apparently, given the very existence of this page.}

I deny I claimed TOP was "objectively better" ANY time in the last 5 years. I have been falsely accused. (I may have held that view a long time ago before I realized that programming is mostly about WetWare and not objective properties of the universe. However, I am not aware of any such claim remaining on this wiki, and if it is, it is very uncommon.) -t
I think the main reason why many hear don't like my content is that I include a relational/TOP point of view in just every key topic, and some don't want to hear it. There are at least 3 possibilities and sub-possibilities why they don't want to hear it:

A long and winding debate that I don't chop things up small enough and my I preference for dynamic or weak typing violates some fundimental rule of the universe. --top

No, you said "but that is getting full" and you created this module. I was congratulating you for creating another module - as apparently you didn't realize that by seeing a page was full and moving it here, you were using modular techniques. You always take things as an attack, don't you? And strong static typing is not a feature that modular programming requires - although it helps to clarify specifications with an interface in each module, which is easier to do with a more declaritive type system.

"Clear writing" is at least as important as "modular writing". That bullet was not clear.
topical in MayZeroSix (together with all the other TopMind pages) and MarchTwelve

See also: IsTopTheNewRichardKulisz
CategoryDiscussion CategortMetaDiscussion?

View edit of January 27, 2014 or FindPage with title or text search