X



【朗報】世界一美しいプログラミング言語が見つかる
■ このスレッドは過去ログ倉庫に格納されています
0001風吹けば名無し
垢版 |
2022/05/02(月) 11:32:27.67ID:z0RWR8C9H
Objective-Cの美しさ

私は初めてObjective-Cに取り組んだ時(とは言っても2ヶ月前ですが)、この"@implementation"と
大括弧で囲む書き方にどうしても馴染めませんでした。
そもそも私の頭は十代から叩き込まれたCOBOLとアセンブラでガチガチになっていますので無理も無いですが。

ここを精神論で解釈して行くとObjective-Cの美しさが見えてきます。
重要なのは"囲み"です。

C++でのクラスの宣言を見てみましょう。
1 class Hello
2 {
3 public:
4 Hello();
5 void SayHello( void );
6 };


classキーワードの後に名称が続き、中括弧で囲まれた空間の中でメンバの宣言を行います。
これを私の"外見から得たイメージ図"で表現すると右記(fig1)のようになります。
中括弧というのは両端が鋭く尖っています。
これが重要です。
鋭く尖った突起が両サイドに付いている物体を見て何を思い浮かべますか?
手裏剣や旧日本軍の銃剣、竹槍・・・私は暴力的な物ばかりが浮かびます。
そう、C++のクラス宣言は暴力的で閉鎖的な血生臭い外見をしているのです

http://love-motif.com/article/art_13.shtml
0002風吹けば名無し
垢版 |
2022/05/02(月) 11:32:54.35ID:z0RWR8C9H
ではObjective-Cのクラス宣言を見てみましょう。
1 @interface Hello : Object
2
3 -init;
4 -(void)SayHello;
5
6 @end


@interfaceと@endで囲まれた中にメンバを宣言して行きます。
これを私の"外見から得たイメージ図"で表現すると右記(fig2)のようになります
C++の暴力的で閉鎖的な外見とは対照的に丸みを帯びた柔らかい外見的印象を受けます。
ここで重要な役割を果たしているのが"@"です。
元々円に近い形の"@"で天地を囲むので柔らかく明るい印象のソースに仕上がります。
0003風吹けば名無し
垢版 |
2022/05/02(月) 11:33:02.58ID:i/ghEr09a
LISP定期
0004風吹けば名無し
垢版 |
2022/05/02(月) 11:33:26.65ID:NskWYT7N0
ゴミ言語
0005風吹けば名無し
垢版 |
2022/05/02(月) 11:33:43.79ID:z0RWR8C9H
クラスからメソッドを呼び出す過程です。

C++でのメソッドの呼び出しを見てみましょう

1 hello->SayHello();


helloに対して"->"演算子を使用してメンバを呼び出します。
この外見を言葉で表すとこんな感じになります。

俺様はhelloだ!SayHelloの糞野郎を出してやるぜ!

"->"これはまさに武器の図柄です。
棒の先に矢尻状の物が取り付けられた槍のような形状をしています。
恐らくは"hello"が"SayHello"を槍で突き刺し外に出しているのでしょう。
コンソールの出力"Hello World"はメソッド"SayHello"の断末魔の叫びです。

ではObjective-Cでの場合はどうでしょう。

1 [ hello SayHello ];


"["と"]"の間にオブジェクトとメソッドが並んだ形状です。
この外見を言葉で表すとこんな感じになります。

helloよ、SayHelloを出してくれないか?

helloからは銃器や刃物に該当するものは出ていません。
ここで重要なファクターを秘めているのが大括弧です。
"hello"と"SayHello"を器のような形状の物で優しく包みます。
0006風吹けば名無し
垢版 |
2022/05/02(月) 11:34:03.51ID:z0RWR8C9H
これが大量に並ぶと一目瞭然です。

C++
1 hello->SayHello();
2 hello->SayHello();
3 hello->SayHello();
4 hello->SayHello();
5 hello->SayHello();
6 hello->SayHello();
7 hello->SayHello();
8 hello->SayHello();
9 hello->SayHello();


Objective-C
1 [ hello SayHello ];
2 [ hello SayHello ];
3 [ hello SayHello ];
4 [ hello SayHello ];
5 [ hello SayHello ];
6 [ hello SayHello ];
7 [ hello SayHello ];
8 [ hello SayHello ];
9 [ hello SayHello ];


並べば並ぶほどC++は暴力的な外見を増します。
9行並べてみましたが、C++の方は既に地獄絵図です。
helloから突き出た針山にSayHelloが突き刺さっています。
非常に血生臭く暴力的です。
0008風吹けば名無し
垢版 |
2022/05/02(月) 11:35:04.67ID:z0RWR8C9H
クラスメンバを宣言したらメンバを実装しなくてはなりません。
ここがJavaやC#との大きな違いです。

C++
1 void Hello::SayHello( void )
2 {
3 puts( "Hello World" );
4 }


Objective-C
1 @implementation Hello
2 -(void)SayHello
3 {
4 puts( "Hello World" );
5 }
6 @end


両者共に基本形はCですが大きな違いがあります。

C++の場合、"戻値の型 クラス名称::メンバ"の形式で記述します。
この"::"が非常に美しくありません。
一体何なのでしょうか?
何故に"::"を選んだのか私には全く理解出来ません。
4個の"黒点"が均等に並んでいます。
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
殺戮凶器に昆虫の大群です。
不気味極まりないですね。
考えているうちに寒気がしてきました。
0010風吹けば名無し
垢版 |
2022/05/02(月) 11:36:12.26ID:jRHrr8V7a
言語の美しいってよく分からんわ
0011風吹けば名無し
垢版 |
2022/05/02(月) 11:36:27.02ID:yvEZvcJ4d
ちょっとこだわりが強すぎるかな
0012風吹けば名無し
垢版 |
2022/05/02(月) 11:36:48.02ID:BlEPUOvaM
if 'true'='true' ()だろ
0013風吹けば名無し
垢版 |
2022/05/02(月) 11:37:23.25ID:NskWYT7N0
いや美しさがあるのはわかるやろ
効率的でメモリ消費の少ないコード見るとうっとりするわ
0014風吹けば名無し
垢版 |
2022/05/02(月) 11:37:44.08ID:1/Dn+D/I0
今はセミコロンが汚い
どう考えてもkotlin一択
0015風吹けば名無し
垢版 |
2022/05/02(月) 11:38:04.81ID:UvOOKGMZM
Whitespaceが一番美しい
0016風吹けば名無し
垢版 |
2022/05/02(月) 11:40:19.19ID:IkCgFPSVd
うわあやっぱりc++って暴力的で血生臭いなぁ
0017風吹けば名無し
垢版 |
2022/05/02(月) 11:41:05.51ID:EGNQFuHG0
こじつけがすぎるやろ
0018風吹けば名無し
垢版 |
2022/05/02(月) 11:41:25.74ID:uCD+Jz9HM
なんやこれ
スピリチュアル系と同じ雰囲気あって怖いわ
0019風吹けば名無し
垢版 |
2022/05/02(月) 11:41:27.71ID:TJaRnqvP0
ちょっとネタに振りすぎ
0020風吹けば名無し
垢版 |
2022/05/02(月) 11:41:33.10ID:w7jy8frA0
個人的にJavaが見やすいわ
0021風吹けば名無し
垢版 |
2022/05/02(月) 11:41:53.94ID:Onaedsoo0
:
;

どっちもいらん
0022風吹けば名無し
垢版 |
2022/05/02(月) 11:42:11.84ID:z0RWR8C9H
Objective-Cの場合は"@implementation~@end"句で天地を囲みます
囲まれた中にメンバを記述して行くのですが、"::"のような薄気味悪い記号はありません。

-(戻値の型) メンバ名:(型) 引数:(型) 引数・・・

この形状で実装を行います。

"-("この形が重要です。
丁度、航空機の主翼の断面図のような"形"になります
非常に滑らかでスピーディーかつシャープな印象を受けますね。
先頭の"-"を"+"にすると、C++で言うところのスタティックメンバと同じ役割を果たします。
シャープな内容物を"@implementation~@end"が優しく包み込み、全体を柔らかな印象にしてくれます。

