2009-04-24 15 views
1

G'day人。我試圖在工作中介紹Ruby,並且有一些人感興趣。但是,我被要求通過Python和PHP介紹Ruby的好處。通過Python和PHP說服Ruby的其他人

我已將其分解爲2個部分: 1)顯示Python和Ruby相對於PHP的優勢; 2)顯示Ruby優於Python的優點。

第一個很容易。我會解釋這樣的事情:

  • 一切都是一個對象。
  • Python和Ruby更易於讀寫。

對於第二個,我在想:

  • Ruby有很多便利,這使得它更易於閱讀和寫作。例如:可選括號,並且能夠打開內置插件,可以支持諸如2.days.from_now
  • RSpec遠遠超出Python的TDD和BDD框架。
  • GitHub和RubyForge是尋找,發佈和協作軟件的絕佳資源。

您有什麼建議嗎?我都是耳朵!

+3

這很大程度上取決於您的公司的行爲...... Ruby不是一切的最佳解決方案。 – CookieOfFortune 2009-04-24 05:20:28

+6

或任何東西。 ;) – 2009-04-24 05:23:29

+2

這有火焰戰爭的潛力! – 2009-04-24 05:25:04

回答

15

不要被吸引進比較的論點 - 除非你有三種語言的經驗,否則你只會暴露你的無知 - 尤其是當聲稱「X不能做Y」時。真正的粉絲會讓你失望。

相反,炫耀紅寶石什麼可以做。這是一種偉大的語言,但這與人們談論它的程度無關。重要的是代碼。所以炫耀。用語言展示您的生產力,可靠性和靈活性。使其成爲在代碼審查中遵循的最簡單的事情。有套房和測試套件。如果必須,請閱讀RedHanded的偷偷摸摸的技巧。用你的代碼贏得你的同事 - 這將比你的話語更具說服力。

12

嗯,作爲所有三種語言的活躍程序員,我簡直不能同意其中一種比另一種好。當然,Python和Ruby更加面向對象,但這不是一個更好的要求,它只是一種方便。你無法打敗PHP社區和代碼的遺留問題(無論是好的還是壞的),也不會忽視PHP將來的發展方向,大量的支持,爲它準備的分佈式服務器等等。

如果你想專注於語法,那麼三者都有其優缺點。如果你想談論後端技術,那麼因爲所有這三家公司都在積極開放源代碼項目,所以沒有贏家。

除了程序員,你可以混合並選擇最適合你的東西。請記住,即使認爲Ruby是自NAND門以來最好的事情,它並不意味着別人遵循。還要記住,我們都是不同的;有些人實際上 Java和.Net,就像其他人喜歡LISP一樣。我們都是不同的,我懷疑任何Ruby/Python/PHP競爭者都比其他競爭者好。抱歉。

+1

Python語法中的弱點是什麼? – 2009-04-24 09:58:40

+3

我不認爲這是一個弱點,但對於一種聲稱美麗比醜陋更好的語言來說:。和__語法可能會令人困惑。 例如:super(Car,self).__ init __(「Mercedes」) 我覺得它不知何故可怕。恕我直言 – MrHus 2009-04-24 10:09:41

+0

怎麼樣的語法不可靠性,在簡潔和悲傷,隨着PHP,這可能導致**很多**浪費固定代碼圍繞不必要的*語言*缺陷? – Annonymous 2016-06-06 20:49:12

30

如果你的目標是說明爲什麼語言X是更好比語言Y,你被困在沒有正確答案的主觀土地上。

不,Ruby不是更好比PHP或Python。它可能更適合於一個特定的目的,爲此你可以給出具體的例子。 PHP是編寫SMTP服務器的不好選擇; Ruby和Python將爲您提供更好的服務(實際上,在Python中,只需幾行代碼就可以完成工作,但對於Ruby來說卻無法說明問題)。另一方面,PHP比Ruby更適合編寫電子郵件提交表單的一次性短後端。代碼簡短,易於維護,快速編寫等。

PHP具有絕對是巨大的開發基地,使得程序員很容易找到,如果你想作爲外源發展鏈的任何方面非常便利。另一方面,在PHP中編寫可怕的代碼也非常容易,而且還有足夠多的東西在出現。

Python有比Ruby一個更大的用戶羣,而且確實是RedHat的使用開發的系統工具的主要語言。因此,如果您使用的是RedHat派生的服務器(從統計角度而言,如果您使用的是Linux,則可能會非常好),那麼Python將保證已經就地並可正常工作等。

總之,權衡利益,作出決定,但不要以爲人們會同意你的看法;畢竟這只是一個意見。


編輯

它只是發生在我身上,我沒有說明整點:你不應該試圖說服,他們應該使用Ruby對Python/PHP等人。相反,你應該嘗試確定是否應該使用Ruby/Python/PHP。

你不能去實地調查這樣的已經已經確定的答案是什麼 - 這是沒有幫助的。相反,您應該收集有關每種語言的優點和缺點的信息,並根據貴公司的要求進行權衡。一旦你得出結論,你已經有一大堆證據顯示它是正確的。

+2

+1:根據您的要求選擇一種語言。不要證明你最喜歡的語言。 – 2009-04-24 11:36:00

0

