自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

8月編程語(yǔ)言排行榜:C語(yǔ)言助力火星登陸

原創(chuàng)
開(kāi)發(fā)
2012年8月,Tiobe發(fā)布了2012年8月最新一期編程語(yǔ)言排行榜。C語(yǔ)言繼續(xù)其上升的趨勢(shì),Java份額也在進(jìn)一步下降。而C#、Python、Perl等語(yǔ)言保持原來(lái)的位置。今天我們要談到的是C語(yǔ)言,正是他幫助“好奇號(hào)”2012年8月6日登陸火星。

【51CTO獨(dú)家特稿】2012年8月,Tiobe發(fā)布了2012年8月最新一期編程語(yǔ)言排行榜。C語(yǔ)言繼續(xù)其上升的趨勢(shì),Java份額也在進(jìn)一步下降。而C#、Python、Perl等語(yǔ)言保持原來(lái)的位置。今天我們要談到的是C語(yǔ)言,正是他幫助“好奇號(hào)”2012年8月6日登陸火星。

2012年8月編程語(yǔ)言排行榜單

8月編程語(yǔ)言排行榜

美國(guó)東部時(shí)間2012年8月6日凌晨1時(shí)30分(北京時(shí)間6日13時(shí)30分),新型火星探測(cè)器“好奇”號(hào)計(jì)劃著陸火星表面。作為迄今為止設(shè)計(jì)最為復(fù)雜精密的火星探測(cè)器,好奇號(hào)探測(cè)車(chē)采用的是風(fēng)河公司業(yè)界領(lǐng)先的VxWorks®實(shí)時(shí)操作系統(tǒng)(RTOS)。好奇號(hào)采用VxWorks系統(tǒng)完成被稱(chēng)為EDL(進(jìn)入火星大氣層、下降以及著陸)的復(fù)雜著陸過(guò)程。由于宇宙飛船安全著陸需要絕對(duì)的精確度,這一過(guò)程被稱(chēng)為“恐怖七分鐘”。從2011年11月26日火箭離開(kāi)地球那一刻起一直到任務(wù)完成,VxWorks作為火星探測(cè)車(chē)的核心操作系統(tǒng),將在本次具有歷史意義的活動(dòng)上發(fā)揮至關(guān)重要的作用。整個(gè)火星車(chē)?yán)镉?0萬(wàn)行程序代碼,運(yùn)行在VxWorks操作系統(tǒng)上,精準(zhǔn)無(wú)誤,以毫微妙計(jì)算。

[[89497]]

好奇號(hào)傳回的火星圖像(來(lái)源:NASA)

VxWorks與C語(yǔ)言

VxWorks 是美國(guó)Wind River System 公司( 以下簡(jiǎn)稱(chēng)風(fēng)河 公司 ,即 WRS公司)推出的一個(gè)實(shí)時(shí)操作系統(tǒng)。Tornado 是WRS 公司推出的一套實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā)環(huán)境,類(lèi)似Microsoft Visual C,但是提供了更豐富的調(diào)試、仿真環(huán)境和工具。

Wind River和VxWorks相信很多嵌入式程序員都不會(huì)陌生。VxWorks支持C語(yǔ)言或者C++進(jìn)行開(kāi)發(fā),并配備了叫Tornado的集成開(kāi)發(fā)環(huán)境。Tornado缺省使用GNU編譯器,支持Ansiiso C, C++,以及AT&T語(yǔ)法匯編(非Intel)。由于C++很龐大,而且在不斷發(fā)展,所以有些標(biāo)準(zhǔn)C++的特征可能GNU不支持(基本沒(méi)有編譯器支持所有C++特征)。程序員一般只要掌握常用部分就能編出不賴(lài)的程序了。inb(),outb()是turbor cdos下的,不屬于標(biāo)準(zhǔn)C。Tornado在bsp中提供了相應(yīng)的sysinbyte(),sysoutbyte()等函數(shù),參考bsp下的sysalib.s。

Tornado II系統(tǒng)結(jié)構(gòu)圖

Tornado 結(jié)構(gòu)的專(zhuān)門(mén)設(shè)計(jì)為開(kāi)發(fā)人員和第三方工具廠商提供了一個(gè)開(kāi)放環(huán)境。已有部分應(yīng)用程序接口可以利用并附帶參考書(shū)目,內(nèi)容從開(kāi)發(fā)環(huán)境接口到連接實(shí)現(xiàn)。

Tornado包括強(qiáng)大的開(kāi)發(fā)和調(diào)試工具, 尤其適用于面對(duì)大量問(wèn)題的嵌入式開(kāi)發(fā)人員。這些工具包括C和C++遠(yuǎn)程源級(jí)調(diào)試器, 目標(biāo)和工具管理, 系統(tǒng)目標(biāo)跟蹤, 內(nèi)存使用分析和自動(dòng)配置. 另外,所有工具能很方便地同時(shí)運(yùn)行,很容易增加和交互式開(kāi)發(fā)。

關(guān)于VxWorks組成部分,請(qǐng)參考《VxWorks組成部分》一文。

新一代開(kāi)發(fā)工程助推器——Wind River Workbench

集成化的開(kāi)發(fā)環(huán)境意味著一個(gè)開(kāi)發(fā)工作團(tuán)隊(duì)運(yùn)用同一種語(yǔ)言和工具,不論在任何開(kāi)發(fā)項(xiàng)目的任何工作階段,都可以共同為所有的開(kāi)發(fā)項(xiàng)目做出貢獻(xiàn)。

Wind River Workbench提供了一種開(kāi)放式、基于標(biāo)準(zhǔn)的集成化設(shè)備軟件開(kāi)發(fā)環(huán)境。它使得企業(yè)能夠標(biāo)準(zhǔn)化它的整個(gè)設(shè)備軟件開(kāi)發(fā)過(guò)程到一個(gè)公共平臺(tái)下,以其獨(dú)特的將可靠性, 功能性以及端對(duì)端集成性整合到一起方式,大幅優(yōu)化了工程人員、項(xiàng)目團(tuán)隊(duì)和企業(yè)的工作效率。

與VxWorks 6.x系列配套的IDE組件是Wind River Workbench,這也是Wind River GPP VxWorks版的重要組成部分之一。

比如Wind River Workbench 2.2可以最大限度地優(yōu)化電子產(chǎn)品制造企業(yè)的人力資源并使他們做出最佳的表現(xiàn)。其中的訣竅在于把他們的時(shí)間、能力和經(jīng)費(fèi)都用于增加電子產(chǎn)品的特殊使用價(jià)值,而不是把這些資源浪費(fèi)在低級(jí)、普通、一般的工作中。憑借在設(shè)備軟件開(kāi)發(fā)領(lǐng)域多年積累的豐富經(jīng)驗(yàn),風(fēng)河平臺(tái)之中包括了功能齊全、相互兼容并且運(yùn)行十分可靠的中間件,可以滿(mǎn)足許多不同行業(yè)標(biāo)準(zhǔn)的特殊需求。而且,由于多年來(lái)許多行業(yè)都在廣泛應(yīng)用VxWorks實(shí)時(shí)操作系統(tǒng),已經(jīng)形成了一個(gè)穩(wěn)定而良性的合作伙伴群體,這就使得Wind River GPP VxWorks版具有非常好的完備性,很快就可以得到開(kāi)發(fā)項(xiàng)目所需的所有資源,從而可以更好地控制用戶(hù)的經(jīng)費(fèi)預(yù)算和產(chǎn)品上市時(shí)間??梢哉f(shuō),有了Wind River GPP VxWorks版,再加上Wind River的合作伙伴全體和專(zhuān)業(yè)的培訓(xùn)以及針對(duì)用戶(hù)開(kāi)發(fā)項(xiàng)目的指導(dǎo)方案,你就可以解決設(shè)備軟件開(kāi)發(fā)的所有問(wèn)題了。

登陸火星用了多少代碼?

根據(jù)51CTO記者了解到的情況,本次Curiosity好奇號(hào)登陸火星,其包含250萬(wàn)行C語(yǔ)言代碼。這些代碼運(yùn)行在BAE制造的RAD750處理器上,他們包括150個(gè)獨(dú)立模型,每個(gè)承擔(dān)不同的功能。高度耦合的模塊被抽象成組件,被置頂一個(gè)特定的功能或者行為。這些組件被進(jìn)一步組合為層,整個(gè)火星登陸車(chē)包括不超過(guò)10個(gè)頂級(jí)層組織。

