探検
CoffeeScript
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2011/11/11(金) 03:21:00.78 について語るスレ
2011/11/18(金) 15:51:42.05
コーヒースクリプトって名前がダサすぎるよ
もっと洒落た名前だったら、使ってやろうかなという気も起きるんだが
もっと洒落た名前だったら、使ってやろうかなという気も起きるんだが
2011/11/18(金) 15:53:48.60
SwordOfLegendScript
2011/11/18(金) 16:50:54.17
コーヒースクリプトって…。リテラシーがないやつは敵わんなw
2011/11/19(土) 12:21:38.47
12デフォルトの名無しさん
2011/11/19(土) 12:46:39.99 cfrontのことを言っているのかテンプレートのことを言っているのか判断しかねるな。
2011/11/19(土) 13:56:42.87
何にせよC言語にコンパイルするプログラミング言語なんていくらでもあるし
原理的にはほとんどの言語がそういう作りにすることが出来る
その言語をクソと判断する理由が全く不明
原理的にはほとんどの言語がそういう作りにすることが出来る
その言語をクソと判断する理由が全く不明
2011/11/19(土) 14:54:32.35
なんかお節介な言語だな、これ
2011/11/19(土) 16:34:22.21
まぁぶっちゃけ使ってない
2011/11/20(日) 00:13:45.99
まともなフリーの開発環境がないに等しいのはしょうがないのか
rubymineやtextmateは良いらしいけど有料だし
rubymineやtextmateは良いらしいけど有料だし
2011/12/02(金) 04:58:15.18
早くもオワコン
2011/12/03(土) 13:49:37.83
え?JS書かずにCSで書けば良くね?って考えが浸透し始めてきた時期だと思ってたんだが…
2011/12/03(土) 16:53:36.48
「射撃しつつ前進」の話にある援護射撃のような感じが少しする
2011/12/13(火) 23:10:28.08
この手のjsにコンパイルする言語って自分用のものを自作したくなってくるよね
2011/12/20(火) 19:58:57.86
>>20
http://net.tutsplus.com/articles/interviews/should-you-learn-coffeescript/
http://news.ycombinator.com/item?id=3370428
http://franklinchen.com/blog/2011/11/06/the-real-reason-for-the-coffeescript-slash-javascript-flame-war/
tanepiper Tane Piper
A war against CoffeeScript is like a war against Atheism, a stupid
pointless war for silly strawman gods
http://core-js.org/documentation
https://github.com/raganwald/homoiconic/blob/master/2011/12/jargon.md
p.s. My friend Nikolai had this to say about CoffeeScript providing a
standard way to solve common JavaScript problems such implementing OOP:
"Those who do not learn from history, are doomed to repeat it."
http://xkcd.com/927/
http://net.tutsplus.com/articles/interviews/should-you-learn-coffeescript/
http://news.ycombinator.com/item?id=3370428
http://franklinchen.com/blog/2011/11/06/the-real-reason-for-the-coffeescript-slash-javascript-flame-war/
tanepiper Tane Piper
A war against CoffeeScript is like a war against Atheism, a stupid
pointless war for silly strawman gods
http://core-js.org/documentation
https://github.com/raganwald/homoiconic/blob/master/2011/12/jargon.md
p.s. My friend Nikolai had this to say about CoffeeScript providing a
standard way to solve common JavaScript problems such implementing OOP:
"Those who do not learn from history, are doomed to repeat it."
http://xkcd.com/927/
2012/02/03(金) 22:41:55.33
The little book on CoffeeScript : 全訳公開 - minghaiの日記
ttp://d.hatena.ne.jp/minghai/20120203/p1
ttp://d.hatena.ne.jp/minghai/20120203/p1
2012/03/18(日) 12:42:45.42
どうせなら、As3位にもっとOOP的に書けるやつとかいいな。
2012/03/18(日) 12:53:28.97
Dart...
25デフォルトの名無しさん
2012/03/19(月) 10:53:44.78 jQueryを使ったfoo.coffeeを、コマンドラインで実行する方法ってあります?
2012/03/19(月) 16:54:24.17
jQueryをnode.jsで動かしたいということか?
http://lmgtfy.com/?q=node.js+jquery
http://lmgtfy.com/?q=node.js+jquery
27デフォルトの名無しさん
2012/03/19(月) 17:11:55.91 >>26
いえ、node.jsでは動かしたくありません。
逆に質問なんですが、jQueryを使ったcoffeeスクリプトをコマンドラインで動かすには、
node.jsが必須ということですか?
であれば、しかたありません。node.jsを使います。
いえ、node.jsでは動かしたくありません。
逆に質問なんですが、jQueryを使ったcoffeeスクリプトをコマンドラインで動かすには、
node.jsが必須ということですか?
であれば、しかたありません。node.jsを使います。
2012/03/20(火) 07:18:05.44
2012/03/21(水) 00:19:33.71
PerlスレやRubyスレにも同様の宣伝書き込みしてるようだな
Wikibooksでもいじってみれば?
Wikibooksでもいじってみれば?
30trydev
2012/03/27(火) 02:31:52.54 with 的なの出来ないかなと
ほんのちょっと試行錯誤したら出来たo(^-^)o
なんかちょっと幸せな気分だ…
(サンプルは .net を意識した訳じゃないよ多分)
using = (obj, func)->
__func.call(obj)
System =
__Console:
____WriteLine: (str)->
______document.writeln str + "<br>"
using System, ()->
__@Console.WriteLine "Hello,World!"
__@Console.WriteLine "1+1=#{1+1}"
(using 関数の func.call(obj) を try 〜 catch 〜 finally で囲ったら
更に幸せな感じが…自分のおつむが幸せなだけかしら)
ほんのちょっと試行錯誤したら出来たo(^-^)o
なんかちょっと幸せな気分だ…
(サンプルは .net を意識した訳じゃないよ多分)
using = (obj, func)->
__func.call(obj)
System =
__Console:
____WriteLine: (str)->
______document.writeln str + "<br>"
using System, ()->
__@Console.WriteLine "Hello,World!"
__@Console.WriteLine "1+1=#{1+1}"
(using 関数の func.call(obj) を try 〜 catch 〜 finally で囲ったら
更に幸せな感じが…自分のおつむが幸せなだけかしら)
31trydev
2012/03/27(火) 03:05:24.98 あっ func.call obj のほうが…もう遅いかorz
後、()-> じゃなくてもよいのかな。
まあ、finally で obj の終了処理書けそうだしよいかo(^-^)o
後、()-> じゃなくてもよいのかな。
まあ、finally で obj の終了処理書けそうだしよいかo(^-^)o
32trydev
2012/04/23(月) 03:48:31.85 何の意味もないかもだけど…
プロトタイプも同じ様に書けたorz
class Base
__constructor:->
____@name="Base"
Base::getName=->@name
base=new Base
alert base.getName() # Base
using=(obj,func)->func.call obj
using Base,->
__@::setName=(name)->@name=name
base.setName "Test"
alert base.getName() # Test
プロトタイプも同じ様に書けたorz
class Base
__constructor:->
____@name="Base"
Base::getName=->@name
base=new Base
alert base.getName() # Base
using=(obj,func)->func.call obj
using Base,->
__@::setName=(name)->@name=name
base.setName "Test"
alert base.getName() # Test
33trydev
2012/05/01(火) 16:15:48.37 using 関数にオブジェクトを渡して無名関数を返させ、
それに関数を渡して実行させるようにしました。
(もう訳わかりませんねorz)
タイプ数は結局変わらないけど、
(括弧であるかスペースとカンマの違い)
若干自然な感じになった気がします。
注) using と括弧の間にスペースを入れたり
-> を括弧に付けるとおかしくなります。
例) using (base)-> …
前者は using 関数に、
base を引数に持つ無名関数を渡しているようです。
例) using(base)-> …
後者は parse error がでていますので、
多分文法的におかしいのだと…
呼び出しなのか、定義なのか…
それに関数を渡して実行させるようにしました。
(もう訳わかりませんねorz)
タイプ数は結局変わらないけど、
(括弧であるかスペースとカンマの違い)
若干自然な感じになった気がします。
注) using と括弧の間にスペースを入れたり
-> を括弧に付けるとおかしくなります。
例) using (base)-> …
前者は using 関数に、
base を引数に持つ無名関数を渡しているようです。
例) using(base)-> …
後者は parse error がでていますので、
多分文法的におかしいのだと…
呼び出しなのか、定義なのか…
34trydev
2012/05/01(火) 16:20:50.00 以下サンプルです。
(気分で書いてますので、各コードで記法に統一性がみられないので悪しからずorz)
using = (obj)->
__(func)-> func.call obj
class Base
__pvalue = null
__constructor: ->
____pvalue = "Base"
__get: -> pvalue
__set: (value)->
____pvalue = value
base = new Base
alert base.get()
base.set "Hello"
using(base) ->
__alert @get()
__@set "Test"
__alert @get()
(気分で書いてますので、各コードで記法に統一性がみられないので悪しからずorz)
using = (obj)->
__(func)-> func.call obj
class Base
__pvalue = null
__constructor: ->
____pvalue = "Base"
__get: -> pvalue
__set: (value)->
____pvalue = value
base = new Base
alert base.get()
base.set "Hello"
using(base) ->
__alert @get()
__@set "Test"
__alert @get()
35trydev
2012/06/11(月) 02:37:15.41 Java スクリプトプログラマーズガイド見てて、
Java インターフェースの実装みたく
匿名クラス書けないかと思い無駄な時間を費やしてしもたorz
java =
_lang:
__Runnable: () ->
___(obj) ->
____clazz = () ->
____clazz::[p] = v for p, v of obj
____clazz
obj = new (java.lang.Runnable()
_run: () -> alert 'hello'
)
obj.run()
動いたo(^-^)o
で、ふと
obj = new Object
_run: () -> alert 'world'
obj.run()
当たり前だけどやっぱり動いたorz
てか、new Object すら要らない…
Java インターフェースの実装みたく
匿名クラス書けないかと思い無駄な時間を費やしてしもたorz
java =
_lang:
__Runnable: () ->
___(obj) ->
____clazz = () ->
____clazz::[p] = v for p, v of obj
____clazz
obj = new (java.lang.Runnable()
_run: () -> alert 'hello'
)
obj.run()
動いたo(^-^)o
で、ふと
obj = new Object
_run: () -> alert 'world'
obj.run()
当たり前だけどやっぱり動いたorz
てか、new Object すら要らない…
36trydev
2012/06/13(水) 01:00:39.70 クラスではなく、オブジェクトを返すように修正
java =
_lang:
__Runnable: () ->
___(obj) ->
____impl = {}
____impl[p] = v for p, v of obj
____impl
java.lang.Runnable::run = () ->
_alert 'Not implemented!?'
obj = new java.lang.Runnable() {
_run: () -> alert 'Hello,World!'
}
obj.run()
java.lang.Runnable::run()
java =
_lang:
__Runnable: () ->
___(obj) ->
____impl = {}
____impl[p] = v for p, v of obj
____impl
java.lang.Runnable::run = () ->
_alert 'Not implemented!?'
obj = new java.lang.Runnable() {
_run: () -> alert 'Hello,World!'
}
obj.run()
java.lang.Runnable::run()
37trydev
2012/06/13(水) 01:55:17.94 実装部を Interface 関数に移し、
new の際の括弧を省略可能に修正
Interface = (obj) ->
_impl = {}
_impl[p] = v for p, v of obj
_impl
Test = (obj) ->
_return Interface obj if obj
_(obj) -> Interface obj
Test::run = () -> alert 'Not implemented!?'
obj = new Test() {
_run: () -> alert 'Hello,World!'
}
obj.run()
obj = new Test
_run: () -> alert 'Hello,Work!'
obj.run()
obj = new Test
obj.run() # error
new の際の括弧を省略可能に修正
Interface = (obj) ->
_impl = {}
_impl[p] = v for p, v of obj
_impl
Test = (obj) ->
_return Interface obj if obj
_(obj) -> Interface obj
Test::run = () -> alert 'Not implemented!?'
obj = new Test() {
_run: () -> alert 'Hello,World!'
}
obj.run()
obj = new Test
_run: () -> alert 'Hello,Work!'
obj.run()
obj = new Test
obj.run() # error
38デフォルトの名無しさん
2012/06/13(水) 10:36:52.14 全角スペースでインデントしろよ
2012/06/13(水) 14:29:59.49
いや、 にすべき。
40trydev
2012/06/13(水) 23:40:03.82 >>38-39
ずっとオ(ry
とりまサンクス
インターフェースを整理
かなりスッキリしたかな?
(何もしていない obj は御愛嬌)
Interface = (obj) ->
(obj) ->
return Interface.impl obj if obj
(obj) -> Interface.impl obj
Interface.impl = (obj) ->
impl = {}
impl[p] = v for p, v of obj
impl
Interface.notImplemented = () ->
alert 'Not implemented!?'
Test = Interface
run: Interface.notImplemented
obj = new Test
run: alert 'Hello,World!'
obj.run()
ずっとオ(ry
とりまサンクス
インターフェースを整理
かなりスッキリしたかな?
(何もしていない obj は御愛嬌)
Interface = (obj) ->
(obj) ->
return Interface.impl obj if obj
(obj) -> Interface.impl obj
Interface.impl = (obj) ->
impl = {}
impl[p] = v for p, v of obj
impl
Interface.notImplemented = () ->
alert 'Not implemented!?'
Test = Interface
run: Interface.notImplemented
obj = new Test
run: alert 'Hello,World!'
obj.run()
41trydev
2012/06/14(木) 23:28:05.78 未実装なのに動く(!)ように修正
(空コンストラクタだと定義時に割り当てた Interface.notImpl が呼ばれる)
すると new 時の括弧省略なにそれな感じにorz
obj = new Test() { ... }
とは書けない、まあ要らないか...
あと、impl に合わせて notImpl に名前を短縮
Interface = (iobj) ->
(obj=iobj) -> Interface.impl obj
Interface.impl = (obj) ->
impl = {}
impl[p] = v for p, v of obj
impl
Interface.notImpl = () -> alert 'Not implemented!?'
Test = Interface {
run: Interface.notImpl
}
obj = new Test
obj.run()
obj = new Test {
run: () -> alert 'Hello,World!'
}
obj.run()
(空コンストラクタだと定義時に割り当てた Interface.notImpl が呼ばれる)
すると new 時の括弧省略なにそれな感じにorz
obj = new Test() { ... }
とは書けない、まあ要らないか...
あと、impl に合わせて notImpl に名前を短縮
Interface = (iobj) ->
(obj=iobj) -> Interface.impl obj
Interface.impl = (obj) ->
impl = {}
impl[p] = v for p, v of obj
impl
Interface.notImpl = () -> alert 'Not implemented!?'
Test = Interface {
run: Interface.notImpl
}
obj = new Test
obj.run()
obj = new Test {
run: () -> alert 'Hello,World!'
}
obj.run()
42trydev
2012/06/16(土) 23:12:37.12 定義したインターフェースのみ動作するように修正
Interface = (iobj) ->
(obj=iobj) ->
Interface.impl obj, iobj
Interface.impl = (obj, iobj) ->
impl = {}
impl[p] = obj[p] for p of iobj
impl
OddEvenTest = Interface {
run: null
odd: null
even: null
}
obj = new OddEvenTest {
start: (n) -> @run n
run: (n) ->
alert "#{n} = #{@even n}"
odd: (n) ->
return @even n-1 if n
'odd'
even: (n) ->
return @odd n-1 if n
'even'
}
obj.run 100
obj.start 1 # error
Interface = (iobj) ->
(obj=iobj) ->
Interface.impl obj, iobj
Interface.impl = (obj, iobj) ->
impl = {}
impl[p] = obj[p] for p of iobj
impl
OddEvenTest = Interface {
run: null
odd: null
even: null
}
obj = new OddEvenTest {
start: (n) -> @run n
run: (n) ->
alert "#{n} = #{@even n}"
odd: (n) ->
return @even n-1 if n
'odd'
even: (n) ->
return @odd n-1 if n
'even'
}
obj.run 100
obj.start 1 # error
2012/06/16(土) 23:56:29.31
gistでやれ
2012/06/17(日) 10:52:11.59
保守してくれてるんだから保守してもらえばいい。
2012/07/12(木) 22:42:34.34
JSXとかもここ?
46trydev
2012/07/13(金) 08:13:07.51 つ CoffeeScriptファーストガイド モダンJavaScriptによるアプリケーション開発 (NEXTーONE):Amazon.co.jp:本
http://www.amazon.co.jp/gp/aw/d/4798125997/ref=redir_mdp_mobile
>>45
ここは CoffeeScript のスレだから、
戦わせる必要無いけど「JSX vs haXe」 とか
面白く無いけど
いっそ「【混ぜるな】JShaXe【危険】」
なり新しくスレを立てないとかな
http://www.amazon.co.jp/gp/aw/d/4798125997/ref=redir_mdp_mobile
>>45
ここは CoffeeScript のスレだから、
戦わせる必要無いけど「JSX vs haXe」 とか
面白く無いけど
いっそ「【混ぜるな】JShaXe【危険】」
なり新しくスレを立てないとかな
47デフォルトの名無しさん
2012/07/22(日) 01:37:57.53 CoffeeScriptの名前の由来ってなんですか?
48デフォルトの名無しさん
2012/07/22(日) 02:50:08.8549デフォルトの名無しさん
2012/07/22(日) 11:12:51.7150デフォルトの名無しさん
2012/07/22(日) 13:03:03.35 コーヒー自体を俗にJavaと呼ぶ。
2012/07/27(金) 16:39:42.99
あっという間にオワコン化した気がするなこれ
何ヶ月か前にプチ論争になってたけど、JS生で書くのと迷うレベルじゃ駄目だわ
それどころか変態文法がES6にフィードバックされてJSの変態化に貢献してしまう有様
何ヶ月か前にプチ論争になってたけど、JS生で書くのと迷うレベルじゃ駄目だわ
それどころか変態文法がES6にフィードバックされてJSの変態化に貢献してしまう有様
2012/07/27(金) 16:42:39.65
数千行以下ならJSで変態テク使ったりせず普通に書く
数千行超えたらHaxeなりGWTなり、きちんとした静的JS変換言語使うでFAで。
CSは中途半端だった。
数千行超えたらHaxeなりGWTなり、きちんとした静的JS変換言語使うでFAで。
CSは中途半端だった。
2012/07/27(金) 16:44:41.81
最近話題にもならないDart
2012/07/27(金) 16:47:10.75
55デフォルトの名無しさん
2012/07/27(金) 17:28:35.53 JSXよりHaxeがイケてる3つの理由
http://d.hatena.ne.jp/mzp/20120604/jsx
http://d.hatena.ne.jp/mzp/20120604/jsx
2012/08/05(日) 06:32:35.58
\ ヽ | / /
\ ヽ / /
‐、、 殺 伐 と し た ス レ に CoffeeScript が ! ! _,,−''
`−、、 __/\ _,,−''
`−、、 _| `〜┐ _,,−''
_ノ ∫
_,.〜’ /
───────‐ ,「~ ノ ───────‐
,/ ` ̄7
| H a x e /
_,,−' ~`⌒^7 / `−、、
_,,−'' 丿 \, `−、、
,'´\ / _7 /`⌒ーへ_,._⊃ /`i
! \ _,,-┐ \ _,.,ノ r‐-、、 / !
゙、 `ー--<´ / L. ,〜’ ゙、 >−一'′ ,'
y' U `ヽ/ / ヽ ヽ '´ U イ
┏━━━┓ ┏━━┓ ┏┓ ┏┓
┗━┓┏┛ ┃┏━┛ ┃┗┓┏┛┃
┏┓┃┃ ┃┗━┓ ┏━┗┓━┛
┃┗┛┃ ┏━┛┃ ┃┏┛┗┓┃
┗━━┛ ┗━━┛ ┗┛ ┗┛
\ ヽ / /
‐、、 殺 伐 と し た ス レ に CoffeeScript が ! ! _,,−''
`−、、 __/\ _,,−''
`−、、 _| `〜┐ _,,−''
_ノ ∫
_,.〜’ /
───────‐ ,「~ ノ ───────‐
,/ ` ̄7
| H a x e /
_,,−' ~`⌒^7 / `−、、
_,,−'' 丿 \, `−、、
,'´\ / _7 /`⌒ーへ_,._⊃ /`i
! \ _,,-┐ \ _,.,ノ r‐-、、 / !
゙、 `ー--<´ / L. ,〜’ ゙、 >−一'′ ,'
y' U `ヽ/ / ヽ ヽ '´ U イ
┏━━━┓ ┏━━┓ ┏┓ ┏┓
┗━┓┏┛ ┃┏━┛ ┃┗┓┏┛┃
┏┓┃┃ ┃┗━┓ ┏━┗┓━┛
┃┗┛┃ ┏━┛┃ ┃┏┛┗┓┃
┗━━┛ ┗━━┛ ┗┛ ┗┛
57デフォルトの名無しさん
2012/09/19(水) 22:29:00.34 JavaScript + jQuery と CoffeeScriptを比較したら
コード量は殆ど減らないよな。
行数が減るのは 括弧閉じのみのわずか数文字の行が省略出来るだけだし
文字数が減るののは、function と return の文字数のみ。
コード量は殆ど減らないよな。
行数が減るのは 括弧閉じのみのわずか数文字の行が省略出来るだけだし
文字数が減るののは、function と return の文字数のみ。
2012/09/20(木) 09:22:46.43
2012/09/20(木) 10:37:42.33
>>57
どうでもいいっすね〜
どうでもいいっすね〜
60デフォルトの名無しさん
2012/09/20(木) 11:35:06.162012/09/20(木) 14:11:39.72
バカだからjs→coffeeにベタ移植しかできないんだろうな
2012/09/20(木) 16:48:34.42
jQueryありのJavscriptと、jQuery使用禁止のCoffeeの比較なんじゃないの
63デフォルトの名無しさん
2012/09/20(木) 16:51:13.19 なんでそんな比較するのかわからん
64デフォルトの名無しさん
2012/09/21(金) 03:18:50.12 >>60
なんでかというとつまりこういうこと。
----------------------------
jQuery = JavaScript拡張 + DOM操作
JavaScript + jQuery = JavaScript + JavaScript拡張 + DOM操作
----------------------------
CoffeeScript = JavaScript + JavaScript拡張
CoffeeScript + jQuery = JavaScript + JavaScript拡張×2 + DOM操作
----------------------------
JavaScript拡張×2ってのは結局同じような機能を二重に追加してるだけだから意味が無い。
だから、殆ど変わらないってこと。
なんでかというとつまりこういうこと。
----------------------------
jQuery = JavaScript拡張 + DOM操作
JavaScript + jQuery = JavaScript + JavaScript拡張 + DOM操作
----------------------------
CoffeeScript = JavaScript + JavaScript拡張
CoffeeScript + jQuery = JavaScript + JavaScript拡張×2 + DOM操作
----------------------------
JavaScript拡張×2ってのは結局同じような機能を二重に追加してるだけだから意味が無い。
だから、殆ど変わらないってこと。
65デフォルトの名無しさん
2012/09/21(金) 03:24:34.11 >>58
> んなこたない、普通に色々な機能のお陰で減るだろ
減らないとは言っていない。
ただ、100文字中の10文字減って嬉しい?ってこと
サンプルコードではなく実務レベルのコードだと、
自動インデントなどで勝手に入るスペースを除くと、1/10へればいいほうだと思う。
(JavaScriptでもセミコロン省けるの知ってるよね? forやifは一行でも書けるの知ってるよね?)
しかも1/10の中で多くを占めるのはfunctionとreturnの文字数だろう。
もし、エディタの自動入力機能を使っていたとしたら、タイプするの差は限りなく小さい。
> んなこたない、普通に色々な機能のお陰で減るだろ
減らないとは言っていない。
ただ、100文字中の10文字減って嬉しい?ってこと
サンプルコードではなく実務レベルのコードだと、
自動インデントなどで勝手に入るスペースを除くと、1/10へればいいほうだと思う。
(JavaScriptでもセミコロン省けるの知ってるよね? forやifは一行でも書けるの知ってるよね?)
しかも1/10の中で多くを占めるのはfunctionとreturnの文字数だろう。
もし、エディタの自動入力機能を使っていたとしたら、タイプするの差は限りなく小さい。
66uy
2012/09/21(金) 05:44:06.06 この手のバカ減らないよな
タイプ速度にしても自動挿入と手打ちどっちが早いと思ってんだよ
インテリセンスとかタイプ遅いゴミカス用のバリアフリー機能じゃねえか
タイプ速度にしても自動挿入と手打ちどっちが早いと思ってんだよ
インテリセンスとかタイプ遅いゴミカス用のバリアフリー機能じゃねえか
2012/09/21(金) 06:53:42.06
>>64-65
jQueryとCoffeeScriptが同じような機能って、なんじゃそりゃ?
セミコロン省略?挙句に「forやifは一行でも書けるの知ってるよね?」だって?
レベル低すぎてマジで引くわ。お前どうせCoffeeScriptでjQueryが使えると思ってなかったとかそういうオチだろどうせ。
で、手元のファイルを見てみたけれど、実際1/10くらいしか減ってないのがほとんどだな
嬉しいか?って言われると正直何とも思わないな
jQueryとCoffeeScriptが同じような機能って、なんじゃそりゃ?
セミコロン省略?挙句に「forやifは一行でも書けるの知ってるよね?」だって?
レベル低すぎてマジで引くわ。お前どうせCoffeeScriptでjQueryが使えると思ってなかったとかそういうオチだろどうせ。
で、手元のファイルを見てみたけれど、実際1/10くらいしか減ってないのがほとんどだな
嬉しいか?って言われると正直何とも思わないな
2012/09/21(金) 07:57:48.55
functionがうざすぎて可読性が落ちる
単純なタイプ数の問題じゃない
書き捨てのゴミコード量産してる奴には
可読性なんて関係ないけどね
どうせ読み直さないから
単純なタイプ数の問題じゃない
書き捨てのゴミコード量産してる奴には
可読性なんて関係ないけどね
どうせ読み直さないから
2012/09/21(金) 11:44:29.64
> JavaScript + jQuery = JavaScript + JavaScript拡張 + DOM操作
と
> CoffeeScript = JavaScript + JavaScript拡張
を比べたら、CofeeScriptを使った時にDOM操作をベタで書かなきゃならないんだから、
そりゃコード量は同じか下手したらCofeeScriptを使った方が多くなるわ。
アホなの?
と
> CoffeeScript = JavaScript + JavaScript拡張
を比べたら、CofeeScriptを使った時にDOM操作をベタで書かなきゃならないんだから、
そりゃコード量は同じか下手したらCofeeScriptを使った方が多くなるわ。
アホなの?
70デフォルトの名無しさん
2012/09/21(金) 12:38:41.90 >>69
だから最初からコード量に大差はないと言ってるだろw
だから最初からコード量に大差はないと言ってるだろw
2012/09/21(金) 12:43:20.83
72uy
2012/09/21(金) 12:44:35.37 どちらにしろ中途半端言語触るくらいならjs直でいい
使用ユーザーの少ない言語で開発するっていうのは自分がバグを潰してあげるデバッガーに立候補するようなもん
使用ユーザーの少ない言語で開発するっていうのは自分がバグを潰してあげるデバッガーに立候補するようなもん
73デフォルトの名無しさん
2012/09/21(金) 13:00:08.4874デフォルトの名無しさん
2012/09/21(金) 13:04:31.652012/09/21(金) 13:15:17.34
>>73
理解力ゼロだなお前。
>>57
> JavaScript + jQuery と CoffeeScriptを比較したら
> コード量は殆ど減らないよな。
>>60
> つか、なんでJavaScript+jQueryとCofeeScript+jQueryを比べないの?
>>64
> なんでかというとつまりこういうこと。
> JavaScript拡張×2ってのは結局同じような機能を二重に追加してるだけだから意味が無い。
> だから、殆ど変わらないってこと。
>>69
> CofeeScriptを使った時にDOM操作をベタで書かなきゃならないんだから、
> そりゃコード量は同じか下手したらCofeeScriptを使った方が多くなるわ。
>>70
> だから最初からコード量に大差はないと言ってるだろw
>>60
> つか、なんでJavaScript+jQueryとCofeeScript+jQueryを比べないの?
という流れだ。
理解力ゼロだなお前。
>>57
> JavaScript + jQuery と CoffeeScriptを比較したら
> コード量は殆ど減らないよな。
>>60
> つか、なんでJavaScript+jQueryとCofeeScript+jQueryを比べないの?
>>64
> なんでかというとつまりこういうこと。
> JavaScript拡張×2ってのは結局同じような機能を二重に追加してるだけだから意味が無い。
> だから、殆ど変わらないってこと。
>>69
> CofeeScriptを使った時にDOM操作をベタで書かなきゃならないんだから、
> そりゃコード量は同じか下手したらCofeeScriptを使った方が多くなるわ。
>>70
> だから最初からコード量に大差はないと言ってるだろw
>>60
> つか、なんでJavaScript+jQueryとCofeeScript+jQueryを比べないの?
という流れだ。
2012/09/21(金) 13:17:35.40
>>73
> 結局のところ、文字数が少ないだけだろう?
http://coffeescript.org/
読め。
まぁ、CofeeScriptのメリットがタイプする文字数が少なくなるだけだと思うんならそれでもいいんだが、
そもそもお前は「ほとんど変わらん」という主張じゃないのか?
> 結局のところ、文字数が少ないだけだろう?
http://coffeescript.org/
読め。
まぁ、CofeeScriptのメリットがタイプする文字数が少なくなるだけだと思うんならそれでもいいんだが、
そもそもお前は「ほとんど変わらん」という主張じゃないのか?
2012/09/21(金) 13:26:47.64
CofeeScriptにはあってjQueryにはないものは、
・class
・var
・===
あたりか。
・class
・var
・===
あたりか。
2012/09/21(金) 13:33:45.15
backbone.jsと一緒に使うと、幸せになれるらしいぞ。
俺は、cofeescriptもbackbone.jsも使ったことないけどw
俺は、cofeescriptもbackbone.jsも使ったことないけどw
2012/09/21(金) 13:38:40.66
thisのバインド
2012/09/21(金) 13:43:46.04
「CofeeScriptってタイプ量は減るけどただそれだけで、デメリットのが多いよ」
という主張ならわかるが、コード量が減らないという主張はどうかと思う。
CofeeScript知らずにdisってると思われても仕方が無い。
という主張ならわかるが、コード量が減らないという主張はどうかと思う。
CofeeScript知らずにdisってると思われても仕方が無い。
81デフォルトの名無しさん
2012/09/21(金) 13:50:00.66 >>76
それみて変わらんというのが
そもそもの発端なんだけどw
# CoffeeScript
number = -42 if opposite
# JavaScript
if (opposite) number = -42
前に持ってくるか後に持ってくるかだし。
JavaScriptの例は、関数にできることをインライン化して
書いてるだけで最後の例なんて、
# CoffeeScript (40文字)
cubes = (math.cube num for num in list)
# JavaScript+jQuery (59文字)
cubes = $.each(list, function(num){return math.cube(num)})
こうかけるよね。そのうちfunctionとreturnで14文字。を差し引くと5文字。
サンプルの差の大部分は、funcitonとreturnであることがわかるだろう?
それみて変わらんというのが
そもそもの発端なんだけどw
# CoffeeScript
number = -42 if opposite
# JavaScript
if (opposite) number = -42
前に持ってくるか後に持ってくるかだし。
JavaScriptの例は、関数にできることをインライン化して
書いてるだけで最後の例なんて、
# CoffeeScript (40文字)
cubes = (math.cube num for num in list)
# JavaScript+jQuery (59文字)
cubes = $.each(list, function(num){return math.cube(num)})
こうかけるよね。そのうちfunctionとreturnで14文字。を差し引くと5文字。
サンプルの差の大部分は、funcitonとreturnであることがわかるだろう?
2012/09/21(金) 13:56:18.11
後者のeach/mapはCoffeeScriptのほうが段違いに読みやすいじゃないか
2012/09/21(金) 13:56:28.56
>>81
じゃこれ、CofeeScriptの変換後のコードじゃなくお前なりのコードで同等のもの書いてみな。
class Animal
constructor: (@name) ->
move: (meters) ->
alert @name + " moved #{meters}m."
じゃこれ、CofeeScriptの変換後のコードじゃなくお前なりのコードで同等のもの書いてみな。
class Animal
constructor: (@name) ->
move: (meters) ->
alert @name + " moved #{meters}m."
2012/09/21(金) 13:59:58.88
こっちもよろしく。
class Tweet extends Backbone.Model
defautls:
'from_user': ''
'profile_image_url': ''
'text': ''
class TweetList extends Backbone.Collection
model: Tweet
initialize: ->
update: (query) ->
api.getTweets(query).done (tweets) =>
@reset(tweets)
if not tweets.length then @trigger('noresults')
class Tweet extends Backbone.Model
defautls:
'from_user': ''
'profile_image_url': ''
'text': ''
class TweetList extends Backbone.Collection
model: Tweet
initialize: ->
update: (query) ->
api.getTweets(query).done (tweets) =>
@reset(tweets)
if not tweets.length then @trigger('noresults')
2012/09/21(金) 14:04:11.10
>>84はかわいそうだからこっちでいいや。
class Foo
constructor: (name) ->
console.log name
class Bar extends Foo
constructor: ->
super 'unk'
class Foo
constructor: (name) ->
console.log name
class Bar extends Foo
constructor: ->
super 'unk'
2012/09/21(金) 14:08:03.02
CoffeeScript: less typing, bad readability « Manuel Cerón
http://ceronman.com/2012/09/17/coffeescript-less-typing-bad-readability/
http://ceronman.com/2012/09/17/coffeescript-less-typing-bad-readability/
87デフォルトの名無しさん
2012/09/21(金) 14:08:07.02 function Animal(name) {
return {
move: function(meters) {
alert (name + " moved ”+meters+"m")
}
}
}
これでいいのか? 1文字だけの行が省略できるってのが
CoffeeScriptのメリットだねw
return {
move: function(meters) {
alert (name + " moved ”+meters+"m")
}
}
}
これでいいのか? 1文字だけの行が省略できるってのが
CoffeeScriptのメリットだねw
88デフォルトの名無しさん
2012/09/21(金) 14:09:38.88 >>85
ちょっとでないといけないので、コピペ
http://d.hatena.ne.jp/sutara_lumpur/20110128/1296174208
var Parent = {
hoge:'hoge!'
};
var Child = $.extend({}, Parent, {
hoge:'fuga!',
echo:function(){ alert(this.hoge); }
});
Child.echo(); //『hoge!』ではなく『fuga!』と表示される
ちょっとでないといけないので、コピペ
http://d.hatena.ne.jp/sutara_lumpur/20110128/1296174208
var Parent = {
hoge:'hoge!'
};
var Child = $.extend({}, Parent, {
hoge:'fuga!',
echo:function(){ alert(this.hoge); }
});
Child.echo(); //『hoge!』ではなく『fuga!』と表示される
2012/09/21(金) 14:13:36.34
2012/09/21(金) 14:13:59.07
DropboxがブラウザサイドのJavaScriptを1週間でCoffeeScriptに書き換え–コードの可読性をアップ
http://jp.techcrunch.com/archives/20120913dropbox-rewrote-its-entire-browser-side-codebase-in-one-week/
http://jp.techcrunch.com/archives/20120913dropbox-rewrote-its-entire-browser-side-codebase-in-one-week/
2012/09/21(金) 14:23:49.73
thisとかselfとか意識しなくて良いコードしか書いたことないんだろ
2012/09/21(金) 14:33:50.37
JavaScriptにおける"クラス"も良くわかってなさそうだわ
93デフォルトの名無しさん
2012/09/21(金) 16:09:05.13 はい、一旦ただいまw
またすぐ出るけど。
>>89
書き方さえわかれば、同等のコードに置き換えられるだろ?
>>92
JavaScriptにクラスはないよ。
クラスを表現するには、オブジェクト(ハッシュ)を使う。
var obj = {}; //obj = オブジェクト
var obj = Obj( return {} ); //← Obj関数は{}を返す。Obj = クラス名相当
var obj = Obj( return { method: function() {} } ); //メソッドを追加しました。
obj.method()を呼んだ時、methodの中でthisを参照すると、objオブジェクト自身にアクセスできる。
これを強制的に変更したい時は、applyやcallを使う。
selfは呼び出し元オブジェクト(this)ではなく、呼び出し先オブジェクト自身を参照したい時に、
内部でthisをself変数にとっておく。ときによく使われる変数名。この話のselfかな?
prototypeとか使い出すと、コードがもっと複雑になるけど、
jQueryを使えば>>88のように簡単に書けるんだ。
またすぐ出るけど。
>>89
書き方さえわかれば、同等のコードに置き換えられるだろ?
>>92
JavaScriptにクラスはないよ。
クラスを表現するには、オブジェクト(ハッシュ)を使う。
var obj = {}; //obj = オブジェクト
var obj = Obj( return {} ); //← Obj関数は{}を返す。Obj = クラス名相当
var obj = Obj( return { method: function() {} } ); //メソッドを追加しました。
obj.method()を呼んだ時、methodの中でthisを参照すると、objオブジェクト自身にアクセスできる。
これを強制的に変更したい時は、applyやcallを使う。
selfは呼び出し元オブジェクト(this)ではなく、呼び出し先オブジェクト自身を参照したい時に、
内部でthisをself変数にとっておく。ときによく使われる変数名。この話のselfかな?
prototypeとか使い出すと、コードがもっと複雑になるけど、
jQueryを使えば>>88のように簡単に書けるんだ。
94デフォルトの名無しさん
2012/09/21(金) 16:21:44.6095デフォルトの名無しさん
2012/09/21(金) 16:22:27.28 dogの終わりクオートを書き損じたw
96デフォルトの名無しさん
2012/09/21(金) 16:26:58.91 あ、わかったよw
nameプロパティの話か。
function Animal(name) {
return {
name: name,
move: function(meters) {
alert (this.name + " moved ”+meters+"m")
}
}
}
これでいいかい?
nameプロパティの話か。
function Animal(name) {
return {
name: name,
move: function(meters) {
alert (this.name + " moved ”+meters+"m")
}
}
}
これでいいかい?
2012/09/21(金) 18:16:11.60
2012/09/21(金) 18:16:58.48
念のため言っとくと、
function Animal(name) {
return {
name: name,
move: function(meters) {
alert (this.name + " moved ”+meters+"m")
}
bark: function() {
}
}
}
ってことじゃないからな。
function Animal(name) {
return {
name: name,
move: function(meters) {
alert (this.name + " moved ”+meters+"m")
}
bark: function() {
}
}
}
ってことじゃないからな。
2012/09/21(金) 18:19:05.48
あ、それから、newが何するか知ってるか?
10092
2012/09/21(金) 18:33:48.46101デフォルトの名無しさん
2012/09/23(日) 17:29:19.40 ,' /
i .l
. | 、
、.\ ヽ
、 \ . ヽ ._
丶. ‐ _
` ‐ _ (^o^)(^o^)
(ー(,, O┬O
())'J_))
「俺たちオワタ?」
「ハジマル前からオワてたよ」
i .l
. | 、
、.\ ヽ
、 \ . ヽ ._
丶. ‐ _
` ‐ _ (^o^)(^o^)
(ー(,, O┬O
())'J_))
「俺たちオワタ?」
「ハジマル前からオワてたよ」
102デフォルトの名無しさん
2012/09/23(日) 21:25:42.54 >>99
> あ、それから、newが何するか知ってるか?
newはオライリーの「JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス」において
bad partsに指定されたものです。
必要ありませんし、基本的に使いません。
> > prototypeとか使い出すと、コードがもっと複雑になるけど、
> その複雑さを隠して簡単に書けるのがCofeeScriptなんだよ。
いいえ、JavaScriptライブラリです。
> あ、それから、newが何するか知ってるか?
newはオライリーの「JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス」において
bad partsに指定されたものです。
必要ありませんし、基本的に使いません。
> > prototypeとか使い出すと、コードがもっと複雑になるけど、
> その複雑さを隠して簡単に書けるのがCofeeScriptなんだよ。
いいえ、JavaScriptライブラリです。
103デフォルトの名無しさん
2012/09/23(日) 21:28:47.45 使わんのと使えんのは話が別だから
104デフォルトの名無しさん
2012/09/24(月) 03:15:52.05 newを使わないって、プロトタイプチェーンをまったく使わないってこと?
オブジェクトつくるときに属性とかメソッドを常に全部コピーしたりすんのか?
オブジェクトつくるときに属性とかメソッドを常に全部コピーしたりすんのか?
105デフォルトの名無しさん
2012/09/24(月) 06:59:49.49 http://coffeedoc.info/
documentation が決定版みたいのないのがいまいちこう惜しい
>>104
new キーワード使わないとインスタンス化できなくて取り回し
し難くないかとかか…
documentation が決定版みたいのないのがいまいちこう惜しい
>>104
new キーワード使わないとインスタンス化できなくて取り回し
し難くないかとかか…
106デフォルトの名無しさん
2012/09/24(月) 10:25:53.32 >>102
newがbad partsって言われたから金輪際使わないよ、みたいな思考停止せずに、
例えばこんなページ読んでみたら?
JavaScriptのnewって本当にいらない子?
http://taiju.hatenablog.com/entry/20090706/1246840565
あと、プロトタイプベースのオブジェクト指向を完全理解したいなら、この本をおすすめする。
『オブジェクト指向JavaScript』
http://www.amazon.co.jp/dp/4048706705
「newなんか使わないよ」と無思考に言うのは、「オブジェクトなんかいらん。staticメソッドだけで十分」
とか言ってるおっさんと大差ないよ。
で、そんな面倒なこと知らなくていいのがCofeeScriptで、それに関しては利点として
認めても良いんじゃない?
newがbad partsって言われたから金輪際使わないよ、みたいな思考停止せずに、
例えばこんなページ読んでみたら?
JavaScriptのnewって本当にいらない子?
http://taiju.hatenablog.com/entry/20090706/1246840565
あと、プロトタイプベースのオブジェクト指向を完全理解したいなら、この本をおすすめする。
『オブジェクト指向JavaScript』
http://www.amazon.co.jp/dp/4048706705
「newなんか使わないよ」と無思考に言うのは、「オブジェクトなんかいらん。staticメソッドだけで十分」
とか言ってるおっさんと大差ないよ。
で、そんな面倒なこと知らなくていいのがCofeeScriptで、それに関しては利点として
認めても良いんじゃない?
107uy
2012/09/24(月) 10:25:59.55 プロトタイプOOはこんな言語でやるのやめたほうがいいよ
どんなマゾゲーっすか
どんなマゾゲーっすか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 橋下徹氏「総理なら岡田さんに何を聴かれても耐えてほしかった」 高市首相の台湾有事めぐる答弁に# [jinjin★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 今年の大晦日も、孤独のグルメスペシャルだ。
- 上野動物園の双子パンダ、来月中国に返還へ。50年ぶりに国内でパンダ不在 [545512288]
- 裁判官 vs 投資家
- 夢って無気力になるの 何でなんだろ?
- 悪夢しか見ないわ
- 🏡すこふさん、とうだ…w🏡
