プログラミング言語 Scala 11冊目 [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2015/08/28(金) 07:25:25.39ID:YozprJV9
The Scala Programming Language
ttp://www.scala-lang.org/

日本Scalaユーザーズグループ
ttp://jp.scala-users.org/

■前スレ
プログラミング言語 Scala 10冊目
http://peace.2ch.net/test/read.cgi/tech/1390629242/

■Scalaの紹介文(さわり)
Scalaは簡潔かつ優雅で型安全な方法でよくあるプログラミングパターンを表現できるように
設計された汎用プログラミング言語です。
Scalaはオブジェクト指向と関数型言語の特徴をスムーズに統合しておりJavaやその他の言語を扱う
プログラマをより生産的にすることができます。(以下略)
ttp://www.scala-lang.org/node/25

■Scalaに関する書籍(英語)
ttp://www.scala-lang.org/node/959
リファレンスマニュアルや草稿のPDFなども充実しているのでそちらも参照してください。
日本語の資料には、チュートリアルの訳やIBM dW、IT Pro, @ITの連載記事、各々で開かれた勉強会の資料などがあります。
2016/07/03(日) 14:19:19.21ID:ZEr6aDFZ
>>436
そうなんだ
でもF#使ってる案件なんて聞いたこともない
使えなきゃ結局ただのオナニーだよね

>>437
APLって初めて聞いた
ひでえ糞言語もあるんだな、サンキュー
2016/07/03(日) 14:22:34.99ID:ILiEBqRk
javaとscalaがクラス(optionalとoption)でkotlinが演算子(エルビス式)だっけ。
エルビス式も深くネストされたオブジェクト中に出てくるとなんか読みにくいんだよね。
慣れてないだけかもしれんけど。
2016/07/03(日) 14:34:47.72ID:ZEr6aDFZ
ここらで一つ最強言語が出てくれんかね

マルチパラダイム(OOP + 関数型)
記法はCベース
型あり
型推論あり
インデント強制
The Zen of Pythonベース

たったこれだけの簡単なことがなんでできないんだ?
Scala作った奴もJava作った奴もPython作った奴も
俺以下の無能なのか?
2016/07/03(日) 14:38:10.30ID:T6bq1Tjn
>>440
Python ってラムダがものすごい書きにくい印象なんだけど
Haskell もインデント強制ではないし、もしかしてインデント強制と関数型は相性が悪い?
2016/07/03(日) 14:47:39.98ID:ZEr6aDFZ
>>441
Pythonのラムダ糞だよね
中途半端なOOPも糞
普通list.lengthなのにlen(list)みたいな書き方できない

Pythonも結局の所糞なんだよ
どいつもこいつも糞だらけでイラつく
2016/07/03(日) 18:39:07.18ID:XXPwjW7o
>>442
その程度の知識で糞呼ばわりしている君も糞
2016/07/03(日) 19:14:48.98ID:ZEr6aDFZ
>>443
糞なもんは知識量に関係なく糞なんだよ、屑が
おまえもPHPみたいになりたいのか?
2016/07/03(日) 19:38:26.35ID:XXPwjW7o
>>444
落ち着け
意味不明だぞ
2016/07/03(日) 23:15:17.31ID:ZEr6aDFZ
>>445
俺はいつでも冷静だよ
君みたいに無意味なレスしてくる糞に対しては別だけどね
2016/07/05(火) 15:17:43.51ID:P+pVcrz7
お前もPHPにしてやろうか
2016/07/05(火) 20:09:37.71ID:a9hkGJry
頭の弱い子いじゃっちゃ駄目
2016/07/05(火) 22:49:22.90ID:jRJDfSwk
>>447
こわい、こわすぎる
2016/07/06(水) 10:32:39.91ID:gihp0uzt
msでもこんなのやってるぐらいだから、
https://azure.microsoft.com/ja-jp/documentation/articles/service-fabric-reliable-actors-introduction/

akkaでサービス周りでもいじってみては。
http://www.lightbend.com/activator/template/akka-http-microservice
https://tech.iheart.com/why-we-picked-akka-cluster-as-our-microservice-framework-bbf3019a3217
2016/07/06(水) 23:42:52.29ID:mxUXCuWS
MSってこういう新しいプログラミングモデル広めるの上手いよな
理論と実用性のバランス感覚が絶妙
2016/07/06(水) 23:52:34.70ID:qGJVKz7K
 三  ギ  そ  三            ,ィ/イ,r'" .i!li,il i、ミ',:;;;;
 三.  ャ  れ  三    ,. -‐==- 、, /!li/'/   l'' l', ',ヾ,ヽ;
 三  グ  は  三  ,,__-=ニ三三ニヾヽl!/,_ ,_i 、,,.ィ'=-、_ヾヾ
 三  で       三,. ‐ニ三=,==‐ ''' `‐゛j,ェツ''''ー=5r‐ォ、, ヽ
 三.   言  ひ  三  .,,__/      . ,' ン′    ̄
 三   っ  ょ  三   /           i l,
 三.  て   っ  三  ノ ..::.:... ,_  i    !  `´'      J
 三   る  と  三  iェァメ`'7rェ、,ー'    i }エ=、
  三   の   し  三 ノ "'    ̄     ! '';;;;;;;
  三   か  て  三. iヽ,_ン     J   l
  三  !?    三  !し=、 ヽ         i         ,.
