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

華爾街企業(yè)使用什么編程語言?答案可能出乎意料

譯文
開發(fā) 開發(fā)工具 后端
該公司目前擁有約六十位程序員,他們要么在求學(xué)階段已經(jīng)對(duì)Caml有所了解、要么依靠出色的學(xué)習(xí)能力在培訓(xùn)中快速掌握了這門編程語言。除了這些專業(yè)技術(shù)人員,公司里還有約九十名非程序員會(huì)在日常工作中跟Caml打交道。

【51CTO獨(dú)家譯文】華爾街一家公司發(fā)現(xiàn)計(jì)算領(lǐng)域的成功并不一定必須依靠傳統(tǒng)企業(yè)Java來實(shí)現(xiàn),他們利用Caml這款名不見經(jīng)傳的編程語言在代碼簡(jiǎn)潔性與可讀性之間找到了完美的平衡點(diǎn)。

[[114455]] 

貿(mào)易企業(yè)Jane Street表示,Caml為其帶來一系列強(qiáng)大的工具,足以創(chuàng)建出速度出色且不存在運(yùn)行錯(cuò)誤的大型程序。

“在常規(guī)工作當(dāng)中,很大一部分屬于案例分析任務(wù)。讓自己的程序正確運(yùn)作實(shí)在不是件容易的事情,而且能從系統(tǒng)中獲得的任何一款足以解決錯(cuò)誤的工具都彌足珍貴,”Jane Street公司技術(shù)部門負(fù)責(zé)人Yaron Minsky在本周五于紐約舉辦的QCon開發(fā)者大會(huì)上指出。

是一家專門處理貿(mào)易相關(guān)事務(wù)的企業(yè),也是目前世界上規(guī)模最大的Caml與OCaml(Caml的面向?qū)ο蟀姹荆┯脩簟?/p>

Jane Street公司的全部交易與輔助類系統(tǒng)都在使用Caml,當(dāng)然底層系統(tǒng)接口仍在使用部分C代碼、分析電子表格則由Visual Basic腳本支持??偠灾珻aml代碼在每個(gè)工作日會(huì)為Jane Street處理總值約200億美元的交易活動(dòng)。

該公司目前擁有約六十位程序員,他們要么在求學(xué)階段已經(jīng)對(duì)Caml有所了解、要么依靠出色的學(xué)習(xí)能力在培訓(xùn)中快速掌握了這門編程語言。除了這些專業(yè)技術(shù)人員,公司里還有約九十名非程序員會(huì)在日常工作中跟Caml打交道。

Jane Street使用Caml幾乎可以說是一種偶然,Minsky指出。Caml是一種機(jī)器學(xué)習(xí)函數(shù)編程語言,這類語言被廣泛應(yīng)用在各大高校的編程專業(yè)教學(xué)當(dāng)中,但在學(xué)術(shù)界以外始終未能獲得普遍認(rèn)可及實(shí)際成功。

Minsky十年前尚未從學(xué)校畢業(yè)時(shí)就已經(jīng)開始了自己在Jane Street的工作。由于對(duì)Caml語言非常熟悉,他為公司創(chuàng)建出一大批實(shí)驗(yàn)方案,其中很多后來還被整合進(jìn)生產(chǎn)環(huán)境。如此優(yōu)異的表現(xiàn)讓他在拿到分布式系統(tǒng)博士學(xué)位的同時(shí)也順利獲得Jane Street公司的聘書。

當(dāng)時(shí),Jane Street公司“對(duì)貿(mào)易層面的重視程度遠(yuǎn)高于技術(shù)層面,”Minsky回憶道。電子表格中充斥著大量VB代碼,但這種處理方式顯然無法跟上該公司的規(guī)模拓展節(jié)奏。更重要的是,當(dāng)時(shí)還沒有一套專門的系統(tǒng)能夠承擔(dān)變更管理工作,因此所有用戶計(jì)算機(jī)上的代碼也就無法得到更新。

隨著Jane Street公司的貿(mào)易業(yè)務(wù)逐步邁入計(jì)算機(jī)時(shí)代,Minsky部署的Caml方案開始成為公司的核心系統(tǒng)。

Jane Street同樣也關(guān)注過大多數(shù)貿(mào)易企業(yè)所使用的Java語言,但企業(yè)級(jí)Java程序在構(gòu)建過程中需要涉及大量動(dòng)態(tài)面向?qū)ο蠓椒ǎ@讓該公司感到其內(nèi)容難以理解并據(jù)此作出思考,Minsky表示。

Minsky指出,該公司的某位分析師非常喜歡查看運(yùn)行在該系統(tǒng)中的代碼——盡管他根本不是程序員。他只需坐下來認(rèn)真閱讀這些代碼內(nèi)容,就能了解到其執(zhí)行目的與背后的含義。Caml代碼的確非常易于理解,只要在相關(guān)語法方面做做功課、任何人都能掌握其中的內(nèi)容。

Caml還具備一系列天然優(yōu)勢(shì)。它是一款函數(shù)編程語言,因此能夠很好地支持程序中的函數(shù)計(jì)算。

“大家可以創(chuàng)建一個(gè)函數(shù),將其傳遞給另一個(gè)函數(shù),然后再讓該函數(shù)返回一組函數(shù),”Minsky表示。在Caml語言中,函數(shù)屬于“類值,能夠像其它項(xiàng)目一樣進(jìn)行任意傳遞。”相比之下,大部分其它編程語言都不允許開發(fā)者將函數(shù)像值那樣或者以手動(dòng)方式對(duì)其加以傳遞。

