kotlinではじめるプログラミング入門
急にプログラミングをやりたくなった。
Androidアプリが作りたいので、Javaでも勉強しようかと思っていたら、kotlinなるものを見つけたのでやってみることにした。
最近はブログそっちのけでずっとkotlinしてました(笑)。
なぜkotlin?
AndroidアプリはJavaで作るのですが、kotlinはJavaよりも記述が簡単なのです。
それでいて、Javaと完全互換なのでそれまでの資産が無駄にならない。
ただ、kotlinはJavaを習得しているのが前提なので、はじめてのプログラミングをkotlinにするのは厳しい。素直にJavaからやったほうがいいかもしれない。
しかしながら、最近は多くの解説サイトがあるので、なんとかなるかも。
kotlinの書籍はいくつかあるけれど、基本Java習得前提で書かれているので、僕は買っていません。
もしプログラミングがはじめてで初歩の初歩が知りたい場合は、JavaでもC#でも言語はなんでもいいですが、オブジェクト指向の言語で超初心者向けの一番やさしい書籍がいいと思います。それをクリアすれば、あとはググるだけでなんとかなると思います。
僕はJava未経験ですが、C#は少ししたことがありますので、kotlinの解説サイトだけでなんとかなっています。
コードエディタはどれにする?
まず、プログラミングをするために、文字が書けるアプリが必要になります。
標準でついているメモ帳でもできますが、どうせなら高機能なものを使いたい。
Androidアプリを作るんだからAndroid Studioなのかもしれないけれど、kotlinの文法を学んでいくには、Android Studioでは重過ぎ効率悪過ぎでした。
実行結果を見るのに毎回、スマホエミュレータを起動して、アプリ起動して、なんてするのは大変。さらに言語とは別にGUI関連のことも同時に学ばなければならない。
またエラーが出た場合にGUIに問題があるのか、コードに問題があるのか、バグなのかの問題の切り分けも大変になります。
ということで、素直にIDEはIntelliJ IDEAを使うことにした。 これもAndroid Studioを作ったJetBrainsなので操作感は同じだし、これでAndroidアプリもWEBアプリもデスクトップアプリも作れるので文句なしですね。
kotlin参考サイト
まだkotlinをはじめて1週間程度ですが、僕が参考にしたサイト様を紹介いたします。
まずは公式サイト
なんでもそうですけど、まずは公式から
Reference - Kotlin Programming Language
IntelliJ IDEAの導入方法
初期設定をすることで、より使いやすくなります。
僕はよく使うショートカットはF2,F5などに置き換えています。
F2でRename,F4でコード整形,F5で実行,F12で参照表示など。
デフォルトのままで無理に使う必要はないんです!
Kotlin入門 IntelliJ IDEAで開発環境の構築とHello World - すずろぐ
AndroidStudioのショートカット・便利機能・設定などいろいろ
忙しい人のためのIntelliJ IDEAショートカット集(´-`)
Kotlinの文法
kotlin-rev-solution.herokuapp.com
Kotlinをはじめよう〜コレクションなど〜 – RE:ENGINES
はじめてのKotlin:データクラス~プロパティ、コンストラクタ、ゲッター不要~
ファイル入出力
How to read File in Kotlin - Kotlination
KotlinでAndroidのassets内のテキストファイルを手軽に読み出す
Apache Commons CSV(commons-csv)を使って、CSVファイルを読み書きする - くらげになりたい。
Androidアプリ開発
まずは公式
developer.android.comDesign - Material Design
Kotlinから始めたAndroid開発 〜0からの2ヶ月体験記〜
初めてのAndroidアプリ開発(Kotlin編)- プログラミングの基本
Processing
ProcessingはJavaで作られたグラフィック処理を記述しやすいツールです。
RPGなゲームを作ったり、円グラフを作ったりが手軽にできます。
初めて触ったけど、こんなに簡単に図形を描いたりできるなんてすばらしいと思いました。Unityはまだ使ったことはありませんが、とりあえず、これで色々作ってみようかと思っています。
まずは公式
Language Reference (API) \ Processing 3+
Processing基礎最速入門 - catch.jp-wiki
【Processing3 入門】サンプル集 | アルゴリズム雑記
Processing 3.0をJavaから使用する - kitao's blog
GitHub - nickoala/kproc: Processing with Kotlin
Kotlin+Processing+GLSLでマンデルブロ集合の描画
Swing
デスクトップアプリを作るためのGUI
[Java] JFrameでウィンドウを作成して表示する方法 - JoyPlotドキュメント
Kotlin Swing tutorial - creating Swing GUI applications in Kotlin
その他
中高生のうちに知れると楽だったかもしれないエンジニア的な考え方
プログラミングを学習する上で
- わからないことはまずは公式サイトを確認してそれでもわからないならググる
公式はなんといっても情報量が多いです。これだけ網羅しているサイトは他には当然ありません。残念ながら英語だったりしますが、まずはここから見るようにしています。
- サンプルのコードはコピペはせずに、直接文字を打つ
コピペや流し読みでは頭に全く入りません。直接キーボードで文字を打って書くことで、注意深く観察することができます。そしてよくわからない文字列があればその都度調べます。
- ググる場合はまず英語のサイトから
やはり海外の方が情報は多いです。僕は英語は苦手ですが、頑張ってみるようにすることで英単語も覚えられます(笑)
- わからないものはとりあえず横においておき、他のできることをする
最初から順番通り完璧に理解していくのは無理です。わからないところは飛ばして進むことで、副次的に理解できることもあります。
- できないことはない
ググっても答えが見つからない。もしかしたらこんなことできないんじゃないかって気になりますが、初心者が思いつくことは大抵、誰かがすでに実現しています。