OT: What uni are you at? You may know some of my friends.
I’m at the Melbourne University - I’m doing my honours year this year.
Those things are pretty snazzy. I doubt I’d have it in me to write one of those… I think they’re called ‘quines’, in case anyone wants to search for them. Also, bitwise is a very cool name.
~ Isaac
They are indeed called quines. For extra fun, write a program which takes an input program, turns it into a quine, and outputs the result.
[sub]grumble grumble had to do that in freshman year grumble grumble in Java grumble grumble[/sub]
Re: the OP - Computer programming is the closest thing to magic (in the incantations / spellcasting sense) that actually works in the real world. I can make anything* happen if I can come up with the right formula. Who WOULDN’T want that sort of power?
Re: Holy wars - Holy wars on programming language (and OS, and editor…) amuse me.
PROBLEMS usually come with a set of constraints (required operating systems, library interoperability, problem domain, performance, development time, memory usage, architecture, available tools…). Evaluate the constraints and you’ll usually be left with only a small collection of languages to choose from: pick whichever one you want at that point, but don’t believe that your choice – perfect as it may be for that problem – is therefore the right one for all problems.
Yes, this means you need to know several, and use them. Frankly, anyone whose chosing a reference-based language because they don’t understand or like pointers shouldn’t be programming at all until they rectify the lack of understanding. You’d be stunned how often I’ve had to fix a pointer problem in VB or Java - the pointer just wasn’t obvious to the person who wrote the code. For similar reasons, I think everyone should learn at least one assembly language, SQL, and Lisp/Scheme, even if you’ll likely never use them in professional (or hobby) work. I’ve never been paid for a line of Lisp code, or written any at all for at least fifteen years. But I’d guess that things I learned from it add $10K/year to my salary.
- computable, at least. But while the theoretical limits of computation are pretty well known at this point, the practical ones are still wide open.
AMEN! Sing it, brother!
“Hey, professor! I built this Java class, and it’s got that composition thing we learned. You know, the “has-a” thingy. Whattya think, teach?”
class Doohickey
{
private StringBuffer buf;
private String name;
public Doohickey(StringBuffer b, String n)
{
buf = b;
name = n;
}
// ... more methods ...
}
(Prof. Monstre: “Well, it’s half okay…”)