Probably more importantly, it runs on the JVM and is designed to interoperate with existing Java code. (FWIW, I actually think they made a major mistake in how they handle null Java objects, and that Kotlin did better here; but Kotlin is much newer.)
Having done OCR GCSE computing:
It’s just a pseudocode style language that they use in exam questions so that you can understand the question regardless of which language your school had you study (in my case it was VB6 💀). In questions where you are asked to write code, you can use the reference language but realistically you just use the one you learned (although I did it all in python instead)
I think this is a good question and answer in the sense that it reveals a fundamental misunderstanding on the part of the student - exactly what you hope an exam would do! (Except for how this seems to combine javascript’s .length and python’s print statement - maybe there is a language like this though - or ‘print’ was a javascript function defined elsewhere).
This reminds me once of when I was a TA in a computer science course in the computer lab. Students were working on a “connect 4” game - drop a token in a column, try to connect 4. A student asked me, while writing the drop function, if he would have to write code to ensure that the token “fell” to bottom of the board, or if the computer would understand what it was trying to do. Excellent question! Because the question connects to a huge misunderstanding that the answer has a chance to correct.
Teaching complete “clean slates” is a great way to re-evaluate your understanding.
I’ve had to teach a few apprentices and while they were perfectly reasonable and bright people, they had absolutely no idea, how computers worked internally. It’s really hard to put yourself in the shoes of such persons if it’s been too long since you were at this point of ignorance.
Second this. I’m a teacher aid and I get to fix student’s code for students who are not technically inclined. It’s so much fun and I’ve learned so much McGuivering all that shitty mess together.
For reference the “language” used in the exam would probably be Exam Reference Language (OCR exam board specifically, which I believe this question is from) which is just fancier pseudocode.
Idk to me it screams “solve this puzzle and win a free wrench” /s
I like the creativity of it, and it does solve the problem in a way that’s user-safe. I thought of removing the knob because that’s what I do with my barbecue as I store items on the grill when not in use. Remove knobs, put on grill, close barbecue, cover.
A lot of people won’t touch electrical, and the problem with modifying the wiring is you need to be able to clearly document or show what was changed in case it needs to be reversed later.
This is ugly, but it’s immediately obvious how to reverse it to anyone who looks at it. And that pipe wrench probably wasn’t being used anymore anyways. I doubt they tapped the holes, those are probably just self-tap screws that both drilled the hole and cut the thread as they screwed in. No one will call this an elegant solution, but if it works it works.
If you’ve ever worked in maintenance, active production, etc, you’ll be lucky to even have schematics. And trust me, there are a lot of hacks of people fucking with controls for 30+ years straight that soooo much of it is full of “fixes” like this, whether it’s something pushing a button in, or pieces of metal instead of fuses, or wires jumping over what’s “in the way” like whole safety systems and e-stops, contactors forced to run, etc etc etc.
Grading in red is generally avoided, nowadays. Red is closely associated with failure/danger/bad, and feedback should generally be constructive to help students learn and grow.
I usually like to grade in a bright colour that students are unlikely to pick: purple, green, pink, orange, or maybe light blue (if most students are working in pencil). Brown is poo. Black and dark blue are too common. Yellow is illegible. Red is aggressive.
Anyway, I’m guessing they just graded everything in green. The only time I’ve ever graded in more than one colour was when I needed to subgrade different categories of grades, like thinking/communication/knowledge/application. In that case, choosing a consistent colour for each category makes it easier to score.
“You should have known what the intent of the question was. Management won’t know or care about the internals of your code as long as it meets requirements. You have failed this test.”
Or
“You should know that you’re calling a function with invalid parameters. Where did you get your CS degree from again?”
“You should have known what the intent of the question was. Management won’t know or care about the internals of your code as long as it meets requirements. You have failed this test.”
“You should know that you’re calling a function with invalid parameters. Where did you get your CS degree from again?”
sigh you can have your ransom, just remove the cameras.
no the school can realistically choose any sensible language, the one in the exam question is a pseudocode one that is used only to make the exam questions understandable regardless of which language you studied
Around 2 years ago, I got an email from a products team asking me for urgent help extending a program in time to make a sale.
I looked over the program and wrote back sonething along the lines of “this program was written almost a decade ago by an unsupervisered highschool intern. Why TF are we still using it?”.
Of course, I ended up helping them, because that highschool intern was me, and I ended up helping because no one else could figure out what highschool me was thinking.
I sometimes wonder if the spaghetti i wrote when i was still learning to program (on my own, in the corner of the room, ignored by all the “real” devs) is still used by the team i wrote it for.
Not a bug exactly, but about ten years ago I was working as an iOS developer and to get around a major problem introduced by the app designer, I made use of a “private method”, which is something an app supposedly gets rejected for by Apple. I came up with a way of hiding it and had to sweat out the approval period before it went live. Ten years later that shit is still there; I’m sure the developers currently responsible for the app don’t even know it’s there. I normally comment my code with an eye to helping future programmers understand what’s going on and why, but this hack was one where I even obscured the comments.
Objective-C does not enforce method access (e.g. private methods) at the runtime level. If you are sufficiently determined, there are no restrictions on what methods you can call, unlike Java or C# (AFAIK).
Java absolutely lets you do that with Reflections. You’re not supposed to, and it’s painfully slow, but the JVM is only marginally smarter than javac (and that’s saying something) so there’s nothing actually stopping you.
I thought there was security code to stop that kind of thing. Granted, it’s been over 10 years since I’ve done anything with Java more than tinkering with Minecraft mods.
Java did have a Security Manager that can be used to prevent this sort of thing. The original thinking was that the Java runtime would essentially be an OS, and you could have different applets running within the runtime. This required a permission system where you could confine the permissions of parts of a Java program without confining the entire thing; which led to the Java security manager.
Having said that, the Java Security Manager, while an interesting idea, has never been good. The only place it has ever seen significant use was in webapps, where it earned Java the reputation for being insecure. Nowadays, Java webapps are ancient history due to the success of Javascript.
The security manager was depreciated in Java 17, and I believe removed entirely in Java 21.
programmer_humor
Active
This magazine is from a federated server and may be incomplete. Browse more on the original instance.