2016/07/06(水) 23:58:36.82ID:+HpR73sf
・オブジェクト指向+関数型
・遅延ストリームと言語内DSLによるコレクション操作
・リアクティブプログラミング
プログラミングモデルについてはMSの影響力は実際大きいよ
尖ったものを大衆化する設計のセンスは評価されていい
2016/07/07(木) 00:00:56.51ID:hNsvcGxY
いぅーておめーF#の案件なんか聞いたことねーぞ
2016/07/08(金) 14:58:55.41ID:boUdIPMC
Scala と Java が共に jvm 上で動くように、C# と F# は cli ( .NET ) 上で動く兄弟言語で、
.NET 案件なら F# を使っている人もいそうだが 実体は闇

>>440 は C ベース記法を除けば F# が当てはまるな
The Zen of Python の解釈次第だが
2016/07/08(金) 20:34:15.16ID:k8qiMefn
ウェーイな連中ばかりのScalaと違って、
F#は金融系とかのお硬いシステムの込み入ったロジックを見通しよく記述するための言語だからな
あまり表に出てくるようなものではない
2016/07/08(金) 20:48:13.25ID:esdiiBum
インデント強制はいらないかな
2016/07/09(土) 00:07:39.61ID:2HQAmygx
>>440
じゃあ、自分で作ればいいじゃない。
>>440は俺以下の無能かな?
2016/07/09(土) 10:02:34.87ID:fotlBSyc
Scalaってノイズが多くて見通し悪い割には大事なところ省略してて理不尽なエラーが多いんだよな
JVMで動くML系言語の決定版があればScalaなんか完全に用済みなんだけど
2016/07/09(土) 10:41:12.43ID:70tfGxUK
>>459
具体的にどういう理不尽なエラーが起きたの?
461名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2016/07/10(日) 19:19:55.81ID:htqwtIVV
そもそも省略ってなんだろ
暗黙の引数とか?
起こるのはコンパイルエラーだけど
2016/07/10(日) 20:07:15.04ID:vClNR34Z
トランスレータ系がトラブった時に不親切なのは必然
2016/07/13(水) 13:00:21.79ID:C7S+nyqs
インテッリジェーイデアの設定よくわからンゴ・・・
2016/07/14(木) 02:12:52.72ID:XeOsjsau
巣に帰って教えてもらいなさい
2016/07/15(金) 02:05:46.31ID:Koaa2yGE
akkaとfinagleどっちがタイプ?
2016/07/15(金) 07:37:39.62ID:sS/v2c9e
akkaちゃんかな
2016/07/22(金) 01:04:04.85ID:FwAbLbLj
総合的に考えて、やっぱScalaが最強言語ですよね?
2016/07/22(金) 01:15:18.93ID:JPruashr
カレーライスとラーメンと焼き肉を混合したら最強の料理だろうか?ということだな
2016/07/22(金) 01:31:51.67ID:FwAbLbLj
最強言語Scala
SPEED DEMON の C
Webならしょうがないからhtml/css/typescript
科学計算ならしょうがないからpython

