◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

CoffeeScript->画像>2枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1320949260/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん2011/11/11(金) 03:21:00.78
について語るスレ

2デフォルトの名無しさん2011/11/11(金) 03:28:01.74
『煮解賭(にげと)』

明朝末期、中國北東部の男達の間で、素麗建(すれたて)なる遊びが流行していた。

先端に話題旗をくくりつけた棒を地面に立て、合図と共に棒に駆け寄りに旗を奪
い合うという、己の機敏さを誇示する遊びであった。

やがてこの遊びにも飽きた者達が、毒草を煮込んだ煮汁を飲み、その解毒剤を旗
代わりにして奪い合うという競技に発展させた。
これのせいで命を落とす者が続出したが、競走に勝利したものは現人神として賞
賛され、朝廷に仕える者を輩出するほどであった。

この、解毒剤を賭けた戦いは「煮解賭」と呼ばれ、時代を左右する勝負の場でも
最も信頼できる、決定権獲得試合として行われてきた。

己の速さを誇示できることの少なくなった現代社会においては、電子掲示板などで
「2ゲットォォ!」と、機会を変えて、現代人が機敏さを争っているのかもしれない。

(民明書房刊 「DNAに刻まれた勝負心 現代人の奇行のルーツを探る」より)

3デフォルトの名無しさん2011/11/11(金) 03:37:12.00
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

4デフォルトの名無しさん2011/11/17(木) 18:12:34.00
元々ロジックに厚みを持たせないjsが、多少楽に書けても、だからなんだって感じ。
node.jsで使うなら、まぁ分からんでもないが、それならmode.jsスレでやれと。

5デフォルトの名無しさん2011/11/17(木) 22:04:40.06
久々に凄い言語が現れたと思う
芸術的な言語ってのを絵に描いたような言語

6デフォルトの名無しさん2011/11/18(金) 01:33:21.06
lst.filter((x) -> x % 2 == 0)
lst.filter(x -> x % 2 == 0)

でぜんぜん違うコードを吐き出す
良い言語だと思うけど吐き出されるjavascript常にチェックしとかないとちょっと怖い

7デフォルトの名無しさん2011/11/18(金) 14:35:48.17
つーか例えばC言語をマクロで別言語にしたら袋叩きなのに、
CoffeeScriptがあっさり受け入れられてしまうJavaScriptはすげえな。
よほどのクソ言語という傍証

8デフォルトの名無しさん2011/11/18(金) 15:51:42.05
コーヒースクリプトって名前がダサすぎるよ
もっと洒落た名前だったら、使ってやろうかなという気も起きるんだが

9デフォルトの名無しさん2011/11/18(金) 15:53:48.60
SwordOfLegendScript

10デフォルトの名無しさん2011/11/18(金) 16:50:54.17
コーヒースクリプトって…。リテラシーがないやつは敵わんなw

11デフォルトの名無しさん2011/11/19(土) 12:21:38.47
>>7
お前それギャグで言ってるの?
C++があれだけ受け入れられてるのにw

12デフォルトの名無しさん2011/11/19(土) 12:46:39.99
cfrontのことを言っているのかテンプレートのことを言っているのか判断しかねるな。

13デフォルトの名無しさん2011/11/19(土) 13:56:42.87
何にせよC言語にコンパイルするプログラミング言語なんていくらでもあるし
原理的にはほとんどの言語がそういう作りにすることが出来る
その言語をクソと判断する理由が全く不明

14デフォルトの名無しさん2011/11/19(土) 14:54:32.35
なんかお節介な言語だな、これ

15デフォルトの名無しさん2011/11/19(土) 16:34:22.21
まぁぶっちゃけ使ってない

16デフォルトの名無しさん2011/11/20(日) 00:13:45.99
まともなフリーの開発環境がないに等しいのはしょうがないのか
rubymineやtextmateは良いらしいけど有料だし

17デフォルトの名無しさん2011/12/02(金) 04:58:15.18
早くもオワコン

18デフォルトの名無しさん2011/12/03(土) 13:49:37.83
え?JS書かずにCSで書けば良くね?って考えが浸透し始めてきた時期だと思ってたんだが…

19デフォルトの名無しさん2011/12/03(土) 16:53:36.48
「射撃しつつ前進」の話にある援護射撃のような感じが少しする

20デフォルトの名無しさん2011/12/13(火) 23:10:28.08
この手のjsにコンパイルする言語って自分用のものを自作したくなってくるよね

21pros and cons めどい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/

22デフォルトの名無しさん2012/02/03(金) 22:41:55.33
The little book on CoffeeScript : 全訳公開 - minghaiの日記
http://d.hatena.ne.jp/minghai/20120203/p1

23デフォルトの名無しさん2012/03/18(日) 12:42:45.42
どうせなら、As3位にもっとOOP的に書けるやつとかいいな。

24デフォルトの名無しさん2012/03/18(日) 12:53:28.97
Dart...

25デフォルトの名無しさん2012/03/19(月) 10:53:44.78
jQueryを使ったfoo.coffeeを、コマンドラインで実行する方法ってあります?

26デフォルトの名無しさん2012/03/19(月) 16:54:24.17
jQueryをnode.jsで動かしたいということか?
http://lmgtfy.com/?q=node.js+jquery

27デフォルトの名無しさん2012/03/19(月) 17:11:55.91
>>26
いえ、node.jsでは動かしたくありません。

逆に質問なんですが、jQueryを使ったcoffeeスクリプトをコマンドラインで動かすには、
node.jsが必須ということですか?
であれば、しかたありません。node.jsを使います。