所有3種語言有自己的位置。與任何編程任務一樣,您必須選擇最適合該任務的語言。 Python具有列表解析功能,當嵌入和生成html時,php會更好。 Ruby也是一門偉大的語言。我發現自己在ruby中使用過幾次的事情之一就是用'1'...'zzzzz'來產生所有可能的1-5號字符串。它們都有自己的優點,並且都比其他的更好任務。

+0

我認爲在PHP中嵌入html並不是一個好處,因爲它會讓你逃避。有時候,這是一個方便的捷徑,但它往往是濫用(我知道我有!),當模板將是一個更好的選擇.. – 2009-04-24 09:11:55

0

如果你傾向於一種語言或一種軟件,那麼你會傾向於只看到與其他人相比的好東西。如果你想做真正的比較,那麼就要優先考慮利弊,並且看看Ruby是否在你公司想用這種語言實現的目標方面是明確的贏家。如果你這樣做,你的公司看到Ruby的好處,那麼他們肯定會使用。

5

魔鬼代言人也許......

  • 一切是一個對象。

這是紅寶石的功能,但它是不言自明的,爲什麼這是一個好處。你需要預先準備一個爲什麼這是一個好處的論點。當說服某人某事物的優越性時,總是考慮到展示其優點而不是特點。

  • Python和Ruby更易於讀取和寫入。

這是一個非常大的要求做了,我會不舒服作出這樣的要求沒有可信的客觀的第三方證據支持這種大量。如果沒有,我懷疑這樣的聲明確實無法備份,我會安全地玩,並避免提出這樣的聲明。提出這一實質性的要求,但只是以個人意見或軼事證據作爲後盾,這並不是一個好主意。

  • Ruby有很多便利,這 可以更容易地讀取和寫入。例如: 可選支架,並能夠 開放的內置插件,允許搞什麼 2.days.from_now

同樣,你將需要考慮的利益,而不是功能。它可能是真的,它有可選的括號,但你不能只提一個功能,你必須解釋它的好處 - 爲什麼這個功能比任何其他方法更好。就我個人而言,我不確定'可選'語法是否是一個好主意,並且需要一些證據來說服我。

  • 的GitHub和RubyForge的是太棒了資源查找, 釋放,併合作開發 軟件。

這很好。除了Ruby以外,還有類似的語言資源 - 同樣,您不僅需要提及這些語言的存在,還要解釋它們如何比其他語言更好。

祝你好運。

0
Happy programmers == productive programmers 
Ruby    == Happy Programmers 

那麼必定意味着

Ruby == productive programmer 

說服他們這兩個報告的真實,你在那裏。當然假設Ruby讓你成爲一個快樂的程序員。

5

如果您真的想要顯示Ruby更好(假設它適合您的應用程序!),爲什麼不嘗試從頭開始寫一個小應用程序?它不一定很大,但是最終會使用它的東西是一個好主意。

寫在這三種語言,包括服務器配置的任何應用程序(我假設你在這裏寫一個Web應用程序使用Django/Rails的/ PHP吧?),並告訴你如何更快的是,如何更清潔代碼是等...假設它是;-)

你可以通過詢問他們想要添加的內容來完成,然後嘗試添加該功能,如果它是一個小的改變。沒有一點像觀衆參與 - 人們喜歡鼓掌。如果讓他們參與進來,他們更有可能接受勝利者。

爲了記錄,我已經嘗試了所有三種,並且會同意Ruby和Python似乎都會導致更簡潔的代碼。儘管如此,我會選擇Python而不是Ruby--當我嘗試使用Ruby的語法時,出現了一些笨重的問題,我只是沒有使用Python。

2

你將會對python產生嚴重的影響。順便說一下,GitHub寫入的顏色爲紅寶石,而不是紅寶石本身。

對於python,有一個BitBucket(儘管我更喜歡git),還有pypi。

糾正我,如果我錯了,但它聽起來像你沒有看過python代碼。 (順便說一句,我寫了python和Ruby的桶),我發現它更可讀,尤其是當你在處理不是你自己的代碼時。

總之,並不真正回答你的問題,也不是真的想爲火焰戰爭作出更多的貢獻。

1

實際上從來沒有人讓我(至少直接)信服我,使用一種編程語言或其他語言。

我曾經有清晰一定的需求(如果你可以調用它的方式)以及其他一些標準,一個語言及其生態系統應滿足。而且你最終會使用一些stdlib和第三方資源,所以你可能也想看看它們(並將它們用作參數)。

我是一個紅寶石和蟒蛇的粉絲(這些語言通過他們的設計,他們不斷的進步和他們的社區讓我感到滿足)。腳本語言的一般概念使得它們同樣具有吸引力。我發現gem是我使用過的最慢的軟件之一。而且我個人認爲pythons stdlib比rubys更好組織。但我喜歡Ruby Mixins,它們很優雅,安全很多。

簡而言之:您可以將您的同事的興趣指向當前的一些熱點,編碼很難,然後在ruby中顯示一些替代方案。 Rake也是一個很好的工具,演示它......只是rationally對它充滿激情..其餘的都會來..

0

這種貼子給Ruby程序員一個壞名字。 Ruby是貝多芬,Python是巴赫。如果你更喜歡另一種風格,那就好,但不要試圖爭論一種風格的優越性。