ひとつの言語を集中して勉強すべき VS いろいろな言語に触れるべき【初学者向け】

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

【5/27開催】事業変革を最新ソフトウェア技術で加速する「OSS利活用事例セミナー」
OSSのビジネス活用事例などを紹介します!登壇者はスカパー様やIPAなど🎤
OSSを活用した新たなビジネス創出やDX推進のヒントを得られる機会です。
https://ossforum.connpass.com/event/318583/
【6/19開催】Kong Community Japan Meetup #4
本イベントでは、Kong Inc. のVP of ProductであるReza Shafii氏もプレゼンターとして参加。当社からはアーキテクト マネージャーの槌野の登壇が決定!参加無料です!!
https://column.api-ecosystem.sios.jp/connect/kong/1081/

こんにちは。8月28日から3週間ほどインターンとしてお世話になっている、東京工科大学の有田です。

ところで、プログラミングをこれから勉強するとき、ひとつの言語をある程度扱えるようにするべきか、いろいろな言語に触れてみるべきか悩む、そんな経験はありませんか。もちろん、いろいろな言語を完璧に扱えるのが理想ですがが、そう上手くもいかないでしょう。実際にネットの記事を漁ってみても、どちらの意見もそれぞれ正当性があり悩ましいものになっています。今回、インターンとしてWebアプリケーションの制作をし、プログラミングの勉強をし始めた人や大学生がインターンシップなどに向けてどう勉強するべきか、自分なりの考えが出たのでブログにまとめようと思います。

 

結論から言ってしまうと、ひとつの言語をある程度扱えるようにするべきだと思います。

 

理由は大きく2つ。

・他の言語もある程度読めるようになる

・アルゴリズムは変わらない

では、本編いきましょう。

 

知らない言語は思ったより読める

今回のインターンでは、GoogleカレンダーAPIを使う上で全く触れたことのないJavascriptについても扱いました。今までPythonと辛うじてJavaしか扱ったことがなかったので、取り合えずJavascriptのサンプルコード見ながら勉強するかと考えていました。

 

↓ソースコードの一部

function gisLoaded() {

tokenClient = google.accounts.oauth2.initTokenClient({

 client_id: CLIENT_ID,

 scope: SCOPES,

 callback: '', // defined later

});

gisInited = true;maybeEnableButtons();

}

サンプルコードを見て、ふと気が付きました。

 

あれ?

読める、読めるぞ!

 

JavascriptはScript言語で扱いやすいからというのもあるのでしょうが、意外にもコードがなんとなく読めます。コードをアプリに使えるように修正して書けと言われたらすぐには出来ませんが、読むぶんにはそこまで困りませんでした。参考にC#などのほかの言語のコードを読んでみましたが、細かいところまではまだしも、なんとなくこんなことをしているのかは読み取れました。読むことができれば、習得も早いです。私の得意なPythonだったらこうだろうなと他の言語との差を考えながらやってみれば、今回のインターンで扱うGoogleカレンダーAPIのコードは自由に書き換えられるようになりました。

知らない言語も、今までの経験から思いのほか読むことができるのです。

 

アルゴリズムは変わらない

Webアプリケーション制作のなかで、取得した文字列から都道府県名を抜き出し、ローマ字に変換するというごく単純なプログラミングを書く必要がありました。都道府県の日本語名とローマ字名が取得できる連想配列がネットに転がっていたので、あとはWhile文で回すだけです。今までやってきたPythonやJavaと全く変わらない方法でプログラミングを書くことができるので、まずつまずくようなところはありません。

後日競プロのAtcoderで過去に解いた問題をJavascriptで解いてみましたが、PythonやJavaと変わらないアルゴリズムで解くことができました。もっと高度なレベルになれば言語のできること、できないことによって差が生まれてくるかもしれませんが、一定のレベルまでアルゴリズムに違いは生まれないと思います。

 

おわりに

今回はプログラミングを学び始めたばかりの大学生などに向けて、ひとつの言語を集中的に学ぶべきか、いろいろな言語に触れてみるべきか私なりの結論を紹介しました。ひとつある程度扱える汎用言語があれば、他の言語も一定のラインに引き上げるまでは難しくないと思います。これから勉強を始める人や、始めてのインターンやハッカソンに参加するためにスキルアップを目指す大学生などは、ひとまずひとつある程度扱える言語の習得をおすすめします。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる