Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: blmblm@myrealbox.com Newsgroups: comp.lang.java.programmer Subject: Re: StringBuilder Difficulties Date: 2 Jul 2011 18:33:52 GMT Organization: None Lines: 139 Message-ID: <9796kgFoijU3@mid.individual.net> References: <6cqp07tiug2nu8u6ififvvek1694fkpfi1@4ax.com> <976q3jF3etU2@mid.individual.net> X-Trace: individual.net MOA4H5F/elNyT5NzhxwonALtUk+ktdjjcaqBtjglty7ywkeQPv X-Orig-Path: not-for-mail Cancel-Lock: sha1:o/ljK4LdFWlZ5Rn+Y9QgNlNiHsQ= X-Newsreader: trn 4.0-test76 (Apr 2, 2001) Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:5822 In article , Gene Wirchenko wrote: > On 1 Jul 2011 20:47:47 GMT, blmblm@myrealbox.com > wrote: > > >In article <6cqp07tiug2nu8u6ififvvek1694fkpfi1@4ax.com>, > >Gene Wirchenko wrote: > >> On 30 Jun 2011 20:30:00 GMT, blmblm@myrealbox.com > >> wrote: > >> > >> [snip] > >> > >> >A general comment: I'm inclined to agree with the people who are > >> >saying that in general it seems like you're trying to write [name > >> >of your favorite language] programs in Java, and in the long term > >> >that seems less optimal than trying to grok the Java mindset. > >> > >> My mindset is that I want to get my work done. I do not care > >> about the Java mindset except as it helps me get my work done. > > > >Yes, and if you were going to do a lot of programming in Java it > >would seem to make sense to adapt to the local customs, so to speak. > >Not to do so seems to me like fighting with your tools, which, well, > >I do it too sometimes, but it does get in the way of getting stuff > >done. > > My tools include manyyears of experience programming. I do not > think that Java is such a precious snowflake -- the same is true of > any language -- that I should have to throw all that experience away > in order to use the language. As another poster has responded, I'm not convinced that's what you're being asked to do (though you obviously feel otherwise). It seems to me that one of the things one learns from doing a lot of coding in a lot of languages is recognizing when something is the same as what you've done before, just with different syntax, and when it's different. > >> >I think part of it may be struggling with the object-oriented > >> >paradigm, but part of it may just be coming to terms with the fact > >> > >> No, I am experienced with OOP. > > > >Huh. Well, with all due respect .... > > > >I'd have said otherwise given that all of the variables and methods > >in your TimingTesting program (the version I tried revising) seem > >to be static (except the local variables). I'm also puzzled by why > >that program duplicates so much code, when you could have factored > >out the parts that are different using objects-as-code-wrappers. > >But maybe the O-O languages you've used before don't make you do > >that, and adapting to that particular Java idiom seemed not worth > >the trouble. > > Oh, I asked about that. One apparently can not pass a function > pointer parameter as in C. The ways that were posted involved lookup > every time AFIACS and I judged that it might swamp what I was > measuring (checking if a character were in a set). So, to my chagrin, > I had to go with cut-and-paste. Without experimenting to find out, of course .... It seems to me that virtual method invocations are so common in Java that they would be well-optimized. But if you want to claim that the code you eventually hope to produce won't have one, well, yeah, that's true, so maybe it matters. Then again, wouldn't a similar argument apply to C with function pointers? Maybe not. I don't seem to be able to think this through as carefully as I'd like. Anyway, I was curious, so I ran your code and my revision [1], and the results were -- surprising [2]. I noticed, by the way, that all three of your parse methods make a call to SequentialSearch, assigning the result to a variable that apparently isn't used. Thinking that *might* be a mistake, I also tried your code and my revision with that possibly-extra call removed. [1] Message-ID: <96k6atFt60U2@mid.individual.net> [2] I tried this on several different systems, all Fedora Linux running Java 1.6.0_21 but different hardware and different releases of Fedora. I was going to include results here, but in trying the experiment on additional systems I'm less and less convinced the results would mean anything without my putting more effort into it than I'm up for. (Usually when I'm timing something I try it twice, and if results are close enough I don't bother with additional trials. In this case results of two trials were just different enough for me to think I'd need to do more to get meaningful results.) Briefly, though .... : Your code was fairly (but not 100%!) consistent in showing treeset-based search to be fastest, followed by binary search and then sequential search, though sometimes the difference between sequential and binary was small. My code was -- well, this is where it's surprising. On most of the systems where I tried it, treeset search was fastest, but sequential search was faster than binary search; on one system, however, the order was as for your code. Your code was pretty consistently faster than mine, though usually not by a lot (less than 1%). > >> >that Java is, as I think Patricia Shanahan said not long ago > >> >(possibly in another thread), that Java is just plain verbose. > >> > >> Well, I posted about the verbosity earlier and got flak over it. > >> > >> >But I have some sympathy with the desire just to get something > >> >running: I spent a number of hours a while back trying to teach > >> > >> And without having to buy into a language religion. > > > >Hm. I wouldn't say that adapting to local customs constitutes > >buying into a language religion. YMMV, I suppose. > > Some of the posters have been quite vociferous about it. I've noticed a certain amount of, oh, "contentiousness" maybe, on both sides. Sort of a :-), sort of not. (Aside: I recognize your name from alt.folklore.computers, where you seem, oh, much more mild-mannered. Hm.) > >> >myself some Scheme and in the process trying make it conform to > >> >my strongly-typed-languages-trained mindset, and I'd probably > >> >have done better to get a good introductory book and try to grok > >> >the no-types(?) mindset. (Maybe I'll try again at some point.) > > I am pretty much past the intro stage and into the pain stage > where there is not so much help. That people are not willing to offer further help when many of their previous suggestions have been rejected should not be a total surprise. -- B. L. Massingill ObDisclaimer: I don't speak for my employers; they return the favor.