質問: 大学3年生女子理系です。 数学を勉強しているのですが、将来就職のとき何かプログラミングができたほうがいいと聞きます。 大学院にいこうとおもっているのでまだ時間があるので何か、と考えています。 mathematicaは少し使ってますが、他はできるのはTexくらいでしょうか。でもプログラミングとはいわないですよね。 Rは少し勉強できましたが、自分でなにかできるか、というとそのレベルは程遠いです。pythonも深層学習で使われていると聞くので興味がありますが、独学ではむつかしそう。 大学の講義でそういうのってないのですが、そういうお仕事をしている人ってどうやって身に着けたのでしょうか? 通信教育もあるみたいですが、やって身につくものでしょうか? アドバイスを願いします。
回答: とりあえずやってみる。これがとっかかりとしては一番いいと思いますよ。 まずはパソコンを用意します。 そして、そのパソコンのOSで動かせるプログラミング言語を入手しインストールします。市販もありますがフリーで入手できるものもあります。あとはインストールしたものを利用して手軽な何かをプログラムに落としてみる。プログラムに落とすというのはなにかの結果を得るためのコードをコーティングするということです。コーティングするためにはその言語の使い方を学ばなければいけません。市販品なら付属の説明書を見たり市販の解説書を買ってみたり有名な言語ならリファレンスマニュアルみたいな本も販売されているはずです。 フリーソフトの場合は付属の説明書なんて期待できませんが解説しているサイトならあるはずです。そういうサイトでは前述の市販ホントと方レベルのサイトも見つかるかもしれません。 じつはプログラミングを憶える行為というのはネットで必要な情報を探すことと類似していたりします。 私なんかはそういう情報がほとんどない時代にプログラミングを独学で覚えました。その後も新しい言語を扱うたびに専門誌をおいている書店に行って目的の情報が乗っている雑誌や書籍、専門誌を買いあさりました。本を買うために東京の神保町にまで行ったこともあります。神保町の大型書店にはコンピューター関連の専門書を扱ったフロアやコーナーがあったりしましたからね。 そういう本屋に行ってから環境を用意するという方法もあります。書籍によっては入手方法も書かれていたりします。 身につけたいのなら、環境を用意するところから苦労しないと難しいですね。 仕事で初めてのものを扱う場合はとにかくいじくり倒しました。Microsoftの開発環境だとヘルプで命令などのパラメーターの意味などを調べることができるので活用してました。インストールのときに選ばないと入らなかったりします。Microsoft OfficeにはVisualBasic for Application(略してVBA)というVisualBasicベースのプログラミング言語が入っています。エクセルが無難なのかな?私の場合はリレーショナルデータベースソフトのAccessでVBAを覚えました。 そのごホームページで静的ページだけではなく動的ページ(使用者の操作や選択によって次に表示する内容が適時変わるホームページ)を作りたくて当時CGIで多く使われていたPerlを勉強し自分のパソコンだけでブラウザからホームページを表示するための環境を構築するためにAppachというホームページサーバー(httpd)も覚えました。PerlをつかうとExcelやAccessのファイルから必要な情報を取り出してHTMLとして出力することも可能だったので仕事にも応用できましたよ。Officeをインストールしていないパソコンでも必要とされるエクセルの内容をブラウザで見ることができますからね。今はそんな物を作らなくてもできてしまうのでお払い箱ですがwww 「必要は発明の母」みたいなところが多分にありますからね「パソコン+プログラミング言語」というのは・・・ 皆がやっているからやってみたい、というのは「必要」ではないです。動機の質が違います。 Android用のアプリ開発もWindowsパソコンでできます。iOS用アプリの開発もできますがiOSの場合は開発環境って有料なのかな?Androidは無料で整えることができるはずです。 とにかく、一番はじめは情報を得るために書店とネットを彷徨ってください。 「自分で何ができるか」ではなく「自分は何がしたいのか」が重要です。 その判断をするためにも書籍を読んで知識を蓄えてください。知識が全くなければ判断材料もまったくないということになりますからね。就活でも受ける会社のことを調べてから申し込んだりしませんか?大学生だったらそのくらい当たり前にやっているはずですよね。何事も同じですよ。調べもせずにとりあえず・・・というのが一番モノになりません。私が最初に「とりあえずやってみる」といったことと矛盾していますが、やってみるのスタート地点が違います。私の場合は調べることから始めるのが「とりあえず」なんです。