X



【朗報】世界一美しいプログラミング言語が見つかる
■ このスレッドは過去ログ倉庫に格納されています
0001風吹けば名無し
垢版 |
2022/06/11(土) 04:28:02.43ID:Fx13NaBr0
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/06/11(土) 04:28:40.57ID:Fx13NaBr0
クラスからメソッドを呼び出す過程です。

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

1 hello->SayHello();


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

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

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

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

1 [ hello SayHello ];


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

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

helloからは銃器や刃物に該当するものは出ていません。
ここで重要なファクターを秘めているのが大括弧です。
"hello"と"SayHello"を器のような形状の物で優しく包みます。
0003風吹けば名無し
垢版 |
2022/06/11(土) 04:29:20.75ID:Fx13NaBr0
ではObjective-Cのクラス宣言を見てみましょう。
1 @interface Hello : Object
2
3 -init;
4 -(void)SayHello;
5
6 @end


@interfaceと@endで囲まれた中にメンバを宣言して行きます。
これを私の"外見から得たイメージ図"で表現すると右記(fig2)のようになります
C++の暴力的で閉鎖的な外見とは対照的に丸みを帯びた柔らかい外見的印象を受けます。
ここで重要な役割を果たしているのが"@"です。
元々円に近い形の"@"で天地を囲むので柔らかく明るい印象のソースに仕上がります。
0004風吹けば名無し
垢版 |
2022/06/11(土) 04:29:38.71ID:1Z0SAk7s0
ちょっとなにいってんのかわかんないです
0005風吹けば名無し
垢版 |
2022/06/11(土) 04:29:50.34ID:G027SifE0
ちなイッチはばちゃ豚や

【悲報】姫森ルーナさん
1 :風吹けば名無し[]:2022/06/11(土) 03:50:59.27 ID:Fx13NaBr0
https://i.imgur.com/YA4YAzc.gif
0006風吹けば名無し
垢版 |
2022/06/11(土) 04:29:58.47ID:ecB0Nzqn0
嘘つけ当初のsmalltalkの思想捨てたくせに
0007風吹けば名無し
垢版 |
2022/06/11(土) 04:30:32.25ID:Fx13NaBr0
クラスメンバを宣言したらメンバを実装しなくてはなりません。
ここが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個の"黒点"が均等に並んでいます。
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
:: :: :: :: :: :: :: :: :: :: :: ::
殺戮凶器に昆虫の大群です。
不気味極まりないですね。
考えているうちに寒気がしてきました。
0008風吹けば名無し
垢版 |
2022/06/11(土) 04:31:09.35ID:Fx13NaBr0
Objective-Cの場合は"@implementation~@end"句で天地を囲みます
囲まれた中にメンバを記述して行くのですが、"::"のような薄気味悪い記号はありません。

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

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

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

