■ このスレッドは過去ログ倉庫に格納されています
プログラミング言語 Scala 10冊目
- 1 :デフォルトの名無しさん:2014/01/25(土) 14:54:02.07 .net
- The Scala Programming Language
ttp://www.scala-lang.org/
日本Scalaユーザーズグループ
ttp://jp.scala-users.org/
■前スレ
プログラミング言語 Scala 9杯目
http://toro.2ch.net/test/read.cgi/tech/1364619119/
■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の連載記事、各々で開かれた勉強会の資料などがあります。
- 934 :デフォルトの名無しさん:2015/05/12(火) 19:49:39.59 ID:ZHOslJuR.net
- 3.0は知らんけど、Slickは筋が悪い気がするので使いたくない。
- 935 :デフォルトの名無しさん:2015/05/13(水) 21:19:44.51 ID:Gq38kIX8.net
- >>932
ScalikeJDBCじゃダメなの?
- 936 :デフォルトの名無しさん:2015/05/17(日) 10:15:54.13 ID:MUnfOjBK.net
- Scalaって型安全が目的化しておかしくなってる部分が多いよね
静的型でメタプログラミングは諦めてC#みたいにメタな操作は全部実行時と割り切るのが現実的
- 937 :デフォルトの名無しさん:2015/05/17(日) 18:30:38.56 ID:IG3z4SBY.net
- 型安全が完璧だと自動化が楽になる
それだけでも有用性が大きい
- 938 :デフォルトの名無しさん:2015/05/18(月) 21:43:41.28 ID:Za9DOvVn.net
- >>932
sql直接投げられなかったっけ?
- 939 :デフォルトの名無しさん:2015/05/23(土) 07:50:17.02 ID:SgbjeX2J.net
- DBの1行に対応する型としてcase classを使ってるんだけど、
・DBに保存されていない(IDとタイムスタンプが付与されていない)
・DBに保存されている(IDとタイムスタンプが付与されている)
の区別を型で表現するにはどうするのがスマート?
- 940 :デフォルトの名無しさん:2015/05/23(土) 14:51:25.75 ID:wCdzmxCi.net
- IDとタイムスタンプを持つtraitを使うとか
- 941 :デフォルトの名無しさん:2015/05/24(日) 09:39:32.27 ID:zPEDRqiY.net
- >>939
直和型?
trait Saved {idとか}
sealed trait ModelA
case class SavedModelA() extendds ModelA with Saved
case class UnsavedModelA() extends ModelA
- 942 :940:2015/05/24(日) 09:58:14.00 ID:uVZ1+wHE.net
- >>940-941
確かにtraitを使うのが自然だとは思うんだけど、
それだとcase classのフィールドの宣言が重複するし、
UnsavedModelからSavedModelを作るとき手で全部移さないといけないのが嫌じゃない?
ModelADataみたいな case class でまとめてもいいけど、一つの型にまとめられないなら単に
case class Saved[T](id: Int, data: T)
でいい気がする
- 943 :940:2015/05/24(日) 10:03:02.43 ID:uVZ1+wHE.net
- 補足
>>942の”一つの型にまとめられないなら”というのは
各フィールドの宣言が複数の型に分散してもいいなら、という意味です
- 944 :デフォルトの名無しさん:2015/05/25(月) 13:59:19.70 ID:lm90egiZ.net
- >>939
anorm.Pk は?
- 945 :デフォルトの名無しさん:2015/05/25(月) 16:23:13.15 ID:zn2Fs3VY.net
- anorm.Pk使うくらいならOptionでいいでしょ
わざわざ変な依存性を持ち込む必要はないよ
実際そういう理由でdeprecatedになってるし
- 946 :デフォルトの名無しさん:2015/06/08(月) 18:29:37.98 ID:fPO/HoGA.net
- >>914
お前IQ145もあるの?
- 947 :デフォルトの名無しさん:2015/06/08(月) 21:32:12.46 ID:FQv4Gom7.net
- IQ180以下は書き込み禁止の方向で
- 948 :デフォルトの名無しさん:2015/06/08(月) 21:33:49.99 ID:Wd1nyyc/.net
- ScalaはJavaより速い?
- 949 :デフォルトの名無しさん:2015/06/08(月) 21:42:48.43 ID:FQv4Gom7.net
- プログラマの教育期間まで含めれば、まだJavaの方が速いでしょうね
Scalaは仕様を減らすべきだった
- 950 :デフォルトの名無しさん:2015/06/09(火) 00:40:40.49 ID:gOy2U9+2.net
- 別にscalazとか使わなくてもいいんやで
- 951 :デフォルトの名無しさん:2015/07/10(金) 22:43:51.11 ID:coMDr/sM.net
- 環境はwindowsです
パイプ処理を自動化して行いたいので
scalaのコンパイルと実行をコマンドプロンプト経由でやろうとしてるんですが
やり方がよく分かりません。↓のようなことをsaclaでやるには
どうしたらいいでしょうか?
C# で gcc のようにファイルを指定してビルドする方法
http://yohshiy.blog.fc2.com/blog-entry-208.html
- 952 :952:2015/07/10(金) 22:45:31.09 ID:coMDr/sM.net
- 開発自体はeclipseでやってます
- 953 :デフォルトの名無しさん:2015/07/10(金) 22:54:11.94 ID:mg6PwCme.net
- 今すぐScalaアンインストールしてTypesafe Activatorで出直せ
- 954 :デフォルトの名無しさん:2015/07/10(金) 22:54:36.70 ID:coMDr/sM.net
- >>951-952
ググりしなおしたらscalacの存在を知りました
これでやってみます
- 955 :デフォルトの名無しさん:2015/07/10(金) 23:14:28.90 ID:cV8tXdlJ.net
- つまりどういうこと?
- 956 :デフォルトの名無しさん:2015/07/18(土) 19:41:20.14 ID:A+X8599K.net
- コンパイラーの使い方学ぶより先にIDE使い始めるのって本当に弊害しかないんだな。。。
- 957 :デフォルトの名無しさん:2015/07/20(月) 13:49:43.03 ID:6wDw3Bgn.net
- 今から静的型付な関数型言語勉強するなら
scalaとf#とhaskellならどれおすすめ?
学べる事、出来る事ははほとんど同じなんだろうけど、
それぞれデメリットが気になって選べないんだよなあ。
scala(コンパイル遅すぎ、javaに密着らしい?)
f#(vs覚えなきゃ、この中では情報少なめ)
haskell(io周りに縛り?が多すぎてやりたい事やるまでが大変だった)
ruby使いの趣味グラマーだからいろいろこだわらないで、
手続き型でも書けるscalaでいい…よね?
- 958 :デフォルトの名無しさん:2015/07/20(月) 16:34:55.26 ID:WnNA5LDR.net
- 勉強目的ならHaskell
- 959 :デフォルトの名無しさん:2015/07/20(月) 17:59:30.85 ID:jyLRfwQm.net
- scalaもf#もhaskellも3つともインストールして使ってみればいい
- 960 :デフォルトの名無しさん:2015/07/20(月) 18:12:35.20 ID:o7i58OTB.net
- Javaエコシステム知ってるならScala、.netエコシステム知ってるならF#、Unixエコシステム知ってるならHaskell、どれも馴染みないなら好きに
- 961 :デフォルトの名無しさん:2015/07/20(月) 18:19:04.57 ID:6pYE0LpF.net
- scalaのコンパイルが遅い事に関しては、
GroovyServを使ったscalacで劇的に早くなるって事を
どこかで見たよ
- 962 :デフォルトの名無しさん:2015/07/20(月) 18:22:08.31 ID:klm+d0ji.net
- 言語として一番実用性と関数型らしさのバランスがいいのはF#だね
Haskellは競技プログラミングなど極めて小さい問題領域の問題を最短で解くのには向いてる
ScalaはJava前提で、言語そのものには特に見るべきところはない
- 963 :デフォルトの名無しさん:2015/07/20(月) 18:27:12.45 ID:8QocQRHr.net
- androidアプリ作りたいからJavaを覚えようかと思ってるけど迷ってる
でもGoogleがOracleとの件でJavaを切るんだったらJavaを覚える必要がなくなっちゃう
そうするとどこでJavaを使えばいいのかわからなくなる
WEBサイトとかはPHPとGoがあれば間に合うしJavaが使えるクラウドってあんまりないし
haskellは関数型言語を1つは覚えたいと思ってるので競プロ用で使いたいから覚えてる
- 964 :デフォルトの名無しさん:2015/07/20(月) 19:37:19.02 ID:CQ27gtAR.net
- 競プロ用ならc++が一番じゃね?
プロコンにhaskell向いてるかな プロコンって手続き型の言語が向いている気がする(メモリ使用量と計算量が予想しやすい)
俺が無知なだけか知らないけど
言語としてのjavaはどうでもいいが ともかくjvm言語を一つ以上知っておいたほうがいいと思う
- 965 :デフォルトの名無しさん:2015/07/20(月) 20:06:14.59 ID:0TG+/+/W.net
- どうせ趣味でやるなら普段使ってるのと違うのを使えばいいかと
それを考えるとC系の残る Scala よりはML系のF#かHaskellでいいのでは
- 966 :デフォルトの名無しさん:2015/07/20(月) 20:32:59.78 ID:n95qMHkT.net
- >>965
趣味だから実用性皆無で良いというのは違うと思うなあ。
- 967 :デフォルトの名無しさん:2015/07/20(月) 21:08:06.11 ID:AKjrtHkO.net
- ScalaのメリットはJavaライブラリがそのまま使えることだね
これは何気にデカい
- 968 :デフォルトの名無しさん:2015/07/20(月) 22:00:16.45 ID:R5wOe01Z.net
- もっとメインストリームに躍り出ないのかな。自由度が高すぎるか
- 969 :デフォルトの名無しさん:2015/07/20(月) 22:04:54.55 ID:SaCGDbjT.net
- データ解析など特定分野でなら可能性はあるが、
Sparkはすごく微妙だった
やっぱりJava系言語はスクリプティングに向いてないわ
- 970 :デフォルトの名無しさん:2015/07/20(月) 22:23:07.99 ID:h53zSEfc.net
- 趣味ならRustやってみればいいじゃん
ライブラリがほとんどない&エクスペリメンタルな機能が多いのが致命的だけど速いし良い言語だから将来性がある。
あとScalaがJavaベッタリなんてことはない。Scalaが出てきてから随分経ってるからスタンドアロンなライブラリも結構ある。
- 971 :デフォルトの名無しさん:2015/07/22(水) 07:36:36.59 ID:pzWUtjfr.net
- RustはGoに似た雰囲気で、どちらかというとシステム寄りな言語だから
そういう目的がないのであればちょっと低レベルに感じるかもしれないね
- 972 :デフォルトの名無しさん:2015/07/22(水) 17:47:21.78 ID:U3gJc9Cs.net
- >>971
最近リリースされたscalaのラムダが、Java8のラムダと同じバイトコードになるようになったらしいんだけど、高速化される?
- 973 :デフォルトの名無しさん:2015/07/22(水) 17:47:49.61 ID:U3gJc9Cs.net
- ごめんアンカーミス
- 974 :デフォルトの名無しさん:2015/07/23(木) 14:37:06.19 ID:5z9kTQIC.net
- rustはどちらかというとというより
明らかにシステムよりの言語
goと違ってGCないし(参照カウント方式のポインタはまぁあるけど)
メモリ安全なML風C言語みたいな?
- 975 :デフォルトの名無しさん:2015/07/23(木) 19:18:52.79 ID:2Zk51aV8.net
- >>974
RustにGCがないのは特別な理由があるかららしいよ。
GC自体はgolangにもあるし、システム言語かどうかはGCの有無に関係ない気がする。
- 976 :デフォルトの名無しさん:2015/07/24(金) 08:39:35.16 ID:sUR4TL+C.net
- >>975
GCがないのはrustがc/c++後継狙ってて
osやら組み込みやらも書ける事を狙ってるからじゃないの(ブラウザを書き直してるらしい)
メモリは直接触れるけど安全ですよ(unsafeとか除けば)みたいな
- 977 :デフォルトの名無しさん:2015/07/24(金) 12:49:27.36 ID:hDTLirAT.net
- >>976
いやRustはブラウザを書くためにFirefoxの中の人が作り始めた言語で、GCがないのはブラウザがカクつかないようにするためらしい。
てか現実的に考えて関数型な時点でcやc++みたいなデファクトなシステム言語にはなれないと思うな。
まぁscalaスレだからこれくらいにしとく
- 978 :デフォルトの名無しさん:2015/07/24(金) 16:32:42.17 ID:sUR4TL+C.net
- そうかブラウザが主目的か(´・ω・`)
- 979 :デフォルトの名無しさん:2015/08/01(土) 03:06:18.49 ID:aSYHV23c.net
- =>
↑ってなんて読むの?
- 980 :デフォルトの名無しさん:2015/08/01(土) 16:32:07.75 ID:DY0kRX1l.net
- arrow…かな
- 981 :デフォルトの名無しさん:2015/08/01(土) 16:36:58.19 ID:c0YSrVc+.net
- then
- 982 :デフォルトの名無しさん:2015/08/01(土) 16:38:48.01 ID:RZc3oG0T.net
- 介
- 983 :デフォルトの名無しさん:2015/08/02(日) 01:34:56.57 ID:pPqLz3oQ.net
- double arrow
総レス数 983
226 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★