ヨリミチ

ブログ初心者向け,プルームテック

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

 今からKotlin

Kotlinの公式リファレンスを日本語化してみた[前編] 

 

 IntelliJ IDEAの導入方法

初期設定をすることで、より使いやすくなります。

僕はよく使うショートカットはF2,F5などに置き換えています。

F2でRename,F4でコード整形,F5で実行,F12で参照表示など。

デフォルトのままで無理に使う必要はないんです!

 

Kotlin入門 IntelliJ IDEAで開発環境の構築とHello World - すずろぐ

Keymap for Windows 

 AndroidStudioのショートカット・便利機能・設定などいろいろ

忙しい人のためのIntelliJ IDEAショートカット集(´-`)

 

 

 Kotlinの文法

kotlin-rev-solution.herokuapp.com

30分で覚えるKotlin文法

Kotlinのコーディングが捗る標準ライブラリ

Kotlin - memo

 JavaプログラマがKotlinでつまづきがちなところ

Kotlin 多次元配列の生成方法

Kotlinをはじめよう〜コレクションなど〜 – RE:ENGINES

はじめてのKotlin:データクラス~プロパティ、コンストラクタ、ゲッター不要~

 

ファイル入出力

Kotlinのコーディングが捗る標準ライブラリ

kotlinでテキストファイルの読み込み、書き出し

How to read File in Kotlin - Kotlination

KotlinでAndroidのassets内のテキストファイルを手軽に読み出す

AndroidでCSVファイルを読み込んでリスト表示する

Kotlin で可愛く CSV

Apache Commons CSV(commons-csv)を使って、CSVファイルを読み書きする - くらげになりたい。

Commons CSV – User Guide

  

 Androidアプリ開発

まずは公式

developer.android.comDesign - Material Design

 

 Kotlinから始めたAndroid開発 〜0からの2ヶ月体験記〜 

 初めてのAndroidアプリ開発(Kotlin編)- プログラミングの基本

 

Processing

ProcessingはJavaで作られたグラフィック処理を記述しやすいツールです。

RPGなゲームを作ったり、円グラフを作ったりが手軽にできます。

初めて触ったけど、こんなに簡単に図形を描いたりできるなんてすばらしいと思いました。Unityはまだ使ったことはありませんが、とりあえず、これで色々作ってみようかと思っています。

 

まずは公式

Language Reference (API) \ Processing 3+

 

 IntelliJ IDEAでProcessingを書く

Processing基礎最速入門 - catch.jp-wiki

【Processing3 入門】サンプル集 | アルゴリズム雑記

Kotlin+Processingのススメ

Processing 3.0をJavaから使用する - kitao's blog

GitHub - nickoala/kproc: Processing with Kotlin

Processing テクニック集

Kotlin+Processing+GLSLでマンデルブロ集合の描画

 

Swing

デスクトップアプリを作るためのGUI

[Java] JFrameでウィンドウを作成して表示する方法 - JoyPlotドキュメント

Kotlin Swing tutorial - creating Swing GUI applications in Kotlin

 

その他

中高生のうちに知れると楽だったかもしれないエンジニア的な考え方

エンジニアの為の、アイデア効率化

 

 

プログラミングを学習する上で

  • わからないことはまずは公式サイトを確認してそれでもわからないならググる

 公式はなんといっても情報量が多いです。これだけ網羅しているサイトは他には当然ありません。残念ながら英語だったりしますが、まずはここから見るようにしています。

 

  • サンプルのコードはコピペはせずに、直接文字を打つ

 コピペや流し読みでは頭に全く入りません。直接キーボードで文字を打って書くことで、注意深く観察することができます。そしてよくわからない文字列があればその都度調べます。

 

  •  ググる場合はまず英語のサイトから

 やはり海外の方が情報は多いです。僕は英語は苦手ですが、頑張ってみるようにすることで英単語も覚えられます(笑)

 

  • わからないものはとりあえず横においておき、他のできることをする

 最初から順番通り完璧に理解していくのは無理です。わからないところは飛ばして進むことで、副次的に理解できることもあります。

 

  • できないことはない

 ググっても答えが見つからない。もしかしたらこんなことできないんじゃないかって気になりますが、初心者が思いつくことは大抵、誰かがすでに実現しています。