ScalaならNetBeansがサイコー

NetBeansのScalaプラグイン最高。NB 6.5 beta、Windows XPで試しました。

これまでscalaコードを書くときはScala Plugin for Eclipse使っていましたが、インデントが崩れるのと色づけくらいしかやってくれないので、さほどメリットはありません。

今日試してみたらNetBeansプラグインの方がダントツにいいです。
このページの「1.Get Started with NetBeans 6.5 beta+」で試してみました。コード補完がばっちりで、コードインデントもきれい。



(隠れてますけど、object Main0 extends Main1 です。)


上の画像をみるとわかると思いますが、
■コード記述時に既に型推論してくれている。
■記述したJavaDocもリアルタイムで表示されている。
■Java API/Scala APIともに完璧にサジェストしてくれる。

これスゴくない?
NetBeans使うとScalaの学習効率よくなると思いますよ。

今日のところ残念ながら、
■NetBeans6.5 beta + scala pluginの組み合わせが、Windows Vistaでは動作しない(既知でdev版では修正済みとのこと)。
■NetBeans NightlyBuildでは、pluginのインストールが依存関係が解決しなくて(僕には探せなくて)成功しない。
という点は確認しました。6.5の正式リリースが待ち遠しい感じ。


今日はscala勉強会@東北第二回ありました。

一番学んだことは、scalacでコンパイルしたclassをjavapにかけてみるとscalaコンパイラがどういう変換を掛けているのかわかりやすい。特にJavaからScalaを呼びたいときには有効な解析方法。

以下、おさらいコード

 //コードブロックをスレッドに渡す
 //引数に型を指定しないと遅延評価にできる

 //scala.concurrent.ops#spawn
 def spawn(p: => Unit) = {
  val t = new Thread() { override def run() = p }
  t.start()
 }

 def spawnWatchDog(): Unit = spawn {
  while (true) {
   Thread.sleep(10000)
   println("xxxxx")
  }
 }

 //try-cacheも式
 val serverSocket = try {
  new ServerSocket(port)
 } catch {
  case e: IOException => fatal("")
 }

 //ここからは消化不良。後で勉強。

 //scala.Console#withOut
 val outVar
  = new DynamicVariable[PrintStream](java.lang.System.out)

 def withOut[T](out: PrintStream)(thunk: =>T): T =
  outVar.withValue(out)(thunk)

 scala.Console.withOut(bufout) {
  someFunc()
 }

 //コンパイラの中身
 //scala.tools.nsc.CompilerCommand#processArguments
 //scala.tools.nsc.Settings
 //scala.tools.nsc.reporters.ConsoleReporter
 //scala.tools.nsc.util.Position
 //を辿って勉強すると良い


同じカテゴリのエントリ
1.Lift再入門 / 8.javascriptからsubmitできない / 7.Ajax Form / 6.Radio、Checkboxについて / 5.行列型の編集FORM / 4.サーバーサイドバリデーションとサーバサイド関数 / 3.ログインFORM - S.param使ったら負け / 2.Snippetメソッドとして許される型 / sbt0.12.xで依存jar抽出タスク / scala2.10+lift2.5+NetBeans7.2 / Scalaで入門関数プログラミング / reactive-webを試してみました / Lift2.2M1のテンプレート機能 / Scala Compiler Plugin / View Bound/Context Bound / ScalaZa01参加してきました / Akka Frameworkチュートリアルの次 / Akka Frameworkチュートリアルその2 / Akka Frameworkチュートリアル / LiftでJCaptcha / Url Rewrite Filter / sbt-android-plugin / Android SDK for Scala / 祝Lift2.0リリース / Liftの携帯対応まとめ / Scala2.8への移行 / Lift 2.0-scala280-SNAPSHOT/sbt0.7.1 / Scalaお絵かき環境 - Kojo / Lift+Quartzでバッチ / Scala&Liftを採用した理由 / Liftでdate_select系ヘルパーを作る / LiftでAjax / LiftのSubmitかしこい / lift-mapperのpaginateを使う / snippetをspecする / Lift Mapperを拡張する / LiftのDBをMySQLに / Liftプロジェクト環境を整える / Scala本読み比べてみました / NetBeans6.7&scala / じつはScalaはライトな言語 / Scalaバザ~ル / lift1.0所感 / specsを読む / implicit def / ScalaならNetBeansがサイコー / scala勉強会@東北がスタート / それでも俺はLiftをやるってのか / Scala&Liftセットアップ / ブログリニューアル /
コメント

コメントしてください

closed.