このように美しい外見をしているので、Objective-Cでのプログラミングは目に優しく
長時間のコーディングでも目に疲れを覚える事はありません。
もっとも、エディタの背景色を目に優しい色にしておかなければ目は疲れてしまいますが。
0023風吹けば名無し
垢版 |
2022/05/02(月) 11:42:20.25ID:AOwvMaOE0
ひまわりやれ
0024風吹けば名無し
垢版 |
2022/05/02(月) 11:42:23.59ID:afnP+3GK0
>>13
ここで話してる美しさってメモリ消費の話なんか
0025風吹けば名無し
垢版 |
2022/05/02(月) 11:42:28.33ID:qdjsliRGd
怪文書が過ぎるぞ
0026風吹けば名無し
垢版 |
2022/05/02(月) 11:43:08.67ID:TzuSg6U9d
セミコロンと閉じカッコが美しくない
0027風吹けば名無し
垢版 |
2022/05/02(月) 11:43:14.67ID:L6VL23xx0
一日も早く死が望まれていた言語の一つ
それが証拠にもう誰も使ってない

次に控えてるのはJavaScript
0028風吹けば名無し
垢版 |
2022/05/02(月) 11:43:38.07ID:DcmF+tOMa
けどこういうこだわりある人の方がプログラミング向いてそうやな
この人も糖質とかでなく自分の見え方を面白おかしくブログに書いてるだけやろし
会って話してみたいな
0029風吹けば名無し
垢版 |
2022/05/02(月) 11:43:41.53ID:TYJozUTHM
>>27
FORTRANは?
0030風吹けば名無し
垢版 |
2022/05/02(月) 11:43:49.49ID:pQcJRB+U0
ワイは中括弧で囲む言語のほうが見やすくて好きやわ
0031風吹けば名無し
垢版 |
2022/05/02(月) 11:45:04.26ID:qGEy2n9Q0
まぁC++の::があんまり気持ちよくないのはわかる
0032風吹けば名無し
垢版 |
2022/05/02(月) 11:45:37.24ID:5iD8juZ30
まあObjectiveCはなかなかいい言語だった
swiftより書いてて楽しかった
0033風吹けば名無し
垢版 |
2022/05/02(月) 11:45:50.47ID:oameH8b/0
頭おかしいんじゃねーの
0034風吹けば名無し
垢版 |
2022/05/02(月) 11:46:52.11ID:TzuSg6U9d
>>31
「.」でいいだろって思う
0035風吹けば名無し
垢版 |
2022/05/02(月) 11:47:53.12ID:s8pfzucG0
Pythonが1番綺麗だよ
ヒューマンライクな言語
CやJavaでちゃんと宣言しないと気が済まない馬鹿は慣れないかもしれんが