28デフォルトの名無しさん2012/03/20(火) 07:18:05.44
ウィキ作った。
書くの手伝ってくれ。
http://goo.gl/vLauZ

29デフォルトの名無しさん2012/03/21(水) 00:19:33.71
PerlスレやRubyスレにも同様の宣伝書き込みしてるようだな
Wikibooksでもいじってみれば?

30trydev2012/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, ()->
[email protected] "Hello,World!"
[email protected] "1+1=#{1+1}"

(using 関数の func.call(obj) を try 〜 catch 〜 finally で囲ったら
更に幸せな感じが…自分のおつむが幸せなだけかしら)

31trydev2012/03/27(火) 03:05:24.98
あっ func.call obj のほうが…もう遅いかorz
後、()-> じゃなくてもよいのかな。
まあ、finally で obj の終了処理書けそうだしよいかo(^-^)o

32trydev2012/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

33trydev2012/05/01(火) 16:15:48.37
using 関数にオブジェクトを渡して無名関数を返させ、
それに関数を渡して実行させるようにしました。
(もう訳わかりませんねorz)

タイプ数は結局変わらないけど、
(括弧であるかスペースとカンマの違い)
若干自然な感じになった気がします。

注) using と括弧の間にスペースを入れたり
-> を括弧に付けるとおかしくなります。

例) using (base)-> …

前者は using 関数に、
base を引数に持つ無名関数を渡しているようです。

例) using(base)-> …

後者は parse error がでていますので、
多分文法的におかしいのだと…
呼び出しなのか、定義なのか…

34trydev2012/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()

35trydev2012/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 すら要らない…

36trydev2012/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()

37trydev2012/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

38デフォルトの名無しさん2012/06/13(水) 10:36:52.14
全角スペースでインデントしろよ

39デフォルトの名無しさん2012/06/13(水) 14:29:59.49
いや、&nbsp;にすべき。

40trydev2012/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()

41trydev2012/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()

42trydev2012/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

43デフォルトの名無しさん2012/06/16(土) 23:56:29.31
gistでやれ

44デフォルトの名無しさん2012/06/17(日) 10:52:11.59
保守してくれてるんだから保守してもらえばいい。

45デフォルトの名無しさん2012/07/12(木) 22:42:34.34
JSXとかもここ?

46trydev2012/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【危険】」

なり新しくスレを立てないとかな

47デフォルトの名無しさん2012/07/22(日) 01:37:57.53
CoffeeScriptの名前の由来ってなんですか?

48デフォルトの名無しさん2012/07/22(日) 02:50:08.85
>>47
Java

49デフォルトの名無しさん2012/07/22(日) 11:12:51.71
>>48
Javaっていうかジャワコーヒーから?
よく分からんけど

50デフォルトの名無しさん2012/07/22(日) 13:03:03.35
コーヒー自体を俗にJavaと呼ぶ。

51デフォルトの名無しさん2012/07/27(金) 16:39:42.99
あっという間にオワコン化した気がするなこれ
何ヶ月か前にプチ論争になってたけど、JS生で書くのと迷うレベルじゃ駄目だわ
それどころか変態文法がES6にフィードバックされてJSの変態化に貢献してしまう有様

52デフォルトの名無しさん2012/07/27(金) 16:42:39.65
数千行以下ならJSで変態テク使ったりせず普通に書く
数千行超えたらHaxeなりGWTなり、きちんとした静的JS変換言語使うでFAで。
CSは中途半端だった。

53デフォルトの名無しさん2012/07/27(金) 16:44:41.81
最近話題にもならないDart

54デフォルトの名無しさん2012/07/27(金) 16:47:10.75
>>53
あれもオワコン気味
一応ヲチしてるが最近仕様が激変していて追いつけん。

あとはJSXはがんばれ期待してるぞってところか。

55デフォルトの名無しさん2012/07/27(金) 17:28:35.53
JSXよりHaxeがイケてる3つの理由
http://d.hatena.ne.jp/mzp/20120604/jsx

56デフォルトの名無しさん2012/08/05(日) 06:32:35.58
      \       ヽ           |        /        /
          \      ヽ               /      /
‐、、         殺 伐 と し た ス レ に 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 の文字数のみ。

58デフォルトの名無しさん2012/09/20(木) 09:22:46.43
>>57
>行数が減るのは 括弧閉じのみのわずか数文字の行が省略出来るだけだし
んなこたない、普通に色々な機能のお陰で減るだろ

jQueryは何か関係有るのか?

59デフォルトの名無しさん2012/09/20(木) 10:37:42.33
>>57
どうでもいいっすね〜

60デフォルトの名無しさん2012/09/20(木) 11:35:06.16
>>57
CoffeeScriptが解決するものは、jQueryのそれとは違うんだけどな。
つか、なんでJavaScript+jQueryとCofeeScript+jQueryを比べないの?

61デフォルトの名無しさん2012/09/20(木) 14:11:39.72
バカだからjs→coffeeにベタ移植しかできないんだろうな

62デフォルトの名無しさん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ってのは結局同じような機能を二重に追加してるだけだから意味が無い。

だから、殆ど変わらないってこと。

65デフォルトの名無しさん2012/09/21(金) 03:24:34.11
>>58
> んなこたない、普通に色々な機能のお陰で減るだろ

減らないとは言っていない。

ただ、100文字中の10文字減って嬉しい?ってこと
サンプルコードではなく実務レベルのコードだと、
自動インデントなどで勝手に入るスペースを除くと、1/10へればいいほうだと思う。