[[89498]]
RAD750處理器

好奇號(hào)項(xiàng)目中的軟件開(kāi)發(fā)經(jīng)驗(yàn)

浩大的好奇號(hào)項(xiàng)目其實(shí)美國(guó)創(chuàng)意產(chǎn)業(yè)和商業(yè)力量的結(jié)合,并且NASA的項(xiàng)目管理者自有一套創(chuàng)新和商業(yè)邏輯。在長(zhǎng)達(dá)9年,高達(dá)25億美元的投資中,火星科學(xué)實(shí)驗(yàn)室項(xiàng)目(好奇號(hào)火星登陸項(xiàng)目)其實(shí)是美國(guó)創(chuàng)意產(chǎn)業(yè)和商業(yè)力量的結(jié)合。好奇號(hào)的登陸模擬團(tuán)隊(duì)同迪斯尼動(dòng)畫(huà)公司保持密切聯(lián)系,從而使得3D登陸模擬更加精確。其它的一些系統(tǒng)解決方案有來(lái)自石油公司的,深海鉆探公司的,甚至是農(nóng)業(yè)公司的技術(shù)。

這一浩大的工程是如何完成的? NASA的管理者自有其一套創(chuàng)新和商業(yè)邏輯。

允許在研發(fā)過(guò)程中的奇思妙想

一個(gè)典型的項(xiàng)目想法,可能是起源于一張餐巾紙上的草圖,然后變成3D模擬模型,然后再變成生產(chǎn)模型。

這一項(xiàng)目進(jìn)行過(guò)程中,研發(fā)人員充滿(mǎn)了敏銳的直覺(jué)和想象力。有時(shí)候,他們會(huì)去想象在太空中移動(dòng)登錄器的各個(gè)部件,構(gòu)建想法。

沒(méi)有過(guò)于瘋狂的想法,真的!

在項(xiàng)目的最開(kāi)始階段,沒(méi)有批評(píng)想法的習(xí)慣。研發(fā)人員,憑空想出任何點(diǎn)子,而其他人員不是去評(píng)價(jià)這個(gè)點(diǎn)子有多么的瘋狂甚至是批評(píng),而是去思考如何去改進(jìn)這個(gè)點(diǎn)子。

樂(lè)于從草案開(kāi)始

就像好的想法經(jīng)常來(lái)源于之前的錯(cuò)誤和過(guò)去的經(jīng)驗(yàn)一樣,項(xiàng)目的研發(fā)人員更傾向于從過(guò)去的草案中起步,而不是從頭開(kāi)始。

不要陷于復(fù)雜的事物,將其分解為可控的最小單元

因?yàn)橛刑嗟膹?fù)雜的、不同的系統(tǒng)在好奇號(hào)的平臺(tái)上。項(xiàng)目的工程師們都是在相互區(qū)別的區(qū)分的系統(tǒng)中完成他們的工作。他們將會(huì)把項(xiàng)目分成無(wú)數(shù)的子系統(tǒng),子部件,一遍解決單獨(dú)的子問(wèn)題。

保持開(kāi)門(mén)策略

無(wú)論是管理層,還是基層員工,每個(gè)人之間都能保持一種坦誠(chéng)的溝通,并且能就具體問(wèn)題進(jìn)行具體的分析。

不要重復(fù)發(fā)明輪子

火星登陸項(xiàng)目從現(xiàn)實(shí)商業(yè)項(xiàng)目中學(xué)到很多經(jīng)驗(yàn),當(dāng)研發(fā)人員發(fā)現(xiàn)某一部分的問(wèn)題,已經(jīng)有現(xiàn)成的解決方案的時(shí)候,他們要做的不是重復(fù)發(fā)明輪子,而是直接拿來(lái)用。

允許沒(méi)有傷害的小理由

在好奇號(hào)項(xiàng)目的軟件中,以為工程師曾經(jīng)在軟件代碼中添加了一段幾年其過(guò)世的父親的代碼。這些沒(méi)有傷害的一些事情,被允許從而使得研發(fā)者對(duì)該項(xiàng)目充滿(mǎn)了感情。

 #p#

