ホーム

JavaScriptとSwiftをグラセフと桃太郎で分かりやすく説明する

最近、やっと言語の選り好みが出来るようになってきた。始めた頃は、どの言語も同じように唯の言語で、液晶モニタの前にはプログラムに対する憧れと難解のみが広がっていた。でも、かれこれソフトウェアエンジニアをやってきて二年、なんとなく言語に対してモノ申せるようになったのでメモ。あくまでも私見ですし、きっと、これからもっとプログラムを深く理解できたとき、今の私の理解(誤解?)も解けるかもしれませんので、二年後振り返るときのためのメモでもあります。

まず、私にとってのJavaScriptは、自由度マックスのオンラインGTAのように感じました。アメリカの街を自由に駆け回り、飛び回り、腕の立つユーザーは死ぬほど強くて、ゲームのGTAと違うのは、腕のあるユーザーがチートを作りまくり配布しまくってるところだけれど、とにかくサードパーティjsを使うにしても「こんなの作ったよ!こんな感じで使えるよ!腕の立つユーザーは自由に使って良いよ!ユーズエージはREADMEに書いておくから勝手に使ってね!」みたいな印象を受けます。

他方でSwiftはといえば、桃太郎の話しになぞらえると「これから道中に犬、猿、キジが出てくるので(必ず出てきた順番で)彼らにキビ団子を差し上げて、あくまでも鬼を退治しに鬼ヶ島へ行ってくださいね」って印象を受けました。私の言わんとすることが分かりませんか?困ったなあ。ようすれば、やっぱりSwiftってアップル帝国の言語なんじゃないでしょうか。そもそもMACでしか動きませんし、Xcodeの上じゃなきゃ動きませんし、Xcodeの使用を覚えるのは学習コストすっごい必要だし、ストーリーボードはプログラミングもはやあんまり関係ないし、

んーーーだから、プログラミングの作法とか哲学とか、ロジックとか、そういうのをプログラミング初心者がSwiftから学び取るのは難しいと思います。初心者がSwiftに手を出すと、プログラミングをやっていく上で鉄則の掟(だと思ってるんですが)である「情報を覚えるのではなく、方法を覚える」っていう思考能力がJavascriptに比べたら身につかないんじゃないかなと思うんですよ。Xcodeの仕様とか、Swiftのクラスの仕様とか、そういうやたら複雑で大量の「情報を暗記する」っていう作業に時間をとられがちになるかもしれません。

プログラミングにおいて「暗記する」ことを覚えると、他の人のソースをコピペしがちエンジニアになり、自分らしい仕事ができない&良いソースがないと実装ができない状態に陥るので危険です。

例えば、たった今思いついた、超思いつきですけど、無名関数と即時関数があるとして、そういう言語の「使い方」を駆使して何かを実装するとか、そういう楽しい実装の仕方を覚える前に、暗記に入っちゃいそうで、なんていうか、微妙な言語だと思うんですよね。Swift。いやいや、多分私がSwiftを使いこなせない脳なしだからかもしれません。世の中にはSwift愛好家がたくさんいますし、でもやっぱりSwiftは初心者にはオススメしません。OCに比べたら言語の書き方もましになったかもしれませんが、それでもやっぱり言語使用以外のクラス仕様とか、まあとっつき安くないし、うん。そんな話しでした。

Pocket
LinkedIn にシェア

  • この記事を書いた人

藤沢瞭介(Ryosuke Hujisawa)

りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

-ホーム

Copyright© off.tokyo , 2021 All Rights Reserved Powered by AFFINGER5.