摘 要:在探討合理選擇編程語言的重要作用基礎(chǔ)上,詳細(xì)的分析了幾種主要編程語言的特點以及適應(yīng)環(huán)境,并結(jié)合手機應(yīng)用開發(fā)的實際需要,提出了選擇合適的語言需要考慮的因素,為手機應(yīng)用開發(fā)中編程語言的選擇提供原則參考。
關(guān)鍵詞:手機應(yīng)用開發(fā);編程語言;語言選擇
1 合理選擇編程語言的重要作用
隨著移動媒體技術(shù)的迅速發(fā)展,手機軟件行業(yè)得到了快速的崛起。當(dāng)前,我國已經(jīng)進入了移動互聯(lián)技術(shù)快速發(fā)展的時代,移動終端的應(yīng)用軟件開發(fā)過程中,編程語言占據(jù)著十分重要的作用,也是軟件開發(fā)的底層基石。而這需要在深入了解各編程語言的基礎(chǔ)上合理選擇編程語言進行軟件開發(fā)。因為編程語言種類較多,當(dāng)前開發(fā)手機應(yīng)用軟件的語言主要包括C,C++,C#,Java,OC,.Net,Delphi,Power Builder等。在軟件開發(fā)的過程中合理選擇編程語言是應(yīng)用軟件開發(fā)工作之前需要處理的問題。因此,有必要在對當(dāng)前使用的各種語言的特點、優(yōu)勢以及應(yīng)用環(huán)境進行分析的基礎(chǔ)上,論述如何開展編程語言的選擇,以便滿足應(yīng)用軟件開發(fā)的效率、質(zhì)量、成本等相關(guān)功能。
2 常用主要編程語言的特點以及適應(yīng)環(huán)境
了解編程語言的主要特點,分析其優(yōu)缺點是合理選擇編程語言的基礎(chǔ),同時也是保證軟件開發(fā)工作得以順利開展的基本手段。
2.1 C語言
C語言是一種介于匯編語言與高級語言之間的編程語言,通常被稱作中級語言,其集成了高級語言與匯編語言的諸多優(yōu)勢。最初,C語言主要用于UNIX 系統(tǒng)的軟件開發(fā)工作中,但隨著其應(yīng)用范圍的擴展以及人們對其功能認(rèn)識程度的深入,到20世紀(jì)九十年代,C語言已經(jīng)在其他的操作系統(tǒng)中得到了廣泛應(yīng)用。
總的來講,C語言的特點主要體現(xiàn)在這樣幾個方面:其一,C語言是一種結(jié)構(gòu)化的語言,因此具有清晰的層次,這對于當(dāng)前層次化、模塊化的應(yīng)用程序編寫極為有利,同時也有利于后續(xù)手機應(yīng)用程序的維護與調(diào)試;其二,C語言自身不但具有豐富的數(shù)據(jù)類型,而且運算符號多樣化,能夠與計算機的物理地址直接進行數(shù)據(jù)交換,便于在編輯過程中進行位操作;其三,C語言具有較高的使用效率,而且能夠通過移植的方式應(yīng)用到各種手機中,這有利于根據(jù)用戶的不同需要形成各種不同的版本;其四,因為通過C語言可以實現(xiàn)位操作以及具體的字節(jié)操作,因此可以直接利用C語言實現(xiàn)對硬件操作的編寫,這有利于保證代碼的整體質(zhì)量,便于程序執(zhí)行效率的提高。C語言目前主要用于手機底層開發(fā)以及手機平臺軟件的開發(fā)。
2.2 C++語言
貝爾實驗室于1986年開發(fā)了C++語言,通過將數(shù)九封裝起來的方式減少了程序中的變量數(shù)目,減少了其給程序應(yīng)用帶來的負(fù)面影響,提高了程序的整體運行可靠性。另外,C++語言所具有的多繼承機制能夠?qū)Ψ治鰧ο笙嚓P(guān)行為及具體屬性進行及時的描述。雖然C++語言在一定程度上是C語言的繼承和擴展,但是需要將之當(dāng)作為一種新的語言予以處理。
在應(yīng)用過程中,要注意C++語言自身的特點:它是基于對象的封裝、繼承語言,具有多態(tài)性的特點。總的來講,C++語言在C語言的基礎(chǔ)上得到擴展,因此其自身具有與C語言的諸多特點,但同時因為引入了面向?qū)ο蟮木幊汤砟睿虼四軌驖M足更大型的項目編輯的需要,例如能夠進行系統(tǒng)級的編程,所以C++更多的用于手機系統(tǒng)和游戲的開發(fā)。
2.3 Java語言
與C++語言相比,Java語言在簡潔程度、安全性方面有更明顯的優(yōu)勢:其一,簡潔性,該項特點與C++語言類似,但是其中減少了在利用C++語言編程過程中容易出現(xiàn)程序執(zhí)行錯誤的問題,例如內(nèi)存管理錯誤、指針錯誤等問題;其二,Java語言屬于完全面向?qū)ο蟮恼Z言,與SmallTalk具有類似的特點,但是在內(nèi)存管理方面具有更明顯的優(yōu)勢;其三,分布式的數(shù)據(jù)處理方式,在 Java語言當(dāng)中,其自身就包含了支持基于TCP/IP協(xié)議的子庫,這有利于其網(wǎng)絡(luò)分布式處理,提高了程序的運行效率;其四,穩(wěn)健性,Java語言中包含的類型檢查功能可以幫助軟件開發(fā)人員在開發(fā)初期發(fā)現(xiàn)低級別的錯誤從而減少后期開發(fā)過程中才發(fā)現(xiàn)錯誤導(dǎo)致的成本增加問題,降低了內(nèi)存中出現(xiàn)錯誤的概率。另外,除了上述相關(guān)的特點之外,Java語言還具有可移植性、解釋性高、運行性能強以及多線程處理的特點。當(dāng)前,Java語言主要應(yīng)用于Android手機系統(tǒng)應(yīng)用開發(fā)和手機軟件后臺服務(wù)的開發(fā)工作中。
2.4 C#語言
C#語言具有精確、簡單以及使用安全的特點,同時能夠面向?qū)ο筮M行編程,是典型的.net語言。具體來講,C#語言的特點為:其一,完全基于面向?qū)ο蟮木帉懛绞剑黄涠軌蚝芎玫闹С志W(wǎng)絡(luò)分布式處理,即在程序執(zhí)行處理的過程中,程序是在分布網(wǎng)絡(luò)中的服務(wù)器、客戶機中執(zhí)行的,完全適應(yīng)分布式計算機網(wǎng)絡(luò)處理的應(yīng)用需要;其三,其具有完全的穩(wěn)健性特點,在對程序錯誤以及運行錯誤檢查方面具有與Java相一致的功能,同時也是采用自動內(nèi)存管理機制;其四,C#語言的應(yīng)用靈活度較高,在正常情況下,C#語言是不應(yīng)用指針的,但是當(dāng)用戶在實際應(yīng)用過程中可以將指針打開,并在程序編輯過程中應(yīng)用;其五,C#語言的整體安全性較高,是基于.net平臺提供的安全系統(tǒng)。
另外,C#語言同時還兼具可移植、解釋、高效運行、組件模式等特點,是Java之后的又一種新型的應(yīng)用語言。加之在微軟操作系統(tǒng)的支持下,C#語言的應(yīng)用存在更加明顯的優(yōu)勢及特點。當(dāng)前,C#主要應(yīng)用于windowsPhone系列手機系統(tǒng)的應(yīng)用開發(fā)。
2.5 Objective-C語言
隨著iPhone、iPad銷量的迅速提升,Objective-C語言在編程語言榜逐年上升。Objective-C語言通常寫作ObjC,它具有簡潔、靈活的特點,也是面向?qū)ο缶幊陶Z言。它獨有的內(nèi)存管理機制,使得開發(fā)的應(yīng)用程序可占用更少的內(nèi)存空間,使程序運行流暢,更適合移動終端的應(yīng)用開發(fā)。ObjC語言中的框架、多態(tài)、協(xié)議、類別等不同于其他語言的強大特性,可以實現(xiàn)靈活高效安全的編程開發(fā)。當(dāng)前,ObjC語言主要應(yīng)用于Mac OS X系統(tǒng)和Iphone等移動終端的程序開發(fā)。
綜上所述,各種語言都具有其自身的特點和優(yōu)勢,在具體的應(yīng)用過程中需要根據(jù)所編寫程序的特點以及實際需要選擇最合適的程序語言,這樣才能有效的降低程序編寫工作量,提高程序編寫的效率。
3 選擇合適的編程語言需要考慮的因素
值得一提的是,在進行手機應(yīng)用軟件編程開發(fā)的過程中,除了移動終端的客戶端軟件開發(fā),更重要的是后臺服務(wù)器、數(shù)據(jù)庫的開發(fā)支持,所以編程語言的選擇直接關(guān)系到整個應(yīng)用體系的整體質(zhì)量、運行效率等關(guān)鍵指標(biāo)。作為軟件編程與開發(fā)的一個重要構(gòu)成部分,軟件編程語言的選擇將直接影響到后臺服務(wù)的有效性與應(yīng)用軟件的實用性。因此,在選擇編程語言的過程中只選擇已經(jīng)熟悉的語言,或者是單純的選擇最先進的語言作為編程語言的方式都不是合理的選擇。在實際的應(yīng)用軟件開發(fā)過程中,都需要綜合考慮多個方面的因素,例如語言應(yīng)用范圍、編程難度、軟件的后期應(yīng)用便捷性等因素。下面結(jié)合實際的相關(guān)經(jīng)驗,提出編程選擇語言過程中需要注意的相關(guān)問題。
3.1 應(yīng)用軟件的整體架構(gòu)形式
在軟件編寫過程中,為了保證整體結(jié)構(gòu)的一致性,所選擇的編程語言為同一種語言。但是,在軟件編寫過程中,經(jīng)常需要選擇多用語言,這主要是因為在同一個項目中可能出現(xiàn)在不同的結(jié)構(gòu)中出現(xiàn)功能、規(guī)模以及編譯難度的差異,需要選擇合適難度的編譯語言來進行程序的編寫。這就需要在軟件編譯過程中對語言進行合理的調(diào)整。還需要注意的是,即使在編譯同一個軟件,最合適的語言并非一直不變,可能隨著技術(shù)的成熟,之前被淘汰的語言會成為最合適的語言。這些都需要根據(jù)實際的編譯環(huán)境予以合理考慮。
3.2 選擇擅長的編譯語言
雖然在程序的編寫過程中嘗試使用新的語言屬于一種良好的創(chuàng)新行為,但是在應(yīng)用軟件編寫過程中,因為多為商業(yè)項目,不屬于研究型的項目。為了提高編寫效率和質(zhì)量,應(yīng)該選擇自己所熟悉的語言、擅長的語言作為編寫工具,從而有利于保證軟件的整體編寫進度,避免因為編寫困難而出現(xiàn)項目進度受阻的問題。誠然,在選擇自己所擅長的語言時,同樣會出現(xiàn)遭遇困難的問題,而且會在特定的結(jié)構(gòu)功能編寫時需要用到陌生的語言。
3.3 考慮到軟件應(yīng)用的計算成本
在應(yīng)用軟件編寫過程中,要考慮到密碼學(xué)、圖形處理、統(tǒng)計分析、視頻處理等都需要對手機硬件資源的消耗要求極高,因此包含以上技術(shù)的應(yīng)用將影響到手機系統(tǒng)的整體運行效率。所以,在軟件編寫過程中要針對這些模塊,使用靜態(tài)形式的編譯語言。因此,就需要選擇一個快速的處理語言,例如JAVA、ObjC、C#等語言,這即為最佳的選擇。
3.4 軟件中是否關(guān)系到子流程和多文件管理
若軟件的主要功能是代替人工進行重復(fù)的手工勞動,則在程序編寫過程中的每一個細(xì)節(jié)都需要選擇合適的程序。軟件開發(fā)人員只需要將其中的細(xì)節(jié)組合起來,完成對其中各個子程序、子文件進行集中管理。在軟件開發(fā)的過程中,對其中的腳本語言,例如Python、vbscript、javascript等,要合理選擇其中的功能管理模塊,從而提高操作的整體靈活度、簡潔性。
3.5 所開發(fā)系統(tǒng)的硬件資源規(guī)模
并不是所有語言都能夠在任何的硬件環(huán)境下使用,需要考慮到硬件資源的整體規(guī)模。雖然當(dāng)前手機硬件資源基本能夠滿足手機應(yīng)用的需要,但是對于某些應(yīng)用軟件而言,硬件資源的限制依然較為嚴(yán)苛,例如手機攝像頭,GPS定位相關(guān)的應(yīng)用軟件等。所以,在程序編寫過程中通常可以選擇對硬件資源限制級別較低的語言,例如C/C++、ObjC等語言。
3.6 應(yīng)用軟件后續(xù)是否需要進行重復(fù)修改
不論使用何種匯編語言,編譯形成之后的軟件都可以快速的進行需要的重構(gòu)與調(diào)整。尤其是部分程序在應(yīng)用的過程中需要對功能進行擴展和調(diào)整,選擇能夠進行程序原型重構(gòu)的語言就顯得十分重要。這時,選擇動態(tài)類語言,結(jié)合諸多不相關(guān)的庫,能夠顯著顯示這些語言的優(yōu)勢,例如Python、vbscript等,能夠通過軟件應(yīng)用過程中的數(shù)據(jù)類型檢查替代編譯期間的檢查,提高了軟件的整體布局及功能擴展效率。
3.7 是否需要進行海量的位操作
大量的協(xié)議相關(guān)工作以及文件格式處理都需要進行位操作。因此,開發(fā)人員必須針對手機應(yīng)用軟件的特點進行充分的考慮,需要進行大量位操作時,需要選擇支持簡單位操作,而且能夠提供豐富數(shù)據(jù)類型的編程語言,例如C語言、C#、JAVA等。
4 結(jié)語
編程語言是實現(xiàn)手機應(yīng)用程序開發(fā)的基礎(chǔ),是保證算法功能得以實現(xiàn)的基礎(chǔ)。合理的選擇編程語言,對于提高手機應(yīng)用的運行效率、縮短編程周期、減少編程成本具有十分重要的作用。而每種語言具有其自身的特點和適應(yīng)環(huán)境特點,因此在編程語言的選擇過程中要選擇合適的語言。
[參考文獻]
[1]馬潔.計算機應(yīng)用軟件開發(fā)中選擇的編程語言[J].電腦知識與技術(shù).2013(8).
[2]李強.計算機軟件開發(fā)語言的選擇探討[J].電子制作.2013(9).
[3]李滎.探析編程語言在計算機應(yīng)用軟件開發(fā)中的選擇[J].消費電子.2013(20).