- Feature Articles
- CodeSOD
- Error'd
-
Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
I'm sitting here trying to figure out what language that is supposed to be in!
I'm sure someone geekier-than-I has the answer to that. [:D]
Admin
Aside from the usage of the single equal sign as both an assignment and logical operator, the thing that is bugging me the most is how it uses the curly braces to indicate which code is assocaited with the "if" versus the "else", yet has an "end" statement after all of that!
I'm probably just thinking too much about this - it was written by a marketing type, not a programmer.
Admin
Idiots -- the com() method of the Dice class ALWAYS takes parameters. And why are they trying to set threshold to salary_sucks in the first place? Is up a method or a property? What happens to the valueof up? Does it increment every time the property is called? I don't get it.
Admin
It's nice of them to tell us what our threshold is, now the only question is whether salary_sucks is nonzero. I have to know so I know what to do!!
Admin
<font style="BACKGROUND-COLOR: #efefef">Why is there an = after a goto?
Didnt Dijkstra say that gotoless programming was the way "to go" anyways?[:O]</font>
Admin
wait ... is salary_sucks a boolean ? so thresold must be a boolean too . huh? what is goto? it's being assigned to dice.com(), but what does that do? suck.it.up -- why does dice.com() have closing parens but not suck.it.up?
I must be a sh*tty programmer if I can't figure this out ... there's no way I can compete in the job market if I can't understand this! [:(]
Admin
i think the WTF is that the idiot is assigning to a goto statement... i mean, like, wtf?
Admin
I think dice.com just invented their own language, CJavaBasic++#.
Admin
Marketingese
Admin
Yeah, but the worst part is they didn't even indent the code correctly.
Admin
<font face="Times New Roman" size="3">So I can only get a new job if “threshold” exactly matches “salary_sucks”? Damn.. I guess Im going to be here for a while then. </font>
Admin
Ignoring the Marketing++ code entirely... I love how they used an underscore instead of a period at the end of "Don't miss out on thousands of tech jobs". I know it's supposed to be the computer's cursor, but... jeez, it scares me.
http://www.penny-arcade.com/view.php3?date=2004-11-03
Remember to use Mr. Period!
Admin
Following your lead and looking beyond the code, I also notice that the initial opening curly brace (as well as the underscore at the end of the "Don't miss out..." sentence both lack the nifty paintbrush effect underneath the text.
I have waaaaay to much time on my hands.
Admin
I've got to start cramming for the new wave of CJavaBasic++# jobs.
Admin
Admin
I've always preferred CJavaBasic++#Script, myself...
Admin
Argh. Quoting a quoted message not working right. I know it's been posted about already, but I had to whine.
The above message should have added: "It's called VISUAL CJavaBasic++#, don't you folks know anything?!"
Admin
Well, the Development Environment is, but the language is just CJavaBasic++#, which is good, because it's easier to say... [:|]
Admin
Looking at the logic that the ad tries to communicate [even if they code it in such a way that wouldn't work even if their syntax was right]: "if your salary sucks, goto dice.com [presumably to look for a better paying job], otherwise suck it up."
In other words, if your salary doesn't suck, you should suck it up. that makes sense.
I think the confused group effort that produced this sorta', kinda' wanted to say, "if your salary sucks, you have the choice of going to dice.com or sucking it up [presumably you can't get a better salary any other way]."
Alex, you're right, this thing has so many levels of WTF.
Admin
Sorry, it's not actually CJavaBasic++#. It's the magical "do what I mean not what I say" language that way too many people are starting to use. It's a relative of the "read the user's mind" language.
Admin
Actually, the intial = makes sense - it's saving the value of salary_sucks in threshold, presumably so that next time you check your salary you'll know if it's improved or not. It should be commented, though, because this use is really unclear. (In fact, it should just be split into two statements, since nobody expects the single statment set-and-test outside a while loop.)
Admin
This is not just wrong, this is deeply wrong.
Admin
I also like how suck.it.up is apparently a statement without a side-effect, since it simply evaluates to the value of the member (or the pointer to the method).
Admin
Scott, have you never invoked System.Inputs.getUserIntent() or used System.Program.setRuntimeState(System.Program.IgnoreBugs)? (There are java equivalents in the org.underappreciatedprogrammers.makeitwork package.)
Admin
Maybe this is a preview of c pound pound?
Admin
Same topic for the ad, but much more successful I suppose, because no nerd really cares what language this is as long as it does what it's told.
http://www.stud.ntnu.no/groups/gutta/getStringFromObject().jpg
Regards, Lothar
Admin
What this is is great marketing... Even:
if (I_where_the_best_programmer_in_the_world) {
/* Which I know I'm light years behind from being so /
if (given_same_task) then
/ By that I mean, having to write up something like that */
I would write it just like that, maybe even add some even more obvious errors;
end if
}
Why? Because people will remember it! People will talk about it, they'll pass it along, be curious and maybe even send email to them trying to get more info... And in the end... isn't that exactly what great marketing is all about???
-oscart
Admin
Admin
This reminds me of the movie "Anti-Trust", which is a movie about some supposed kick-ass programmer who goes to work for a big microsoft-like company. It attempts to be about this hard core programmer, yet the "code" used in the background of the opening credits to give a programmer-like feel to the movie is HTML! WTF!? [:|]
-Ryan
Admin
Language is Visual Java##.Net
Admin
Admin
Why doesn't my code formatting and answer appear properly??
Pseudo code.
Admin
Let's attempt to rewrite that in a way that makes at least compiling sense (C):
if(salary < minsalary) {
goto dicecom;
}else{
suck_up(it);
}
Hey, while I'm here, I felt like asking - why is this site such a corporate whore? I don't mean that as an insult, really - but everything here seems to somehow focus on commercial development, especially to do with Microsoft's 'languages' [sic] and so on. I feel that's a WTF in itself, ignoring that there is lots of stupid-ass code in the open source world, especially that it's easier to find given you don't have to be a maintainer to see it.
Not entirely code, but I once remember seeing (in the FOX toolkit's autoconf script) the flag "--enable-cups" with a comment of "Compile without CUPS support". I never did figure out if --enable disabled or enabled it.
Admin
Admin
Yep, my first question was also not quite WTF, but What The Language is it, but after some 1 minute of thinking I got it: they offer a job of code-rewriter. Their project manager writes a crap-style code (like in the ad) and you have to make it a good C++/PHP/J# or whatever is necessary.
Nice one, anyway :-)
P. S. Assigning to "goto" is a winner, to me :)
Admin
I am sick and tired of people checking in code they haven't even bothered to put through the compiler first!
...and now some innocent ad-agency has to pay for it. sheez.
::Ludvig A. Norin
Admin
The thing that astounds me, is that they are trying to put themselves out as a good company to get programmers jobs. Now, to do this, you have to understand the market, and a bit about the technology. Otherwise everything your clients say to you confuses you and you put people in shit jobs.
THEN they show their ignorance in a blaze of publicity...
Well, when working on open souce code there is much less WTF as more skilled people do Open Source. Shit programmers code for money, not interest. Open Source developers code for interest. Thus the quality in OS code is far higher. Shit code doesn't last for long as another developer will find and replace it pretty soon.
Wheras, the drones who work for salary and have no talent or skill. The people who got into IT when it was in boom as a good way of earning lots of money. The people who make our daily working lives hell... produce WTFs at an average rate of 3.4 a day.
Admin
Here are all of the errors we've found collectively. The most depressing part of this is that whoever wrote this code is employed, while I suspect a lot of the people critiquing it on here aren't - cold irony.
1. Using the = sign as both an assignment operator and comparison operator
2. Performing an assignment inside an if statement
3. Assigning a value to goto
4. Performing a statement without effect in suck.it.up (should have parens if it is a function or assigned to something. Instead, it's used as a variable, with no effect).
5. Improper indentation
6. end statement without begin, or use of end statement and braces is redundant
7. Lack of dice.com tag above tagline OR if variable, unused variable 'goto'
8. Unnecessary use of braces for one-line conditionals
9. Lack of proper commenting
10. Illogical pun on the word 'it' in suck.it.up
Admin
I think the confused group effort that produced this sorta', kinda' wanted to say, "if your salary sucks, you have the choice of going to dice.com or sucking it up [presumably you can't get a better salary any other way]."
Wow! That makes sense. I mean the code doesn't say that but it makes sense that is what they may have meant by it.
It's too bad that the designers and marketting people don't realize that often developers are used to thinking in a strict way when it comes to expressing ourselves with code. The result being adverts that make the target market go "WTF". Well at least I thought I was the target market but maybe not.
Admin
Okay so in my last post I put BR and I tags. I originally did not but when I checked the post with the "Preview" the newlines did not appear so I added the tags and the post was displayed as I expected.
Now for some reason the actual post visable on the board displays the HTML tags as if I ment for them to be seen and not interpreted. Is there a setting for this somewhere?
Admin
I'm going with Perl as the guess on the language - but a hacked build of Perl where goto returns an lvalue and end is a parameterless subroutine.
Admin
No faith, guys! This is perfectly good Perl - just one little typo.
First, here's the contents of Don.pm:
<font face="Courier New">package Don;
sub t { "t" }
1;
</font>
Second, here's the complete listing of the dice.pl script. The only typo in the ad was replacing the + after goto with an =. To be fair, they're on the same key - the copy editor must have let go of the Shift key too early. But the bug is easy to catch, as the interpreter clearly states
<font face="Courier New">Can't modify goto in scalar assignment at dice.pl line 16, near ");"</font>
Anyway, here's the listing of dice.pl, which needs the path to Don.pm to be in @INC. Run it for the payoff!
<font face="Courier New">use Don;
sub end { }
if (fa . lse)
{
dicecom: die "found job";
}
my $threshold;
sub threshold : lvalue
{ $threshold;
}
sub com { "com" }
if (threshold = salary_sucks) {
goto + dice.com();
} else {
suck.it.up;
}
end
Don't miss out on
thousands of tech jobs_
;
</font>
Admin
Yeah, yeah, yeah...
Have any of you bitches actually seen the spec?
Admin
Wait - I've got it. This is actually a dialect of Forth. Let me explain:
The if ... else ... end statements here work like the more standard if...else...then in Forth, popping a condition off the top of the stack to test; presumably the end was created as an alias by someone whose brain itches every time they see stuff like condition IF what-to-do-if-true ELSE what-to-do-if-false THEN. Perfectly reasonable. Evidently (threshold is a synoym for the usual ( comment word, so everything up to the closing parenthesis is a comment. The braces may be some kind of expression subparser, or perhaps this is a version of Forth that supports closures, a la LISP and Python. The equal sign there appears to be comparing the second-to-top value on the stack (remember, the top was consumed by the if statement) with the results of a function called goto. What the other words - goto, dice.com(); and suck.it.up; mean, I don't know. But if you want to translate this highly idiosyncratic Forth program into a C fragment, it would look like this, minus the closures (I don't speak Python, sorry):
function dice(int condition, int value) {
if (condition) {
dice_com(goto_fn() == value);
} else {
suck_it_up()l
}
}
What could be simpler?
Admin
what it means is: if you code as bad as this, we'll still get you a job!
Admin
Just to be terribly pedantic, it's complEment, not compliment. [;)]
Admin
Ahhh... I wondered what the equivalent of on error resume next for C# was. Now - I'll go and read up about that System.Program.IgnoreBugs constant. Thanks!!! [H]
Admin
Yeah, what a WTF. This ad's graphic design truly is subpar...
Admin
I suspect that the good folks at Dice.com (for which read Dice.us) are indeed trying to avoid using anything that is recognisably one language or another, for fairly obvious reasons. The fun thing about it is that we all understand exactly what they are trying to say. The communication is very clear, so 10 out of 10 for CJB++#. All we need is a working compiler and some less trivial examples and we've got a winner.
Admin
<font style="BACKGROUND-COLOR: #efefef">Hmmmm, sounds like the same sort of thing as the recruitment company that said I might be unsuitable for a web position ( 8 years web professional with dabbles in all major architectures - list of languages on the CV with years experience), because I hadn't put HTML.
These guys really have no clue whatsoever! </font>