(JavaScriptでもセミコロン省けるの知ってるよね? forやifは一行でも書けるの知ってるよね?)

しかも1/10の中で多くを占めるのはfunctionとreturnの文字数だろう。
もし、エディタの自動入力機能を使っていたとしたら、タイプするの差は限りなく小さい。

66uy2012/09/21(金) 05:44:06.06
この手のバカ減らないよな
タイプ速度にしても自動挿入と手打ちどっちが早いと思ってんだよ
インテリセンスとかタイプ遅いゴミカス用のバリアフリー機能じゃねえか

67デフォルトの名無しさん2012/09/21(金) 06:53:42.06
>>64-65
jQueryとCoffeeScriptが同じような機能って、なんじゃそりゃ?
セミコロン省略?挙句に「forやifは一行でも書けるの知ってるよね?」だって?
レベル低すぎてマジで引くわ。お前どうせCoffeeScriptでjQueryが使えると思ってなかったとかそういうオチだろどうせ。

で、手元のファイルを見てみたけれど、実際1/10くらいしか減ってないのがほとんどだな
嬉しいか?って言われると正直何とも思わないな

68デフォルトの名無しさん2012/09/21(金) 07:57:48.55
functionがうざすぎて可読性が落ちる
単純なタイプ数の問題じゃない

書き捨てのゴミコード量産してる奴には
可読性なんて関係ないけどね
どうせ読み直さないから

69デフォルトの名無しさん2012/09/21(金) 11:44:29.64
> JavaScript + jQuery = JavaScript + JavaScript拡張 + DOM操作

> CoffeeScript = JavaScript + JavaScript拡張
を比べたら、CofeeScriptを使った時にDOM操作をベタで書かなきゃならないんだから、
そりゃコード量は同じか下手したらCofeeScriptを使った方が多くなるわ。

アホなの?

70デフォルトの名無しさん2012/09/21(金) 12:38:41.90
>>69
だから最初からコード量に大差はないと言ってるだろw

71デフォルトの名無しさん2012/09/21(金) 12:43:20.83

72uy2012/09/21(金) 12:44:35.37
どちらにしろ中途半端言語触るくらいならjs直でいい
使用ユーザーの少ない言語で開発するっていうのは自分がバグを潰してあげるデバッガーに立候補するようなもん

73デフォルトの名無しさん2012/09/21(金) 13:00:08.48
>>71
解決するもの言ってみな。
できないこと(不可能なこと)が、できるようになるんだよな?

結局のところ、文字数が少ないだけだろう?

74デフォルトの名無しさん2012/09/21(金) 13:04:31.65
>>68
functionがあることと
可読性は別問題だよ。


75デフォルトの名無しさん2012/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を比べないの?

という流れだ。

76デフォルトの名無しさん2012/09/21(金) 13:17:35.40
>>73
> 結局のところ、文字数が少ないだけだろう?

http://coffeescript.org/
読め。

まぁ、CofeeScriptのメリットがタイプする文字数が少なくなるだけだと思うんならそれでもいいんだが、
そもそもお前は「ほとんど変わらん」という主張じゃないのか?

77デフォルトの名無しさん2012/09/21(金) 13:26:47.64
CofeeScriptにはあってjQueryにはないものは、
・class
・var
・===
あたりか。

78デフォルトの名無しさん2012/09/21(金) 13:33:45.15
backbone.jsと一緒に使うと、幸せになれるらしいぞ。

俺は、cofeescriptもbackbone.jsも使ったことないけどw

79デフォルトの名無しさん2012/09/21(金) 13:38:40.66
thisのバインド

80デフォルトの名無しさん2012/09/21(金) 13:43:46.04
「CofeeScriptってタイプ量は減るけどただそれだけで、デメリットのが多いよ」

という主張ならわかるが、コード量が減らないという主張はどうかと思う。
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であることがわかるだろう?

82デフォルトの名無しさん2012/09/21(金) 13:56:18.11
後者のeach/mapはCoffeeScriptのほうが段違いに読みやすいじゃないか

83デフォルトの名無しさん2012/09/21(金) 13:56:28.56
>>81
じゃこれ、CofeeScriptの変換後のコードじゃなくお前なりのコードで同等のもの書いてみな。

class Animal
 constructor: (@name) ->

 move: (meters) ->
  alert @name + " moved #{meters}m."

84デフォルトの名無しさん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')

85デフォルトの名無しさん2012/09/21(金) 14:04:11.10
>>84はかわいそうだからこっちでいいや。

class Foo
 constructor: (name) ->
  console.log name

class Bar extends Foo
 constructor: ->
  super 'unk'

86デフォルトの名無しさん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/

87デフォルトの名無しさん2012/09/21(金) 14:08:07.02
function Animal(name) {
 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!』と表示される

89デフォルトの名無しさん2012/09/21(金) 14:13:36.34
>>87-88
別のものと比較してどうするんだ。
同等なコード書けよ。

90デフォルトの名無しさん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/

91デフォルトの名無しさん2012/09/21(金) 14:23:49.73
thisとかselfとか意識しなくて良いコードしか書いたことないんだろ

92デフォルトの名無しさん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のように簡単に書けるんだ。

94デフォルトの名無しさん2012/09/21(金) 16:21:44.60
>>88は、継承の書き方をコピペしただけだけど、

>>87は同等だと思うが?

var a = Animal('cat')
var b = Animal('dog)

a.move(1); // cat moved 1m
b.move(2); // dog moved 2m

95デフォルトの名無しさん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")
  }
 }
}

これでいいかい?

