5

百亿美元的秘密,你造吗

 3 years ago
source link: https://zhuanlan.zhihu.com/p/362282765
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

百亿美元的秘密,你造吗

微信公众号:CrackingOysters

当你明白API的时候,你的编程能力就上升了一大台阶。

本文构思于Java API版权第一大案,索赔百亿美元,这也就是题目的来源。

为什么会说API值百亿美元?API全称Application Programming Interface, 应用编程接口,某些时候简称接口。

如果你在编程,那么你就无可避免地与它打交道。当你理解了API,你的编程能力就会上升一个大台阶。那么究竟如何理解API?

API是计算机重要思想之一——分层(layer)的体现。所谓分层,就是将问题拆分为一层一层,就像铺地板,先铺上水泥,再铺地板。再比如“家喻户晓”的计算机网络里面的七层(五层)模型

v2-267650e8dcea7d66f6d7ef57841b7681_720w.jpg

而下层向上层提供的服务就是API。上层的服务是基于下层的API来构建的。通过使用API我们就可以不需要知道下层的具体细节而实现我们的目的。当你明白这个秘密以后,你就会对那些经常号称10行代码解决了什么问题的文章有了清晰的认识。因为他们代码少,都是因为调用了API,而API是一行代码。他们不会将API的具体的实现行数计算在内。比如在Python里面打印hello world

print("Hello world!")

虽然仅仅是一行,但是这一行却调用了Python提供的print API。

所以只要你找对了API,你也可以“几行代码”实现一个炫酷的功能。

实际上,不止是代码行数少,而且学会了API,你能用编程实现的事情,也会变得更多。好多初学者都会问,学会了C/C++,只会写黑框的程序。如果你明白了API的作用,那么你就可以找个GUI的库,比如QT, GTK来写带图形界面的程序。如果你理解了API,那么你就可以使用相应的库来编写一个网络聊天程序。其他编程语言也类似,Python写爬虫,写自动机器人,都是只要找对了API,那么就可以开干!(Github是找API的好地方)

参考文献:

90亿美元Java纠纷案反转:安卓中复制的代码属于合理使用-InfoQ
https://en.wikipedia.org/wiki/Computer_network


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK