目的一覧
組み込み
家電や事務機器など機械の中に組み込んだマイコンを制御するプログラミング開発の事を組み込み系
と言います。(制御系とも言う)
比較的コード量が多く複雑なソースを扱います。
使用言語としては、C言語、C++、Java、Python、周辺知識としてLinuxやハードの知識が必要。
メモリ容量を意識したプログラミングが要求される為、難易度は高いですね。
昔は地味なイメージがありましたが、最近ではIoT分野の成長により注目を集めています。
今後も需要が期待できる分野です。
Web系
WebサイトやWebアプリの開発などをひとまとめにしてWeb系と言ったりします。
AmazonなどのECサイトで、ログインする仕組み、カートにいれた商品を保持する仕組みなどをイメージすると分かりやすいですね。
大きく分類するとクライアントサイドとサーバーサイドで使用する言語、知識が分かれます。
クライアント側の知識としてHTML、CSS3、Javascript。
サーバ側で使用する言語は、PHP、Ruby、Python、Java、C#。さらにそれぞれの言語のフレームワークの知識、SQLとLinuxの知識も必須です。
PHP、Ruby、Pythonは初心者でも比較的とっつき易く、ここからプログラミングの世界に入っていく人が多いですね。
業務アプリ
企業の顧客管理や売上計算など、社内システムを総称して業務系アプリケーションと呼びます。(略して業務アプリ)
使用言語は、Java、C#、C言語、あたりが多いですね。
こちらもSQLとLinuxの知識は必須、さらに顧客企業の業務を理解している必要があります。
労働環境としては、顧客企業の情報処理部門に常駐して開発・運用する場合。あるいは自社開発、受託など、様々なケースがあります。
スマホアプリ
大きく分類すると、iPhoneアプリ、Androidアプリ、の2つに分かれます。
iPhoneアプリの使用言語は、Objective-c、Swift。
Androidアプリの使用言語は、Java。
スマホ隆盛期はアプリ開発がかなり儲かっていたらしく、多くのベンチャー企業が出てきました。
アイデア次第で大企業にまで成長したケースもあり、夢のある業界でしたが、
最近ではアプリのアイデアも出尽くしてしまい、落ち着いてきた感があります。
こちらもSQLとLinuxは必須。
プログラミング言語一覧
JAVA
目的一覧を見てもらえば分かりますが、Javaでほぼ全ての事ができます。
組み込みも一応できますが、やはりそっち方面はC言語、C++が最適で、JavaはWeb系開発、業務アプリ、Androidアプリの方が向いています。
この言語は万能なので人気があるのですが、完璧に使いこなすには膨大な学習時間を要します。
一つの分野を極めるならば、Javaを選ぶよりもっと簡単な言語を選んだ方が良いという選択肢もあります。初心者はあまり手を出さない方がいいかもしれません。
好き嫌いが分かれますがJavaが好きな人、Androidアプリを作りたい人はJavaが最適な言語だと言えます。
C言語、C++
C言語は機械語に近く、コンパクトで処理速度が早いという特徴があります。
C++はC言語をオブジェクト指向にしたもの。
これらの言語も初心者はあまり手を出さない方がいいですね。CUIの地味で面白味のない勉強に耐えられないまま挫折するのがオチです。
コマンドプロンプトで動作確認する事が楽しと思える方は向いている人と言えるかもしれません。
実務ではコード量が多くてゴチャゴチャしたスパゲッティーコードを読まされる事になるので、覚悟した方がいいです。
C#
JavaライクなC言語といった感じの言語。C言語やC++と互換性はありません。
Webアプリ開発や業務アプリで使われるC#ですが、Visual Studioを使ってデスクトップアプリを作る事もできます。
Webアプリを作りたいなら、後述するPHPの方が案件が多いのでそっちをオススメします。
Javascript、jQuery、Html、CSS3
フロントサイドエンジニアを目指すならこの4つは必須です。
最近ではBootstrap3、FlexBox、Sass、Compass、を使ってサイトデザインする事が多いのでこれも知っておいた方がいいですね。
綺麗なCSSを書くためには、BEMなどのCSS設計を学んでおいた方がいいかもしれません。
PHP
Web系で最も普及している言語、LAMP環境(Linux、Apache、MySQL、PHP、の頭文字)という言葉があるくらい、Web系といえばPHP。
有名サイトだと、Facebook(フェイスブック)やYahoo(ヤフー)がPHPで作られています。
転職サイトのWeb開発案件を見てみると、PHPの求人数が圧倒的に多いですね。
PHPの特徴は、少しの学習時間で比較的簡単に動かす事が出来るので、初心者が学ぶには最適な言語だと言えます。
PHPのフレームワークは数が多すぎてどれをやればいいか分からないという方は、今から始めるのであれば近年急激にユーザ数が伸びているLaravelがオススメです。
WordPressの案件が多いのでこれも勉強しておいた方が良い。
Ruby
RubyはPHPと同様に初心者でも習得し易いプログラミング言語です。
フレームワークはRuby on Rails。
有名なサイトだと、Cookpad(クックパッド)やTwitter(ツイッター)がRuby + Ruby on Railsで作られています。
Python
Pythonは比較的コード量が少なく読みやすい、デバッグしやすいなど、多くのメリットがあるプログラム言語です。
Web系開発から、AI(人工知能)・機械学習などの分野まで幅広くカバーできます。
海外では人気のプログラミング言語ですが、日本でのシェアはあまり多くありません。
ですが、最近のIoT分野の台頭に合わせてPythonのシェアが伸びると予想されます。
Objective-c、Swift
以前まではiPhoneアプリ、Macアプリを開発する言語はObjective-cのみでしたが、
新しくできたSwiftという言語に移行しつつあります。
これから勉強する方はSwiftを覚えていくと良いかと思いまが、過去に作られたアプリのメンテナンス案件もあるので、両方できた方がいいでしょう。
基礎的な知識は共通しています
今回、主要なプログラミング言語のみピックアップしましたが、データベース(MySQL、SQLite)、サーバー(Linux)、バージョン管理(Git)、の知識は共通して必要になります。
世の中には数百種類以上のプログラミング言語があると言われています。
まずは自分が何を作りたいのかを把握する事。
その後に、それを実現させる為に必要な知識を学習していく必要があります。
スポンサーリンク |
|
|
|