以上。
他の言語全部要らんでしょ
なんか異論ある?
2016/07/22(金) 23:27:26.52ID:vT54bahR
ゲームは?組み込みは?
後お前がいらないって言われたがってる?
2016/07/26(火) 13:23:58.92ID:HpNSLC50
アスペルガー専用言語Scala
472デフォルトの名無しさん
垢版 |
2016/08/03(水) 21:01:40.97ID:R60S+MMN
2016年6月プログラミング言語ランキング
ttp://redmonk.com/sogrady/2016/07/20/language-rankings-6-16/
2016/08/03(水) 22:38:38.56ID:MksUbGAm
ペチパーまじで死ねよ
474デフォルトの名無しさん
垢版 |
2016/08/11(木) 01:27:02.21ID:8PcWlI1C
Scalaスケーラブルプログラミングの第3版でるみたい。
2016/08/11(木) 13:05:55.92ID:A0visMXY
>>474
ををぉいいですね。
2.12対応かなぁ
2016/08/11(木) 18:56:38.94ID:fWtdHshT
http://www.artima.com/shop/programming_in_scala_3ed
2.12ベースだね。
2016/08/12(金) 22:55:12.82ID:6MA5LqXO
和訳はよ
英語は読めンゴ
2016/08/13(土) 10:50:26.09ID:ElZ+6tgG
https://www.amazon.co.jp/gp/aw/d/4844381490/
9/20予定だそうだ
2016/08/13(土) 11:39:48.95ID:4qr6AZVG
いい加減電子書籍化しろや
重いんじゃボケ
2016/08/14(日) 11:50:49.17ID:8jqCcBeq
技術書ってえらく高いから僕みたいな低所得者は何冊も買えないんですよ
火を灯すべき爪ももうないです
2016/08/21(日) 01:21:05.20ID:j6B6Cd/k
Frege!Frege!
2016/08/21(日) 18:20:42.07ID:s9hu1dfL
図書館に入れてもらったら。
ただ、版が変わったからってあんまり入れてもらえないかも。

学生ならACMの学生会員になると、おそらく年間$19で
Safari, Books24x7で扱ってる英語書籍の一部が講読できるような気がする。
http://www.acm.org/membership/student/

カタログ
http://learning.acm.org/books/ebooks_catalog.cfm
オライリーのsafariで9月に入れ替わる予定のやつ
http://learning.acm.org/safariswap.cfm
2016/09/08(木) 00:20:33.37ID:DQ9TtYdj
南蛮毛唐の言葉なんてわかるわけないだろ・・・・・・・・・・
2016/09/08(木) 01:49:27.81ID:vx58Uxa1
こういうこと言う奴って
普段どうやって変数などの名づけしてるの?
2016/09/08(木) 02:40:36.27ID:O9Q2b1T3
google先生やweblio先生に単語を英訳してもらってる
2016/09/08(木) 07:36:44.09ID:DQ9TtYdj
クラス名や関数名や変数名は、全て連番で付ける
Excelに名前対応表を作って、それで管理する
面倒な翻訳も意味の通じない南蛮毛唐の言葉も必要ない、最も効率的な方法よ
2016/09/08(木) 09:20:54.68ID:vx58Uxa1
(つд⊂)ゴシゴシ→(;゚ Д゚) …!?
2016/09/08(木) 09:25:28.07ID:q+L7mUb+
変数やメソッドに日本語使えるだろ
2016/09/08(木) 22:07:35.46ID:DQ9TtYdj
>>488
それだと補完が効かないし
機能変更があった場合に名前の修正まで必要になる
本質的でないdiffはコミットしてはいけない
こんな常識も知らないのか?
2016/09/08(木) 22:21:32.55ID:X2CKIGTP
釣りにしては針がでかすぎて面白くないし、本気だとしたら病院直行レベルだし
2016/09/08(木) 23:52:07.32ID:2gFs3OWY
これコピペに丁度いいな
2016/09/09(金) 00:14:14.74ID:YLYNtIU0
staticおじさんと同じ感じがする
40代以上なのは確定
2016/09/09(金) 00:24:48.34ID:k/s80EQ+
static以外使うな、ラムダ使うな、変数名はエクセルで管理←new
2016/09/09(金) 00:25:08.27ID:k/s80EQ+
このスレIT速報の管理人いる?
2016/09/09(金) 05:13:47.70ID:EXJ63xav
変数名を連番でつけられるのは勘弁ですな
ネタであることを願いたい
2016/09/09(金) 08:51:16.73ID:On0Lg/Mj
>>486>>483に対する皮肉かと思ったら同一人物かよ…
そもそも機能に変更があったら変数名変えるだろ
それで頻繁に変数名の変更が入って困るようなら機能分割に失敗してる
2016/09/09(金) 21:02:04.05ID:k/s80EQ+
補助コンストラクタでval変数の初期化は出来ないのでしょうか?

