Javaっつーもの
年明け一発目は、Javaについて。
プログラムが動作する環境には、ネイティブってのと仮想マシーンってのがある。
ネイティブってのは、OSが提供するAPIをそのまま使うやつ。
仮想マシーンってのは、OSとプログラミング言語の間に1つ層を作ってそこでメモリの管理だとかなんだとかをやらせるやつ。
Javaは仮想マシーンってのを使う。
ネイティブじゃダメなのかっていう話もあるんだけど、そこはJavaの歴史をWikipediaで見てみて欲しい。
ちなみに、ネイティブJavaというキーワードもあるんだけど、これはまた別の意味の「ネイティブ」なので、混同しないようにしてね。
Javaは高級プログラミング言語の競争時代に生まれたプログラミング言語で、リリース当初数年間は見向きもされなかった。
その理由が、実行速度の遅さと実行環境の容量のデカさ。
Javaってだけで要求されるスペックが高かったのだ。
しかも、一般的に普及していたパソコンで実行してもめちゃくちゃ遅い。
もっさりって言葉の方がまだ速く感じるくらいだ。
でも、改善されていく段階で Webページ 周りで能力を発揮し、GUIプログラミングの先駆者的な位置づけで頑張ってきた。
そうしているうちに、実行速度が格段に速くなってきて、現在ではスマホなんかにも使われている。
Androidスマホの基本アプリは圧倒的にこのJavaを使って作られている。
ゲームなんかだと Javascript が使われてたりするけど、ツール類はJavaが多い印象。(統計とったわけじゃないけどね)
僕が初めてJavaに触れたのは 2000 年頃だから、もう20年以上使っているわけだ。(長!
Javaの学習教材
昔は書籍だったね。
でも、今はインターネットの時代。
主にGoogle先生に頼っている。
良く見るサイトを下記にご紹介しよう。
よく見るサイト
- Googleで検索して見つかったサイト
- Android Studioのサイト
- Javaのコミュニティサイト
Googleで検索して見つかったサイト
これは一般的にやる手法だと思う。
無料で情報が手に入るし、気軽に着手できる。
全部が全部信頼できる情報ではないので、自分で取捨選択する必要がある。
基礎知識向けサイトとして検索上位に表示されたものをいくつか紹介しておこう。
https://www.internetacademy.jp/it/programming/java/basic-glossary-of-java.html
https://www.javadrive.jp/start/const/
https://blog.codecamp.jp/entrance-into-java
これらはお勉強モードの時に役立つかもしれない。
ただ・・・実践で役立つかは保証できない。
日本語の文法を学習しただけでは案外社会で役に立たないってのと一緒。
Android Studioのサイト
Androidスマホアプリを作る時には絶対と言って良いほどお世話になるサイト。
実践的なAndroid Studioの使い方とコーディングの仕方を教えてくれる。
しかも、サンプルまで付いてる。
もちろん、無料だ。
ただ、作りたいものややりたいことが決まっていないと読み解くのが難しい。
辞典みたいなものだね。
https://developer.android.com/?hl=ja
Javaのコミュニティサイト
世界中のJavaエンジニアが集う場所。
ただ、英語で会話するのは厳しいので、ここでは日本語サイトをご紹介。
https://www.oracle.com/jp/java/technologies/javase/community.html
さいごに・・・
たいていのものはここで紹介したサイトで作れてしまう。
ただ、テクニカルなモノだったりアナログ技術を要するものについては基礎技術の学習が必要となる。
プログラミングだけでは解決しないことがたくさんあるのさ。
ということで、今回はおしまい。
コメント