導航:首頁 > 編程語言 > facebook編程語言

facebook編程語言

發布時間:2023-07-21 07:55:11

A. 一些著名的軟體都用什麼語言編寫

一、操作系統:

Microsoft Windows : 匯編 -> C -> C++

備註:曾經在智能手機的操作系統(Windows Mobile)考慮摻點C#寫的程序,比如軟鍵盤,結果因為寫出來的程序太慢,實在無法和別的模塊合並,最終又回到C++重寫。

相信很多朋友都知道Windows Vista,這個系統開發早期比爾蓋茨想全部用C#寫,但是最終因為執行慢而放棄,結果之前無數軟體工程師日夜勞作成果一夜之間被宣告作廢。

Linux :C

Apple MacOS : 主要為C,部分為C++。 備註: 之前用的語言比較雜,最早是匯編和Pascal。

Sun Solaris : C

HP-UX : C

Symbian OS : 匯編,主要為C++。 (諾基亞手機)

Google Android :2008 年推出: C語言(有傳言說是用java開發的操作系統,但最近剛推出原生的C語言SDK)

RIM BlackBerry OS 4.x : 黑莓 C++



二、圖形界面層

Microsoft Windows UI : C++

Apple MacOS UI (Aqua) : C++

Gnome (Linux圖形界面之一,大腳): C和C++, 主要是C。

KDE (Linux圖形界面) ,C++。



三、桌面搜索工具

Google Desktop Search : C++

Microsoft Windows Desktop Search : C++

Beagle (Linux/Windows/UNIX 下): C# (基於開源的 .net : Mono)



四、辦公軟體

Microsoft Office : 在 匯編 -> C -> 穩定在C++

Sun Open Office : 部分JAVA(對外介面),主要為C++ (開源,可下載其源代碼)

Corel Office/WordPerfect Office : 1996年嘗試過Java,次年被拋棄,重新回到C/C++

Adobe Systems Acrobat Reader/Distiller : C++



五、關系型資料庫

Oracle : 匯編、C、C++、Java。主要為C++。

MySQL : C++

IBM DB2 : 匯編、C、C++,主要為C。

Microsoft SQL Server : 匯編 -> C->C++

IBM Informix : 匯編、C、C++,主要為C。

SAP DB/MaxDB : C++



六、Web Browsers/瀏覽器

Microsoft Internet Explorer : C++

Mozilla Firefox : C++

Netscape Navigator : The code of Netscape browser was written in C, and Netscape engineers, all bought to Java (see M. Cusumano book and article) redeveloped the browser using Java. It was too slow and abandoned. Mozilla, the next version, was later developed using C++.

Safari : (2003年1月發布)C++

Google Chrome : (2008的發布)C++

Sun HotJava : Java (死於1999年)

Opera : C++ (手機上佔用率比較大)

Opera Mini : Opera Mini (2007) has a very funny architecture, and is indeed using both C++ and Java. The browser is split in two parts, an ultra thin (less than 100Kb) "viewer" client part and a server side responsible of rendering. The first uses Java and receives the page under the OBML format, the latter reuses classical Opera (C++) rendering engine plus Opera's Small Screen Rendering, on the server. This allows Opera to penetrate various J2ME-enabled portable devices, such as phones, while preserving excellent response time. This comes obviously with a few sacrifices, for instance on JavaScript execution.

Mosaic : 鼻祖(已死) C 語言



七、郵件客戶端

Microsoft Outlook : C++

IBM Lotus Notes : Java

Foxmail : Delphi



八、軟體開發集成環境/IDE:

Microsoft Visual Studio : C++

Eclipse : Java (其圖形界面SWT基於C/C++)

Code::Blocks : C++

易語言: C++

火山中文: C++

火山移動: C++



九、虛擬機

Microsoft .Net CLR (.NET的虛擬機): C++

Java Virtual Machine (JVM) : Java 虛擬機:C++



十、ERP軟體 (企業應用)

SAP mySAP ERP : C,後主要為「ABAP/4」語言

Oracle Peoplesoft : C++ -> Java

Oracle E-Business Suite : Java



