Another objection to my call for deprecating unsafe
languages is that safety is not really necessary
for services running behind a firewall. Those servers, the argument
goes, can be optimized for speed over safety, so C/C++ is the right
choice of language.

The problem with this argument is that firewalls are not really
sufficient in today’s security environment. There are two reasons.

First, malware is rampant. It is very common for PCs to be infected.
(Usually through memory corruption bugs, of course.) We know there
are botnets composed of hundreds of thousands of PCs. Any of your
employee machines behind the firewall can be compromised, giving a
foothold to attackers.

Second, depending on your company, you may be the target of espionage.
Large software development companies like Microsoft and Google have
certainly been targeted. The Snowden documents have given plenty of
evidence of this. You can’t assume that your own computers—or
employees—won’t be probing your systems behind the firewall.

Using a firewall can be helpful, but I wouldn’t bet everything on
just a firewall.