Comments for If Programming Languages Were Harry Potter Characters - The Slightly Disgruntled Scientist
- 94 comments
- Log In
There are 94 replies. Estimated reading time: 27 minutes
- LLaurie Anne Ormond2014-07-07 09:55:47.000Z
If the wizards are programming languages, would the house elves (who can be ordered around by just about anybody) be markup languages?
Or subroutines, since you call them whenever you want them. Or maybe the objects in object oriented programming. And hey, is it just a coincidence that Object Oriented Programming = OOP = Order Of the Phoenix lol?!
- In reply toLaurie Anne Ormond⬆:
Sysadmins, they keep everything working and people treat them like shit.
- DIn reply toUnknown [DwE4KFYW2]:Delphi Psmith2014-08-20 02:30:14.000Z
What about COBOL? That's clearly Nicholas Flamel -- should have been
dead a long time ago but the Sorceror's Stone of bank reports keep it
- S2In reply toUnknown [DwE4KFYW2]:Sameer Ajmani2015-01-15 04:06:43.000Z
As a Harry Potter fan and a member of the Go programming language team at Google, I'd like to hear which character fits Go...
Perhaps Flitwick? Small and charming :-)
I was surprised at rust being there but no Go.... While they are very different with different-ish targets they are of the same time... and usually the same circles
- In reply toSameer Ajmani⬆:
I think Go should be Harry Potter. I do not believe Python will kill C, but Go might.
Go can't kill C/C++/Rust with a Garbage Collector demanded. You can't develop games or bare-metal software with a language like Go. GC is not usable for this.
Go is not a system programming language and never will be with a GC.
Yeah, I was tossing up between Go and Rust, but ultimately, Go has no ability to displace C in the embedded space as far as I can see, and that is really what drives new usage of C (IMO). Any "C killer" needs to be able to be used for embedded work.
My other thought was Dobby: small, powerful, and surprisingly well-liked by Python users (once they get to know it). Java users find it odd and improper, and C/C++ users dismiss it outright. And yet more and more people come to like it once they give it a chance...
And the Go Gopher bears a striking resemblance to the big-eyed house elf.
- A2In reply toUnknown [DwE4KFYW2]:Andy2015-01-16 04:34:10.000Z
The C one is not exactly accurate. Instead of, "Scattered around the world there are… things. Little, unregarded things… that keep C from dying out altogether. Embedded devices, household appliances, single purpose systems and various other unseen, disregarded objects carry C’s compiled code within them," it should probably just say, "Very nearly every computer I've ever used either directly or indirectly carries C's compiled code within them."
FWIW, I like C — the language, specifically, maybe not so much the ecosystem.
But consider what it means for a language to be alive, or really more to the point: dead; and what characterises its personality (things which, for now, are only tenuous metaphors anyway). There's plenty of Cobol out there, there's probably even the occasional new project in it, but in terms of language livelihood, it's right down one end of the scale. "Very nearly every" financial transaction I conduct probably involves it, but the programmers who find opportunity in it are the equivalent of necromancers.
It's not just the number of projects, or the proliferation of the devices they run on, but things like... are new students being taught it, or will they learn computer science and engineering paradigms through the lens of Java, or Python, or Haskell? Out of the volume of projects started this year, which languages will feature the most? When new ideas are expressed in academia, what language are they expressed in?
While there is no end of people who will declare C to be a Dead Language, sure, it's still alive. But it's no longer alive in the ways that many other languages are. Those "very nearly every" computers are, by themselves, completely taken for granted and pretty much invisible. No-one would care about them if it weren't for Languages That Aren't C.
If you offered someone a modern smartphone or desktop machine with everything that isn't C removed, most people would politely decline a very useless device. Therefore I don't regard these things as "keeping C from dying out altogether." But there are devices out there that are made more useful solely by C (eg. the World's Greatest Toaster, probably). They are the "little, unregarded things," to which I refer.
- MIn reply toUnknown [DwE4KFYW2]:Matt Powell2015-03-05 10:30:31.000Z
Full of flashy tricks and clever syntax, Ruby is nonetheless not the most effective language choice for any given programming task: a fact you'll forget after an hour of using it because a) it's just so very pretty, and b) it's cast a memory charm on you. Kept around mostly to stop Rails programmers from doing something really dangerous.
Ruby is Gilderoy Lockhart.
- S4In reply toUnknown [DwE4KFYW2]:sixFingers2015-03-05 15:28:14.000Z
Yes, C is dead, apart from the fact that 99% of languages listed here are written in it :)
Rust was written in OCaml, and is now self-hosting.
FORTRAN was written in assembly language.
Python has implementations written in python and java (and maybe C#? What's IronPython written in anyway?).
Haskell was written in LazyML and is now self hosting.
That's 3 and a bit out of 14. I don't know about all the rest. So it's closer to 80%. C's important, but let's not exaggerate things.
- J3In reply toUnknown [DwE4KFYW2]:Jon2015-03-05 15:28:50.000Z
I feel like Dumbledore should be LISP!
I actually almost went down this road, but my partner suggested that LISP is more like Tom Riddle's diary. Think about it: it actually started life as an ink-and-paper implementation, until eventually it was given "life" when Steve Russell implemented