このように美しい外見をしているので、Objective-Cでのプログラミングは目に優しく
長時間のコーディングでも目に疲れを覚える事はありません。
もっとも、エディタの背景色を目に優しい色にしておかなければ目は疲れてしまいますが。
0009風吹けば名無し
垢版 |
2022/06/11(土) 04:31:28.18ID:5DnNpucYa
インタープリタは総じて汚い
0010風吹けば名無し
垢版 |
2022/06/11(土) 04:31:38.72ID:eVf24Ci70
print(hello)
0011風吹けば名無し
垢版 |
2022/06/11(土) 04:31:43.87ID:Qtu2H+N70
>>5
プログラマーなのでセーフ
0012風吹けば名無し
垢版 |
2022/06/11(土) 04:32:36.90ID:TvgnGs5M0
>>5
たれw
0013風吹けば名無し
垢版 |
2022/06/11(土) 04:32:54.34ID:hY6kwqUI0
姫森ルーナさん御本人である可能性
0014風吹けば名無し
垢版 |
2022/06/11(土) 04:34:04.17ID:r2Fr7soc0
Pythonとかいう見た目も機能も汚い言語がチヤホヤされてる理由
0015風吹けば名無し
垢版 |
2022/06/11(土) 04:35:13.75ID:5DnNpucYa
>>14
ライブラリやないの?
0016風吹けば名無し
垢版 |
2022/06/11(土) 04:35:32.81ID:Om0sRkhjd
旧日本軍のくだりいる?
0017風吹けば名無し
垢版 |
2022/06/11(土) 04:37:28.03ID:sbiGKxvmr
メッセージ式悪くないけど
そもそも動的な時点で終わっとる
0018風吹けば名無し
垢版 |
2022/06/11(土) 04:37:33.53ID:+B4uGZdK0
サイト作りたいんだが何から勉強すればええ?
Twitterのバズ画像まとめたいんやが
css&htmlとwebデザインって本読んでちょいとプログラミングしたが
ソフト使ってやっただけだからなにからはじめたらいいのかわからん
0019風吹けば名無し
垢版 |
2022/06/11(土) 04:40:22.76ID:WnIGP3tq0
Appleのアプリなんかはこれで書かれてるんやっけ
0020風吹けば名無し
垢版 |
2022/06/11(土) 04:41:38.50ID:f1qw63MZd
>>18
ほんまに何も分かってないなら取り敢えずLinuxからや
0021風吹けば名無し
垢版 |
2022/06/11(土) 04:42:45.73ID:+B4uGZdK0
>>20
linuxってOSやろ?ワイはwindowsや
サイト作りたいだけ
0022風吹けば名無し
垢版 |
2022/06/11(土) 04:43:52.14ID:Qtu2H+N70
>>21
うーんこの
0023風吹けば名無し
垢版 |
2022/06/11(土) 04:45:12.09ID:f1qw63MZd
>>21
その答えが聞けて良かった
お前は間違いなくLinuxコマンド覚えるところからや
基本的にウェブサイトはLinux(ベースのDockerコンテナ)で動いてるから
0024風吹けば名無し
垢版 |
2022/06/11(土) 04:45:55.64ID:A9v9iImK0
>>18
htmlとcssはベースやな
あとはapacheとphpでネットに転がってるソースとにらめっこしながら欲しい部分だけ抽出して、自分の環境に即して試行錯誤しながら組み換えればそれなりのものはできるで
0025風吹けば名無し
垢版 |
2022/06/11(土) 04:46:07.01ID:S5XcWpz0M
言うほどLinuxから始めるか?
普通に好きな言語のチュートリアルから始めたらええ
環境構築からまとめてくれているサイトあるやろ
0026風吹けば名無し
垢版 |
2022/06/11(土) 04:46:47.78ID:+B4uGZdK0
CSSとHTML勉強すればサイト作れるんやろ?
WordPressってのもあるみたいやが
0027風吹けば名無し
垢版 |
2022/06/11(土) 04:47:45.32ID:+ZTFj94+0
>>18
ホームページビルダーでも使ってろよ
0028風吹けば名無し
垢版 |
2022/06/11(土) 04:49:15.04ID:wzcyfekG0
懐かしいネタやな
今のObjCはジェネリクスもあるしマジで魔境や
0029風吹けば名無し
垢版 |
2022/06/11(土) 04:50:58.75ID:Kgz5GeJy0
>>23
はぇ~
0031風吹けば名無し
垢版 |
2022/06/11(土) 04:56:21.21ID:+B4uGZdK0
htmlとCSSとかの他にphpとかを組み合わせてサイト作るのか?
ひとつの言語じゃないと競合とかしそうだと思ってたわ
0032風吹けば名無し
垢版 |
2022/06/11(土) 04:57:29.19ID:A9v9iImK0
phpでツイッターapiを叩く方法を解説してるところもいっぱいあるからひたすらググってはコピペしてエラー吐いたらまたググるの繰り返しやで

PHP: ツイッターAPIを使用してツイート収集を行う。PHPの方が理解しやすい説
https://pqtomblog.com/2018/06/19/collect_tweets_by_php/

