LoginSignup
2
4

More than 3 years have passed since last update.

社会人がサブスキルとしてプログラミングを学ぶならpython一択の理由

Last updated at Posted at 2021-01-19

はじめに

私は、プログラミングで生計を立てようとは思っていません。
電気系とはあまり関係の無い仕事に就いています。
ある程度、本職のスキルを極めたら サブスキルを学ぶ事で
より幅を持たせることができるのではないだろうか?

そう考えると プログラミングは サブスキルとしても
とても有用な技能の一つとです。
なぜなら、現代においては ほとんどの仕事でコンピュータと
縁があるからです。

 しかし、プログラミングを始めると言っても プログラミング言語は
たくさんあります。それぞれ文法も単語もバラバラなので どの言語を
習得するか非常に迷います。
特に社会人には時間がありません。

私はpythonを選びました。
同じような悩みを持つ人の参考になればいいなと思って 記事にしました。

※ 一部、知識が浅く間違った表現があるかもしれません。
私の主観に基づいた判断・感想で書きました。
「違う!」という方がおられましたら、ご容赦ください。

前提となる条件

 社会人がサブスキルとして 趣味と実益を兼ねて学ぶので、
以下の条件を定義した。会社でも家でも使えるって条件です。

一般的に会社に普及しているWindowsのアプリが作成できる。
出来れば、MACでも動く事もできる。
ipad/iphoneやandroidでも 動く。
Linuxは、趣味や専門的な部署でなければあまり無さそうなので対象外。
(個人的には趣味でいじってみたいけど。。。)

office製品の操作やRPA的な事もできる。
gameも簡単なものなら作れる。

と、考えました。

いろいろなプログラミング言語の長所・短所

python
良い点:今流行っている。(流行っているという事は皆がいろいろな記事を出してくれるという事)
    可読性が高く、学習コストが低い。
    ライブラリが豊富で、エクセルや他のソフトとも親和性が高い。
    Windows・MAC・ipad/iphone・androidのどれでも動く。
    商業利用でも無料。
 悪い点:動作が遅い傾向がある。

VisialBasic
良い点:Excel等と親和性が高い。
    Excelに付随しているので、インストールとか不要。すぐに始められる。
    学習コストが低め。
    本や記事が豊富。
    商業利用でも無料。
 悪い点:動作が遅い傾向がある。
     Excel等office製品以外との連携が苦手。

C言語
 良い点:何でもできる。
 悪い点:学習コストが極めて高い。
     開発ツールが有料。 (VSC等無料ツールが使えるようです。)
     基本的にどのOSでも動くが、os毎にプログラムを変える必要がある。

Swift
 良い点:新しい言語なので、機能が豊富。
     学習コストはそこそこ高い。
 悪い点:基本的にapple用。Windowsアプリも2020/9月から開発可能になったみたい。
     ただ、新しい分 Windowsアプリの制作に関するドキュメントが少なそう。
     androidでは動作するのか 不明。

JavaScript
 良い点:習得難易度が低め。
     web作成には欠かせない。
     どんなosでも動く。ブラウザ無くても、サーバで動くものもあるようです。
     商業利用でも無料。
 悪い点:基本的にインタネットブラウザ上でしか動かない。
     Excelやメールソフトを動かす様な場合には使えない。

Java
 良い点:最も人気が高い。つまり、ドキュメントや記事が多い。
     どんなosでも、ほぼなんでもできる。
 悪い点:習得難易度が高い。
     少し、時代遅れ感が出てきた。

Ruby
 良い点:日本人が作ったので ドキュメントも文法もわかりやすい。
     学習コストが非常に低い。
     web系に強い。
 悪い点:人によって異なる記述でコードが書けるので、混乱しそう。

選考過程

今回は「サブスキル」としてプログラミングを学びます。
つまり、汎用性が高い事が重要です。
様々なosで使用できる。様々なアプリをコントロールできる(RPAとかも将来視野に入れたい)。
そして、本職の学習ではない為、コストは少ない方が良い。(お金・時間)
まずは、小さなプログラムが簡単に 少し 動くまでに、どれだけ時間がかかるか?が重要です。

逆に、アプリケーションが限られていたり、web限定だと 用途が限られる為不向きです。

上記から考えると、

VisialBasic;基本的にoffice製品限定なので、落選。
C言語:学習コストが高いので、落選。
Swift:学習コストが高いので、落選。
JavaScript:web専用では、困るので落選。
Java:学習コストが高いので、落選。

となりました。
残るは、python と Ruby です。
共に、学習コストが低く 汎用性もあります。

個人的には 国産言語のRubyを選びたい気もします。
しかし、今 世の中で中で注目を集めているのはどちらか?といわれれば、
pythonに軍配が上がります。
しかも、ビジネス書や日経新聞等でもpythonはちょくちょく名前が出てきます。
プログラミングを学んでいない(学ぶ気もない)会社の上司様方も 「プログラミング?
うーんITだね。DXだね。これからは必要だよね。よくわからないけど、必要そうだね。」
って 感じの印象は残っていそうです。
残念ながら Rubyは、IT業界に近い方々にしか知られていません。

つまり!(何も知らない系の PCに疎い系の)上司とかお偉いさんに アピールできる!!
のです。
社会人には、上司へのアピールは重要です。
仮に プログラミングを途中で挫折してもOKです。
アピールした事で 新しい仕事が廻ってくるかもしれませんが、それはそれで
業務範囲が広くなるのですから チャンスです。
広くなった業務範囲の分だけ、給料や権限を挙げてもらいましょう!

結論

以上の選考を経て サブスキルとして社会人がプログラミングを学ぶなら、python 一択。
と、なりました。

しかし、何かやりたいことが決まっている方は それに向いた言語を選択しましょう。

会社で 本業以外に広報としてwebページ作成してとか言われて学習するような場合は、
サブスキルでは無くて本職スキルですから、pythonじゃなくてJavaScriptとかが
選択肢になるかもしれません。

 私の場合は あくまで サブスキル。何かやりたい事があったわけではなく、
何ができるの?的に 学習を開始しています。
後で 何かやりたくなった時に ある程度なんでもできる言語という点が重要でした。

ちなみに、pythonは Windows・MAC・Linuxでexe化もできます。iphone・ipadでも
pythonistaとか購入すればアプリの様に動かせます。

2
4
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4