ordinary -何てことない- 普通のエンジニアが書くコラム。

一つの言語をそれなりにやっておくと新しい言語も習熟しやすいという話は本当だと感じた話

»

みなさま、おはようございます。Kyonです。

ゴールデンウィークはいかがお過ごしでしたか。

私がいる会社は暦通りのお休みで、前後に有給休暇をくっつけているメンバーが多かったです(私はくっつけませんでした)。東南アジアにいるメンバーの話を聞くと、5月1日はメーデー(もしくはInternational Workers' Day)となっている国が多いようです。5月1日が土曜日だった今年は5月3日に振替休日が指定されている国もあったりして、なかなか興味深いですね。

各国の祝祭日が気になる方は『世界の祝祭日』を参照してみると良いです。

私のゴールデンウィークの過ごし方

2~3年前だと海外旅行三昧で・・・はありませんでした。いいお値段のシーズンなので、知人や同僚と河川敷でBBQをしたり、お買い物に出かけたりしていた記憶があります。

今年はもちろんお出かけできませんので、近所でも行ったことがない方面に散歩しに行ったり、ベランダにキャンプ的なチェアを引っ張り出して優雅なティータイムを過ごしたり、ベランダ家庭菜園を愛でたり、ちょっと手間のかかるお料理を作ったりしていました。

それと、PHPの案件に関わり始めたので、HTML5とPHP(とLaravel)のお勉強をしていました。

「HTML5なんか勉強してんの?」と思われるかもしれませんが、ちょっと深めなところまで知りたいので、改めて勉強し直し中です。意外と忘れていることや改めて言われるとすぱっと答えられないことも多くて、勉強しがいがあります。

PHPに関しては、素のPHPに触れたことがなく、未経験状態です。Laravelなんて、聞いたことはあるけどレベルです。こんな状態から、ちゃんとプログラムが書けるようになりたいのですから、大変だ!・・・と思っていました。

一つの言語をそれなりにやっておくと新しい言語も習熟しやすいという話

ある一つの言語がそれなりに書けると、次に学ぶ言語は最初の言語よりも慣れるスピードが早くなる、という話を聞いたことがありませんか?

確かに言語ごとに特色やクセがあります。でも、基本的な文法や考え方(If文やLoop、変数、配列等)は共通していることが多いんですよね。その共通していることを一度でも理解しておけば、それ以外の言語特有の考え方や書き方を拾っていけば良い話。

私の場合、Javaが長い(他にもCOBOLとかVB.netとか超マイナー言語とかも)ので、PHPとはかなり毛色が異なります。それでも、Javaであるフレームワークを使用した開発といくらか考え方が被るところがありました。

むしろ、LaravelのMVCを利用してサンプルを作ってみたことで、Javaを使っていた時にモヤモヤしていたMVCモデルのところがいくらかスッキリした気がします。

まだ、いろいろ知識不足なところがあるので、素のPHPとLaravelとをきちんと理解していく途上です。その紆余曲折っぷりはTwitterをご覧ください。

外国語の習得も同じでは?

以前から感じていたのですが、この話(一つの言語をそれなりにやっておくと新しい言語も習熟しやすいという話)は、プログラミング言語だけでなく、同じ言語と呼ばれる外国語にも言えることだと思うんですよね。

文章の構造とか(主語、述語等)は、呼び方が多少違っても、似たような考え方があります。英語でいうところの○○はドイツ語でいうところの△△か、みたいに既にある程度習得できている言語と並べて理解しようとすれば、ちょっとだけ楽に習得できる気がします。

外国語に関しての注意点は、発生の傾向(ラテン語系等)によって、習得のしやすさの差は(かなり?)あるのではないかという点です。応用が効きにくい言語というのが、ハッキリしている印象があります。

他のことも同じかも

上記ではプログラミング言語と外国語のお話を例に出してみましたが、他のことでも「何か一つをそれなりにやっておくと(似た分野の)新しいことも習熟しやすいという話」は当てはまると思います。

データベースもそうですよね。MySQLでもOracle DatabaseでもSQL Serverでも、1つが理解できていれば、他のも基本は同じです。基本の部分での微妙な違いとそれぞれの特長・クセを知っていけばOK。

他には・・・クラウドのGoogle Cloud PlatformとAmazon Web Serviceも似ている部分を見つけられると思います。(これは違う部分がかなり多いかもしれません・・・)

PHPを勉強してみたら、他の言語で知っている内容と被るところが結構あって、一つやっとけば新しく言語を勉強する時も習熟しやすいって本当だなぁと感じた、というお話でした。

Comment(1)

コメント

マスター吹越

プログラミング言語に慣れてると「アルゴリズム」が分かりますからね。
手続き型言語だと表現も似てくるのでCに慣れてるとJavaも理解しやすいとかは実感しやすいと思います。

コメントを投稿する