【2022年最新版】PHPでTwitter API v2を使いツイートを検索して表示するまでの全手順まとめ
https://labo.kon-ruri.co.jp/twitter-api-v2-search-tweets/
0033風吹けば名無し
垢版 |
2022/06/11(土) 05:00:17.04ID:+B4uGZdK0
あそうだ重要なこと聞くの忘れてたんだが
レンタルサーバー借りて無の状態のサイトをどう整地するの?
FC2とかライブドアブログみたいにログインしていじるフォーマットもないし
0034風吹けば名無し
垢版 |
2022/06/11(土) 05:02:38.19ID:+SBtAYQIp
文系プログラマっぽい
0035風吹けば名無し
垢版 |
2022/06/11(土) 05:03:51.27ID:A9v9iImK0
>>31
同じweb開発言語でもphpならサーバーサイドで処理するのが得意やしJavaScriptはクライアントサイド側がメインや
どの言語の一長一短で適材適所やから役割決めて使えば競合とかあんまり気にせんでええで
0036風吹けば名無し
垢版 |
2022/06/11(土) 05:04:47.85ID:A9v9iImK0
>>33
apacheっていうwebサーバソフトを使うんやで
0037風吹けば名無し
垢版 |
2022/06/11(土) 05:05:31.19ID:+B4uGZdK0
もう一個
プログラミングソフト使ってプログラミングすると思うんだけど
言語はタブとかで使い分けるんだよね?
c言語でプログラミングして~とかCSSとかphpとかで
そこをどうまぜるかがわかなンねんな
0038風吹けば名無し
垢版 |
2022/06/11(土) 05:05:41.66ID:AtH36LvX0
逆に世界で1番汚い言語はJSでええか?
0039風吹けば名無し
垢版 |
2022/06/11(土) 05:06:50.81ID:A9v9iImK0
>>37
単純に言語毎にファイルを分けて最後にhtmlでまとめて呼び出すイメージやな
0040風吹けば名無し
垢版 |
2022/06/11(土) 05:09:40.55ID:m9yT/8X4M
HTMLコーダー人口減らないの奇跡だよな
フロントエンドマジでつまんな過ぎて書いてて苦痛なんだけど
0042風吹けば名無し
垢版 |
2022/06/11(土) 05:12:03.27ID:kJAJHuyQa
>>41
日中まともに働いてるなら半年かかると思え
0043風吹けば名無し
垢版 |
2022/06/11(土) 05:12:40.90ID:A9v9iImK0
あとレンタルサーバ使うなら>>23が言ってた通りlinuxも勉強せなあかんと思うで
個人的にオススメなのは月額払ってレンタルサーバ契約するよりもラズパイとかジャンクノートにlinuxとapache突っ込んでローカルに鯖立てて実験するのが安上がりやと思う
0044風吹けば名無し
垢版 |
2022/06/11(土) 05:15:07.92ID:A9v9iImK0
>>41
1日何時間取れるか知らんけどまぁワイも半年目安やと思うで
あとは根気次第やな
0045風吹けば名無し
垢版 |
2022/06/11(土) 05:16:33.64ID:+B4uGZdK0
>>42
ニートやから数ヶ月か?
てかそんなかかるんか結構シンプルなサイトやが

〈br〉改行くらいしか覚えとらんけそんなもんか
0046風吹けば名無し
垢版 |
2022/06/11(土) 05:18:53.78ID:AtH36LvX0
サーバー立てるとかめんどくさいだろ
いい感じのサイトchromeで開いて開発者ツール開いてhtmlコピーしてメモ帳にペーストして適当に書き換えて保存してchromeでそのファイル開くくらいで満足するやろ
0047風吹けば名無し
垢版 |
2022/06/11(土) 05:20:55.19ID:eVf24Ci70
>>42
>>44
だいぶ単純そうに見えるけどそんなかかるん?
0048風吹けば名無し
垢版 |
2022/06/11(土) 05:21:50.16ID:+B4uGZdK0
鯖立てるのめんどいんかなら何で作ればええんや
絶対条件はURLにfc2とかlivedoorとか入れないで.comか.jpで終わらせたい
WordPressって知ってるニキはおらんのか
あれはURLどうなるんや
0049風吹けば名無し
垢版 |
2022/06/11(土) 05:22:51.93ID:w1WIe0hf0
Brainfuck見せたろか
0050風吹けば名無し
垢版 |
2022/06/11(土) 05:23:42.86ID:Tarc13j+0
objective cってマジで構文からしてちんぷんかんぷんやわ
受け付けないし
0051風吹けば名無し
垢版 |
2022/06/11(土) 05:24:25.36ID:m9yT/8X4M
鯖なんて用意の仕方は無限にあるんやから最後に気にしたらいいだろ
どうせ挫折するんだし無駄な労力と金使う前にさっさとコーディングしろ
0052風吹けば名無し
垢版 |
2022/06/11(土) 05:26:24.74ID:A9v9iImK0
>>47
linuxググりながらaptget updateとupgradeしてapacheとphpと突っ込んだら多分次はポート開放やらchmodやらで躓くやろうしそこ突破してやっとhtmlを表示できて次はphpの勉強しながら何度も試行錯誤するからまぁ地味にかかると思う
0053風吹けば名無し
垢版 |
2022/06/11(土) 05:27:53.92ID:W6pBVaJMr
>>52
なんかほんとに詳しい人きた
0054風吹けば名無し
垢版 |
2022/06/11(土) 05:28:44.73ID:AtH36LvX0
サーバーなんてherokuにでもぶち込んどけや
なんで初心者にOS選定からミドルウェア選定とかネットワークの設定までさせようとすんねん
■ このスレッドは過去ログ倉庫に格納されています

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