十一、商業智能(Business Intelligence )

Business Objects : C++



十二、圖形處理

Adobe Photoshop : C++

The GIMP : C



十三、搜索引擎

Google : 匯編 與 C++,主要為C++



十四、著名網站

eBay : 2002年為C++,後主要遷至Java

facebook : C++ 和 php

This line is only about facebook, not its plugins. Plugins can be developed in many different technologies, thanks to facebook's ORB/application server, Thrift. Thrift contains a compiler coded in C++. facebook people write about Thrift: "The multi-language code generation is well suited for search because it allows for application development in an efficient server side language (C++) and allows the Facebook PHP-based web application to make calls to the search service using Thrift PHP libraries." Aside the use of C++, facebook has adopted a LAMP architecture.

阿里巴巴和淘寶: php->C++/Java(主要用)



十五、 游戲 :

匯編、C、C++

星際爭霸、魔獸爭霸、CS、帝國時代、跑跑卡丁車、傳奇、魔獸世界.... 數不勝數了,自己數吧

都是用C++開發的,C++語言靠近系統地稱,執行速度最快。比如你的兩個朋友與你分別玩用VB、Java、與C++編寫的「跑跑卡丁車」,你玩C++編寫的 游戲 已經跑玩結束了,發現你的兩個朋友還沒開始跑呢,那是相當的卡啊,



十六、編譯

Microsoft Visual C++ 編譯器: C++

Microsoft Visual Basic 解釋、編譯器: C++

Microsoft Visual C# : 編譯器: C++

gcc (GNU C compiler) : C

javac (Sun Java compiler) : Java

Perl : C++

PHP : C



十七、3D 引擎

Microsoft DirectX : C++

OpenGL : C

OGRE 3D : C++



十八、Web Servers (網頁服務)

Apache : C和C++,主要為C

Microsoft IIS : C++

Tomcat: Java

Jboss: Java



十九:郵件服務

Microsoft Exchange Server : C->C++

Postfix : C

hMailServer : C++

Apache James : Java



二十:CD/DVD 刻錄

Nero Burning ROM : C++

K3B : C++



二十一:媒體播放器

Nullsoft Winamp : C++

Microsoft Windows Media Player : C++

Microsoft Windows Media Player : C++



二十二:Peer to Peer (P2P軟體)

eMule : C++

μtorrent : C++

Azureus : Java (圖形界面使用基於C/C++的SWT,類Eclipse)



二十三:全球定位系統(GPS)

TomTom : C++

Hertz NeverLost : C++

Garmin : C++

Motorola VIAMOTO : 2007年6月,停止服務。 Java。



二十四:3D 引擎

Microsoft DirectX : C++(相信玩 游戲 的同學都知道這個,現在最高版本是DX11)

OpenGL : C

OGRE 3D : C++


二十五:伺服器軟體

Apache: C

Nginx: C

IIS: C


二十六:其他相關

OpenStack: python

綜述

著名的軟體一般是系統軟體,軟體一般都分為系統軟體和應用軟體。開發軟體分為一次開發和二次開發,比如開發操作系統(系統軟體),就是一次開發;在操作基礎上進行應用軟體的開發,比如開發 游戲 ,就是二次開發。


一次開發的系統軟體,要直接調用硬體資源,必須使用簡單、直接的底層語言和中層語言,比如匯編和C語言;二次開發應用軟體等,因為應用軟體的類別比較多的,針對的情況比較復雜和具體,因此可以選擇的語言很多,比如,大數據人工智慧方面的有Python;安卓手機APP就是Java等等。

這里還有一個誤區,其實語言不重要,每種語言都差不多,重要的是開發環境和編程思想。要學習編程開發,學的不是語言,而是對於開發環境工具的使用和編程思維的錘煉。很多著名的軟體都是用C等底層語言編寫的,但是也可以用其他語言編寫,不過很少學C了,其中有商業的原因。(後面會解釋)

集成開發環境軟體