此外,數(shù)據(jù)值在函數(shù)編程語言當(dāng)中是不可變的。這意味著程序的運(yùn)作并非源自“數(shù)據(jù)結(jié)構(gòu)中的單元變化實(shí)現(xiàn),而是依靠表達(dá)式求值來完成,”Minsky解釋道。

Caml是一套靜態(tài)類型系統(tǒng),這意味著其中具備一系列規(guī)則、用于指導(dǎo)系統(tǒng)處理每一種數(shù)據(jù)類型。一般來說,在靜態(tài)類型語言中進(jìn)行漏洞定位在難度上要遠(yuǎn)低于JavaScript或者Python等動(dòng)態(tài)類型系統(tǒng)。這種特性大大加快了計(jì)算任務(wù)的速度,因?yàn)槌绦蚯宄酉聛硇枰幚砟姆N類型的數(shù)據(jù)。

“關(guān)于這種編程風(fēng)格,我已經(jīng)積累下豐富而且深刻的開發(fā)經(jīng)驗(yàn)。在這里,大家可以利用類型系統(tǒng)幫助自己掌握變化所帶來的影響,”Minksy指出。“誠(chéng)然,每一種語言都可能編寫出糟糕的代碼,但只要大家知道自己在做什么,就完全能夠利用這種類型系統(tǒng)作為設(shè)計(jì)方案中的一部分、進(jìn)而極大改善程序開發(fā)成果的正確性。”

雖然很少有人會(huì)把Caml開發(fā)經(jīng)驗(yàn)寫進(jìn)自己的應(yīng)聘簡(jiǎn)歷,但尋找在這方面頗具心得的程序員其實(shí)并不困難,Minsky表示。那些了解Caml或者說對(duì)函數(shù)編程較為熟悉的開發(fā)人員對(duì)于這種編程模式往往充滿熱情。

Minsky在第一次幫助公司招聘程序員時(shí),就是直接通過Caml郵件列表發(fā)出通知并最終從回復(fù)者中選定了三名新員工。

當(dāng)然,該公司也招聘過不少對(duì)Caml一竅不通的程序員。理由很簡(jiǎn)單,只要這些應(yīng)聘者有能力通過培訓(xùn)掌握這門語言,是否已有經(jīng)驗(yàn)并不是大問題——事實(shí)了證明這樣的判斷完全正確。

隨著時(shí)間的推移,該公司已經(jīng)利用Caml構(gòu)建起眾多開發(fā)成果。除了其核心貿(mào)易系統(tǒng)之外,還包括一套并發(fā)庫、一套復(fù)雜的訂閱及發(fā)布系統(tǒng)以及一系列系統(tǒng)自動(dòng)化工具。

總體而言,Jane Street公司擁有“大量依靠小型團(tuán)隊(duì)就能維護(hù)的系統(tǒng)方案,”Minsky解釋道。

使用這種知名度不高的語言當(dāng)然也存在一些弊端,Minsky強(qiáng)調(diào)稱。其中最嚴(yán)重的一點(diǎn)在于缺乏適當(dāng)?shù)默F(xiàn)成工具。最讓Minsky苦惱的就是沒有先進(jìn)編輯工具——例如autocomplete——以及廣受用戶歡迎的主流IDE(即集成開發(fā)環(huán)境)可供選擇。

為了解決這些問題,該公司已經(jīng)開發(fā)出諸多自有工具并選擇了開源機(jī)制。Jane Street公司還積極為一家名為OCamlPro的公司以及劍橋大學(xué)Caml實(shí)驗(yàn)室提供資助,鼓勵(lì)他們打造商用Caml支持方案。

“我們盡自己所能,努力推動(dòng)該語言的健康發(fā)展。我們自己編寫出的300萬行代碼已經(jīng)成為公司運(yùn)營(yíng)的重要基礎(chǔ),而以Caml語言為核心建立起來的技術(shù)社區(qū)也成為我們的重要技術(shù)依托,”Minsky指出。“如果大家依靠小眾技術(shù)起家并獲得了成功,就必須準(zhǔn)備好為其后續(xù)發(fā)展買單。”

英文:http://www.networkworld.com/article/2363253/software/you-wont-believe-what-programming-language-this-wall-street-firm-uses.html

責(zé)任編輯:林師授 來源: 51CTO
相關(guān)推薦

2014-07-01 17:48:24

開發(fā)技術(shù)周刊

2020-07-29 17:15:19

Java人臉識(shí)別人工智能

2011-05-31 13:41:00

C語言

2011-06-29 09:38:13

電子書平板電腦Kindle

2012-06-04 11:51:31

飛視美視頻會(huì)議

2023-12-26 08:10:18

Postgresql數(shù)據(jù)庫Oracle

2025-03-03 00:00:00

DeepSeek算法ignore

2021-06-30 06:19:14

編程語言無符號(hào)整數(shù)數(shù)據(jù)類型

2022-05-18 09:49:26

MySQLID數(shù)據(jù)庫

2020-08-28 09:50:12

Java程序員語言

2018-03-15 09:23:24

編程語言程序員Java

2021-03-15 08:13:19

JavaScript開發(fā)代碼

2021-05-20 11:41:07

RSAC 2021/數(shù)

2020-10-10 09:01:54

泄漏

2013-10-30 16:49:06

Windows XPWindows 8

2024-05-06 10:07:24

Python編程

2023-02-16 18:22:44

ChatGPTWolfram語言

2024-09-09 09:20:00

2013-08-16 11:26:24

程序員面向?qū)ο?/a>

2016-05-04 11:29:16

VR投資
點(diǎn)贊
收藏

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