這是一個(gè)非常有意思的問題,作為一名從業(yè)多年的程序員,我來回答一下這個(gè)問題。
首先,接口是程序設(shè)計(jì)過程中最為常見的元素,不論是研發(fā)級程序員還是應(yīng)用級程序員,在日常的編程過程中都是離不開接口的。接口可以看成是程序設(shè)計(jì)過程中連接各種資源的方式,在按角色開發(fā)的時(shí)代,程序員不可能一個(gè)人完成所有從硬件到軟件的開發(fā)過程,所以如果沒有接口的幫助,整個(gè)軟件開發(fā)將無法實(shí)現(xiàn)規(guī)模化發(fā)展。
在云計(jì)算技術(shù)逐漸普及的當(dāng)下,接口對于程序設(shè)計(jì)的意義得到了進(jìn)一步的體現(xiàn),現(xiàn)在的接口也進(jìn)入到了“微接口”時(shí)代,以適應(yīng)大數(shù)據(jù)時(shí)代對于程序設(shè)計(jì)的要求。所謂的“微接口”是對應(yīng)于“微服務(wù)”的概念,使得程序的調(diào)用更輕,也更容易實(shí)現(xiàn)模塊化封裝。當(dāng)然,微接口的編程對于云計(jì)算平臺提出了更高的要求,尤其是對于PaaS的要求。
如果當(dāng)前的程序員無法通過接口來完成資源的整合,那么程序設(shè)計(jì)體系將出現(xiàn)巨大的變化,從目前的技術(shù)體系結(jié)構(gòu)來看,完全脫離接口進(jìn)行編程是不現(xiàn)實(shí)的。也許在未來的人工智能時(shí)代,程序員可以只關(guān)心業(yè)務(wù)邏輯,而無需關(guān)心各種資源的整合,那個(gè)時(shí)候也許接口將會(huì)以另一種形式來呈現(xiàn)。
程序員如果脫離接口進(jìn)行編程將面臨三大障礙,其一是如何完成硬件資源的管理;其二是如何完成各種開發(fā)資源的調(diào)用;其三是如何完成功能的擴(kuò)展。當(dāng)然,如果沒有接口的支持,這些工作都需要程序員從頭開始做,那么在當(dāng)前的技術(shù)體系結(jié)構(gòu)下,這種開發(fā)方式是不可想象的,也并不是“996”能夠解決的問題。