計算機語言是不可以單獨拿出來說的,比如我們說C語言,指的是C語言編譯器,而Python語言,指的是Python解釋器。而編譯器和解釋器卻都是用C語言編寫,是不是很意外,所以著名的軟體一般都是系統軟體,使用的是C語言,一個語言就要初中水平就可以學會了,但必須了解IDE開發環境。


要使用計算機語言,就必須安裝編譯器,或者是解釋器,程序員是在TXT文本上編寫語言的,用編譯器可以一次性編譯為可執行文件exe,用解釋器則可以逐條翻譯成機器語言並逐條執行。編譯器速度快,解釋器可以跨系統,到了別的系統,不需要程序員改寫程序,換一個解釋器就行了。

IDE集成開發環境具備圖形操作界面、編譯器、調制器、控制台,是非常重要的開發工具的,只會一個計算機的語言語法,卻不會使用IDE,基本上是沒用的!

編程思想

很多著名的軟體都是使用C等底層語言編寫的,而且所用的都是編譯器。當然還有另外一個原因,就是編程思想,C語言是面向過程,Python是面向對象。很明顯,一次開發的系統軟體肯定是面向過程的,而面向具體使用場景的應用軟體肯定是面向對象的。


高手可以自由使用編程思想、程序編寫時,交替使用各種語言、切換解釋器或者編譯器,達到隱藏核心代碼目的;又或者軟體的核心模塊採用C等底層代碼,保證軟體的運行速度。畢竟開發時都是模塊化的,不同模塊使用不同的方法都是可以的!

所以很多著名的軟體,往往是混合著各種語言,核心部分是C,其他部分則根據不同的情況選用不同語言,之所以會這樣做,是因為使用C開發軟體要耗費大量的時間太。摩爾定律推動硬體發展,軟體開發也受到影響,一個軟體晚幾天推出市場,效果完全不同,所以程序員經常加班趕工,速度才是最重要的。

總結

如上所述,著名的軟體是使用C等底層語言、編譯器語言、面向過程的語言編寫的,更多的是在一個軟體的核心部分使用C等底層語言、編譯器語言、面向過程的語言,其他則見機行事。

現在主流的語言是java、python和go

B. 10大編程語言排行

全球十大編程語言排行榜,C最古老,JavaScript第一!

在軟體開發行業,新技術正在以快節奏的方式出現,程序員們選擇編程語言也要順應行業和時代的發展趨勢,以此來保持科技市場上的領先優勢,而在眾多編程語言當中,哪一個是你的最愛呢?

日前,作為程序界的「Facebook」,GitHub公司列出了目前最流行全球十大編程語言,它們都是你正在用的嗎?來看看吧。

全球十大編程語言排行榜

10、C

C是迄今為止最常用、最古老的編程語言之一,於20世紀70年代初創建。1978年,美國貝爾實驗室正式發布了C語言,並出版了一本名叫《TheCProgrammingLanguage》的書,這本書一直被當做C語言的非正式標准說明。

9、Go

Go最初是由谷歌設計的,專門針對世界上最繁忙的搜索引擎谷歌,為它提供規模巨大的多處理器系統。如今使用GO語言編譯的程序已經可以媲美C++和C的速度了,並且更加安全,也已經成為開發人員的熱門選擇。

8、C#

這種語言發音為「C-Sharp」,也是由微軟開發的。它是Java的競爭對手,主要用於商業軟體和系統級應用程序的開發。

7、CSS

層疊樣式表(英文全稱:CascadingStyleSheets,CSS),是一種廣泛用於網站設計和基於瀏脊衫飢覽器的編程語言。

6、C++

C++是C編程語言的分支,創建於1983年,我們可以在桌面web應用程序或者伺服器框架上找到他。

5、PHP

PHP的應用非常廣泛,我們包括雅虎和臉書等大型網路公司櫻返都使用PHP作為網站的代碼。PHP混合了C語言、JAVA語言、PERL語言,它可以將程序嵌入到html中去執行。

4、Ruby

Ruby因易於閱讀和編寫而贏得了很多贊譽。Ruby可以使構建Web應用程序變得簡單。該語言的座右銘是「程序員最好的朋友」,也被許多老程序員稱為可讀性最強的語言。

3、Java

