工作用php,主要是php的silex框架,想學門其它語言python和ruby選擇哪個呢?

想用門其它語言做些感興趣的東西,比如自己的個人網站,文字遊戲等等

或者兩門都學的話,先學哪門比較好呢?


study(:ruby) if you.are_newbie?

如果你能看懂上面的代碼的意思,那就學Ruby吧。

謝邀

---- P.S 有人批評說這句反映不出Ruby的逼格,那麼看看下面這段DSL

Starbucks.order do
grande.coffee
short.americano
venti.breve.half_caff
end

#=&>

["large cup of coffee",
"small cup of espresso",
"extra large cup of regular and decaffeinated coffee mixed together with half and half"]

再看看Cucumber的示例:

Feature: Refund item

Scenario: Jeff returns a faulty microwave
Given Jeff has bought a microwave for $100
And he has a receipt
When he returns the microwave
Then Jeff should be refunded $100

再看看ActiveRecord:

class Physician &< ActiveRecord::Base has_many :appointments has_many :patients, through: :appointments end class Appointment &< ActiveRecord::Base belongs_to :physician belongs_to :patient end class Patient &< ActiveRecord::Base has_many :appointments has_many :physicians, through: :appointments end

不知道這些例子能不能體現Ruby的逼格呢。

Update: 真的沒空跟Python黨撕逼(看評論)。

1. 我上面的例子,並非展示奇技淫巧,而是Ruby的靈魂特性:block,及其元編程和強大的DSL能力。內嵌C語言? 我就不信你一個用高級語言寫日常的程序員,天天有什麼C語言好內嵌的。 如果你想直接內嵌C語言, 你可以去用Crystal(fun | Crystal Programming Language):

lib X
fun variadic(value : Int32, ...) : Int32
end

X.variadic(1, 2, 3, 4)

Ruby里你想用C雖然沒這麼方便,但也不是不可能,不只是C,連rust也可以:

require "fiddle"
require "fiddle/import"

module RustPoint
extend Fiddle::Importer

dlload "./liblib.so"

extern "Point* make_point(int, int)"
extern "double get_distance(Point*, Point*)"
extern "int loop_sum(int)"

def self.rust_get_distance
p1 = RustPoint::make_point(10, 10)
p2 = RustPoint::make_point(20, 20)
RustPoint::get_distance(p1, p2)
end

def self.rust_loop_sum
RustPoint::loop_sum(500000000)
end

def self.ruby_loop_sum
c =0
(1...500000000).each do |i|
c += i
end
return c
end
end

require benchmark

Benchmark.bm do |x|
x.report("Rust lib:") { RustPoint.rust_loop_sum }
x.report("Ruby local:") { RustPoint.ruby_loop_sum }
end

這是我寫的比較Ruby和Rust性能的示例。

詳細的內容可以看這裡:

1). 調用rust RustStudy/ruby-call-rust-lib-example · GitHub

2). 調用C ZhangHanDong/shell_explain · GitHub

2. 你說鬼車才是你的最愛,很驕傲的告訴你: Ruby1.9.1的正則引擎正好是鬼車,而現在Ruby已經是2.2.3版本了。

最後說一句: Ruby就在這裡,你學還是不學,它就是在這裡。 你們對Ruby感不感興趣,我一點也不關心的。


Silex(Symfony2)的架構設計是受RoR影響的,從框架使用的角度並沒有特別必要;如果你非得在Pythohn和Ruby之間選一個,我建議你選PHP。


&>&> study(python) and problem.can_be(simple)

&>&> True

我覺得這種答案沒什麼卵用啦。


果斷c/c++啊,不是標配嗎?


堅決不要學 Python 和 Ruby,簡直就是浪費時間

都是腳本,相似度太高。

學了對提高並沒有什麼用

而且上知乎問這種問題就是扯淡,知乎上回答的都是在哪裡bb沒有用的回答,越是用的少的東西越會推薦,越是工作用不到的越是推薦。

應該學習一門編譯型語言,GO or C


php學個c或者go語言,這樣能幫你解決php困難的事情


PHP是一門前端語言,或許可以試試JAVA或c 這種傾向於後端語言(編譯執行,不是腳本)的,腳本可以玩玩shell


學js吧


推薦閱讀:

採礦--編碼與繼電器
Scratchapixel舉步維艱,尋求贊助或投放廣告
面向新手的雜談:Flyweight
Matplotlib中控制子圖的間距

TAG:編程語言 | Ruby | Python | PHP | 編程 |