|
I'm out of school for a while. Ivy Tech had issues keeping track of student data. After they lost my data for the sixth time in a month, I dropped out and left (as did about 90% of the rest of the students).
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
They all missed the first "deadline" for their thesis so they're graduating in August/September on the last possible day that could still be counted as not being the next year.
|
|
|
|
|
hypotheses:
1. "new graduates" can be brainwashed/socialized/manipulated to extreme working hours ... for the same pay ... more easily; they are "pliable," and less likely to create "issues" for management.
2. immigration is increasing the number of potential employees who will work for less
3. the number of jobs is shrinking for a variety of reasons including macro-economic factors, the increasing prevalence of using sub-contractors, etc. as a way to avoid companies paying for health-care or any other benefit.
«I want to stay as close to the edge as I can without going over. Out on the edge you see all kinds of things you can't see from the center» Kurt Vonnegut.
|
|
|
|
|
Senior? Junior? They're all worth paying the same as they both solve problems the same way;
"How to convert page to PDF? Give me codes it's urgent."
|
|
|
|
|
== "Recent graduates who don't have the skills required by more reputable employers and are now so desperate for any job that they'll work for peanuts."
|
|
|
|
|
Drop your innocent-coder killing knifes.
Okay,
When the whole world knows making "+" to concatenate strings does things less efficient than using string-builder, why not the compiler by itself optimize this with string-builder internally?
Compiler folks leave these options open for real men to exercise their performance tuning muscles?
Converting "+" concats into stringbuilder is becoming a standard item in code-review menu.
Slackers in my team love to do these no-brainer optimizations.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
string concatenation ain't that bad...
it's when the number of concatenation is random that it's bad (across multiple statement.. worse, with recursion or loop!), multiple temp object are created and buffer values copied again and again.
but a simple
string s = s1 + S2;
is fine!
i.e.
string s = s1 + S2;
is no worse or better than
StringBuild b = new StringBuild();<br />
sb.Append(s1);<br />
sb.Append(s2);<br />
var s = sb.ToString();
but this:
var s = s1 + s2;<br />
s += s3;<br />
s += s4;<br />
is equivalent to
StringBuild b = new StringBuild();<br />
sb.Append(s1);<br />
sb.Append(s2);<br />
var s = sb.ToString();<br />
sb = new StringBuilder();<br />
sb.Append(s);<br />
sb.Append(s3);<br />
s = sb.ToString();<br />
sb = new StringBuilder();<br />
sb.Append(s);<br />
sb.Append(s4);<br />
s = sb.ToString();<br />
which is much obviously worse that
StringBuild b = new StringBuild();<br />
sb.Append(s1);<br />
sb.Append(s2);<br />
sb.Append(s3);<br />
sb.Append(s4);<br />
s = sb.ToString();<br />
and there is no way to optimize that out....
or you have to do like a human, look at the meaning of the code and rewrite it in a different way with same meaning, not sure compilers go that far yet...
particularly when there is extraneous code in between these string concatenations....
modified 9-Oct-15 2:06am.
|
|
|
|
|
Super Lloyd wrote: and there is no way to optimize that out....
That's not quite true. Depends on what kind of analysis is performed. The case you illustrated looks as if each satement was simply transformed into ints StringBuilder equivalent. Multiple pass AST analysis could indeed produce the final result. (I'm not sure writing that code would be worth the effort.)
Cheers!
"I had the right to remain silent, but I didn't have the ability!"
Ron White, Comedian
|
|
|
|
|
Manfred Rudolf Bihy wrote: (I'm not sure writing that code would be worth the effort.)
|
|
|
|
|
OK, ok, you might be right!
I do wonder, sometime, how far the fabled "compiler optimization" go!
I know about function inlining, dead code removal, and rewrite 1 mathematical expression...
Not so sure about rewriting the function completely like you suggest though... decompilation snippet across the web don't mention them!.....
|
|
|
|
|
The examples you've given deals with a proper variables.
How about temporary string buffers?
Here is a case that demonstrates the goodness of StringBuilder
string returnNumber = "";
for(int i = 0; i<1000; i++)
{
returnNumber = returnNumber + i.ToString();
}
String Vs StringBuilder (C#)[^]
I felt these cases can be picked up by the compiler and optimize it automatically with SB.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
It's better to keep the compiler independent of the framework, otherwise you will end up with a dead end full of dependencies in both directions.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
Vunic wrote: Slackers
Let's not put all the blame on the Slackers.
|
|
|
|
|
|
I haven't read any of Jeff's posts in quite a while. I think I will catch up a bit in my down time.
Also, Jeff used to be a member of this site before he became famous with Stack Overflow. I don't think he was very active though, here at CP.
|
|
|
|
|
391 lousy ms? That's why I'll never understand Java, .NET and web programming. 391 ms means 3 - 9 products passing through a point of a production line; In any real time or high throughput system 391 ms are long as an eternity in Hell.
GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver
"When you have eliminated the JavaScript, whatever remains must be an empty page." -- Mike Hankey
|
|
|
|
|
Apples to oranges. Production lines don't have software that do 100,000 iterations of string concetinations.
|
|
|
|
|
I'm not criticizing you for posting here, but I'd prefer to see questions like this posted in the C# forum. While the C#forum ... imho ... has changed stripes several times over the years, it once was a place that substantial technical discussion occurred on C# language issues, not just an auxiliary QA which it often is now.
I keep wondering about what happens under-the-hood, and about the efficiency of, using string.Format:
string.Format("blah {0} blah2 {1}", "blah-blah", "blah-blah-blah");
cheers, Bill
«I want to stay as close to the edge as I can without going over. Out on the edge you see all kinds of things you can't see from the center» Kurt Vonnegut.
|
|
|
|
|
|
Thanks for the link !
«I want to stay as close to the edge as I can without going over. Out on the edge you see all kinds of things you can't see from the center» Kurt Vonnegut.
|
|
|
|
|
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
I was about to focus more on the slacking part, but end up raking some technical talk.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
Java compiler actually does it automatically nowadays. C# one doesn't, AFAIK.
But of course, if you care for performance, use a real programming language
|
|
|
|
|
You've been the man , may be for more than a decade now. lol
The replies always had some info I never knew about.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
Vunic wrote: When the whole world knows making "+" to concatenate strings does things less efficient than using string-builder
Aaaaaand the whole world is wrong [for making a sweeping generalisation*]:
Jon Skeet investigates[^] - for C# at least.
Oh and
string foo = "bar" + "baz";
compiles down to the same thing as
string foo = "barbaz";
more or less.
*Irony intended.
|
|
|
|