Java最初是由SunMicrosystems在1991年創造的,Java吸收了C++的優點,具有功能強大和簡單易用的特徵。在2009年美國甲骨文公司收購Sun之後,已經把Java變成了一個強大的廠商。JAVA是Android應用程序中最常見的語言,2007年3月起,全世界的人都可以對JAVA源代碼進行修改。

2、Python

Python的歷史可以追溯到1989年,由荷蘭人GuidovanRossum(吉多·范羅蘇姆)發明。因其高度可讀的代碼而深受其程序眼們的喜愛,而且許多程序員認為這是最容易入門的語言。

1、JavaScript

盡管它們的名字和JAVA很相似,但JavaScript實際上並沒有太多與Java有關的東西。它被廣泛應用於客戶端的腳本語言,最開始是用在html網頁上,但它也會讓瀏覽器變慢,有時會讓用戶暴露於安全漏洞。

但同時塌廳,我們可以發現,如今互聯網上的所有網頁幾乎都有它的身影。

除了以上全球十大編程語言,GitHub的編程語言熱門榜單還有TypeScript、Shell、Swift、Scala以及Objective-C。


C. 每個開發人員都應該知道的16個頂級新計算機編程語言

函數式語言

Elixir

Elixir 比 Erlang 更容易編寫,具有 Haskell 等語言的函數式編程概念。Elixir是基於Erlang 虛擬機的,其廣為人知的特點是運行低延時、分布式、可容錯的系統,並成功用於Web開發與嵌入式軟體領域。

Elm

Elm是一種用於構建 Web 應用程序的函數式語言。業內一般認為,它適用於創建高可交互應用,例如復雜的用戶界面,開發人員可以通過 Elm 快速編寫富有表現力的系統。Elm 也以沒有運行時異常而聞名。

PureScript

PureScript是一種可編譯為 JavaScript 的純函數式編程語言。與 Haskell 最相似的是,PureScript 最適合用於開發 Web 應用程序和伺服器端應用程序。

PureScript 支持類型推斷,與其他語言相比,需要明顯類型注釋要少得多。

Swift

Swift是一種由蘋果公司開發的通用編譯編程語言,最早的設想是替代上一代編程語言Objective-C ,過程中結合了Objective-C、Rust、Ruby 和 Python等語言的編程思想。目前Swift用於開發蘋果自己的手機、伺服器、台式機上的應用軟體。

程序語言

Go

Go語言是由谷歌公司創造的類似C風格的語言。Go 比 C++ 或 Java 更簡潔,比 Ruby 或 Python 更安全。

一些缺點: 編碼要求嚴格。比如,不能混用符號和無符號整數。還有一個明顯的遺漏,Go語言沒有泛型和繼承。

但Go語言的優勢同樣明顯,簡單且易於使用。Go語言擅長於網路和多線程方面的編程。

面向對象語言

DART

Dart同樣來自谷歌公司具有C語言風格。Dart可以輕松編寫JavaScript、Java for Android、本地機器代碼或獨立的 Dart 虛擬機。它還可以運行後端代碼。

Dart 非常適合使用事件驅動代碼構建用戶界面。根據Dart 團隊成員的說法,Dart的優勢:可選的靜態類型、最小的編譯時錯誤和強大的內置編輯器。

Pony

Pony是一種基於無數據競爭類型和垃圾收集的語言,並使用 actor 模型以及稱為引用功能的東西。

你可以把 Pony 想像成畝余某種「Rust 遇上 Erlang」的復合體,沒有鎖,高並發是其主要優點。

Pony 的缺點是 API 穩定性低、很少有高質量的第三方庫和有限的本地工具。

TypeScript

TypeScript是一個基於 JavaScript 靜態類型定義構建,並由微軟維護且開源編程語言。Visual Studio Code 或Visual Studio 是推薦的IDE編輯器,微軟大廠的用戶體驗和錯誤檢查也不用懷疑。

復合編程語言

Hack

Hack是一種作為 PHP 方言的 HipHop 虛擬機的編程語言。於 2014 年由Facebook創建,允許程序員同時使用靜態和動態類型(也稱為漸進類型),這為編碼提供了靈活性。

