電腦編程基礎

來源:互聯網
上載者:User

一、三端編程
    案頭端、移動端和web端。
二、案頭dotNet代碼的安全性討論
dotNet的編譯分兩步:在編譯時間原始碼編譯為MSIL;運行時即時編譯(Just-In-Time Compile,JIT)把MSIL編譯為機器碼。在.NET原始碼平台上,MSIL是.NET眾多優勢(如跨語言互操作)的基礎。但在獨立案頭應用中,它給原始碼的安全帶來了威脅。本文探討產生這個問題的原因,分析可能的解決辦法。
  首先,.NET是為客戶機/伺服器系統以及Web應用(即上面說的web端編程)而設計的。軟體開發正在逐漸向Internet以及基於客戶機/伺服器的應用發展,許多應用不再有傳統風格的介面,而是提供類似瀏覽器的介面。.NET也同樣追隨著這個趨勢。
  第二,在案頭應用中,我們無法保護以受管理的MSIL形式存在的代碼,如果你覺得保護智慧財產權(即原始碼)非常重要,那麼.NET不適合案頭應用開發。雖然MSIL的承諾令人心動,雖然.NET平台和CLR(Common Language Runtime)很穩定,但從安全的角度來看,對於一個獨立的案頭應用來說,這一切缺乏實際意義。在.NET中,作為一個VB程式員甚至是C#程式員,你只能編寫受管理、不受保護的代碼。
由於存在這種限制,如果你要在案頭應用中保護代碼,你必須使用非受管理的C++。保護智慧財產權唯一真正有效方法是:用非受管理的C++組件封裝代碼,然後從.NET受管理代碼中通過COM協作介面調用它。
  另外你還必須清楚的是,由於Active Server Pages.NET(ASP.NET)完全在伺服器端運行,因此ASP.NET應用是安全的。實際上,這正是.NET最理想的境界——在受保護的伺服器上運行代碼,讓代碼遠離任何想要研究它的人。ASP.NET把Web開發簡化到了難以置信的程度,而Visual Basic.NET正是編寫ASP.NET應用的優秀工具。
  掌握VB.NET需要經過艱苦的學習,而全面接受.NET更是一個緩慢的過程。從VB6遷移到VB.NET並非輕而易舉,在把VB6應用移植到VB.NET之前的時間裡,你仍舊需要提供對VB6應用的支援。在未來很長的時間內,許多開發人員仍將使用VB6。
三、電腦語言的種類
    基本上分為:機器語言、組合語言、面向過程的進階語言(C、fortran等)、物件導向的進階語言(C++、C#、JAVA、Objective-c等),但不論什麼語言,最終都必須編譯/解釋為某一CPU的指令(機器語言)。
    物件導向的思想認為現實世界是由各種各樣的實體(事物、對象)所組成的,每種對象都有自己的內部狀態和運動規律,不同對象間的相互聯絡和相互作用就構成了各種不同的系統,並進而構成整個客觀世界。物件導向其實是現實世界模型的自然延伸。現實世界中任何實體都可以看作是對象。對象之間通過訊息相互作用。另外,現實世界中任何實體都可歸屬於某類事物,任何對象都是某一類事物的執行個體。如果說傳統的面向過程式程式設計語言是以過程為中心以演算法為驅動的話,物件導向的程式設計語言則是以對象為中心以訊息為驅動。用公式表示,過程式程式設計語言為:程式=演算法+資料;物件導向程式設計語言為:程式=對象+訊息。所有物件導向程式設計語言都支援三個概念:封裝、多態性和繼承。

四、原生開發

應用程式開發分為不同的層次。原生(native)開發一般是指用原生開發語言開發,原生開發語言就是開發整個系統時使用的程式設計語言。對於iOS來說就是Objective C。對於Android,從最複雜到簡單為:NDK(NativeDK,即原生開發) ==》JDK(JavaDK開發) ==》中介軟體 ==》圖形介面。NDK開發的主要是C++開發,要在Linux下,因為需要把C/C++編寫的代碼產生能在arm上啟動並執行.so檔案,這就需要用到交叉編譯環境,而交叉編譯需要在linux系統下才能完成。NDK開發的好處:1. 代碼的保護,由於apk的java層代碼很容易被反編譯,而C/C++庫反匯難度較大。2. 在NDK中調用第三方C/C++庫,因為大部分的開源庫都是用C/C++代碼編寫的。3. 便於移植,用C/C++寫得庫可以方便在其他的嵌入式平台上再次使用。JDK 開發主要 java 開發。中介軟體開發主要:PhoneGap、MonoTouch、Rexsee EMS、數字天堂、烽火等等。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.