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
22デフォルトの名無しさん2012/02/03(金) 22:41:55.33
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
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
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
いや、 にすべき。
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
47デフォルトの名無しさん2012/07/22(日) 01:37:57.53
CoffeeScriptの名前の由来ってなんですか?
48デフォルトの名無しさん2012/07/22(日) 02:50:08.85
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
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
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
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
89デフォルトの名無しさん2012/09/21(金) 14:13:36.34
>>87-88
別のものと比較してどうするんだ。
同等なコード書けよ。 90デフォルトの名無しさん2012/09/21(金) 14:13:59.07
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
106デフォルトの名無しさん2012/09/24(月) 10:25:53.32
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
114デフォルトの名無しさん2012/09/25(火) 17:07:04.38
>>113
その話は、これまでの話の何と関係があるの? 115デフォルトの名無しさん2012/09/26(水) 09:27:11.60
116デフォルトの名無しさん2012/09/26(水) 10:27:46.51
>>115
コンパイル後のJavaScriptを実行せざるを得ないというのが、最大の問題。 117uy2012/09/26(水) 11:01:39.38
118デフォルトの名無しさん2012/09/26(水) 14:49:03.70
歯臭せー
119デフォルトの名無しさん2012/09/26(水) 23:16:35.71
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
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
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
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) ->
&nbsp;&nbsp;alert id + ' ' + name
User Name: 'Mochi', Id: '000'
# 引数を省略したときの既定値
User = (
&nbsp;nbsp;{Id: id, Name: name} = {Id: '001', Name: 'Tarou'}
) ->
&nbsp;&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
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
179デフォルトの名無しさん2013/03/09(土) 21:22:24.13
>>177
ようやく来たかー。
これでCoffeeScriptRedux使う理由はなくなったな。 180 忍法帖【Lv=2,xxxP】(2+0:5) 2013/03/10(日) 00:06:37.29
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
201デフォルトの名無しさん2013/06/07(金) 23:49:53.21
これ書きやすいけど見にくいね
202デフォルトの名無しさん2013/06/08(土) 00:12:52.78
Pythonの人やRubyistに書かせると綺麗になる(作者のAshkenasがそうなので)
PHP/JavaScript上がりの人に書かせると破綻しそうではある
大規模プロジェクトならやっぱTypeScriptなんだろうけど、5000行ぐらいまではcoffeeでいい
203デフォルトの名無しさん2013/06/08(土) 04:14:48.83
Haxe「(/ω・\)チラッ」
JSX「|冫、)ジー」
204デフォルトの名無しさん2013/06/08(土) 18:22:54.75
基本、括弧を書かなくていいのは地味にラクなんだけど
後から見にくいんだよな
205デフォルトの名無しさん2013/06/08(土) 18:37:56.27
なんでVBの真似なんかしちゃったんだろ
206デフォルトの名無しさん2013/06/09(日) 01:05:16.45
>>204
実際のプロジェクトで使うとそうなんだよな・・
ただオブジェクトリテラルのネストがすごい見やすくなるのはでかい
自分はGrunt.jsの設定ファイルだけにcoffee使ってる
これは使わないと損するレベル 207デフォルトの名無しさん2013/06/10(月) 06:11:50.68
関数実行時のカッコが省略できるのは見にくいので
カッコを省略しないで書こう
208デフォルトの名無しさん2013/06/11(火) 04:47:18.31
ああ
209デフォルトの名無しさん2013/06/13(木) 14:04:45.48
github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS/_history
javaのひとは groovy のほうが馴染むだろうか grail もあるし
というかインデント記法の言語というので全部書くのは
なかなか辛いケースもありそうだな…
210デフォルトの名無しさん2013/06/13(木) 16:54:26.66
やっぱ型あるほうがいいわ
CoffeeScriptで作ったのをTypeScriptやHaxeにそのまま手作業でコンバートしたら
とんでもない潜在的バグが発覚ってケースが何度も何度も。マジで
211デフォルトの名無しさん2013/06/15(土) 18:24:35.11
同じインデント記法でもPythonは読みやすいよ
変に弄らないでPythonの猿真似でよかったのにな
ただ一番の問題はシンタックスじゃなくて、JSやRubyに合わせて
インデント幅を2にしてると浅すぎてわかりにくいことだと思うけどね
Pythonだと規約でインデント幅4推奨だからな
212デフォルトの名無しさん2013/06/16(日) 00:27:57.21
213デフォルトの名無しさん2013/06/22(土) 22:46:16.40
var宣言とかあった方が良くない?
どこのスコープで宣言してる変数なのか
何が使われているのかとか、分かりにくすぎる
214デフォルトの名無しさん2013/06/23(日) 00:49:50.71
>>213
Pythonはそれでうまくいっているという事実がある
ただインデントの話もそうだけど、最初からそれを大前提にして一から設計されたPythonとは違って
JavaScriptの仕様や慣習に縛られているので、その兼ね合いでいろいろと綻びが出ている 215デフォルトの名無しさん2013/06/28(金) 19:35:44.69
皆さん、JavaScriptで以下みたいなforループがあったとして
for (var i=0; i<max; i++) {
console.log(i);
}
CoffeeScriptでは同等のforループをどう書いてます?
for i in [0..max-1]
console.log i
ってやったら、max=0 の時に案の定うまくいかなかった。
すごい初歩的な質問でスミマセンorz
216デフォルトの名無しさん2013/06/28(金) 19:41:09.59
あ、自己解決しました。
for i in [0...max]
console.log i
ってやればいいだけですね。スレ汚しすまんでしたorz
217デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
218デフォルトの名無しさん2013/07/02(火) NY:AN:NY.AN
いや上の使っても綺麗には変換できないか…うーんorz
219デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
使うか使うまいかまだ迷ってる俺ガイル
220デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
コード片を突っ込んでから目視で確認して直す分には便利
ライブラリまるごと突っ込むにはちょっと無理かな
221デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
ほしゅ
222デフォルトの名無しさん2013/08/30(金) NY:AN:NY.AN
の難しい言語
223デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
coffeescript使う意味ってあるんですか?
エディタの補完じゃだめなんですか?
224デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
Coffeeが要らないと感じるくらい強力な補完が出来るエディタを使っているのだとしたら、別に無理してCoffee使う理由は全く無いと思うよ
225デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
でもfunctionとreturnと括弧の補完さえできれば
CoffeeScriptのメリットの9割がなくなったも
同然だと思う。
226デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
fでfunction %1(%2){%3}って置換してるしCoffeeScriptを書くのが苦痛
%nのところはtabで移動できるやつ、いわゆるvimのアレ
強力な補完の定義がないからいまいち何を言いたいのか分からない
227デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
functionとreturnと括弧の補完ができても
読むときにfunctionとreturnと括弧が邪魔で
ロジックに集中できず読み難い
228デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>227
いちいち、functionやreturnを読んでるの?
読み飛ばしてロジックだけ見ろよ。 229デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
230デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
231デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
232デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
・functionタイプするのウザいわ <= 補完機能使え(提案が解決策になっている例)
・function読み飛ばすのウザいわ <= 根性で頑張れ(提案が解決策になっていない例)
233デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>231
情報量はどっちも同じだけど。
でないと関数を関数とみなせないってw
単に単語が違うだけ。
functionと=> だっけ?の違いだろう
どっちがわかりやすいか。 234デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
1 + 2 * 3 と 1.add(2.product(3)) は情報量同じだよ、確かに
でも、1 + 2 * 3 が読みやすいと感じる奴に 1.add(2.product(3)) 使えって言うのは傲慢
coffee使っている奴にJS使えってのも同じ話
235デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>234
それは四則演算の書き方に慣れているだけだな。
functionには当てはまらない。 236デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>235
いや、お前が当てはまるかどうかなんてどうでもいいんだが…… 237デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>236
だからお前が当てはまるかもどうでもいいだろ。
ようは慣れだよ。
入力も別に問題ないし、
読むのも問題ない。 238デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
大学でMLとかに触れる機会すら無かった
生粋のドカタには -> や => は見慣れんだろうなぁ
内包表記なんかも数学やってた奴には馴染みありまくりだが、
ドカタには不評だしなぁ
239デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ただひとつ言えるのは、CoffeeScriptは
個人の作ったオレオレ言語であり
将来性に普及にも疑問があるということ。
これは大きなデメリット。
240デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ブロックが {} じゃないから
CoffeeScriptは見にくい。
それだけで十分デメリットじゃねぇの?
241デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>238
原点とも言えるC言語にはないからね。
こちとら生粋のプログラマーなんで(笑) 242デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>239
そうなんだよね。
書き方がちょっと違うだけで、宣伝ほど
コードが減った感じがしないし、
将来性を考えると使うメリットがないかなって。 243デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
そもそもML使うような層はJavascriptなんて使わない
根本的に住んでる世界が違う
244デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ML使う層はものづくりの層ではないからな。
245デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ドカタしか使わない言語に
関数型言語風の表記を取り入れるとか、
明らかにニーズを取り違えている
流行るワケが無い
246デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ドカタって言葉が好きなのかな?
日本のことを鬼子とかいう韓国人っぽいね。
247デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
しかし、いつまで経ってもドカタからネガティブなイメージが抜けないな
やっぱドカタ呼ばわりされてる奴等の実態が悲惨だからかな
248デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
249デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
250デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
wikipediaはどうでもいいよw
251デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>248
建設業の業態をそっくり真似たものだから 252デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>248
上流に高学歴、下流に低学歴が集まる所までそっくりだから 253デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>251
建設業の業態をそっくり真似たものは
一部の会社の話だろ。
何を言ってるんだろうか? 254デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ソフトウェア業界の全てが
建設業と同じ業態を真似てるわけじゃないし。
特にウェブ業界のほとんどは建設業とは全く違う。
255デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
いろんな形態があるのに
話も聞かないですぐにドカタって言ってる奴
あれは単に他人を見下したいだけだから気にするな。
大抵言ってる本人が自分の立場に満足してないだけ。
256デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ドカタとは呼ばなくとも兵隊と呼ぶ奴はリアルにたくさんいる
257デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
>>254
そうなんだよね。
IT業界がデジタル土方って言われる原因はSI系の企業が「大企業ほど」腐ってるせいなんだけど、
こういう会社に勤めてるPG()はCoffeeScriptを標準サポートしてるRuby on Railsとかを使った開発に掠ってないから
CoffeeScriptの将来性が疑問に見えちゃうんだろうね
NTTデータが偽装請負 直接指示どころか下請け富士ソフト社員を奴隷扱い、指摘後も対応せず
http://www.mynewsjapan.com/reports/458 258デフォルトの名無しさん2013/08/31(土) NY:AN:NY.AN
ほらみろ、変なことを言い出すから
せっかくのCoffeeScriptスレがあれる。
お前のせいだぞ。
259デフォルトの名無しさん2013/09/01(日) 11:51:19.07
いまのJS界隈には、元からJSやってた奴ら、Rubyとかから流れ込んで来た奴ら、
Javaから流れ込んで来た奴らが混在してて、
わりと前の2グループはJSを改善していきたいと思ってるけど、
Javaから来た奴らは基準がJavaだから、現状のJSですら十分簡潔に書けると思ってるし、
何も変化しないことが善だと思ってる
260デフォルトの名無しさん2013/09/01(日) 12:02:34.99
問題は実際にJavaScriptで十分に簡潔であるってこと。
ほんの少し文法を変えた将来性のない言語を
使う奴はいない。
261デフォルトの名無しさん2013/09/01(日) 13:44:23.32
Pythonは誰が書いても似たようなコードになるって思想があるからこそ
インデント記法が成り立ってるのに、思想はRubyで構文はPythonってそりゃ無茶苦茶になるわな
262デフォルトの名無しさん2013/09/01(日) 14:57:22.21
263デフォルトの名無しさん2013/09/01(日) 17:17:32.88
264デフォルトの名無しさん2013/09/01(日) 17:20:03.28
265デフォルトの名無しさん2013/09/01(日) 18:35:30.83
これGrunt.coffee専用言語なんよ
それ以外で使う価値はない
266デフォルトの名無しさん2013/09/01(日) 23:07:05.42
>>259
俺はJavaが誕生したときからずっとJavaやってきて
ここ4〜5年JavaScriptもやるようになったけど
ぜんぜん違和感なくやってるぞ。
Coffeeよりは、TypeScriptとかDartのほうがJava屋的には
馴染みやすいけど。
でも、たしかにエンタープライズ系のWeb開発やってる層だと
ブラウザ側に何かリッチな処理をさせるのって違和感あるみたいだ。
でも、これからはますますブラウザ側での処理の重要性って
上がっていくんだろうな。この流れに対応できないサーバーサイドの
開発者はどんどん落ちこぼれていくんだろう。 267デフォルトの名無しさん2013/09/29(日) 02:06:43.74
やっぱ駄目だこれ
読みにくすぎ
268デフォルトの名無しさん2013/09/29(日) 07:50:36.35
ハッカーには受けが良いけど、
ドカタには読み難く感じるらしいね
269デフォルトの名無しさん2013/09/29(日) 15:11:56.52
ハッカー(自称パソコンの先生)ね
270デフォルトの名無しさん2013/09/29(日) 15:28:38.66
あぁ、ここにもキチガイがいたw
271デフォルトの名無しさん2013/10/19(土) 07:33:07.39
272デフォルトの名無しさん2013/11/03(日) 17:44:49.82
普段RubyとJSを同時に書いてる身としてはCoffeeScriptの方が段違いに脳が適応してくれるから重宝してまつ
生のJSだとunlessを無意識に使ったり、varを平気で書き忘れてまうねん
273デフォルトの名無しさん2013/11/07(木) 22:47:23.49
>>257
俺がみたRailsプロジェクトの大半が中身が空の.coffeeばかりだったからgit rm *.coffeeしてpushしたけど怒られたことなかったよ 274デフォルトの名無しさん2013/12/08(日) 22:13:51.51
275デフォルトの名無しさん2013/12/08(日) 22:16:15.51
276デフォルトの名無しさん2013/12/08(日) 23:37:17.96
Dartは消えてくれ
Javaと全く互換性のないJavaモドキって誰得だよ
わざわざ余計なものをJSの世界に持ち込まないでほしい
277デフォルトの名無しさん2013/12/09(月) 11:43:48.53
DartはJSの消滅を狙ってるだろ
278デフォルトの名無しさん2013/12/09(月) 12:05:48.13
時代はTypeScript
279デフォルトの名無しさん2013/12/23(月) 23:21:48.32
DartもWebMもWebPもWebSocketもSPDYもみーんな同じ会社が同じ目的のためにやってること
280デフォルトの名無しさん2013/12/24(火) 20:55:26.75
社内にドッグフード食べさせることが出来れば、加速的に成長するんだろうけどdartはあまり芳しくなさそう。
281デフォルトの名無しさん2013/12/24(火) 21:01:06.40
282デフォルトの名無しさん2014/01/02(木) 10:58:34.98
coffeedocの書き方がよく分かるサイト教えてくださいm(_ _)m
283デフォルトの名無しさん2014/01/02(木) 11:01:48.02
あ、ごめんやっぱcodoっての使ってみる
284デフォルトの名無しさん2014/01/18(土) 17:15:05.45
もっと早く使えば良かった。書いてて気持ちいい。
285デフォルトの名無しさん2014/01/19(日) 10:58:46.02
いいよな。
grunt使えば自動コンパイルしてくれるし
ブラウザの自動更新までしてくれるからデメリット無いわ
286デフォルトの名無しさん2014/01/19(日) 21:47:32.02
ハッシュをYAMLっぽく書けるのが良いですね
287デフォルトの名無しさん2014/01/23(木) 02:51:11.53
Railsコミュニティは何故、CoffeeScriptなんぞ採用したのか
全部、JSで書いた方が効率良いだろ
288デフォルトの名無しさん2014/01/23(木) 08:34:48.34
JSがうんこだからに決まってる
馬鹿にはゴミっぷりが理解できないらしいが
289デフォルトの名無しさん2014/01/23(木) 08:58:24.07
時代はTypeScript
290デフォルトの名無しさん2014/01/23(木) 14:14:45.90
生のjsはリファクタリングする気にもならない・・・
291デフォルトの名無しさん2014/01/23(木) 14:28:28.36
すぐに下品な言葉を使う男ってダサい
本人は理解できてないみたいだけど(24歳OL)
292デフォルトの名無しさん2014/01/23(木) 14:46:56.80
CoffeeってJSが次世代JSに移行したら用済みよね?
293デフォルトの名無しさん2014/01/23(木) 16:26:41.62
またしょうもない言語を作ってみろ
その時は第二、第三のコーヒースクリプトが
294デフォルトの名無しさん2014/01/25(土) 00:16:23.43
お前らってjavascriptより良い言語作れないのに
javascriptのことバカにすんのな
295デフォルトの名無しさん2014/01/25(土) 01:06:20.63
296デフォルトの名無しさん2014/01/30(木) 10:55:06.90
1.7.0きたー
メソッドチェーン改良
297デフォルトの名無しさん2014/02/05(水) 15:22:45.71
ねえねえ、
test = (->
hoge
)()
これもっと綺麗に書く方法ある?
test = ->
hoge
()
だと怒られる
298デフォルトの名無しさん2014/02/05(水) 15:25:01.87
あ、
test = do->
hoge
か、スマソ。
299デフォルトの名無しさん2014/02/05(水) 15:29:34.02
ちゃうちゃう
(test = ->
hoge)()
を綺麗に書く方法だった。
test = ->
hoge
test()
とか気持ち悪い。
300デフォルトの名無しさん2014/02/12(水) 22:35:31.24
>>299
do test = ->
hoge
でOK。 301デフォルトの名無しさん2014/03/09(日) 19:03:49.61
coffee使っても隠し切れないjavascriptのクソさ・・・
302デフォルトの名無しさん2014/03/10(月) 03:51:02.98
誤魔化すための言語だししょうがない
303デフォルトの名無しさん2014/03/10(月) 11:23:42.42
coffee使ってもごまかせないって話
304デフォルトの名無しさん2014/03/10(月) 12:40:43.45
やはりtypescriptなのか
305デフォルトの名無しさん2014/03/10(月) 19:08:23.41
typescriptはむしろ誤魔化すのを諦めた人向けじゃね
306デフォルトの名無しさん2014/03/11(火) 03:40:32.61
Dart煮汁
307デフォルトの名無しさん2014/03/11(火) 11:24:02.35
Dartは個人情報送信されないかガチで心配
308デフォルトの名無しさん2014/03/11(火) 14:56:45.86
309デフォルトの名無しさん2014/03/11(火) 20:10:12.88
Dartは文法がダサくて嫌い。
わざわざjavascriptリプレスするのがあんな古臭い言語とか。。
>>310
へー!こんなのあるんだ
jsはcoffee使ってもコールバッグ地獄対応しなきゃいけないから気持ち悪いんだよね
jQueryDeffered使ってるけどすべての関数をDeffered化するわけにもいかないし
Haxe使えば回避できる?? Haxe...んーまあ、そう。見ればね。分かるよね。うん。
というか、すでにスクリプト言語じゃないというね。
アプローチはかつての Java 思想を思わせる。
またそれをやりたいのか?っていう。
Web屋ならわかるだろうけど、coffeeの一番の利点は配列の,が不要なこと
IEでエラー吐くからすごく神経使ってたけど
coffeescriptはタイプミスの心配しないでいいしのびのび書けるわ
CoffeeScriptはGruntの設定ファイル専用言語だよ
StratifiedJSとCoffeeScriptってやっぱ共存むりぽ?
jQueryDeferredとか面倒くさいっす
gulp導入してGrunt使わなくなったと同時に
この糞言語も使わなくなった
バイバイCoffeeScript
モジュールのテスト
インスタンス何それ、staticなロジック関数最高(?)誰得なscriptです。
使い方
module モジュール: 他のモジュール..
プライベート: 値or関数
static:
パブリック: 値or関数
main: ->
alert @プライベート
alert @他のプライベート
alert モジュール.パブリック # むむ!
alert 他のモジュール.他のパブリック # むむむむ!!
alert オブジェクト # [module モジュール]
モジュール.main() # モジュール.static.main()
今のところMain.static.mainをエントリポイントとしていますが、
サンプルの様にMain定義前の実行は可能です。
# モジュール化関数
# 変数の概要
# o ・・・ object
# m/n ・・ object名
# a ・・・ argument
# s ・・・ staticな関数名
module = (o) ->
for m of o
if typeof o[m] is 'function'
@[m]= o[m]
else
@[m]=(a) ->
for n of o[m]
if typeof a[n] is 'undefined'
a[n] = o[m][n]
a
for s of o[m]['static']
@[m][s]=(a) ->
o[m]['static'][s].call o[m], a
@[m].toString=-> "[module #{m}] "
try
@Main.main.call @ if m is 'Main'
catch e
# サンプル - Base.iをインクリメント・デクリメント・表示
module Base:
i: 0
static:
main: ->
alert @i
alert Base # [module Base]
Base.main() # 0
module Inc: Base
inc: ->@i++
module Dec: Base
dec: ->@i--
module Show: Base
show: -> alert @i
# モジュールのMixinは関数の呼び出しなので
# 最後のモジュールに空のオプジェクトを渡す
module Program: Inc Dec Show {}
module Main: Program
static:
main: ->
@show()# 0
@inc()
@show()# 1
@dec()
@show()# 0
>>319
gulpってどうなの?
周り誰も使ってなくてさ
gruntもgulpもcoffee対応してるよね >>325
coffeeの替わりに何を使うようになったのかは気になるな ruby と python の両方の良いとこ取りしたような文法だが
どっちかというと ruby 寄りって感じか
javascript のソースを coffee script のコードに変換してくれるツールがあると嬉しいかも
class の prototype に member 書かなくても
class A
constructor: (@hoge, @fuga) ->
で member 作れてしまいますが (prototype にはないけど)
こういう作り方は良くないですか?
ちゃんと
class B
hoge: null
fuga: null
constructor: (@hoge, @fuga) ->
って書くべき?
>>329
多分大丈夫。俺はいちいち定義してない。 どういたしまし。
ていうかこのスレ過疎りすぎ
coffeescript大好きなのに(´・ω・`)
良いよね
日本でRuby流行ってるって言うの嘘かもね
>>333
ぶっ!!!
うちの会社でもRubyの時代だとかって
最近Ruby on Railsのプロジェクトまかされてるんだけど
マンセー記事多い割に詳細なドキュメント少なくて
「本当に流行ってるのか???」と思った。
とくにActiveRecord周りの具体的な使い方に関しては
書物にも乗ってないからすっごい苦戦している。
ほんとにRuby流行ってるのかなぁ…(まぁRubyも好きなんだけど) Ruby に Python スパイスを振りかけて
使いやすくしたのが CoffeeScript って感じ
Ruby が本当に流行ってるなら CoffeeScript も流行ってないと可笑しいと思う
正直一時期よりCoffeeScript使われなくなってると思う
TypeScriptやHaxeやES6に行った人が多いと思う
>>335
ルビーにパイソンのスパイスw
まずそー(てか硬くて食べれないよっ)
たしかにRuby流行ってるならCoffeeも流行ってないとおかしいってのは納得な気がする
RubyをCGI的に使ってるとか、ターミナルで直接叩いてますとかっていう技術者が
どれくらいいるのかわからないけど、あんまりいないだろう。
そう考えると、Rubyの人口の殆どがRailsの人口ともいえるわけで
Ruby大好きRailsプログラマが「Coffee使わないでわざわざピュアJSで書いてます☆」ってのはちょっと違和感あるもんね
「現場ではCoffeeなんてつかいません!」って話だったらそれRails自体そうなんじゃね?って突っ込みたいし
えっ!CoffeeからTypeやHaxeに流れてるのか!
あれらの言語は調べてわりとすぐに体が拒絶したんだけども 正直♀でも♂でも拒絶しない体になってしまったなんな
うーん?俺今仕事で普通に複数人でCoffeeScript書いてるし、
海外ライブラリも国内ブログでもCoffeeScriptが廃れたようには思えないけどな
浸透し過ぎて珍しくも無くなったから話題にならないだけじゃないの?
技術記事を書く時は他AltJSユーザーに配慮してコード部分
JSで公開するし
今リリースが1.9.0だし2.0出たらまた盛り上がるんじゃない?
js2coffeeとかもやる気見たいだし
浸透しすぎて話題ないのか
たしかにCoffee覚えるの簡単だし困ったら公式サイトで気軽にテストできるもんなあ
みんな愛情表現くらいしていいんだよ(〃∇〃)
Railsってw
今もうAngular.js使ったSPAの話題しか聞かないのに
>>344
えっ。マジ??
あれってSEO心配なんだけどバリバリ使われてるの? まさにcoffee+angularで開発してるわ
ほとんど何の問題もなく使えてる
ごく稀に、暗黙のreturnでハマるくらい
Coffeeはいいけど、angularはダメだわ
何度殺意を抱いたか
仕方なく使ってるけど、なんであんなもんが流行ってるのか
皆目見当がつかない
あれみんな使ってるけど、みんな理解できてるのか
>>349
Googleだからだよ。
CoffeeScriptで使うならMarionetteとかChaplinの方が良いと思うよ しかし消えるの速かったな。
「これから流行る」と言われている内に既に忘れ去られる勢い
自動コンパイルに1番適してるのはどのツールですか?
色々あるみたいなので迷ってしまいます。
なんとなくgruntかgulpの二択な印象だったんだが迷うほどあったっけ
Angular2がTypeScriptベースになるらしいな
時代はTypeScript
新プロジェクトでAngular使いたいって訴えたけど
AngularはSEO的に信頼できないから無理とかいわれたよ。
まぁ、反論するどころか納得させられたからそれ以上求めなかったが。
railsのdsl化かあ
既にそうなってると思ってたけど
完全ではないってことだよね?
ってスレチじゃね
>>365
angularは難しすぎて開発が困難だからやめて正解 AngularがTSベースにしたかったのはアノテーションとかを生かしたかったからで
本来はTSをかくちょうしたAtScriptを使うつもりだった
>>368
難しいというより言語仕様と関係ないところの枝葉で覚えることが大杉なんだよな
フレームワークに縛られるのは嫌 >>365
Angularは、SEO無関係のとこしか使えないっていうのを知らない人が多い。 >>370
AtJSはTSに実行時型情報を持たせる拡張なので、あくまでTSの静的なクラス構造の存在が前提
分けて考えられるようなもんではないよ
実行時の振る舞いに影響するとなるとアプリもTS以外では書きにくくなるんだろうな TSの型情報はコンパイル時のためのものだがAtでは利用しない。
ランタイムエラーのためのもので、あくまでより良くするためで必須ではない。
そりゃTSに実行時型情報持たせるにはこういうルールにしたらいいという提案の段階なんだから
TSの静的型チェックの仕様を長々とコピペしても仕方ないだろw
そもそもTSも型指定は必須ではないぞ
>>365
>>372
別にSPAでも普通にSEO出来るんだけど…(例:twitter)
ググれば一発でAngularでの個別ページのSEO方法の話も出てくる
お前らの会社が心配だわ… >>376
> ググれば一発でAngularでの個別ページのSEO方法の話も出てくる
普通に作ってSEO的にNGというのが問題なんだよ。
AngularJS自身がSEO対策入りのFWになってくれれば問題ない。 うちはBackbone.js使ってるので、AngularJSは情報を集めるだけなんだが、
『AngularJSのエキスパート達が語る、AngularJSの使いどころとつらいところ(前編)。Deverlopers Summit 2015』
http://www.publickey1.jp/blog/15/angularjsangularjsdeverlopers_summit_2015.html
> FAQ:SEO対策ってどうしたらいいですか?
> 無理です。JavaScriptなので無理なものは無理です。Googleなどのクローラーが来たときに静的な
> HTMLを吐くという仕組みは必要になってきますが、SEOが必要なページは、僕は基本的におすすめ
> しません。
とあるんだが……。
noteのAngularJSのSEO対策辛かった話も聞いたが、ひょっとすると最近は何か状況に変化があったのか? だよね。
>>376いなくなっちゃったしイミフ。
Angulerなんてウェブアプリかcordovaで使うものだろ
SEO必要なウェブサイトに導入するようなものじゃない >>380
> SEO必要なウェブサイトに導入するようなものじゃない
noteはなんでAngularJS使っちゃったんだろうね。 2016年になりましたが、CoffeeScriptはオワコン言語ってことでいいですよね?
これにてこのスレは完結です。
5年間、お疲れ様でした。
浸透した言語は、どれも話題になってるだろw
CoffeeScriptの普及にかけた人っているんだろうかね?
もう殆どの人がJavaScriptに以降しただろうな。
移行なんて大げさな
CoffeeScriptってほとんどJavaScriptじゃん
CoffeeScriptってほとんどJavaScriptじゃんと言う理由で
CoffeeScriptを使わないと決めた人が正しかった
>>390
俺は最初からそうなるだろうと予想していたよw なんだかんだ言って、やっぱみんなcoffeeが好きなんだな
いいえ。最初からこれは駄目だろうな。
将来性はないなって思っていました。
いつデレたっけ?
最初から最後まで駄目だって言ってるのに。
es2015以降で満足という人が多いような。
tsからIDEの支援でインターフェースの型チェック、
データにjsonスキーマみたいなのでバリデーション
みたいなのが、持ってこれると良いのだけど。
まあオワコンかもね、今やるとしたらes6かTypescriptかな
myFunc = ->
for i in [0..5]
console.log("Hello World!")
console.log("1")
console.log("2")
################ output#################
2
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
1
Atom でちょっと込み入った処理やりたくて CoffeeScript やり始めたんだけど、
-> と => の違いでちょっとはまったわ。
http://news.mynavi.jp/news/2017/03/30/133/
fossBytesに3月28日(米国時間)に掲載された記事「Which Are The Most Loved and Most Hated Programming Languages|2017」が、
Stack Overflow Developer Survey 2017の調査結果を引き合いに出し、開発者に愛されているプログラミング言語と嫌われている
プログラミング言語のトップ25を伝えた。愛されているプログラミング言語1位はRustで、これにSmalltalkとTypescript、Swift、Goが続いている。
嫌われているプログラミング言語トップ25は次のとおり。
嫌われているリストは、開発者が利用中のプログラミング言語について、今後も使い続けたいと思うかどうかの
割合が低いもを上から並べたものとなっている。 Visual Basic 6
VBA
CoffeeScript
VB.NET
Matlab
Objective-C
Assembly
Perl
Lua
Hack
Groovy
Common Lisp
Dart
Erland
PHP
C
Ruby
R
Java
Julia
C++
SQL
Haskell
F#
JavaScript
VB が上位なのは何の驚きもないが、CoffeeScript が混ざってるのは驚きだな。
最初からCoffeeScriptは短い命だって気づいていたよw
CoffeeScriptのライバルがJavaScriptである以上CoffeeScriptに勝ち目はない。
JavaScriptを進化させることは可能だから。
皮肉にもCoffeeScriptで有名になったトランスパイラ技術によって。
技術的にはCoffeeScriptでできることはJavaScript(の拡張)でもできる。
そしてJavaScriptはCoffeeScriptが出来た時点で改良されていくのが分かっていた。
それを先導しているのは、Microsoft、Google、Mozilla、Appleというそうそうたるメンバー。
CoffeeScriptはたった一人が始めた小さいプロジェクトだ。勝ち目はない。
CoffeeScriptの有利な点は小さいプロジェクトであるがゆえのフットワークの軽さ。
話し合う必要がないから、考えたアイデアをすぐに実現できる。
だがアイデアが尽きればフットワークの軽さも意味がなくなる。
そして大プロジェクトの物量で押し切られる。
5年ぐらい最先端でいられたんだから個人としては成功したほうだろう
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
SZ9Q6
vscodeでcoffescriptのオートインデントって出来る?
coffeescriptの役目は終わったから諦めなさい
CoffeeScriptで
2019/02/24 - 2018/09/11
の日数計算するコード教えて