下面是本期編程語(yǔ)言排行榜的其他排名數(shù)據(jù)和趨勢(shì)走向。

前10名編程語(yǔ)言走勢(shì)圖

20到50名語(yǔ)言排行

Position Programming Language Ratings
21 Bash 0.525%
22 SAS 0.525%
23 Assembly 0.502%
24 RPG (OS/400) 0.476%
25 Logo 0.441%
26 Fortran 0.440%
27 R 0.435%
28 COBOL 0.432%
29 ABAP 0.431%
30 Scheme 0.424%
31 Prolog 0.334%
32 Scratch 0.332%
33 D 0.322%
34 Haskell 0.301%
35 NXT-G 0.285%
36 JScript.NET 0.267%
37 Erlang 0.259%
38 Awk 0.256%
39 Smalltalk 0.241%
40 Scala 0.241%
41 Common Lisp 0.238%
42 Forth 0.231%
43 APL 0.223%
44 ML 0.221%
45 ActionScript 0.179%
46 OpenEdge ABL 0.172%
47 Algol 0.167%
48 C shell 0.166%
49 Alice 0.160%
50 PL/I 0.158%

下面是第50到100的編程語(yǔ)言排名

(Visual) FoxPro, Apex, bc, BETA, Boo, CFML, CHILL, CL (OS/400), Clean, Clojure, Curl, Dart, Dylan, Eiffel, Emacs Lisp, F#, Gambas, Go, Groovy, Icon, Inform, Informix-4GL, J, JavaFX Script, LabVIEW, LabWindows/CVI, Ladder Logic, Maple, Modula-2, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, Oz, PowerShell, Processing, REALbasic, REXX, S, S-PLUS, SPARK, SPSS, Tcl, VBScript, Verilog, VHDL, X10, xBase

下面給出了編程語(yǔ)言類(lèi)別的一年變化趨勢(shì)

【2012年榜單回顧】

  1. 2012年1月編程語(yǔ)言排行榜:Objective-C成為年度語(yǔ)言
  2. 2012年2月編程語(yǔ)言排行榜:用圖形編程的LOGO語(yǔ)言
  3. 2012年3月編程語(yǔ)言排行榜:JavaScript語(yǔ)言的回歸
  4. 2012年4月編程語(yǔ)言排行榜:C語(yǔ)言榮歸寶座
  5. 2012年5月編程語(yǔ)言排行榜:從愛(ài)立信走出來(lái)的Erlang
  6. 6月編程語(yǔ)言排行榜:Objective-C非常“實(shí)際”的語(yǔ)言
  7. 2012年7月編程語(yǔ)言排行榜:Java的搶劫

 

 

責(zé)任編輯:彭凡 來(lái)源: 51CTO
相關(guān)推薦

2020-08-13 11:55:33

編程語(yǔ)言JavaPython

2009-08-04 11:15:57

編程語(yǔ)言排行榜微軟

2009-11-11 10:35:59

2020-03-07 22:01:58

編程語(yǔ)言JavaPython

2021-08-12 08:55:22

編程語(yǔ)言數(shù)據(jù)Python

2012-04-09 01:53:04

編程語(yǔ)言排行榜

2010-08-02 16:44:31

2020-02-14 09:19:12

編程語(yǔ)言JavaPython

2019-07-23 14:14:59

編程語(yǔ)言JavaPython

2021-09-23 10:50:42

編程語(yǔ)言Python排行

2021-07-07 05:42:24

編程語(yǔ)言開(kāi)發(fā)

2023-06-09 15:39:40

編程語(yǔ)言Python

2011-08-04 14:22:11

編程語(yǔ)言排行榜

2012-06-11 14:20:36

Objective-C

2021-01-06 12:55:08

編程語(yǔ)言Python開(kāi)發(fā)

2019-01-09 10:00:19

編程語(yǔ)言Python

2010-05-17 09:04:50

動(dòng)態(tài)語(yǔ)言

2010-06-07 15:57:02

編程語(yǔ)言排行榜框架

2022-10-28 16:13:03

編程語(yǔ)言Java開(kāi)發(fā)

2016-08-10 21:04:40

TIOBE編程語(yǔ)言JavaC語(yǔ)言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)