工作用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中控制子圖的間距