IT知識ゼロ広報の業界勉強奮闘メモ(仮)①:「Go言語」 | IT知識ゼロ広報の業界勉強奮闘メモ
こんにちは!はじめまして!!!Marvel株式会社 広報の渡邊と申します。いきなりですが、実は私は10月にMarvelに転職したばかりです。前職はエステティシャン✨、、、そう、何を隠そう、私はI...
https://www.wantedly.com/companies/company_2519627/post_articles/548840
皆さんこんにちは!Mavel株式会社の広報 渡邊です🌸
いきなりですが!私は入社間もないころ、Go言語について調べて記事にしたことがあります👀
そう、この実はちまちまとシリーズ化させているIT知識ゼロ広報の業界奮闘メモシリーズの記念すべき第一弾の記事です✨✨
社内からも、いきなりGo言語!?と突っ込まれたのも既に懐かしいです…
それ以降、Pythonについても少し勉強をしましたが、そういえばずっと調べたくて調べてなかったプログラミング言語があるじゃないか!とひらめきました!Javaです!!!💡
恐らくMavelに入社して一番最初に聞いた言葉はJavaなんじゃないかというぐらい、よく聞く言語でしたが、今の今まで勉強を先延ばしにしていたので、今日こそ、Javaってどんな言語なの?という疑問を解消していこうと思います!(あくまで概要がベースですが、、、)
あくまでこの記事は私の勉強メモとなっていますが、どうかお付き合いいただけたらと思います🙌🙌
_______________________________________________
◆Javaとは?
①特徴|メリット
②特徴|デメリット
③Javaでできること
◆Javaの需要・将来性に関すること
①求人数と案件数
②Javaを使用した代表的なサービス
◆まとめ
_______________________________________________
1995年に米国のSun Microsystems社が開発したプログラミング言語。
(現在は吸収合併によりORACLE社が提供している。)
「Write once, Run anywhere(一度プログラムを書けばどこでも実行できる)」というキャッチフレーズの通りで、WindowsやMacなどのOSを問わずプログラムが実行できる言語として、世界で最も多く使われるプログラミング言語であり、Google三大言語の一つでもあります✨✨(Java、C++、Python)
オブジェクト指向の言語であり、中でも大規模システムやAndroidアプリの開発を得意とする言語です。
1.処理速度の速さ
コンパイラ言語という特徴を持つため、処理速度はプログラミング言語の中でもトップクラス。
※コンパイラ言語…コーディングされたソースコードをコンピューターが実行可能な機械語へと一括翻訳した後にプログラムを実行するため、余計な工数や手間を省け、処理速度の高速化の実現がしやすい。
2.技術的に安定している
人気が高く、世界中で使われている言語だからこそ、バグが発生しても修正されやすく安定している。
3.セキュリティが高い
サンドボックスモデルと呼ばれるセキュリティの仕組みが採用されていて、開発当初からセキュリティを考慮した設計となっている。
※サンドボックスモデル…外部からのアクセスが制限された安全な仮想環境であり、セキュリティ対策の一つ。標的型攻撃の検出や未知の不正プログラムに有効であり、プログラムがファイルI/Oやネットワークなどの特定のリソースに直接アクセスすることを拒否できる。(引用|https://boxil.jp/mag/a1671/)
4.ライブラリが豊富
無料で公開されているライブラリが豊富であり、様々な機能を組み込むことが可能であるため、
より効率的に開発することが可能。
5.OSにかかわらず実行できる
「JVM(Java Virtual Machine:Java仮想マシン)」で動いており、このJVMがOSの差分を吸収しているため、基本的にOSや機器に依存せず、さまざまなコンピュータ上で動作することが可能。
6.学習のしやすさ
ライブラリの豊富さ同様に、学習用の書籍やWeb上の情報も初心者用から開発者用まで幅広くある点では学習しやすい言語である。また、Javaの影響を受けて作られた言語も多いため、Javaを習得していると、他のプログラミング言語を習得するときに応用できる。
1.環境構築が大変
インストールするツールが多かったり、利用しいているOSによってインストールするものが異なる点、JVMが実装されていないPCではJavaを動かすことができない点などから、環境構築で手こずる場合も多い。
2.ハードウェアやメモリを直接操作できない
①‐5.にあったJVMは、Javaプログラムから直接ハードウェアやメモリを操作できないというデメリットが生じる。そのため、厳密なメモリ管理や細かなハードウェア制御が要求されるOS開発やゲーム機開発のような分野には不都合が生じる。
3.メモリ消費が比較的大きい
JVMや、ガベージコレクション機能の影響により、Javaで開発したソフトウェアは、他のプログラミング言語と比べてメモリ消費が大きくなることがある。
※ガベージコレクション機能…Javaオブジェクトに対するメモリ領域の割り当てや解放をJVM(Java仮想マシン)が自動的に行う。この自動解放メカニズムを「ガベージコレクション」と呼ぶ。
引用|https://atmarkit.itmedia.co.jp/ait/articles/0502/25/news123.html
JVMによってさまざまなOS上で実行でき、汎用性が高く、おまけに処理速度が速くセキュリティも高いというJavaの人気の理由がわかりました👀💡
一方で、JVMなどがもたらすデメリットにより、特定の開発には向いていないという点も特徴としてあるようですね🤔
ここまででもJavaの人気の高さはかなりお伝えできているかと思いますが、実際に「①求人数と案件数」、「②Javaを使用した代表的なサービス」という観点からも見ていこうと思います!あくまで一例ですので、参考程度に!
■求人数ランキング
レバテックキャリア『2023年12月最新求人情報』では、見事1位を獲得🥇✨
■案件数ランキング
「レバテックフリーランス」のフリーランス向け案件データに基づいたデータ(集計期間:2021年10月~2022年10月)では、圧倒的な案件数の多さで1位に輝いています✨✨
引用|https://freelance.levtech.jp/guide/detail/1507/
需要は高い一方で、古くから人気であり使うことができるJavaエンジニアが多いからこそ、単価は上がりづらいというデメリットも存在します。
X Corp.
■X|旧Twitter(マイクロブログ、ソーシャル・ネットワーキング・サービス)
楽天グループ株式会社
■楽天市場(インターネットショッピングモール)
株式会社リクルート
■リクナビ(求人情報サイト)
■ゼクシィnet(結婚情報サイト)
■SUUMO(不動産情報サービス)
株式会社ビズリーチ
■ビズリーチ(ハイクラス転職サイト)
SmartNews株式会社
■SmartNews(全国のニュースを配信するアプリ)
Evernote Corp.
■Evernote(個人用ドキュメント管理システム)
引用|https://www.appstars.io/column/detail/java-service/
https://java-tokui.com/what-is/service/
_______________________________________________
いかがでしたか?
今回はJavaについての概要と、メリット・デメリットについて勉強していきました💡
入社してからよく耳にしていたJavaは、汎用性の高さやセキュリティ面の高さ、処理速度の速さなどから非常に人気の高いプログラミング言語であり、求人数・案件数ともに多い言語であることがわかりました!👀
あくまで概要部分のみのご紹介ではございますが、普段利用している身近なアプリケーションでも活用されているJavaについて、更なる魅力があればぜひぜひ教えていただきたいです!🌟
最後までご覧いただきありがとうございました😌😌