Hoge(int i){
/*
処理
*/

//定数初期化
}

Hoge(int i,int j){
/*
処理
/*

//定数初期化
}

のような事をしたい場合どうすればいいですか
2016/09/09(金) 21:51:07.55ID:m6wVh0rp
>>497
もちょっと具体的に書いてくれないと何がしたいのか不明
2016/09/09(金) 22:11:36.07ID:k/s80EQ+
>>498
javaのソースで言うと

private final Foo foo;
private final Bar bar;
public Hoge(Foo foo,Bar bar){
  this.foo=foo;
  this.bar=bar;
}

public Hoge(){
  LocalDate date=LocalDate.now();
  this.foo=new Foo(date);
  this.bar=new Bar(date);
}

のような事をしたいです
2016/09/10(土) 01:07:15.93ID:+QFLkWhC
ScalaとPHPだったら、やっぱりPHPだよね?
2016/09/10(土) 02:21:31.44ID:+iWBBdqo
>>500
全然適用範囲が違うので、ケースバイケースだと思う
2016/09/10(土) 04:33:08.69ID:i/18gAHO
>>500
言語としての適用範囲が違うから、比べるのは難しいと思うよ
2016/09/10(土) 08:12:22.28ID:+QFLkWhC
PHPにすら劣る言語なのか・・・
2016/09/10(土) 09:21:55.27ID:dd89IFLr
いくら過疎ってるからってそんな馬鹿を装ってまで盛り上げようとしなくていいんだよ
2016/09/10(土) 09:59:00.71ID:+iWBBdqo
>>499
こんな感じかなぁ…

class Hoge(f: Option[Foo] = None, b: Option[Bar] = None) {
 val date = LocalDate.now
 val foo = f getOrElse { new Foo(date) }
 val bar = b getOrElse { new Bar(date) }
}
2016/09/10(土) 10:05:25.97ID:32Nzsdc+
>>505
すみません
一つ大事な事忘れていました
上のコンストラクタはpkg privateです


private final Foo foo;
private final Bar bar;
Hoge(Foo foo,Bar bar){
  this.foo=foo;
  this.bar=bar;
}

public Hoge(){
  LocalDate date=LocalDate.now();
  this.foo=new Foo(date);
  this.bar=new Bar(date);
}
2016/09/10(土) 11:54:39.57ID:+iWBBdqo
>>506
それぐらいなら private[pkg] でもつけておけばいいんじゃね?
2016/09/10(土) 20:42:11.50ID:IwLF9FUl
不変クラスのsetterも、
prop_=
と言う名前で付けるのが普通ですか?
それともsetPropですか?

val newObj=oldObj.prop=value;
と書くのと
val newObj=oldObj.setProp(value);
ではどっちが一般的ですか?
2016/09/10(土) 21:07:49.23ID:+iWBBdqo
>>508
setXXX は Scala ではほぼ使われない
2016/09/10(土) 22:36:18.85ID:IwLF9FUl
>>509
それなら後者でいい感じ?
2016/09/10(土) 22:51:07.58ID:+iWBBdqo
>>510
あぁ、immutable クラスね
それなら copy メソッドを使うのが一般的かな
2016/09/10(土) 23:30:31.85ID:IwLF9FUl
>>511
内部ではコピーメソッド使うけど、メソッド名はどうするべきかを知りたい
2016/09/10(土) 23:37:24.72ID:IwLF9FUl
コピーメソッドってpublicだったんですね
デフォルトコンストラクタがprivateなのでコピーメソッドもprivateにしたいのですが、出来ますか?
2016/09/10(土) 23:50:46.37ID:+iWBBdqo
>>512
まんま copy

>>513
その辺は Scala のマニュアルを読もう
2016/09/11(日) 00:26:03.01ID:Lrl31M9v
>>514
copyメソッドを用意すればいいんですね

copyをprivateにする方法はよく分かりませんが、privateコンストラタに関することでこんなツイートを見つけました
https://twitter.com/nisshieeorg/status/193709695373025280
しかし、Hoge.applyはpublicになっています
コンパイラの仕様が変わったのでしょうか
2016/09/11(日) 00:51:06.46ID:coBCx3VX
>>515
なんかやりたいことが散漫になってるみたいだから、ひとつずつ片付けて行こうな
いっぺんに全部を解決しようとしても虻蜂取らずになるだけだよ
2016/09/11(日) 09:04:42.15ID:Lrl31M9v
>>516
はい

今やりたい事をまとめると、
・case classのデフォルトコンストラクタに対応するapplyメソッドをprivateにしたい
・case classのcopyメソッドをprivateにしたい
です
2016/09/11(日) 19:17:20.49ID:coBCx3VX
>>517
case class は普通の class にメソッドを追加しただけのものだから、case class で追加されるメソッドが
気に入らないなら自前で普通の class を書けばいい
2016/09/11(日) 19:24:41.26ID:Lrl31M9v
>>518
大変そう
呼び出さないように気を付ければ何とかなるか
OOP的には駄目だろうけど
2016/09/11(日) 22:21:21.09ID:coBCx3VX
>>519
その程度でやめられる程度の >>517 条件なら、小難しいこと考えずに >>517 なんてなかったことにすればいい
2016/09/11(日) 22:35:39.81ID:OA9SPKwK
>>519
圧倒的高生産性を誇るPHPを使えば、それは解決しますよ
2016/09/13(火) 21:29:56.73ID:8OhH+gzD
json4sダウンロードしたんですがjarがありません
どうやって使うんですか?
2016/09/13(火) 21:57:59.87ID:vmd9DBx1
>>522
大人しくsbt使え
2016/09/13(火) 22:19:56.74ID:8OhH+gzD
>>523
とりあえずインスコしてみるわ
2016/09/13(火) 22:52:06.43ID:v0MF2Bl+
sbtって何て読むの?
サバト?
酢豚?
シビツ?
2016/09/13(火) 23:33:49.46ID:8OhH+gzD
使い方分からね
大量のフォルダ全部パスに追加しないといけない?
2016/09/13(火) 23:45:18.89ID:v0MF2Bl+
スカラビルドツールやぞ
2016/09/13(火) 23:50:25.56ID:8OhH+gzD
eclipseにjar追加したいだけなのに何でこんな複雑になっているんだ
2016/09/14(水) 00:07:11.96ID:2rYDqZX6
むしろスービツがないともっと複雑になるんよなぁ
2016/09/14(水) 00:21:56.87ID:5MgbrOE1
ダウンロードすらできないから別のライブラリ探すか
2016/09/14(水) 00:39:45.46ID:5MgbrOE1
他によさそうなライブラリねーし
現存のエクリプスプロジェクトにjson4s追加する方法どこにものってねー
2016/09/14(水) 01:13:54.96ID:2rYDqZX6
IDEAを買うのです
533デフォルトの名無しさん
垢版 |
2016/09/14(水) 01:22:50.79ID:5MgbrOE1
あー眠い
JSONライブラリってどうやって作るん?
2016/09/14(水) 01:33:57.02ID:2rYDqZX6
まずパンツを脱ぎます
2016/09/14(水) 07:50:42.52ID:qpVVtwZG
sbtそんなに難しいかな
よく分からなくても使えるツールのような気がするけど
mavenとかgradleとか触ってこなかった人だと分かりにくいか?
2016/09/14(水) 07:59:32.08ID:qpVVtwZG
jsonが何か分かってれば自分で作るのも簡単だと思うけど
汎用的なライブラリを作るなら大変だけどさ
まあ、車輪の再発明なんてオススメはしないけど

つーか今ググったら普通にjson4sのjar転がってるじゃないか
2016/09/14(水) 08:02:09.23ID:2rYDqZX6
マベンの方がずっと難解
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況