It really fits my mood.
The problem with compsci is all the people going into it who just plain don't know what they're doing. A lot of them are going in for money, a lot of them are going in because they're told it's good, a lot of them are . . . actually, I have no idea, they don't seem to like it, they don't really care about the money, and they're sure lousy at it. This particular one is having trouble grasping the idea that programs have to run linearly. (I've had this problem before. People who see no trouble with the code "x = input(); print( y ); y = x * x;" because it's "obvious" what order things should be done in.) No, now it looks more like he's having trouble with the concept that C++ compiles linearly. (Unlike Java, everything in C++ must be declared before it can be used. EVERYTHING. Which ain't nearly as hard as it sounds.)
Anyway, the result is a phenomenal number of people who are just plain lousy at programming . . . an absolutely mindboggling number of them. The people who say the tech market is drying up don't realize the truth - it's just being flooded with dead salted fish, and it's hard to see the water because there are all these stinky fish in the way. (okay, so I failed Analogies 101. So sue me.) There's still plenty of room for *good* people, it's just that so many of the graduated "programmers" aren't good, and so many colleges can get away with it because . . . I don't know why. Maybe it's because some of them have guaranteed hiring locations due to alumni, so they can make outrageous claims like "90% of our graduates immediately get hired by multi-million-dollar companies!" ignoring the fact that said multi-million-dollar company (note the singular) is actually owned by one of their alumni, and 99% of those new employees get sacked within the month when it's discovered they don't know their pointers from a hole in the ground.
And that isn't helped by the number of programmers who a) claim they're good, b) know they're good (and are wrong), and c) *are* good but are totally impossible to work with because they know the One True Way of programming. Yes, the One True (whatever) is a common situation in tech. There are at least two One True Text Editors. And I think we're up to four or five One True Operating Systems at this point. (This is the basis behind that Comic that People Won't Understand I posted a while back, btw.)
And there aren't such things, of course, I've got a good grasp on programming languages and there's no ideal way to do things, just a lot of Really Good Ways that totally crash and burn if you take them too far. (Case in point: Java. Yes, all of Java.)
I suppose I may as well write my gripe about the Letter N now. For a while, there's been a message on my door for Eli, signed "n". Which occasionally reminds me that that's how my ex would sign things - "K: Gone. Back at 11. -N." And while this really shouldn't surprise me - after all, there's a much better than 1/26 chance that a randomly chosen person's name starts with the same letter - it still bugs me a little.
I've rambled on long enough. Far too long, perhaps. I've got an interview in 12 hours . . . I'm going to bed. I'll skip class again today. not good. but . . . what can ya do? Either I pass or I don't, and I'm feeling fatalistic recently.
ugh, compsci homework. I'll turn it in Wednesday and get late credit, I suppose, the last problem isn't done (see the one marked "problem") and I'm sleepy.
(how do you solve that, anyway? umm. lessee. if that function was turing computable, then you could use that to solve the halting problem for the standard M' function (M,w) for a string of length 0. which can't be done because the halting problem isn't solvable. QED. guess I'll need to write it up a bit better though.)
(Proof by contradiction is fun. "You can't solve this, because if you could, you could solve this other problem that we already proved you can't solve. Therefore you can't solve this either.")
faugh. and now he's showing a basic misunderstanding of OO. Again. The hardest things in the C++ language are pointers and templates (murphy only knows why, templates are devastatingly obvious - then again, so are pointers.), but that's only because C++ doesn't try to hold you to a design method, so OO isn't part of C++.
And *nobody* seems to get OO . . . it ain't hard, folks, a spaceship is a vehicle and so is a car, but not all vehicles can launch, can they? So you don't add launch to vehicle just because it's in spaceship, you add a pilotTo function and let it figure out its own way. I don't even want to *consider* what he's done.
End of rant. If you're still reading, sorry for boring you with arcane programming drek.