Comments for If Programming Languages Were Harry Potter Characters - The Slightly Disgruntled Scientist
- LLaurie Anne Ormond
If the wizards are programming languages, would the house elves (who can be ordered around by just about anybody) be markup languages?
- DDelphi Psmith
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 Psmith
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
alive :D- JJason Heeris
Perfect :D (So does that make maintenance programmers the equivalent of the elixir of life?)
- DDelphi Psmith
Why yes, I guess it does :)
- S2In reply toUnknown [DwE4KFYW2]:Sameer Ajmani
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⬆:AAlex Espinoza
I think Go should be Harry Potter. I do not believe Python will kill C, but Go might.
- KKadaverstern
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.- JJason Heeris
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.
- S2Sameer Ajmani
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]:Andy
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."
- JJason Heeris
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 Powell
RUBY
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.
- S3Sweeney Nightingale
It's useful enough that I keep going back to it...
- MMatt Powell
Full disclosure: I use Ruby daily.
- JJason Heeris
How do you think I feel. C is, like, 99% of my job.
- D3In reply toUnknown [DwE4KFYW2]:Dan Williamson
Oh man, I don't want to program in Umbridge anymore :(
click to show - M2In reply toUnknown [DwE4KFYW2]:Mickey_disqus
"Little, unregarded things… that keep C from dying out altogether."
click to show - S4In reply toUnknown [DwE4KFYW2]:sixFingers
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.
- J3
- JJason Heeris
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
eval
.