Julia

Julia是一種高級通用編程語言,用於計算科學和數值分析。Julia 以動態類型和可重現的高性能特性而聞名。

Julia 在數據可視化和機器學習等方面都有大量用途。事實上,它被英國保險公司 Aviva 用於風險計算,紐約聯邦儲備銀行用於金融建模,甚至氣候建模聯盟用於氣候變化建模。它擁有Fortran、C++、R、Java、C 、Python等的介面,這使其成為最受追捧的新語言之一。

Kotlin

Kotlin是運行在 Java 虛擬機中的更快、更流暢的 Java 版本。它現在是Android 開發的首選語言。根據 Android 開發者網站顯示,程序員正轉而採用 Kotlin,因為該語言的樣橡耐升板代碼更少,空指針異常更少,並且與 Java 有互操作性。梁老

Kotlin 可用於在 iOS 和 Android 上運行的應用程序、不使用額外運行時或虛擬機。

Nim

Nim是一種優先考慮可讀性的靜態類型語言。通過結合多種語言的特性,Nim 為程序員提供了速度和易用性。

它帶有 JavaScript 後端、分散的包管理、自動內存管理、C 和 C++ 庫的綁定以及用於調試的回溯。作為一種語言,Nim 是有限的,但它包含一組元編程功能,如泛型、模板和宏,因此開發人員可以在避免冗長代碼的同時以不同的風格工作。

OCaml作為此列表中較舊的語言,OCaml是一種多範式語言——既有函數式、命令式和類型安全,也具有面向對象功能。

OCaml 的一些優勢:定義數據類型很容易。默認情況下,所有變數都是不可變的。API 穩定,具有良好的庫向後兼容性。該語言還為獨立應用程序提供自動內存管理和單獨編譯。

Reason

如果比JavaScript 更快、更簡單且類型安全會怎樣?

這就是創建Reason的 Facebook 開發者想要回答的問題。不過,他並沒有從頭開始構建一種新語言,而是採用了 OCaml,並將其調整為類似於 JavaScript。

Reason使用項目 BucketScript編譯為 JavaScript,並且可以訪問 80% 的 JavaScript 工具和生態系統。它還可以編譯為准系統、iOS、Android 和微控制器。

Red

Red是一種最初旨在克服 Rebol 語言限制的編程語言。Red 於 2011 年推出,受 Rebol、Lua 和 Scala 等語言的影響,對高級和低級編程都很有用。

該語言可用於開發從高級 GUI 到低級操作系統的所有方面。Red 擁有人性化的語法、低內存佔用和垃圾收集等優點。

Rust

Rust解決了一些與 Go 相同的問題,如系統級別的線程和進程安全,,但Rust 更像 C 風格的語法

但Rust語言的缺點:靜態類型和缺乏垃圾收集

Rust可直接訪問內存意味著程序員可以編寫低級代碼,如操作系統內核。Rust 也非常適合嵌入式設備、網路服務和命令行編寫。

閱讀全文

與facebook編程語言相關的資料

熱點內容
命令來自剃頭的用英語怎麼說 瀏覽:765
什麼app不花一分錢買東西 瀏覽:373
布林四線指標源碼 瀏覽:968
單片機的控制板 瀏覽:218
襄陽軟體編程 瀏覽:841
sshpass命令 瀏覽:106
logo伺服器怎麼下載 瀏覽:508
如何ftp連接伺服器 瀏覽:674
creo自動編程 瀏覽:161
雲伺服器在電腦怎麼開 瀏覽:432
ipad相冊如何在文件夾中建文件夾 瀏覽:621
和家親這個app有什麼用 瀏覽:575
什麼app裡面有種樹打折 瀏覽:374
編程外掛入門教學 瀏覽:974
pdf黑白轉彩色 瀏覽:725
英國投資加密貨幣嗎 瀏覽:887
看完程序員那麼可愛後的感受 瀏覽:131
廣播在什麼APP能聽 瀏覽:678
阿克曼小車連接什麼app 瀏覽:773
all100編程器 瀏覽:182