本篇為總結(jié)之前了解的一些語言與特性,當然肺然,我并不是語言專家加匈,大部分都是走馬觀花慌核,難免有紕漏之處。
java
作為一個純粹的面向?qū)ο笳Z言臭墨,java應(yīng)該是非常的典型的赘来,而且不像c/c++旭贬,也不像Objective-c一樣需要我們手動管理內(nèi)存瘩将,這大大降低了我們學習和使用成本筒主。同時有大量的完整的類庫和跨平臺的能力,所以Google選擇java作為android的語言實在是完美鸟蟹。
先說說特性,因為所有類型都是對象使兔,所以基本類型還是具有自動裝箱拆箱的功能建钥。最有意思的是java的內(nèi)部類,它提供了另外一種回調(diào)的方式虐沥。
但是java也有很大的缺陷熊经,最大的缺陷是性能,如果Google能夠推廣最新的JIT技術(shù)欲险,那這個問題會減輕很多镐依。同時,java也是一種非常啰嗦的語言天试,甚至比Objective-c還要啰嗦槐壳,OC只是名字比較啰嗦而已。
cpp
c++怎么說呢喜每,本來就不是純粹的面向?qū)ο笳Z言务唐,為了兼容c,在一些方面不得不做一些讓步带兜。但是也有很多有意思的特性枫笛,比如操作符重載,隱式轉(zhuǎn)化刚照,智能指針等等刑巧。同時c++強大的模板和模板元編程,又讓c++成為了更加強大而有技巧的語言无畔。當然啊楚,這也大大增加了學習成本和難度,同時寫法上也不夠簡明易懂檩互。
Sql
這個什么都不用說了吧特幔,應(yīng)該算是基本技能。概括起來:
CREATE TABLE
SELECT
INSERT
DELETE
UPDATE
ALTER
lua
這是一門特別輕量級的語言闸昨,以及及其簡單的語法和數(shù)據(jù)結(jié)構(gòu)蚯斯,所有數(shù)據(jù)都是字典類型薄风,同時又有一定的面向?qū)ο蟮哪芰Α.斎慌那叮秉c也是非常明顯的遭赂,作為一門獨立的語言,功能還是太弱横辆,也缺少相應(yīng)的類庫撇他,所以只能嵌入程序中使用。
雖然說是一門腳本語言狈蚤,據(jù)說效率很高困肩,至于它很快的原因,是否使用了JIT技術(shù)脆侮,這個還可以繼續(xù)研究下锌畸。
javascript
怎么說,最常見的腳本語言靖避,大家都熟悉潭枣,語法上像極了java,所以用起來也可以說是得心應(yīng)手幻捏,但是要用到j(luò)avascript的面向?qū)ο髤s非常復(fù)雜盆犁,javascript是基于原型來描述面向?qū)ο蟮模詊avascript里面沒有class篡九,所有的class都是實例對象谐岁,導(dǎo)致看起來總感覺怪怪的。
javascript最好用的地方莫過于他的函數(shù)式編程了榛臼,可以說閉包和函數(shù)式編程才是javascript吸引人的地方翰铡。
Node.js
Node可以說是javascript服務(wù)端(也是本地)的實現(xiàn),而且使用了V8引擎讽坏,不過這個標準目前還不那么穩(wěn)定锭魔,不過他在服務(wù)器端優(yōu)秀的表現(xiàn),絕對是有值得了解的必要路呜。
python
這是我非常想學的語言迷捧,并不是說Python有多么完美,而是Python既擁有腳本語言的特性胀葱,又能夠很容易的使用面向?qū)ο竽铩K苊饬藄hell腳本晦澀難懂的語句,同時增強了字符串等操作抵屿,所以完全可以使用Python來替代shell腳本庆锦,而Python一般是linux和unix的標配,所以應(yīng)用也很廣泛轧葛。
Python能夠很好的支持面向?qū)ο舐悖艺Z法簡單艇搀,所以除了做shell腳本外還能支持大型項目。完善的包管理機制也同樣提供了很多方便求晶⊙娴瘢可以說在這方面Python完全可以代替java,但是由于Python是一門弱類型語言芳杏,所以在一些調(diào)試和代碼檢查方面可能會差一點矩屁。
Python中比較有意思的一個是函數(shù)裝飾器,像@static_method
爵赵,這個思想倒是值得我們借鑒吝秕。另外還有with
的語法也比try...catch...
簡潔很多】栈茫可以說Python非常適合做模型郭膛。
Liquid
這是一門模板語言,目前github上的page就是用jykell+liquid完成的氛悬,而且它還和django的模板語言特別相似。當然耘柱,模板語言的弱點十分明顯如捅,可以說都算不上一門語言。除此之外還有很多模板語言调煎,使用也非常簡單镜遣。
HTML/CSS/Less
對于想了解網(wǎng)頁方面知識,這個應(yīng)該是基礎(chǔ)的基礎(chǔ)士袄,作為標簽語言悲关,也非常簡單,沒有什么特別的技巧娄柳,但是對于布局卻是一個啟發(fā)寓辱,像android那樣的布局,對多尺寸適配會方便很多赤拒。
Less作為對css的一個補充秫筏,還是非常不錯的,可以減少很多的工作挎挖,還能編譯完再發(fā)布这敬。
Markdown
作為一種簡化版的富文本編輯方式,非常簡單易懂蕉朵,比使用html更簡單崔涂,也比使用word之類的更靈活,還能直接轉(zhuǎn)換為html始衅,程序員必備冷蚂。
django & express
這兩個分別是基于Python和Node的一套網(wǎng)站框架缭保,django比較成熟,已經(jīng)有很多的人在使用帝雇,基本功能都已經(jīng)包含涮俄。express比較新,一些功能可以通過包來安裝尸闸。