青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Fork me on GitHub
隨筆 - 215  文章 - 13  trackbacks - 0
<2015年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345


專注即時通訊及網游服務端編程
------------------------------------
Openresty 官方模塊
Openresty 標準模塊(Opm)
Openresty 三方模塊
------------------------------------
本博收藏大部分文章為轉載,并在文章開頭給出了原文出處,如有再轉,敬請保留相關信息,這是大家對原創作者勞動成果的自覺尊重!!如為您帶來不便,請于本博下留言,謝謝配合。

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

相冊

Awesome

Blog

Book

GitHub

Link

搜索

  •  

積分與排名

  • 積分 - 220944
  • 排名 - 117

最新評論

閱讀排行榜

http://blog.csdn.net/cedricliang/article/details/48437437
對于那些需要web服務的初創公司里的大型新項目,我會選擇何種后端編程語言呢?在客戶端側有CSS、html和JavaScript(包括CoffeeScript和TypeScript這類衍生語言)可供選擇。而對于存儲,我曾經用過MySQLRedis,這也基本夠用了。但是選擇服務器端的語言卻沒那么容易。我曾經使用了好長時間的PHP,因為在我剛開始編程時候,它最簡單,成本也最低。但是時過境遷,現在的我不用再擔心昂貴的服務器托管費用了。盡管我對web項目的經驗沒那么多,但我還是想分享自己的一些看法。

定義:后端與安全性

事先聲明一下:我只討論后端。所謂的后端,指的是處理服務器請求的數據接入層。它需要肩負著處理很多請求(大于100請求每秒)和快速處理請求(平均處理時間小于300ms)的職責。而那些可以被提前計算,或者是不需要直接展示給客戶端的繁重計算的工作,則并不適合用后端進行處理。這些工作可以通過其他的語言通過另外的方式實現。后端也并不直接處理對用戶的展現,這是前端應該做的。但是后端開發者,應該對如何給前端提供數據有著清晰的認知。我所見過最清晰的方式就是在前后端之間使用純Restful API進行交互。

后端語言也應該很容易校驗前端發來的數據,方便的連接數據庫,以及從文件系統保存或是獲取文件。

在接下來的篇幅中,我會描述語言的安全性。但這并不意味著你不能用不安全的語言寫出安全的代碼,而是不同語言編譯器能夠保證你的代碼不出現某些特定的bug。舉例而言,C的編譯器并不進行邊界檢查,因此它是一種非常不安全的語言。而那些可以被自動工具檢查出來的錯誤包括:

  • 語法錯誤
  • 讀越界
  • 內存溢出(C/C++并不檢查,但在java中幾乎不可能)
  • 未被使用的變量
  • 類型問題:這個問題略微有些模棱兩可,因為在每種語言你都能寫出強類型的代碼。但是在一些語言中,類型更為常見。有些語言同樣也使用類型系統來發現錯誤。舉例而言,php從這個意義上來說十分不安全。連123=="123ab"都可以為true。 Python稍微安全一點,但你卻可以隨意的返回值。Java相比之下安全多了。Haskel從這個層面來說更加安全,因為它的強類型系統會拒絕執行任何無意義的表達式,同時也不會進行任何形式的強制轉換。