最近は組み込みも殆どpythonだからな
0036風吹けば名無し
垢版 |
2022/05/02(月) 11:48:57.25ID:RAVymLtb0
Rustの文法が一番美しいわ
0037風吹けば名無し
垢版 |
2022/05/02(月) 11:49:13.78ID:9lf+ANCv0
障害者が文字を見ると色付きに見えるていうアレやろ
0038風吹けば名無し
垢版 |
2022/05/02(月) 11:49:26.71ID:s8pfzucG0
>>5
C++知らないんだけど、なんでメソッド名がアッパーキャメルなの?
しかもクラスの先頭小文字だし
エアプか書いたやつ
0039風吹けば名無し
垢版 |
2022/05/02(月) 11:49:44.22ID:RJ1PmIel0
Cが一番キレイだと思う
使いにくいけど
0040風吹けば名無し
垢版 |
2022/05/02(月) 11:49:52.36ID:p1aM2uiu0
>>37
共感覚は才能やろ
0041風吹けば名無し
垢版 |
2022/05/02(月) 11:50:23.87ID:YA4ZfYj/0
気持ちはわかる
カッコの種類で気分が結構違う
0042風吹けば名無し
垢版 |
2022/05/02(月) 11:50:25.92ID:L6VL23xx0
>>29
プログラマー以外がプログラミングで容易に正しく倍精度実数を使おうと思ったらやっぱFORTRANが一番じゃないの?今でも
0043風吹けば名無し
垢版 |
2022/05/02(月) 11:51:05.12ID:qdjsliRGd
Fortranを使っている老害は早く死のうな
0044風吹けば名無し
垢版 |
2022/05/02(月) 11:51:40.88ID:TzuSg6U9d
>>35
一々関数で()付けるのとかselfとかダルいわ
rubyにオフサイドルール入れてくれれば良いのに
0045風吹けば名無し
垢版 |
2022/05/02(月) 11:52:07.15ID:5drPEZkC0
なんかRubyのコードは見てて具合が悪くなってくる
0046風吹けば名無し
垢版 |
2022/05/02(月) 11:52:54.98ID:qdjsliRGd
>>44
ワンライナーとか書いてそう
やっぱ書き味重視する人間のコードはダメだわ
0047風吹けば名無し
垢版 |
2022/05/02(月) 11:53:19.76ID:zVg7D59l0
nimだろ
0048風吹けば名無し
垢版 |
2022/05/02(月) 11:54:07.22ID:r/lFNkR1d
>>8
読めば読むほど怪文書
0049風吹けば名無し
垢版 |
2022/05/02(月) 11:55:09.28ID:qdjsliRGd
>>47
Rustに阻まれ 「王」になれず終いの永遠の敗北者が“Nim”じゃァ
0050風吹けば名無し
垢版 |
2022/05/02(月) 11:55:48.53ID:r/lFNkR1d
>>41
カッコはやっぱ全角()だわ
フォントはもちろん等幅
0051風吹けば名無し
垢版 |
2022/05/02(月) 11:57:26.86ID:S9U1p+cw0
読みづらい
0052風吹けば名無し
垢版 |
2022/05/02(月) 11:58:18.94ID:zVg7D59l0
>>49
関数型のときみたいにRustも一過性や🤭
0053風吹けば名無し
垢版 |
2022/05/02(月) 11:58:22.75ID:S9U1p+cw0
PythonとJavaScriptでええわ型気になるときは途中で出力しながらやればええ
0054風吹けば名無し
垢版 |
2022/05/02(月) 11:59:16.00ID:+O8kf58HM
c++が暴力的で血生臭いのは同意
0055風吹けば名無し
垢版 |
2022/05/02(月) 12:01:12.83ID:qdjsliRGd
>>52
でもこの時代の名は「Rust」だから……
0056風吹けば名無し
垢版 |
2022/05/02(月) 12:03:10.07ID:Evrf7pNx0
10年前にアイホンアプリ作ってた頃はObjective-C使ってたけど今書いてるやつってほぼおらんしょ
0057風吹けば名無し
垢版 |
2022/05/02(月) 12:06:40.19ID:t39D2eZm0
ある日objCやることになったけどクソ読みづらくてブチ切れそうやったわ
0059風吹けば名無し
垢版 |
2022/05/02(月) 12:10:22.71ID:O76dQK4wa
一時期流行りかけて一瞬で廃れた言語やん
Rubyと一緒に滅べ
0060風吹けば名無し
垢版 |
2022/05/02(月) 12:13:21.93ID:evrWG2080
言語は高級になればなるほど見やすくて綺麗には決まってんだよな
ただ遅くなったりするだけで
バランスがいいのは今はrust、go、pythonとは思う
関数型はよぐわがんにゃい
0061風吹けば名無し
垢版 |
2022/05/02(月) 12:14:53.43ID:5UcdJy3ld
ぱっと見C♯と同じやん
0062風吹けば名無し
垢版 |
2022/05/02(月) 12:14:58.07ID:4HQOBGO/0
中括弧で改行するやつ嫌いやわ
0063風吹けば名無し
垢版 |
2022/05/02(月) 12:15:00.51ID:Evrf7pNx0
関数型とか誰がどういう時に使うねん
0064風吹けば名無し
垢版 |
2022/05/02(月) 12:15:25.38ID:xbyOYERV0
Cだろ
0065風吹けば名無し
垢版 |
2022/05/02(月) 12:18:40.11ID:NskWYT7N0
見やすさ重視とかいってnullcheckすらまともにしてないクソコードはワイ的には汚い
うんこ以下の汚物や
0066風吹けば名無し
垢版 |
2022/05/02(月) 12:18:41.70ID:wgoIjEc+a
今の言語って全部Javaの派生みたいなもんやろ
0067風吹けば名無し
垢版 |
2022/05/02(月) 12:19:51.85ID:wgoIjEc+a
>>65
考えなきゃいけないことを考えてないだけのコードって全然きれいじゃないよな
0068風吹けば名無し
垢版 |
2022/05/02(月) 12:20:31.98ID:NskWYT7N0
>>62
何言ってんだこのガイジ関数とか全部1行で書くのか?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況