嗯,想過用C++建立網(wǎng)站,作網(wǎng)頁嗎?嗯,我也就是隨便說說~
會(huì)JAVA不?會(huì)做網(wǎng)頁不?這兩天就技術(shù)上問題被人(朋友了,BOSS了,等等人)問的最多就這兩個(gè)了~這兩個(gè)問題我都會(huì)認(rèn)真回答--不會(huì)。因?yàn)镴AVA我只寫過一個(gè)手機(jī)程序,網(wǎng)頁我只會(huì)用HTML4,那還是十年前第一次做“站長”時(shí)學(xué)的。所以,怕被再問多了,只能老實(shí)點(diǎn)了--不會(huì)了。
不過回頭我就在想,為什么不能用C++來作為網(wǎng)頁開發(fā)語言呢?從語言關(guān)鍵字,語法什么的看,C++也不比JAVA,JSP差什么,咋就沒人考慮過把C++也作為編寫網(wǎng)頁的語言呢?類似下面這樣呢?
<body>
<% std::cout << ::time(null) << std::endl %>
</body>
(說明,上面是瞎寫的,就隨便比劃一下,表認(rèn)真啊。)
看出問題了嗎?仔細(xì)想了想,才想起這個(gè)問題很早就想過了,由于C++語言本身的特性,導(dǎo)致不合適作為網(wǎng)頁語言。啥特性?C++是編譯型語言,不想JAVA,BASIC等等是解釋型語言。嗯,明白了嗎?網(wǎng)頁每次被加載,就編譯一次,這,這不太現(xiàn)實(shí)啊。。。反正我是這樣理解~
實(shí)際用C++來作為網(wǎng)頁內(nèi)容輸出,很早就有了,比如CGI(Common Gateway Interface)的一種實(shí)現(xiàn)就是用binary文件,就像網(wǎng)站目錄下一般有個(gè)cgi-bin目錄一樣,記得這個(gè)不?當(dāng)年我的第一個(gè)支持通過網(wǎng)頁輸出數(shù)據(jù)庫表數(shù)據(jù)的就是用這種方式實(shí)現(xiàn)的,只不過使用Delphi寫的。
所以啊,用C++寫網(wǎng)頁是完全可行的,只要你不怕麻煩。。。嗯,exe方式的CGI用起來,實(shí)在是讓人發(fā)瘋。。。。
(不過說回來,真要用C++來作網(wǎng)頁,有其它能輕松點(diǎn)的方式嗎?這樣就不怕人家問--'你會(huì)作網(wǎng)頁嗎')