Edited at

「PythonとSwiftは結構似ている」説の検証

More than 1 year has passed since last update.

「PythonとSwiftは、結構似ている。」

言った。ついに言ってしまった。

なぜか言ってはいけないような空気があるのでずっと黙っていたが、

今回はこれら、近年国内年収No.1言語と需要増加率No.1の言語について「できるだけプログラムっぽくない〜」シリーズの外伝、という扱いで斬り込んでみたい。

まずはこのソース比較を見てくれ。こいつをどう思う? (※お返事はコメント欄にてお願いします)

SwiftVSPython3.6.png


実行結果


Swift版 

「 諦めなさい。 貴方は 私みたいな 気の強い女としか 一緒になれない運命なんだから 」

   〜 家内
「 いってらっしゃい。 元気に暮らしてよ! 」
   〜 家出に向かう筆者に当時4歳の長男が掛けてくれた言葉


Python版

「 遅刻厳守ねッ⚠️  」

   〜 結婚前、初デートの前の家内
「 気付かない振りをし続けるっていうのも 結構大変なんですよ❓️ 」
   〜 結婚後の家内


解説


  • 今回は「できプロ」シリーズの流れで実装を行った為、Python版についてもできるだけ日本語を使用している。

    3.x系では日本語の扱いが上手になったとは言え、Obj-C版と同様、文字出力以外での絵文字の利用は不可であった。


  • 比較の為、Python版をSwift版の構成になるべく近付ける、という無茶もしている。

    (よって、本当はもっと簡潔に書けるが、Pythonとしては冗長なコードとなった)


実装した感想としては、

- Swiftは、「短く書く」テーマを追いつつ、「読みやすさ」、「バグの出しづらさ」を開発者に半強制している。

- Pythonは、より効率を求めた「短く書く」、そして(今回は表面化していないが)拡張性や汎用性を重んじている。

…といった印象を持った。

どちらも、素晴らしい言語だと思う。

結局、似ていると思えば似ているし、生きて行こうと思えばどこだって天国になるし。幸せになるチャンスはどこにでもあるのだという事で、今回は筆を折りたい。


バージョン情報

Python版

  Python 3.6.1

Swift版

  Swift:3.1

  Xcode:8.3.3 (Swift Playgrounds)


ソースコード

Python版

  https://github.com/rotors123/ProgrammingNoProgrammingPy.git

Swift版

  https://github.com/rotors123/ProgrammingNoProgrammingObjC.git

  ※Swift版についての詳細はこちら