2010-11-06 55 views
3

我看到在線項目數量的增加,需要額外的「短」語法來生成底層代碼(通常是HTML和JS),每當我看到另一個彈出窗口時,我都在想我是否缺少一些東西。快捷編程語言我錯過了什麼嗎?

在不同的團隊成員(設計師等)之間傳遞項目時,學習和記住這些簡碼需要額外的時間,他們必須重新學習基本語言,如HTML和JS?

問題點:YAML用於生成模板,以及用於生成Javascript的項目(例如)CoffeeScript。我只是想知道其他Stackoverflow的民衆是否認爲這種細粒度的抽象有很大的好處,或者如果有這種類型的項目有任何使用期限的感覺,考慮到基礎技術的改進(我在考慮HTML5/CSS/JQuery)。標記語言的演變程度不足以真正保證這些嗎?

認識到這不是一個真正的問題,但有興趣聽到社區的觀點。我確信在創建自我生成的代碼時,這些類型的項目真的有很好的理由,但除此之外,我很困惑 - 許多人每天都在使用它們。這是一個值得跳躍的潮流嗎?

+1

恕我直言,這應該是在http://programmers.stackexchange.com/ – thejh 2010-11-06 14:06:17

+0

同意。 :) - 不會再發生。 – Paul 2010-11-06 14:14:34

回答

1

個人而言,我不認爲這是值得的,因爲你可以在JavaScript中做的大部分事情已經被jQuery等庫所簡化。至於他們的壽命,很難說。然而,只要你知道JavaScript,並且你理解代碼輸出,移動到一個不使用CoffeeScript的新項目是一個簡單的事情,可以隨你輸出代碼。

+0

尼斯幽靈downvote。 – Radu 2011-01-03 18:00:17

1

Any sufficiently complicated program contains an implementation of Lisp

這是Lisp和朋友們推動多年的意識形態。基本上,你不鼓勵用「原始」語言編寫任何應用程序邏輯。原始語言是普遍的,低層次的,所以你的邏輯很快就會變得冗長並且被大量支持語言本身所需的代碼所污染。

取而代之,創建一個最適合您的應用的DSL,並在此DSL中編寫您的邏輯,而不是邏輯。隱藏DSL背後的所有令人討厭的語言細節。這使得邏輯更容易改進和支持。另一方面,像Coffescript,Groovy等是IMO錯誤的路要走。他們基本上試圖創建新的通用語言,但是使用「更好」的語法,但是,這並不能解決基本問題 - 這些語言仍然描述抽象計算而不是問題領域。更高效的方法是擁有一個非常基礎的基礎語言和一個發展良好的宏觀設施,可以簡化創建DLS。這是lisp本身是如何工作的,這種方法的另一個例子是haXe/neko

0

在我看來,我更喜歡jQuery寫短的JS指令,並防止每個人都膨脹最終產品。我不喜歡css框架,因爲我們正在構建巨大的門戶網站,而且您並不總是需要隱藏在其中的所有東西。我更喜歡根據一些常用規則編寫模塊化css,例如使用clearfix清除使用css重置。 :)