97デフォルトの名無しさん2012/09/21(金) 18:16:11.60
>>96とか
プロトタイプベースのOOPのやり方知ってるか?
基本的に、プロトタイプベースで実装しないと、CoffeeScriptと同等にならない。
>>96のコードで
Animalにbark()ってメソッドを後から追加するにはどうするの?

98デフォルトの名無しさん2012/09/21(金) 18:16:58.48
念のため言っとくと、

function Animal(name) {
 return {
  name: name,
  move: function(meters) {
   alert (this.name + " moved ”+meters+"m")
  }
  bark: function() {
  }
 }
}

ってことじゃないからな。

99デフォルトの名無しさん2012/09/21(金) 18:19:05.48
あ、それから、newが何するか知ってるか?

100922012/09/21(金) 18:33:48.46
>>93
> JavaScriptにクラスはないよ。
そんなこと知ってるよ。だからクォートしてるんだよ。
「JavaScript クラス」でググってみなよ。みんな普通にクラスって言ってるから。

> prototypeとか使い出すと、コードがもっと複雑になるけど、
その複雑さを隠して簡単に書けるのがCofeeScriptなんだよ。
>>96がCofeeScriptのプロトタイプベースの実装と同等かどうかは、俺はそんなに
詳しくないからわからん。
protoとか__proto__とかnew使った時の挙動とか。
なんとなく違いそうだけど。

101デフォルトの名無しさん2012/09/23(日) 17:29:19.40
     ,' /
     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ライブラリです。

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 キーワード使わないとインスタンス化できなくて取り回し
し難くないかとかか…

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で、それに関しては利点として
認めても良いんじゃない?

107uy2012/09/24(月) 10:25:59.55
プロトタイプOOはこんな言語でやるのやめたほうがいいよ
どんなマゾゲーっすか

108デフォルトの名無しさん2012/09/24(月) 11:25:26.98
>>107
クライアントのUIが複雑になって、MVC的なことがやりたくなりMVCをサポートするフレームワークを
使おうとすると、嫌でもプロトタイプベースのOOをやらなきゃならなくなるよ。

事実上、クライアントの言語としてJavaScript以外を選択することはできないから、JavaScriptでできる
ことは見といた方がいいよ。
プロパティ全コピで継承らしきものができましたー、じゃかっこわるいでしょ。

109デフォルトの名無しさん2012/09/24(月) 13:05:32.98
console.log([
[1,1,8]
[2,1,16]
]);

これでundefinedになるとかさっぱりわからん…
インデックスのスライス表記か何かに解釈されてundefinedなんか

110デフォルトの名無しさん2012/09/24(月) 13:09:11.61
事故解決。[][a,b,c]で暗黙の了解でインデックスと解釈
添え字はcのみを取ってa,bは意味を成さないか…なるd

111デフォルトの名無しさん2012/09/24(月) 14:09:28.21
結局の所、CoffeeScriptはJavaScriptの単なるシンタックスシュガーにしかすぎず、
タイプ量が多少減る程度のメリットに比べれば、デメリットが大きすぎる。

Haxeみたいに積極的なメリットがあれば採用を考慮するに値するが、現状は積極的な
メリットと呼べるほどのものは無い。

112デフォルトの名無しさん2012/09/24(月) 18:51:00.46
しょせん、スクリプト言語だしな。

113デフォルトの名無しさん2012/09/24(月) 21:48:23.53
http://code.google.com/p/esprima/issues/detail?id=241
https://gist.github.com/3668391

処理系によって実装・未実装があって
唯一無二のJavascriptというものがある

という訳ではないのだ。すくなくとも現状では。

114デフォルトの名無しさん2012/09/25(火) 17:07:04.38
>>113
その話は、これまでの話の何と関係があるの?

115デフォルトの名無しさん2012/09/26(水) 09:27:11.60
CoffeeScriptはJavaScriptの弱点をそのまま引き継いでしかも読みにくいからな
個人や少人数で開発するにはJavaScriptよりは面倒がなくていいが、その程度でしかない。

Haxeにしようぜ(´・ω・`)
コンパイル爆速だし、普通のC系の構文だし、今トレンディー()な関数型言語の皮もかぶってるし。
知名度は低いが、逆にそれくらいしか問題がない。
(Flash界隈生まれ、フランスのゲーム会社生まれ、あたりが理由だろう)

英語圏でも知る人ぞ知るcoolな言語ポジションになってきてる雰囲気だよ。
現時点で少なくともStack OverflowでDartを一蹴する程度の力はあるw
http://stackoverflow.com/questions/12289852/dart-vs-haxe-current-state-hype-usability

116デフォルトの名無しさん2012/09/26(水) 10:27:46.51
>>115
コンパイル後のJavaScriptを実行せざるを得ないというのが、最大の問題。

117uy2012/09/26(水) 11:01:39.38
>>108
バカだな・・・
忠告はしたぞ

118デフォルトの名無しさん2012/09/26(水) 14:49:03.70
歯臭せー

119デフォルトの名無しさん2012/09/26(水) 23:16:35.71
https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS/_history

次期coffeescript決定戦!

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/#mailing2012-09
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

意外と眺めてたのしいc++1y。std::tupleが入ったのか!
インタープリンターでデバック困難。コンパイラでビルド時間爆発、披露困憊ら。
お茶でも飲んで。

http://www32.ocn.ne.jp/~ons/text/CPP0xFAQ.html.ja

120デフォルトの名無しさん2012/09/28(金) 21:05:02.30
coffeeは>>109みたいに省略可能な部分が行き過ぎてる
具体的に言うとrubyに影響受けすぎ

121デフォルトの名無しさん2012/10/02(火) 05:35:16.93
>>116
それのどこが問題なのだ。
ブラウザをリロードするのと、IDEからキー一発で実行するのと手間はまったく変わらんぞ?
だいたい、もはやHTMLもCSSもJavaScriptも人間が直接書くものではない。

つか今度はMSから新言語出てきたぞw>TypeScript
もはや何でもありだな。

122デフォルトの名無しさん2012/10/02(火) 05:43:22.96
Dartのようなものがまた一つ増えたのか・・・

123デフォルトの名無しさん2012/10/02(火) 07:31:08.53
それも全てJavascriptがゴミ過ぎるから

124デフォルトの名無しさん2012/10/02(火) 13:49:31.06
>>121
エラーも静的解析ツールによる問題の指摘も、カバレッジも全て変換後のコードに対して行われ、
変換前のコードではそれらがどうなのかがわかりづらい。

また、あたりまえだが、何をするにしてもいちいち変換が必要。

なお、この問題は「JavaScriptに変換する系の言語/ツール/コンパイラ」に共通して言えることであり、
それらnew言語X用のUnitTestツールや静的解析ツール、カバレッジ測定ツールが存在し、
ブラウザが直接その言語を実行できるようになれば問題ない。

1251242012/10/02(火) 13:52:01.88
上記デメリットを超えるメリットがあるなら、そのnew言語Xは採用を考慮するに値するが、
CoffeeScriptにはメリットと思えるようなものがほとんどない。

HaXeやMSの新言語には、上記デメリットを超えるメリットがあり、採用を考慮するに値する。
JSXは微妙。Dartはよく知らない。

126デフォルトの名無しさん2012/10/02(火) 20:55:15.71
> それらnew言語X用のUnitTestツールや静的解析ツール、カバレッジ測定ツールが存在し、

これは出来た方が良いけど、

> ブラウザが直接その言語を実行できるようになれば問題ない。

これができる必要は全くない

127デフォルトの名無しさん2012/10/03(水) 12:53:49.72
coffeeのよさは

js2coffee
http://js2coffee.org/

コードにある程度の可塑性を望めるところだろうか…

ほかのはプロプラのツールから生成した自動コード的な
色合いがどうしても強くなって、しまうま

しまうまとしまうまを
掛け合わせたら何ができるとか考えたら
なんか黒魔術っぽくて素敵やで!(中二病

128デフォルトの名無しさん2012/10/03(水) 12:58:28.40
次世代言語X

正式名称はTypedCoffeeDartedScriptX

129デフォルトの名無しさん2012/10/04(木) 21:39:10.87
>>127
それ、欠点にしか思えないんだけどw

変換しても可読性があるということは
単純なコードの置き換えしかしていない。

最適化やブラウザ依存対策なんかしてないということだ。

それによって得られるのは、わずか数文字、タイプ数を減らせるだけ。
タイプスピードどれくらい? 100文字/分? 200文字/分?

130デフォルトの名無しさん2012/10/04(木) 22:41:42.21
タイプ数(

131デフォルトの名無しさん2012/10/04(木) 22:55:45.76
Javascriptは読み難いんだよ
タイプ数とか言ってるアホは論外

132デフォルトの名無しさん2012/10/04(木) 23:18:07.32
>>129 もう一回、読み直してみて。

133デフォルトの名無しさん2012/10/04(木) 23:20:45.95
読みづらいとか単なる慣れじゃないか。

134デフォルトの名無しさん2012/10/05(金) 04:03:55.04
読んでて楽しくないのはいくない

135デフォルトの名無しさん2012/10/05(金) 18:54:16.04
知らんけど、若い言語で信者着いてるもんなんだね。立派立派。

136デフォルトの名無しさん2012/10/05(金) 18:59:05.62
信者よりもアンチのほうが…

137デフォルトの名無しさん2012/10/05(金) 20:22:53.49
line number mapping for debug
https://github.com/jashkenas/coffee-script/issues/558
Possible to add line number to debug output? (undefined @) (very minor)
https://github.com/jashkenas/coffee-script/issues/2507
https://github.com/jashkenas/coffee-script/pull/2483

ソースコード変換系全般にいえるけど
コンソール上でデバックしやすい

エラー箇所の行番号の表示とか
その辺もうちょい改善できるとこだとは思う

138デフォルトの名無しさん2012/10/05(金) 21:43:32.77
ただ source map で対応関連の情報が取れても
その先にある node 本体がまぁゆるい

try catch の連続とデバック文埋め込みと
ブラウザのデバッガ機能(これはjsオンリー)

で凌がないといけないのは変わらないんではないかと > 変換系(coffee, typescriptなとなど

goとかはセグフォで落ちる
使ってない変数とかあるとコンパイルが確実に止まる
で問題の特定はしやすい…

cの利点か。(ruby, pythonとかのc拡張系もスタックトレースは読み易い傾向はあるか

139デフォルトの名無しさん2012/10/06(土) 23:51:04.87
6.55 Built-in Functions Specific to Particular Target Machines
http://gcc.gnu.org/onlinedocs/gcc/Target-Builtins.html#Target-Builtins
An Introduction to GCC Compiler Intrinsics in Vector Processing
http://www.linuxjournal.com/content/introduction-gcc-compiler-intrinsics-vector-processing

>Fourth, don't re-invent the wheel. Intel, Freescale and ARM all offer libraries and code
>samples to help you get the most from their processors. These include Intel's Integrated
>Performance Primitives, Freescale's libmotovec and ARM's OpenMAX.

ハード側での対応というのもそれなりに大切だわな

140デフォルトの名無しさん2012/10/19(金) 01:10:29.85
『TypeScriptが世に出てきてしまった以上、CoffeeScriptは「型付けのできないTypeScriptの出来損ない」みたいな存在になってしまったかなぁと。

141デフォルトの名無しさん2012/10/19(金) 01:49:43.02
>>140
それは全然違うでしょ
TypeScriptはCoffeeとは大分毛色の違う物だよ
でも今後はTypeScriptの方が流行りそうだね

142デフォルトの名無しさん2012/10/19(金) 23:54:00.14
・別の言語の一部だけから変換するもの
・JSに変換する目的で簡潔な構文のみ使えるもの
・上位互換(+静的型チェック)でJSの文法も使えるもの

CoffeeScriptはPython風の構文と簡潔な文法(しか書けなくしてる)が特徴だけど、
IDEサポートの充実期待やjsのライブラリが開発環境でも同期できるなら、TypeScriptでもいいかなと思ってしまうな。

143デフォルトの名無しさん2012/10/30(火) 17:36:31.87
1.4

144デフォルトの名無しさん2012/11/01(木) 14:07:48.86
coffeeはruby風だと思う

145trydev2012/11/27(火) 00:40:10.66
# 名前付き引数みたいなの(構造的部分型かな)
User = (Id: id, Name: name) ->
&amp;nbsp;&amp;nbsp;alert id + ' ' + name

User Name: 'Mochi', Id: '000'

# 引数を省略したときの既定値
User = (
&amp;nbsp;nbsp;{Id: id, Name: name} = {Id: '001', Name: 'Tarou'}
) ->
&amp;nbsp;&amp;nbsp;alert id + ' ' + name

User()

146trydev2012/11/27(火) 01:25:01.49
あれれorz

147デフォルトの名無しさん2012/11/27(火) 05:23:27.46
&#160;

148デフォルトの名無しさん2012/12/06(木) 17:48:11.07
慣れてる人にとっては必要ないかもしれないけど、
Chromeのデベロッパーツールで、CoffeeScriptコードをそのままデバッグできる方法があった。

(下の記事の真ん中よりちょっと下らへんに書いてある)
http://blog.happyelements.co.jp/2012/09/coffeescript84source-map-livescript.html

CoffeeScriptReduxっていう非標準のCoffeeScriptコンパイラを使わないといけないのだけど、本家coffeeでも対応しないかなこれ。

149デフォルトの名無しさん2012/12/06(木) 17:51:10.74
いろいろと対応無理だから新しいコンパイラを作ったんだよ

150デフォルトの名無しさん2012/12/06(木) 20:49:03.33
>>149
そうなのか……。まだ、一部のコードがコンパイルできなかったりして、バグが多いんだが。開発は活発そうだし、頑張って欲しいね。

151デフォルトの名無しさん2012/12/06(木) 22:15:02.75

152デフォルトの名無しさん2012/12/08(土) 21:07:04.43
詳しい人教えてください。
子クラスのあるメソッドから、親クラスの別の名前のメソッドを呼ぶにはどうすればいいんでしょうか?

class Animal
name: "名無しちゃん"
constructor: (name) ->
if name?
@name = name

func: ->
console.log "#{@name}「親クラスのメソッドです」"

class Cat extends Animal
func: ->
console.log "#{@name}「子クラスのメソッドです」"

callSuperClassFunc: ->
Animal.prototype.func() # 親クラスのメソッドを呼ぶ?

tycho = new Cat "タマ"
tycho.callSuperClassFunc()

ちなみに上のコードだと、出力結果が
名無しちゃん「親クラスのメソッドです」
になってしまいます。これを
タマ「親クラスのメソッドです」
という出力にしたいのですが……。

153デフォルトの名無しさん2012/12/08(土) 21:08:18.68
うお、インデントがなくなってしまった。
でも一応、分かりますよね?

154デフォルトの名無しさん2012/12/08(土) 21:28:28.00
>>152-153
Javascriptの__super__は分かるよね?
Coffeeの場合は、親クラスのメソッド同じ名前の子クラスのメソッドの中で
super
と書くだけ(引数がある場合は関数と同じように「super x」)

子クラスで独自処理を呼ぶかsuperを呼ぶか切り替えたい場合は、

func: (flag = false) ->
if flag
super
else
console.log "#{@name}「子クラスのメソッドです」"

callSuperClassFunc
@func true

とか書くと良い
ちなみにCoffeeScriptのコーディングスタイルでインデントはスペース2つが推奨だからtabは使わない方が良いよ

155デフォルトの名無しさん2012/12/08(土) 21:48:59.28
>>154
レスありがとうございます。

super は分かるんです。
でも、それだと子クラスのメソッドと「同名の」親クラスのメソッドしか呼べませんよね。
ではなく、子クラスのメソッドと「名前が違う別の」親クラスのメソッドを呼びたいんです。
ちなみにその別の名前のメソッドは子クラスにもあって、でも親クラスの方のを呼びたい、という状況です。

あんまり需要がある呼び出し方かどうかわかりませんが、ちょっと気になっちゃって。

>ちなみにCoffeeScriptのコーディングスタイルでインデントはスペース2つが推奨だからtabは使わない方が良いよ

ご指摘ありがとうございます。気をつけます。

156デフォルトの名無しさん2012/12/08(土) 22:29:21.48
Animal::func.apply(this)
これでいけるけどほかにも書き方があるかもしれん

157デフォルトの名無しさん2012/12/08(土) 22:34:27.19
>>156
ありがとうございます!
こんな書き方知りませんでした。勉強になります。
奥が深いなぁ。

158デフォルトの名無しさん2012/12/09(日) 08:03:11.13
Cat.__super__.func.call(this)

159デフォルトの名無しさん2012/12/10(月) 16:57:16.81
>>158
なるほど。その書き方が一番良いかもしれませんね。
ありがとうございます!

160デフォルトの名無しさん2012/12/18(火) 23:39:41.86
node.jsやrails以外にこの言語の使いどころってあんの?

161デフォルトの名無しさん2012/12/20(木) 20:27:19.09
GreaseMonkeyとかのUserScriptsをCSで書いてるよ

162デフォルトの名無しさん2013/01/29(火) 06:31:45.86

163デフォルトの名無しさん2013/02/01(金) 00:42:46.23
CoffeeScript > pythonをjsでやってみたらこんなんでました
って認識でおk?

164デフォルトの名無しさん2013/02/01(金) 19:28:13.12
pythonに影響を受けてるのはインデントブロックぐらいで
それ以外はrubyの影響が強いな とくにclassシンタックスまわり

165デフォルトの名無しさん2013/02/01(金) 20:05:29.96
ruby に良く似てるね
どちらかというと node.js が python に似てると思う

166デフォルトの名無しさん2013/02/09(土) 20:27:31.48
最近はTypeScriptの方が言語的に優れてていいって巷では言っているが、
どうなんだろ……。

167デフォルトの名無しさん2013/02/09(土) 21:31:45.39
Unix派(coffee) vs MS派(typescript) または静的型付け派 vs 動的型付け
の代理戦争っぽいところもある

JSクソといってたMSベッタリな知り合いは
TypeScript出た瞬間いやーJS未来ありますねって言ってて笑った

168デフォルトの名無しさん2013/02/10(日) 16:37:09.50
乱立した挙句デファクトが決まらないまま、別に素のJSでいいという流れになりそう

169デフォルトの名無しさん2013/02/10(日) 18:26:17.17
数年後、そこにはTyped CoffeeScriptの元気な姿が…

170デフォルトの名無しさん2013/02/10(日) 18:47:12.97
いずれ実現するんじゃないかな

CoffeeScriptの評判がいい点て軽量言語らしいゆるふわシンタックスで
TypeScriptはコンパイラレベルの型があってIDEに統合に強い
現状TypeScriptをCoffeeScriptみたいなシンタックスで書けるコンパイラ出たら俺はそれに乗り換える
コンパイラっていうかプリプロのプリプロだけどな

で、現状 heap.coffee ってのが一番近いんだけどなんか目指してるものが微妙で、そんで動かん

171デフォルトの名無しさん2013/02/10(日) 21:10:04.89
そして忘れ去られるDartとJSX。

172デフォルトの名無しさん2013/02/12(火) 08:43:08.51
(x) -> (y) -> x+y
とか書けるから楽ちん

173デフォルトの名無しさん2013/02/27(水) 16:49:12.93
1.5.0

174デフォルトの名無しさん2013/02/27(水) 17:40:30.80
Ruby利用者が減ってCoffeeScript利用者が増えると予想

175デフォルトの名無しさん2013/02/27(水) 21:15:20.27
まだまだクライアントでコールバックチェーンをちゃんと書ける人が少ない

176デフォルトの名無しさん2013/03/09(土) 18:46:26.39
1.6.1

177デフォルトの名無しさん2013/03/09(土) 20:03:32.91
sourcemap対応きたな
typescriptに先んじられてた部分に追いついた

178デフォルトの名無しさん2013/03/09(土) 20:05:40.96
TypeScript -> PHPなやつが出たよ
Pratphall
http://pratphall.org/

179デフォルトの名無しさん2013/03/09(土) 21:22:24.13
>>177
ようやく来たかー。
これでCoffeeScriptRedux使う理由はなくなったな。

180 忍法帖【Lv=2,xxxP】(2+0:5) 2013/03/10(日) 00:06:37.29
>>172
それってどうやって使うの?呼び出す時

181デフォルトの名無しさん2013/03/10(日) 00:17:00.22
名前を付けない、それがクロージャ
javascriptと同じで変数に割り当てるんじゃ

182デフォルトの名無しさん2013/03/10(日) 00:23:51.98
名前ついててもクロージャはクロージャなのじゃ

183デフォルトの名無しさん2013/03/10(日) 00:28:12.70
ご苦労じゃな

184デフォルトの名無しさん2013/03/10(日) 01:55:21.69
>>180
普通に f(1)(5) #=> 6 だろ
jsのカリー化や部分適用はJavaScript: The Good Parts にも載ってる

185 忍法帖【Lv=2,xxxP】(1+0:5) 2013/03/10(日) 06:37:40.29
>>184
なるほど!ありがとう!
カリー化ってなに?

186デフォルトの名無しさん2013/03/10(日) 08:04:13.70
ggrks

187デフォルトの名無しさん2013/03/10(日) 08:40:49.96

188デフォルトの名無しさん2013/03/10(日) 10:37:35.20
ググレカリー

189 忍法帖【Lv=3,xxxP】(1+0:5) 2013/03/12(火) 07:53:06.74
どーせカリーとか言ってるだけでほんとは意味知らない人多いんでしょ

190デフォルトの名無しさん2013/03/12(火) 08:10:14.32
ジョン・スカリー

191デフォルトの名無しさん2013/03/12(火) 08:21:09.79
野菜をいちどきに鍋にぶちこむのではなく火の通りにくい順に入れていくこと

192デフォルトの名無しさん2013/03/12(火) 11:12:20.87
たまねぎだけ先に炒めて入れる

193デフォルトの名無しさん2013/03/12(火) 11:59:13.57
CoffeeScriptからExcelで迷路を描く方法を教えてください

194デフォルトの名無しさん2013/03/12(火) 12:44:42.75
WSHでJScript使えばなんとかなりそう

195デフォルトの名無しさん2013/03/12(火) 13:01:48.39
CoffeeScriptはJScriptでも動くんですか?

196デフォルトの名無しさん2013/03/12(火) 15:15:25.77

197trydev2013/03/26(火) 00:27:54.23
Objective-○ みたいなの、、、
うごかないけどorz

@implementation = (obj) ->
  @[k] = obj[k] for k of obj

@implementation CSObject: (obj) ->
  # not implementation.

@implementation Test: CSObject
  constructor: ->
    alert "Hello,World!"

test = [[Test alloc] init]

198デフォルトの名無しさん2013/03/29(金) 00:20:14.82
railsの公式サポートにあってcoffeescript使い出したら普通のjsが書けなくなるほどドップリはまった
ある程度書ける人からしたらおせっかいなのかもしれないけど、自分みたいなDOM操作ばかりの人間には非常に使いやすい

199デフォルトの名無しさん2013/05/25(土) 12:29:57.80
Webのフロントエンド書く仕事でCoffeeScript、趣味でTypeScriptだけど
結局、サーバーサイドを何で書くか次第な気がしてきた。

サーバ側がRubyやPythonで書かれていれば、サーバ側技術者が馴染みやすいのはCoffee。
サーバ側がJavaやC#だったら、TypeScript。

200デフォルトの名無しさん2013/06/07(金) 16:54:13.06
>>199
良いこと書いてるね
リツイートだわ


lud20200309201656

レス:1-200 201-400 401-600 601-800 801-1000 ALL

このスレへの固定リンク: http://5chb.net/r/tech/1320949260/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「CoffeeScript->画像>2枚 」を見た人も見ています:
CoffeeScript、他AltJSは死んだ。TypeScript以外は
Rails6でCoffeeScript廃止。見る目がなかった人達へ (72)
【IT】Microsoft、プログラミング言語「TypeScript 3.7」を公開
TypeScript part4
TypeScript part2
【純粋関数型AltJS】PureScript
TypeScript(MS) VS Swift(Apple)
次世代言語13 Go Rust Swift Kotlin TypeScript
【ActiveScript】RubyをWindowsで使うスレ【GUI】
次世代言語14 Go Rust Swift Kotlin TypeScript
次世代言語18 Go Rust Elixir Kotlin TypeScript
次世代言語Part8[Haskell Rust Kotlin TypeScript]
次世代言語29 TypeScript Swift Go Kotlin Rust Nim
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
次世代言語9[Haskell Rust Kotlin TypeScript Dart]
次世代言語26 TypeScript Swift Go Kotlin Nim
AppleScript アップルスクリプト 質問、発表 6
次世代言語28 TypeScript Swift Go Kotlin Rust Nim
もうプログラミング言語はTypeScriptだけやっとけばいいだろ 何でもできるし
【IT】モバイルアプリに最適化した軽量JavaScriptエンジン「Hermes」、Facebookがオープンソースで公開
PostCoffee
【OSCP|OSWE|OSEP|OSED|OSEE】Offensive Security 認定資格 Part1
Microsoft SkyDrive API
Microsoftが作った言語かなり優秀な模様
Microsoft ASP.NET Blazor #02
Microsoft .NET MAUI part9 [Xamarin]
Microsoft Xamarin part8 [.NET MAUI]
Microsoft .NET MAUI part10 [Xamarin]
JavaScript 4
JavaScriptは難しすぎ
ECMAScript デス 6
The Script part1
NScripter Ver.17.00
javascriptについて教えてくれ!
PDF/EPS/PostScriptスレッド
JavaScriptは消滅すべきだったよな
Javascriptの参考書を買いたいんだけど
VBScriptについて必死に話し合うスレ
scratchの次にJavaScriptを学ぶのはアリ?
JavaScript の質問用スレッド vol.125
【非同期】node.js part.1【javascript】
JavaScriptってどうやって勉強すればいいんですか
+ JavaScript の質問用スレッド vol.124 +
+ JavaScript の質問用スレッド vol.122 +
JavaScriptフロントエンド総合 Part.11
【wasm】ブラウザでC++。Emscriptenを語ろう
+ JavaScript の質問用スレッド vol.126 +
+ JavaScript の質問用スレッド vol.123 +
+ JavaScript の質問用スレッド vol.125 +
JavaScriptのテンプレートエンジンを作ってみる
【@Conscript1942】トイレスタンプ香りジェル
【@Conscript1942】トイレすっぽんラバーカップ2
【JavaScript】スクリプト バトルロワイヤル55【php,py,pl,rb】
【VBScript】WSHについて話し合うスレ【JScript】
JavaScriptライブラリ使わずプログラミングする技術
[EXEファイル可] JavaScript統合開発環境 DX Studio
【国際】「ループURL貼って補導」「Coinhive逮捕」に、“JavaScriptの父”ブレンダン・アイク氏も苦言
なぜMicrosoftのドキュメントは読みにくいのか (34)
Javascriptのセミコロン; (10)
JavaScript の質問用スレッド vol.126 (308)
03:42:56 up 9 days, 18:05, 2 users, load average: 91.38, 80.50, 76.54

in 0.030052185058594 sec @[email protected] on 110116