iPhoneアプリで使う言語がObjective-Cでは駄目なの?? Swiftなんて、しょっちゅうメンテナンスしないといけないじゃん。面倒くさいじゃん。大きい会社が使うのはわかるよ。うん。やることないし暇そうだし。何で人員が少ない小さい会社もわざわざSwift使うの?
社長から、
「うちも技術顧問登用してみない??」
と言われて、
某Web会社の技術顧問(CTO)と会社の開発体制について話す機会があった。
うちのサービスの10分の1のPVで3倍のエンジニアを持っている素晴らしい会社のCTOにグタグタ言われて凄いイライラした。
ムカついたから、モンクを書いてみた。
文句言われたことは
・オープンソースをもっと使おう
・コードレビュー文化がないのは駄目
・コーティング規約がないのは駄目
・Objective-Cを使っているのは駄目
いっぱい言われてムカついたけど、本人に言う勇気なくて。。。
とりあえず、ObjectiveーCの件から、腹がたったことを書こう。
1.Objective-CはAppleが消す
「AppleがいきなりObjective-Cで書かれたアプリをリジェクトする可能性があるので。。」
20代のガキとかがこういう事言うのは良いんですよ。
40超えた大人がそんな事言っていたら、ただの馬鹿だろう。
そんなことをするAppleのメリットは何?
アプリをマーケットから何故消すの?
「んなわけ無いだろ!!」
2.エンジニアは常に最新の技術に触れてないと
言語は技術じゃないだろ!!
3.今Swiftが流行っているから。オープンソース化してこれからもっと流行りますよ。
逆に言うと、まだ完成されていないんだろ。
Swiftのバージョンが上がる度にメソッド名が変更されたり、メソッドがなくなったり面倒なんですよ。
うちの会社iPhoneアプリ用の開発者いないんですよ。
てか、別に募集もしていないし。
いちいちSwiftのバージョンが上がる度にメンテナンスしてらんないんですよ。
4.クロージャーとかオプショナル型とか便利
たしかにその通り。便利。
けど、別にそれはソースの書き方や見方として便利ってだけであって、
ソース管理がしやすいってことかな??
だからって、別にマストで必要な機能??
nil渡さないし。
それよりも3であげたデメリットの方が遥かに大きい。
てか、バージョンアップごとに書き直しが必要な時点でSwiftって、ソース管理しづらい言語だよね。
5.アプリ専任のエンジニアを雇うべきだ
iPhoneアプリエンジニアはあと何年活躍できる仕事なの??
そんなに専門職にして責任とれるの??
たしかに、企業的に必要な人材って、スペシャリストなんだよね。
これは自分の勝手な価値観だけど、今はあんまりスペシャリストを育成したくないんだよね。エンジニア長年やってきて、何人もの使われなくなったスペシャリストを見てきたからさ。
個人的には開発だけじゃなくて、いろいろできるエンジニアをなってもらいたいんだよね。そのうちコード書かなくてもWebサービスが作れる時代になると思うし
最後に
うちの会社は別にアプリ会社じゃない。
Web会社だ。
集客方法の1つとしてアプリがあって、そのアプリがたまたま、そこそこダウンロードされているけど、
あくまでもサービスのコアはWebだ。
アプリにそんなに人材を掛けられないんだよ。
別にSwiftが嫌いとかじゃなくて。
小さい会社が限られたリソースでがんばっているところに、
「Swiftを使え」
「Objective-Cを使っているのはクズだ」
とか言われて腹がたっただけです。。