在程序的運行時,也有一些錯誤會被發現。而在不同的語言中,對這種運行時錯誤的處理完全不同。舉例來說,C和C++會默默的失敗。(就像這個鏈接里說的) 這當然是很不好的。相比C/C++對越界錯誤的忽略,Rust則會發出明顯的提示。(之前的heartbleed是一個典型的例子,可以看看這篇文章

當然了,所有這些問題都可以通過良好的測試來發現。但是,能夠被自動化的過程越多,當你測試不那么充分的時候,可能發生的意外也就越少。

Java

Java是跑在Java虛擬機的面向對象的語言。對于商業網站而言,java是使用最廣泛的語言。為什么呢?

上述是Java的優點,那么它的缺點呢:

  • 非常笨拙的語法。為了完成一個功能,你可能要打很多字。。當然自動補全是必不可少的,但是要打的東西還是不少。代碼越多,維護起來成本越高。
  • 要把一個工具跑起來難度很高
  • 那些被設計用來擴展的super-abstract結構,事實上可能永遠不會被用到。
  • 因為沒有指針的存在,Java不能訪問越界的數組,所以比C/C++安全一些。那些煩惱你的內存溢出也幾乎不存在了。但是付出的代價就是,語法更加的復雜,而且你如果一不小心,就會掉入Java中得不安全的陷阱。
  • 速度和內存使用量:Java在速度上并不突出,而在內存使用上則是相當的多。但是這并沒給它的大范圍使用帶來太多的問題。感興趣的可以看看這篇文章

對于Java還可以參考以下文章:

Javascript: Node.js

Node.js自從2009年發布一下,使用十分廣泛。Node.js具有異步,事件驅動以及可擴展的特性。Node.js應用是由JavaScript開發的,因此它具有JavaScript的所有優點:

  • 享受到了JavaScript V8引擎的好處
  • 靈活而輕量級的語法
  • 跟Java一樣,JavaScript出現在1995年。所以語言本身發展歷史很長,相對穩定。 

還有什么要補充的?

  • Node很快,而且可擴展。(參考 Performance Comparison Between Node.js and Java EE
  • JavaScript不太安全。即使很小的語法錯誤也只會在執行的時候暴露出來。因此單元測試十分重要。
  • Node.js被LinkedIn,Yahoo!, Uber, Paypal使用
  • 有很多人從Node.js轉向了Go 1 2 3

參考:

Go

Go是由Google開發的,靜態類型的編譯語言。它直到2009年才出現,十分短暫。

  • Go提供了那些你進行web開發需要的基本工具 
  • 有不錯的教程和一些web開發的材料
  • 有一些任務在Go語言中超過預期的復雜,比如排序,詳見link
  • Go有一些跟其他語言完全不同的diffuser,比如如果你想聲明一個public方法,那這個方法的第一個字母一定要是大寫的。還有未被使用的變量會導致編譯錯誤。

參考:

C

C#是由微軟開發的具有靜態類型的編譯語言。但是它卻有很多動態特性。 它出現在2000年。而針對web開發的框架ASP.NET直到2002年才發布。

C#的生態系統包括:

我對C#/ASP.NET的理解并不深入,因此無法更詳盡的分析它的優略。

Python

python是現在在用的最古老的語言之一。它最早出現于1991年。Python是具有動態的類型,面向對象的解釋性語言。而且它具有函數編程的特性。 
盡管我曾經在很多項目中使用過Python,但并不包括web項目。因此那些重要的工具和框架可能會被遺漏:

我認為Python最主要的優勢在于代碼容易撰寫,而且可讀性很高。我對Python顯然是有偏愛的,而且我堅信很多人和我有著同樣的觀點。

PHP

PHP是動態類型的服務器端語言,它在1995年被推出。

PHP最大的優勢是學習門檻低。它基本可以在任何地方被執行,托管和非常簡單。Wikipedia使用的就是PHP,所以很明顯使用PHP來創建可用的大型網站是可行的。 
這里寫圖片描述

Hack

Hack是由Facebook在2014年開發的編程語言。它是PHP的變體。它與PHP最主要的不同在于:

  • 函數參數和返回值是指定類型的
  • Hack并不完全支持PHP的一些特性source,比如goto、可變變量、字符串自增,這有時候也挺好的。

參考:

Rust

Rust是很安全的語言,但是對于它在生產環境的使用,仍有疑慮。

參考:

其他

Ruby with Rails: 我知道它應用廣泛,但是我對Ruby的了解并不充分。Ruby的語法與Python類似。

參考

結論

仔細想來,對我來說以下的語言更適合我做后端:

  • Go:很快,而且是編譯型的
  • node.js: 很好的可擴展性
  • Python: 這是我最了解的語言。除此之外,它有非常清晰的語法,很好的社區開發的變法風格,以及易讀性。

對我來說不適合的語言:

  • PHP: 因為語言的不一致,導致建立穩定的后端沒那么簡單。
  • C#: 這個語言太以微軟為中心了
  • Java:語法有點拖沓,成本高。

其他語言可能也是很好的選擇,只是我知之甚少。我對rust在后端使用的可行性非常好奇。Hack語言非常年輕,讓我們對它未來的發展拭目以待。

原文鏈接:http://martin-thoma.com/languages-for-back-ends/#tocAnchor-1-11

posted on 2016-12-28 10:03 思月行云 閱讀(1202) 評論(0)  編輯 收藏 引用 所屬分類: C\C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            韩日欧美一区二区| 亚洲欧美欧美一区二区三区| 欧美xxx成人| 久久亚洲春色中文字幕久久久| 黄网站免费久久| 午夜免费在线观看精品视频| 久久成人精品无人区| 99综合视频| 久久久久久穴| 欧美在线亚洲| 欧美成人免费在线视频| 亚洲黄色小视频| 久久综合久久综合这里只有精品| 久久久噜久噜久久综合| 欧美激情在线有限公司| 99re6这里只有精品| 欧美在线观看一区二区| 久久午夜激情| 欧美午夜宅男影院| 激情久久一区| 亚洲欧美日韩精品在线| 麻豆国产精品777777在线 | 午夜亚洲性色福利视频| 久久影院午夜论| 国产精品成人一区二区三区夜夜夜| 国产日韩欧美高清免费| 亚洲精品乱码久久久久久久久| 亚洲尤物视频在线| 欧美激情第10页| 欧美伊人久久久久久久久影院| 欧美精品一区二区三区在线看午夜 | 99精品99久久久久久宅男| 亚洲欧美日韩精品久久久久| 麻豆91精品91久久久的内涵| 国产精品你懂得| 日韩亚洲欧美在线观看| 玖玖综合伊人| 性欧美激情精品| 欧美日韩网站| 亚洲精品中文字幕在线观看| 久久综合国产精品台湾中文娱乐网| 中文一区在线| 欧美日韩免费观看一区三区| 亚洲国产成人在线播放| 久久久久久免费| 亚洲一区二区日本| 欧美三级小说| 在线综合欧美| 亚洲精品久久久久中文字幕欢迎你| 美女精品在线观看| 亚洲高清不卡在线| 久久久久一区| 国产一区二区三区在线免费观看| 欧美专区18| 欧美日韩国产经典色站一区二区三区| 国产精品久久久久久模特| 国产热re99久久6国产精品| 午夜精品国产更新| 亚洲综合不卡| 国产日韩欧美一区| 久久精品国产v日韩v亚洲| 亚洲天堂久久| 国产欧美另类| 久久人人爽国产| 久久久中精品2020中文| 一区二区三区在线免费视频| 久久精品一级爱片| 久久精品在线免费观看| 悠悠资源网久久精品| 欧美成人精品激情在线观看| 久久视频免费观看| 亚洲欧洲日本mm| 亚洲精品在线二区| 国产精品免费网站| 久久天天躁狠狠躁夜夜av| 久久久久久一区二区| 亚洲三级色网| 一区二区三区日韩精品| 国产九九视频一区二区三区| 久久一区亚洲| 欧美肥婆bbw| 亚洲欧美日韩成人| 久久久国产一区二区三区| 亚洲精品一区二区三| 一区二区三区精品| 禁断一区二区三区在线| 亚洲国产色一区| 欧美三级黄美女| 久久久精品国产免费观看同学 | 欧美日韩国产首页在线观看| 亚洲欧美成人综合| 久久久777| 亚洲一区二区三区免费视频| 欧美在线观看一区| 一区二区三区欧美亚洲| 性欧美精品高清| 99精品视频一区| 欧美诱惑福利视频| 亚洲午夜av在线| 久久精品一区二区三区不卡牛牛 | 亚洲午夜在线观看视频在线| 狠狠色综合色区| 999亚洲国产精| 亚洲国产精品精华液网站| 亚洲少妇在线| 亚洲精品国产系列| 亚洲精品乱码久久久久久黑人 | 欧美精品999| 久久精品在线| 欧美视频亚洲视频| 亚洲第一在线| 国内精品久久久久久久影视麻豆 | 一区二区精品在线| 久久久亚洲成人| 欧美一区高清| 欧美日韩情趣电影| 亚洲国产精品热久久| 狠狠88综合久久久久综合网| 日韩一区二区高清| 最新中文字幕一区二区三区| 欧美一区二区在线免费播放| 亚洲淫性视频| 欧美色一级片| 亚洲日本一区二区| 亚洲黄网站在线观看| 久久久国产一区二区| 欧美诱惑福利视频| 国产精品主播| 亚洲一区三区电影在线观看| 99视频一区二区三区| 欧美va天堂va视频va在线| 蜜臀91精品一区二区三区| 国产一区视频网站| 亚洲欧美日韩中文视频| 先锋影音一区二区三区| 国产精品日韩一区二区| 亚洲一区二区三区成人在线视频精品| 亚洲午夜精品一区二区三区他趣 | 国产精品美女主播| 中日韩美女免费视频网站在线观看| 99riav1国产精品视频| 欧美福利电影在线观看| 亚洲精品国产精品久久清纯直播 | 亚洲视频精选在线| 欧美日韩免费高清| 日韩午夜激情电影| 亚洲自拍电影| 国产欧美日韩一级| 久久久久免费视频| 亚洲国产日韩在线| 亚洲天堂黄色| 国产欧美一区二区三区国产幕精品| 亚洲综合国产| 久久在线播放| 亚洲六月丁香色婷婷综合久久| 欧美区一区二区三区| 亚洲天堂成人在线视频| 久久精品人人做人人爽| 亚洲观看高清完整版在线观看| 欧美大片第1页| 欧美性一区二区| 欧美国产日韩二区| 日韩小视频在线观看专区| 亚洲欧美制服另类日韩| 99视频热这里只有精品免费| 亚洲高清资源| 亚洲人成7777| 久久一区精品| 亚洲小说区图片区| 欧美大学生性色视频| 亚洲一区二区免费在线| 加勒比av一区二区| 欧美色图五月天| 久久综合色一综合色88| 一个色综合导航| 欧美成人久久| 久久激情五月激情| 99精品视频免费观看| 狠狠色丁香久久婷婷综合丁香 | 国产美女精品| 欧美黄色免费| 久久精品女人的天堂av| 日韩视频永久免费| 免费影视亚洲| 久久精品国产欧美激情| 一本久久综合亚洲鲁鲁| 在线观看欧美亚洲| 国产欧美韩国高清| 欧美日韩免费观看一区三区| 久久天堂国产精品| 性做久久久久久免费观看欧美 | 久久一区二区三区四区| 亚洲图片欧洲图片av| 91久久精品国产| 免费成人小视频| 久久久久久久国产| 先锋影音国产一区| 亚洲视屏一区| 99成人在线| 亚洲精品九九|