Learn Foreign Languages

Learn Foreign Languages

Klaus Marquardt

PROGRAMMERS NEED TO COMMUNiCATE. A lot.
There are periods in a programmer’s life when most communication seems to be with the computer—more precisely, with the programs running on that com- puter. This communication is about expressing ideas in a machine-readable way. This remains an exhilarating prospect: programs are ideas turned into reality, with virtually no physical substance involved.
Programmers need to be fluent in the language of the machine, whether real or virtual, and in the abstractions that can be related to that language via devel- opment tools. It is important to learn many different abstractions, otherwise some ideas become incredibly hard to express. Good programmers need to be able to stand outside their daily routine, to be aware of other languages that are expressive for other purposes. The time always comes when this pays off.
Beyond communication with machines, programmers need to communicate with their peers. Today’s large projects are more social endeavors than simply the applied art of programming. It is important to understand and express more than the machine-readable abstractions can. Most of the best program- mers I know are also very fluent in their mother tongue, and typically in other languages as well. This is not just about communication with others: speaking a language well also leads to a clarity of thought that is indispensable when abstracting a problem. And this is what programming is also about.
98 97 Things Every Programmer Should Know

Beyond communication with machine, self, and peers, a project has many stakeholders, most with a different or no technical background. They live in testing, quality, and deployment; in marketing and sales; they are end users in some office (or store or home). You need to understand them and their concerns. This is almost impossible if you cannot speak their language—the language of their world, their domain. While you might think a conversation with them went well, they probably didn’t.
If you talk to accountants, you need a basic knowledge of cost-center account- ing, of tied capital, capital employed, et al. If you talk to marketing or lawyers, some of their jargon and language (and thus, their minds) should be familiar to you. All these domain-specific languages need to be mastered by someone in the project—ideally, the programmers. Programmers are ultimately respon- sible for bringing the ideas to life via a computer.
And, of course, life is more than software projects. As noted by Charlemagne, to know another language is to have another soul. For your contacts beyond the software industry, you will appreciate knowing foreign languages. To know when to listen rather than talk. To know that most language is without words.

Whereof one cannot speak, thereof one must be silent.
                       —Ludwig Wittgenstein
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值