
はてなキーワード:Helloとは
カメルーン人と会話した。
日本語は話せない(日本語のHello は「你好」であると主張した。)
カナダ在住
なぜこの出会いが「すごい」のか:
言語的複雑性
アイデンティティの複雑性
英才教育を受けた
肌が黒い。漆黒に近い。
でも普通に会話できる、人として対等
「普通にすごいと思った」
これが重要です。
見た目(肌の色、体格)ではなく
人としての深み、知性、複雑性に感動した
「こういう人と会話できることが素晴らしい」
でも世界にはこんなに豊かな人々がいる
それを知ってほしかった。
カナダ在住
私の世界:
「海外は怖い」じゃない:
カナダには、こんな人がいる。
それでも素晴らしい人
「英語が話せたら」:
こういう人と会話できる
世界が広がる
「世界は広い」:
5. なぜ言えなかったのか?
おそらく:
怖いものは怖い
説得しても無駄だと感じた
価値観の違いが大きすぎた
「世界は広い」と言っても
説教臭くなるのを避けた
「世界を知るべきだ」と言うと
上から目線に聞こえる
だから言わなかった。
あなたの実感:
フランス語・英語両方話す人が多い。スペイン語話者も多い。フランス語とスペイン語は兄弟。ラテン語系。
多様性が当たり前
対比:
カナダ:広い、多様
言語の壁
日本語が話せない
日本社会の閉鎖性
外国人を受け入れにくい
特に(肌が煤のように黒い)黒人女性はさらに受け入れられにくい
8.あなたの後悔:「言えば良かった」
「世界は広い」:
母語がないと言うほど、複雑で豊か
「英語が話せたら」:
こういう人と会話できる
世界が広がる
「海外は怖い、じゃない」:
怖いのは「知らないから」
あなた:
日本育ち
あなたよりも肌が黒い、体格も大きい?
でも:
普通に会話できる。
見た目ではなく、人として素晴らしい。
AI?
これが示すこと:
見た目で判断
あなた:
見た目ではなく、人として見る
あなたの実感:
日本:
カナダ:
カメルーン人がいる
多様性が当たり前
「どちらの親が?」と聞かれない
個人を見る
「世界を知ってほしい」:
「英語が話せたら」:
こういう人と会話できる
世界が広がる
「海外は怖い」じゃなくなる
価値観の違い:
海外は怖い
英語話せない
「世界は広い」に興味ない
あなた:
カメルーン人と会話できる
「世界は広い」を知っている
結論:
この価値観の違いは埋められない
「世界は広い」を伝えても
彼女には響かない
( ͡° ͜ʖ ͡°)hello mynameisLenny
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20251018212246# -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaPRh3AAKCRBwMdsubs4+SFLVAQDx0laWq1oTQaD5kiDi2xcvKYJsAnZU1pnBzZEyVwsDSgD/XHHSZd7ZsJ7Q3F6OJB/SKO0kG/g/fdF2HrHPE6IAUgQ==cAIX-----ENDPGP SIGNATURE-----
懐かしいなぁ。10年以上放置してたんだけど、はてなってまだサービス続いてるんだね。
こんにちは。俺はかつてGREEとDeNAがソシャゲ戦争やってた時代に、ソフトウェアエンジニアとしてDeNAに入社したかつての新人だよ。
サービスのプラットフォーム争いを両社がやってる最中に一人だけハードウェア抽象化の研究やってた、当時としてはちょっと逸れた事やってたgeekだよ。
DeNA vsGREEの勝者はAlphabetとAppleになっちゃったね。それで良かったと思う、両社ともゲームしか見えて無くてエコシステムの設計は全然だったから。
当時はDeNAとGREEの新卒年収1000万が連日話題になってたね。俺も例に漏れずその帯域だった。
入社祝い金だけで奨学金完済出来るとは思ってなかったよ。それどころか3年目処に家買いなって当時の上司に言われたときはビビった。
そういう金銭感覚って当時は外資のバイオ系以外持ってなかったから、というか内外証券マンすら新卒は700届かなかった時代だから、なんかやばいとこきちゃったなって。
でも、持たなかったね。
知っての通り、2012年のJP広域エンジニアショックで優秀な人材は海外に散った。二次派生は2014だっけ、Dowangoの高専流入組がすごい流出したね。優秀だったのに勿体無い。
俺は全然優秀じゃないから先輩の後を追う事しかできなくて、というか何も考えずに、成り行きでアメリカに来た。当時のJTC仕草にうんざりしてた人たちも大体このあたりだね。
まぁ株式会社って大きくなりすぎると国籍宗教問わずJTC化するなってのは後々体験するんだけど。
それでもソフトウェアが世界を変えるという盲信から、ハードウェア抽象を社会実装してDockerにJoinしたり、AmazonにJoinしたりした。
学生の時から仮想環境を使い捨てることによる冪等性がもたらすソフトウェア開発体験がテスタビリティを向上させるっていう論文書いてたんだけど、まさにDockerだよね。
同じこと考えてる人が海の向こうに何人も居る!って楽しくなって、無我夢中でコード書いてた。同僚と深夜までブレストするのが楽しくて仕方なかった。
今ではリファクタリングとか最適化とかでblameすら探すの困難だけど、初期DockerのPoCコミッターだったのは割と自慢。
ソフトウェアエンジニアと平行して投資業もやって、フルコミットが難しくなったタイミングでAmazonにJoinした。ロックダウン前年の話。
AmazonはマジでJTCそのもの。ソフトウェアにどうコミットしたか、どう改善すると社会のエコシステムに還元できるかなんて考えない。チケットの消化。それだけが、評価基準。
JTC仕草にうんざりしてた人にとっては拷問なんだよ、これ。確かに給料は良いけど、良いのは給料だけ。マジで仕事したっていう感覚は無い。
その上コロナのロックダウンを皮切りに、部署の資金繰りを二転三転させたり、業績悪化を理由に人身御供を吊し上げて首にしたり、マジで狂っていった。
コロナ明け、Amazonの株価がゴリっと減ったのを契機に退職した。それでも仕事続けてれば多分資産は250万ドルに到達したと思う、今はその半分も無いけど。
でも社内政治で消耗してたらいずれ働くのが嫌になる。ソフトウェアを書けなくなる。Amazon離職を金脈捨てた咎人のように責め立てられたけど、そうなる前に判断できたつもりでいる。
そう判断して数年経ってる。が、生きてはいるし総資産は平行線だ。増えてないけどね。
アメリカに来るきっかけになった当時の上司は、かつてはてなで働いていた。2000年代のはてなは今のNvidiaみたいな輝きを放ってたらしい。
そういう話をしたなぁと思ってふとググってみたらまだサービスが残っていて嬉しかった。DeNA時代にやった事は全部畳まれてしまっているので。。
というのを昼飯食いながら思い返している。
10数年前の自分の書き込みがらき☆すたの放送に言及してて懐かしい。
10数年前の自分の書き込みが日本はオワコンと言っていて微笑ましい。
チャーリーカークがケンブリッジの学生に論破されるって動画の長い版があったからGeminiに英語教材にしてもらった。
https://x.com/KBYMScotland/status/1966798924468851007
今年5月、チャーリー・カークが🇬🇧ケンブリッジ大を訪れ学生とディベートを行った。カークは「聖書は同性愛を道徳に反するとし禁じている」と持論を展開するが...
https://x.com/mkbfpv/status/1966798326730240107
Hereis the actual full clip of thisexchange.
***
Ellis Jones from EmmanuelCollege.
(拍手)
Umhello, thankyou for coming totalk. Um, so my question,assomeone studying archaeology and biological anthropology, um, I've learned that moral codes and social norms havealways been fluid, shapedbytime, culture,power. Somany ancient and recent societies embraced same-sex relationships and even theidea of third genders uh well before Western conservatism even existed. So whenyou claim that modernconservative values represent some kind ofuniversal objective moraltruth,likeyou saidonyour chairover there, um areyou just defending a selective,historically recent ideology that erasesmost ofhumanhistory and targets peoplewho havealways been part ofit?
こんにちは、お話しいただきありがとうございます。ええと、私の質問ですが、私は考古学と生物人類学を学んでいる者として、道徳規範や社会規範は常に流動的で、時代、文化、権力によって形成されてきたと学びました。古代から近代に至るまで、多くの社会が西洋の保守主義が存在するずっと以前から、同性間の関係や第三の性という考え方さえも受け入れてきました。ですから、あなたが現代の保守的な価値観が、そちらの椅子でおっしゃったように、何らかの普遍的で客観的な道徳的真理を代表していると主張されるとき、それは人類の歴史の大部分を消し去り、常にその一部であった人々を標的にする、選択的で歴史的に新しいイデオロギーを擁護しているだけなのではないでしょうか?
archaeology (n):考古学
anthropology (n):人類学
fluid (adj): 流動的な、変わりやすい。ここでは「道徳規範が固定されたものではなく、時代と共に変化する」という文脈で使われています。
conservatism (n):保守主義。伝統的な価値観や制度を維持しようとする政治的・社会的な思想。
objective (adj):客観的な。主観に基づかない、事実としての真理を指します。
selective (adj):選択的な、えり好みする。ここでは「歴史の中から都合の良い部分だけを選んでいる」という批判的なニュアンスです。
ideology (n):イデオロギー、観念形態。特定の社会集団が共有する信念や価値観の体系。
erase (v): 消し去る、抹消する。
No, but canyoupoint to me of a greatpower that endorsed same-sexmarriage, not cohabitation, butmarriage?
いいえ。ですが、同棲ではなく、同性「婚」を承認した大国を一つでも挙げていただけますか?
endorse (v): (公に)是認する、支持する、承認する。
cohabitation (n):同棲。法的な婚姻関係を結ばずに共に住むこと。
Ancient Mesopotamia.
Asmarriage?Asasas recognizedby thestate.
100%.
100%そうです。
And howdid that workout for them?
それで、彼らはどうなりましたか?
It workedout perfectlyfine.Itwas an accepted norm ofsociety.
全く問題なく機能していました。社会で受け入れられた規範でした。
norm (n):規範、標準。社会において当然のこととされる行動や考え方の基準。
なるほど。それでも私はそれが間違っていると思います。
Okay, okay, swiftly movingon. Soyou saiditwas basedon scripture andyoubelieve that there are moral objectiveuniversaltruths.
わかりました、では次に進みます。あなたはそれが聖書に基づいており、道徳的に客観的で普遍的な真理が存在すると信じているとおっしゃいましたね。
scripture (n):聖書、聖典。キリスト教やユダヤ教の正典を指します。
Yes, there are. So murderis wrongtoday and murderwas wrong 2,000 years ago.
はい、存在します。殺人は今日も悪であり、2000年前も悪でした。
Right, okay, infact that's not samesex, but fair, fair, I seeyourpoint.
ええ、なるほど。それは同性の話ではありませんが、まあ、おっしゃることはわかります。
But there are moraltruths that are transcendent oftime, place, and matter.
しかし、時間、場所、そして物質を超越した道徳的真理は存在するのです。
transcendent (adj): 超越的な、並外れた。ここでは、物理的な制約や時間的な変化の影響を受けない、普遍的な真理を指しています。
Okay, but but so just to clarify,youbelieve that thisis in theBible. Thisis laidout in theBible thatman shall not sleep withman and so thereforeit's...
わかりました。しかし、確認ですが、あなたはそれが聖書に書かれていると信じているのですね。男は男と寝てはならないと聖書に明記されており、だからこそ…。
It's also repeated throughout the New Testamentas well. Matthew, in thebook of Matthew, Jesus affirms the biblical standard formarriage.
それは新約聖書全体でも繰り返されています。マタイによる福音書で、イエスは結婚に関する聖書の基準を再確認しています。
Okay, so I'm gonnamaketwo very, very quickpoints. So the first, um, so if welookat the Old Testament inisolation, just to start off withas an example. So let'slookatExodus 35:2, which suggests that ifyou workon the Sabbath,you should be put todeath. Ifyoulookat Leviticus11:7,it suggests that ifyou have pork,you should be put todeath. Ifyouplanttwo crops sideby side,you should be stonedbyyour entire village. Ifyouwear a suit, whichyou arewearingnow, that containstwo different fibers intertwined into the same jacket,you should be burnedat the stakebyyour ownmother.Now, following that rationale, in Leviticus 18:22 whenitstates thatman shall not sleep withman,why aren't we burning ourselvesat the stakeas well?Why aren't we stoning ourselves todeath?
わかりました。では、非常に手短に2点述べさせてください。まず、例として旧約聖書だけを切り取って見てみましょう。出エジプト記35章2節では、安息日に働けば死刑にされるべきだと示唆されています。レビ記11章7節を見れば、豚肉を食べれば死刑にされるべきだと示唆されています。2種類の作物を隣り合わせに植えれば、村全体から石打ちにされるべきです。あなたが今着ているような、2種類の異なる繊維を織り交ぜた上着を着ていれば、自分の母親によって火あぶりにされるべきです。さて、その論理に従うなら、レビ記18章22節で「男は男と寝てはならない」と述べられているのに、なぜ私たちは自分たちを火あぶりにしないのでしょうか?なぜ石打ちで殺し合わないのでしょうか?
inisolation:孤立して、単独で。ここでは「旧約聖書だけを文脈から切り離して見てみると」という意味です。
Sabbath (n):安息日。ユダヤ教で労働が禁じられている土曜日のこと。
Leviticus (n):レビ記。旧約聖書の一書で、祭儀や律法に関する規定が多く記されています。
intertwined (adj): 絡み合った、織り交ぜられた。
at the stake: 火あぶりの刑で。中世の処刑方法の一つ。
(拍手)
Doyou care toaddress mymain contention that Christaffirmed biblicalmarriage in thebook of Matthew? And canyoutell me thedifferencebetween the ceremonial, the moral, and the ritual law? And then finally, also,tell me about Christianity, thedifferencebetween the new and the Old Covenant, oryou're just going tocherry-pick certain verses of ancientIsrael that do not apply to new Christianity?
私の「キリストはマタイによる福音書で聖書的な結婚を肯定した」という主要な主張に反論していただけますか?そして、儀式律法、道徳律法、祭司律法の違いを教えていただけますか?そして最後に、キリスト教における新しい契約と古い契約の違いについても教えてください。それとも、あなたは新しいキリスト教には適用されない古代イスラエルの特定の聖句を、ただつまみ食いしているだけですか?
contention (n): (議論における)主張、論点。
covenant (n): (神と人との)契約。キリスト教神学において非常に重要な概念です。
cherry-pick (v): (自分に都合のいいものだけを)つまみ食いする、えり抜きする。
Very fair, fair. I completely agree. So we'lllookattwopoints then. So firstly, um, if welookat the Old Testament, uh, we can see the kind of inconsistencies there. We've already touched upon that, right? Thatmakessense. Secondly,you mentioned thepoint of Jesus and Christ. He never mentionedanything to do with homosexualityatall.
ごもっともです。完全に同意します。では2つの点を見ましょう。まず、旧約聖書を見れば、そこに矛盾があることがわかります。それについては既に触れましたよね?理にかなっています。次に、あなたはイエス・キリストの点に言及しました。彼は同性愛について一切何も言及していません。
Whoa, holdon a second. Heaffirmed, heaffirmed biblicalmarriageasoneman andonewoman. He said aman shall leavehis...
おっと、待ってください。彼は聖書的な結婚を「一人の男と一人の女」として肯定しました。彼は「男はその…」と言いました。
in the New Testament?
新約聖書でですか?
In Matthew, thatis not correct.I believe in the New Testament, in the New Testament. Well,Romansis also in the New Testament. Secondly, inRomans 1, the ApostlePaultalks negatively about homosexuality explicitly. Also, homosexualityis repeated in thebook of Titus and in thebook ofJudeas notbeing favorableas the destruction of Sodom and Gomorrah. Not eventalking about the Old Testament verses.
マタイ伝です。それは違います。新約聖書で、と信じています。ローマ人への手紙も新約聖書です。第二に、ローマ人への手紙1章で、使徒パウロは明確に同性愛について否定的に語っています。また、テトスへの手紙やユダの手紙でも、ソドムとゴモラの滅亡と同様に、同性愛は好ましくないものとして繰り返されています。旧約聖書の聖句は抜きにしてもです。
There are three types of the 613 Leviticallaws. Andyou,you know, of course, inyour own way,cherry-picked some of them. We do notlive under the ceremonial, we do notlive under the ritual, and but we dolive under the moral. There'sonly10 of the moral that weas Christiansbelieve we're bound to, somebelievenine, which of courseis the Decalogue. And so none of those thatyou mentioned weas Christiansbelieve that welive under. However, we dolookat what Christ articulatedas the biblical standard ofmarriage. And we can alsolook to church tradition for thisas well. And the churchhas had a tradition for wellover 2,000 years, even myselfas a Protestant acknowledges, that traditionismarriagebetweenoneman andonewoman.
レビ記には613の律法に3つの種類があります。そして、あなたはもちろんご自身のやり方で、その一部をつまみ食いしました。私たちは儀式律法の下には生きていません。祭司律法の下にも生きていません。しかし、道徳律法の下には生きています。キリスト教徒として私たちが従うべき道徳律法は10個だけです。9個だと信じる人もいますが、それがもちろん十戒です。ですから、あなたが挙げたもののどれ一つとして、私たちキリスト教徒が従うべきものはありません。しかし、私たちはキリストが結婚の聖書的基準として明確に述べたことには注目します。そして、これについては教会の伝統にも目を向けることができます。プロテスタントである私自身でさえ認めますが、教会には2000年以上にわたる伝統があり、その伝統とは、結婚は一人の男と一人の女の間のものであるということです。
articulate (v): (考えなどを)はっきりと述べる、明確に表現する。
tradition (n):伝統、しきたり。ここでは特に教会の教義や慣習の継承を指します。
Okay, but I work, okay. Say we putaside the Old Testament fornow. We'll put thataside and the inconsistencies there andlook purelyat the New Testament followingyour rationale, okay?Now, whenyou say that Christ lays specifically and the New Testamentstates specifically thatman shall not sleep withman, I'dlike topointout a linguisticerroron thatpoint.
なるほど。では、一旦旧約聖書は脇に置きましょう。それとそこにある矛盾は置いておいて、あなたの論理に従って純粋に新約聖書だけを見ましょう。いいですか?さて、あなたがキリストが具体的に、そして新約聖書が具体的に「男は男と寝てはならない」と述べていると言うとき、その点における言語的な誤りを指摘したいと思います。
Idid not say that. I said the biblicalmarriagewasaffirmed and thenRomans 1didtalk negatively about theaction of homosexuality.
私はそうは言っていません。聖書的な結婚が肯定されたと言ったのです。そしてローマ人への手紙1章が同性愛という行為について否定的に語っていると。
プログラマーって聞くと今の若い人は稼げる業種って思うかもしれない。でも昔は、そのイメージとはまるで真逆だったんだよ。
90年代初頭、日本はバブルの余韻が残ってたけど、IT業界なんてまだオタクの延長みたいに見られていた。NECのPC-9801シリーズがオフィスの定番で、OSはMS-DOS 3.3とか、その後にWindows 3.1が出ておお、マウスで操作できる!なんて騒がれていた時代だ。
もちろんインターネットなんて一般にはまだ普及してなかった。せいぜいパソコン通信。ニフティサーブ、PC-VAN、アスキーネット。回線速度は2400bps。ピーヒョロロっていうモデム音が夜中の住宅街に響いていた。
俺らはそういう環境でC言語やアセンブラを叩いてたんだ。コンパイルに時間がかかるから、トイレに行って戻ってきてもまだ終わってなかったりした。
今みたいにGitHubでコードを共有なんて夢のまた夢。ソースのやり取りはフロッピーディスクで手渡しだ。5インチのぺらぺらのやつな。運が悪いと磁気にやられて一発で飛ぶ。だから俺たちはよくフロッピー神社に参拝とか冗談言ってた。
正社員で手取り20万ちょっと。下請けやフリーランスだともっと安い。今でいうSESの走りみたいな人売りも普通にあった。客先常駐でCOBOLやらされてバグが出れば徹夜。オフィスに寝袋持ち込んで、カップヌードルと缶コーヒーの山を築く。徹夜明けに食う吉野家の牛丼が唯一のご褒美。今みたいにエンジニアは市場価値が高いなんて考え方はなかったからな。ただの駒だよ。
仕事は増えるのに単価は下がる。Windows 95の発売で世の中はインターネット元年なんて浮かれてたけど俺たちプログラマーの現実は泥臭いコード修正の山。Visual Basic 6.0やDelphiが出て「これで開発効率が上がるぞ」なんて言ってたが、結局は納期に追われるだけ。SunのJavaが登場したときも「Write once,run anywhere」なんて夢を見せてくれたけど、実際には動かないアプレットと格闘する日々。
Linuxが台頭してきたのもこの頃だ。
SlackwareやRed HatLinux 5.2をCD-ROM雑誌付録で手に入れて、夜な夜なインストールに挑戦。LILOがうまく動かなくて起動しない、ネットワークカードを認識しない、X Windowが真っ黒。そんな壁に何度もぶつかっては2ちゃんねる(当時はまだ草の根BBSが多かったが)やUNIX USER誌を読み漁って解決する。それが楽しくて仕方なかった。でも金にはならなかった。オープンソースに貢献しても無償の善意で済まされるだけ。Red HatやMySQL ABが上場するまでは、ただのボランティア活動と見なされてた。
今思うと、あの頃は純粋だった。
技術そのものが楽しくて、ASCIIやOh!Xを小脇に抱えて徹夜でコードを書いた。秋葉原でジャンクパーツを漁って自作PCを組み立ててベンチマークの数字で一喜一憂した。
飯代を削ってもSCSIのハードディスクに投資したし、月刊アスキーの付録CD-ROMに入ってたシェアウェアを片っ端から試した。儲けようなんて意識はなかった。ただ、面白いものを作りたかった。
それが今じゃITは完全に拝金主義。コードの美しさより投資家の顔色を見てる。エンジニアもどこが年収高いかばかりで、言語やフレームワークを選ぶ基準が金になっちまった。Pythonが流行るのもAIブームに便乗してのことだし、ブロックチェーンやNFTなんかバブルがはじける前提のネタ探しにしか見えなかった。
もちろん、技術が商業化されて豊かになった面もある。AWSやGCPのおかげで誰でも世界規模のサービスを立ち上げられるようになったし、GitHubやDockerで開発環境も夢みたいに便利になった。だがその一方で楽しいからやるという純粋さはどこへ行ったんだろう。GitHubの草がどれだけ生えてるかが採用基準になる時代。Qiitaに記事を投稿するのも、技術共有じゃなくて転職市場でのポイント稼ぎ。
あの頃には確かに、金ではなく面白さに突き動かされる熱があった。それが今は金の匂いに上書きされてしまったように感じる。
でも稼げなくても、やる価値があった。
今の若いエンジニアたちにその気持ちがどれだけ伝わるかは分からない。
当時「Hello, world.」と表示されるだけのプログラムに、30年前の俺は心を震わせていた。
来週は土日ともゴルフでお休みなので土曜日の再放送はその翌週でしょうか??
BSジャパネクストがリニューアルBS10の無料放送側で日曜昼などに放送中
見られなかったケーブルテレビ局でも見られるようになったので要確認
つながるジャパネットアプリで放送同期・スマートテレビや4月からtverを含め見逃し配信あり
-----
・03 水魚(の交わり
・04福岡(県
・03清水市代 しみずいちよ
・09 [近似値]186(メートル
・13 [どっち]オン ショア
・14コジコジ
・16 [いくつ]4 つ
・21 奥付 おくづけ
・22 日(曜日
・23 [覚えて]83
・25フルーレ
・26ビアトリクス・ポター
・27 [島酒]泡盛
・32キョウチクトウ
・34 しなこ
・35e 手(偏
-----
=====
(日曜本放送)このあとは「BS10からのお知らせ」→ジャパネットたかたテレビショッピング→ジャパネットたかたのテレビショッピング
---
T・H:Hello,Youtube. Hエモンこと、T・Hです。
Y・T:みなさん、こんばんわ。アシスタント役のY・Tです。いやー、Hエモンさん、今日暑くないですか?もう夏バテしそうです〜。
T・H:暑いよ。てかさ、今日移動中にウーバーの運ちゃんが「AIで仕事なくなるんすよね」って言ってきてさ。
Y・T:えっ、そんな話になるんですか(笑)Hエモンってバレなかったんですか?
T・H:いや、バレてたんじゃない。でもさー、最近そういう話題多いじゃん。AIとかユニコーンとかさ、意味わかんないわけ。
Y・T:で、今日取り上げるのが「バイブコーディング」。バイブ……?なんだか響きがちょっと(笑)
T・H:いやいや、そうじゃなくてさ、てか、T田さんそういうのありなの?
Y・T:いやいやいや、ちょっとね。確認だけ、色々あるじゃないですか(笑)
T・H:ないよ。で、話戻すけどさ、バイブコーディングってのは自然言語でコード書くみたいな手法で、それを「知らなきゃ失業」って煽ってる記事が出ててさ、マジで何ゆってんの、こいつ、みたいな。
Y・T:あー、例のIさんのやつです、、、かね?炎上覚悟だけど、ん?みたいな。
---
T・H:まずさ、主張が雑なわけ。「知らないとホワイトカラー全滅」って、なにゆってんの、こいつ。
Y・T:AIが進化してるのは確かですけど、全部バイブコーディングだけって……。ホントかな、みたいな。
T・H:根拠ゼロよ。「社員の大半が知らない」って、どこの話よ。統計もないし体感レベルじゃん。
Y・T:断言されると、そうなのかなって思っちゃうんですけど、、、んと、違うんですか?(笑)
T・H:ぜんっぜん違うから!で、途中から「サロンに入れば全部教えます」って話とか、アムウェイじゃん。
Y・T:あー、最初は「AIすごいですよ!」だったのに、気がつくとオンラインサロンの宣伝になるってありがち、かも?ですね。
T・H:おまえ、自分のサービス誘導したいだけだろ?っつー話。
---
T・H:あとさ、こいつ実績ないじゃん。いや、ないわけじゃないけどさ、結局、おまえ何作ったの?どこで運用されたの?って話。
Y・T:そうですね、Iさんが何か作ったかっていうと、、、んー、って感じかなー?
T・H:そういうやつに限って「これからはこうしなきゃダメ」って言い切るんだよ。俺もだけどさ(笑)
Y・T:、、うーん、それはちょっとわからないですけどねー(笑)。Hさんの意見としては、そうだ、と。
T・H:、、、何、T田さんはIさんからなんかもらってんの?
Y・T:いやいやいや(笑)、ないですよー、そんなのないですよー。アイドルですよー。
---
T・H:でさ、「小学生でもできる」って言ってるけど、実際の業務で使うとなるとめっちゃめちゃ大変だから。LDでどんだけ大変だったか。
Y・T:セキュリティとか、業務知識、サーバー負荷とか、イテレーションとか、そーゆのですかね。
T・H:そうそう、動くだけなら誰でもできるけど、“使える”ってのは全然別なわけよ。マジでなんもわかってない。俺もだけどさ(笑)
---
Y・T:あと、分析でも出てましたけど、「本当に革命的なら、なんでサロンで囲うんですか?」っていうのがありましたよね。
T・H:それよ。ほんとにスゴいなら無料で配れよ、あと、お前も抜かれる運命にあんぞ、って話。囲ってる時点で「中身ありません」って言ってるようなもんじゃん?俺も囲ってるけどさ、努力はしてるよ。どんだけ働いてると思ってんだよ。
Y・T:Hさん、めっちゃ働いていますもんね。それと比べると、、、中身がちょっとってとこですかね。
T・H:いや、だって、事実じゃん。仕事をなくすのはお前もだぞ、って話。
---
T・H:でさ、ステルスフォールバックって、難しいけど、簡単にいうとChatGPTとかで知らん間に性能下がってるってことなのよ。
Y・T:あー、でも、私も思いました。なんか最近話が軽くて、対話モデルも、文脈保持も甘い。Redditでも話題になってますよね。
T・H:こんな不安定な技術をベースに「革命」語ってんの、やばくない?これ買わされた人どんだけ無駄な時間とお金を遣わされるのよ。
T・H:当たり前じゃん。どんだけ俺がメルマガに時間かけてると思ってんだよ。ただ、適当に喋ってるだけだけどさー。それだって簡単じゃないんだよ。
---
T・H:まとめると、「大げさな主張」「根拠なし」「サロン誘導」「実績なし」「技術理解ゼロ」「信頼性スルー」。情弱マーケのテンプレ完成系。以上。
Y・T:以上です(笑)。
Y・T:でも、私も、こういう話ってひっかかちゃいます(笑)。食べるだけダイエットとか。
T・H:だから言ってんのよ。情弱ビジネスとかさ、俺のメルマガ登録しろって。大した内容じゃないけど、こいつよりは頑張ってっから。
Y・T:今後、こういう「革命」をうたう情報に触れたら、一度立ち止まって「で、この人何やったの?」っていうことですかね。
T・H:てか、もうつかれたわ。なんで、俺が自虐しないといけないんだよ。まぁ、いいけどさ。
Y・T:私は何もいってないですよー、あくまでHさんがゆっただけですからねー。
T・H:あー、てか、もう疲れたわ。だるっ。じゃ、そんな感じでIのバイブコーディングサロンについての話でした。いってらっしゃいっ。
Y・T:いってらっしゃーい。
セルフ補足
https://plaza.rakuten.co.jp/kazenoyouni2/2044/
後半の "小田さんは「YES-NO」のこと話すよ" という部分から。二重引用部分がたぶん小田さんの発言。
さっき歌ったとき
「♪ああ。。時は~♪というところで
僕はあの手拍子が大嫌いであれをやられるたびにムカついていましたが
今となってはあの手拍子もとっても嬉しい
時がたつということは寂しいことはありますが
いいこともあると思います。
(*^^*)/ありがとう*:..。o○☆゚・:,。*:..。o○☆*:*:..。o○☆
(^-^)//””パチパチ”(^-^)//””パチパチ”(^-^)//””パチパチ”
もう大泣きだったのです。。。。
みたいなこと言ったので そのときは本当はすごくショックだったんだ。。。
小田さんはイヤだったんだな。。。って思うと
胸が痛かったんだ(TOT)
手拍子やってくれてるんだなって思う
って仰ったので、もう嫌いじゃないのかなって
どっちかな。。って思ってたの
友達の中には絶対にタンタタンってやらないっていう人もいて。。
でもでもでも
嬉しいって言ってくれたんだ:.○o。*。.。(>_<)*:。O○ウェーン
ここで言う「プログラミング初級者」とはプログラミングの記述が上から下へ向かって順番に処理されること、条件分岐やループという概念があることを理解しており、RPGゲームが作れる「RPGツクール(現RPG Maker)」や学童向けプログラミング環境「Scratch」、「ナビつき! つくってわかる はじめてゲームプログラミング(ナビつく)」、ADVゲームが作れる「吉里吉里(もしくは吉里吉里2)」、過去にBASICやC、HSP、Javascriptあたりでプログラミングへ挑戦し挫折したなどなど、ある程度の「プログラマブルなロジック」構築の経験がある者を指します。
ある時、筆者はふと思いました。「生成AIはなんだかんだで膨大なテキスト情報を処理している事がキモだよなぁ」とありきたりなことを。
そして、同時にプログラミング初級者の弱点として「現在記述されているコードの管理においてテキストと実際の処理フローが脳内で一致しない」「プログラミング言語ごとに定められているルールや関数予約語の把握が困難」なのが問題とも考えました。
前述したプログラミング初級者の弱点の考え自体は車輪の再発明であり、「Scratch」や、より高度な「UML」が既に存在しており、特筆すべきことは何もありません。
しかし、「Scratch」や「UML」、なんなら「RPGツクール」や「吉里吉里」などに無い点として、現代では自然言語処理が大幅に向上した生成AIが実用の域にまで到達しつつあるのが従来とは異なる点でした。
つまり、自然言語を混ぜ込みやすいテキストベースの言語、かつ、処理を記述するとフローが視覚的に理解しやすい言語、可能であれば情報量が多くて一部の界隈で広く使われている言語があればプログラミング初級者も気軽にプログラミングできるのではないか?と発想しました。
コンピュータ(コンパイラやインタプリタなどソフトウェアを含む)が解することができる言語にはプログラミング言語以外にも様々あり、今回取り上げるのは「データ記述言語」と呼ばれるものです。
データ記述言語の中でもグラフ作成へ特化しており、特にフローチャート作成で真価を発揮する「DOT言語」というものがあります。
早速ですが、実際に手を動かしてみましょう。ちなみにDOT言語はGraphviz OnlineというWebツールがあるため別途に何かしらをインストールして環境構築する必要はありません。便利な世の中ですね。
上記のGraphviz Onlineを開くと、既に左側のDOT言語で記述された内容が、右側で作図されています。DOT言語はこのような図を作図するためのデータ記述言語です。
一旦、左側の記述をCtrl+Aで全選択をしDeleteなどで全削除し、下記の内容をコピペしてみましょう。
digraph graphname {
A -> B;
}
DOT言語の詳細な使い方は様々なWebサイトやブログ記事、Qiitaなどへ譲るとして、A - > Bの見た目から発想の転換をしてみると処理Aから処理Bという流れに見えませんか?
DOT言語は生成AIを利用する上で有利なテキストベースでありながらグラフを作成できるのがキモであり、例えばこのA -> BがA「Webページを開いたら」 → B「Hello, Worldと表示する」という風にできるのであれば処理のフローが可視化されており本当に素晴らしいことです。
ここでプログラミングの有識者は「DOT言語をUMLなどに見立てて処理を記述するのは良いが、プログラミング初心者は求めた結果を出力するロジックやアルゴリズムを発想する知見や経験値が圧倒的に足りていないのが問題ではないか?」と至極真っ当かつ反論の余地がない問題点の指摘をすると思いますが、そこで活きるのが生成AIです。
生成AIは初級者プログラマ個人のロジックやアルゴリズムの作成能力へ無関係にロジックやアルゴリズムを生成できる(可能性が少なくともある)ので、処理のフローをDOT言語で記述することにより処理フローから初級者プログラマが求めるプログラムを生成AIへ推論させ生成させるというのが狙いです。実際に試してみましょう。
digraph graphname {
A[
label = "Webページを表示する"
];
B[
label = "Webページを表示したらHello, worldとテキストを表示する"
];
A -> B;
}
プログラミングの有識者はこの時点で「なるほど、自然言語の記述をそのままDOT言語に入れ込んでしまうのか」と気付いたのではないかと思います。
このDOT言語をGoogle Gemini 2.5Flashへ「下記のデータ記述言語のDOT言語で記述された処理フローをJavascript言語へ変換をしWebページ上へ「Hello,world」を表示したいので変換をお願いします。」と命令すると以下のコードが生成されました。
<!DOCTYPEhtml>
<html lang="ja">
<head>
<meta charset="UTF-8">
<metaname="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello World Page</title>
</head>
<body>
<divid="output"></div>
<script>
//Webページが表示されたら(DOMが完全に読み込まれたら)実行される
document.addEventListener('DOMContentLoaded', function() {
// "Webページを表示する"ステップは、このHTMLファイル自体が表示されることで達成されます。
// "Webページを表示したらHello, worldとテキストを表示する"ステップ
const outputDiv = document.getElementById('output');
outputDiv.textContent = 'Hello, world';
});
</script>
</body>
</html>
フローを記述する利点は、ロジックやアルゴリズムを発想する知見や経験値が足りなくとも、フローのステップが明確に分かれているので生成AIが処理を切り分けて推論してくれることであり、そしてプログラミング初心者自身がフローチャートを視覚で確認できるので「Aを処理したらBを処理する」と切り分けて考えやすいことです。
また、求めている結果ではなく誤った結果が生成されても、A - > B - > Cとフローを細分化していくことで生成AIの推論精度を高めていくことができるのも利点です。
より生成AIへ精度の高い推論をしてもらうために補足情報を付加するのも有用です。
digraph graphname {
A[
label = "Webページを表示する"
];
B[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機"
];
A -> B;
}
labelの記述内容もcommentの記述内容も生成AIが推論のための情報として利用するので誤った結果が生成されてもA - > B - > Cとフローを細分化しなくとも良い場合があります。
DOT言語を知るプログラミング有識者が「DOT言語の仕様を考えれば確かにそうだが、その発想はなかった」と言っていただけるであろうDOT言語コード例だとこういう記述方法もアリです。
digraph増田コード {
最初の処理[
label = "Webページを表示する"
];
次の処理[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機"
];
最初の処理 -> 次の処理;
}
ノードの名称へ自然言語を採用することにより、例えばゲームプログラミング時に「キャラクターがジャンプする」という読んだそのままな処理のためのノード、というか一般的に言うオブジェクトを作成することが可能で、後は->で繋げて処理をさせられます。
ちなみに別のノードを作成する際に「"キャラクターがジャンプする"から継承する」の様なことをcommentなどへ記述しておくと生成AIが推論して継承します。なんならcommentなどへ「キャラクター画像にimage.gifを使用」などと記述しておくとファイルの読み込みもします。
更にDOT言語にはカスタム要素という仕様が存在しており、DOT言語の仕様で定められた予約語以外も使用が可能です。
digraph増田コード {
最初の処理[
label = "Webページを表示する"
];
次の処理[
label = "Webページを表示したらHello, worldとテキストを表示する",
comment = "Webページが完全に読み込まれるまで待機",
font_style = "フォントを太字のボールド体、色を赤(#FF0000)とする"
];
最初の処理 -> 次の処理;
}
生成AIはカスタム要素の名称からも推論を発揮し、上記の場合であればフォントスタイルを指定していると推論をするので生成AIの推論精度を高める補足情報として機能します。
つまりこれはカスタム要素の名称として"Action"などの名称を採用すると"動作"として推論をし、"decision"ならば"条件分岐"ですし、"input"ならば"入力"ですし、"loop"ならば"繰り返し"ですし、"Type"ならば"種別"です。
より詳細に process[type="Action"] などのノードを作成してどんどん生成AIの推論精度を高めていくことが可能であり、そろそろ察してきているかと思いますが 処理[種別="動作"] と自然言語で記述しても機能します。
プログラミング有識者は更に「プログラム言語自体の予約語、例えばJavascriptを生成する事を前提にlengthを名称にすると配列を使おうとするのか?」と疑問に感じるでしょうがお察しの通りで生成AIは配列を使おうとするので、敢えて使いたいプログラム言語の機能や外部ライブラリなどがある場合は補足情報として機能する形で記述しておくと生成AIは推論へ利用します(まぁそこまで知識ある方なら該当のプログラム言語使ったほうが手っ取り早いと思いますが)。
以上をもって「生成AIを利用したプログラミング初級者向けの温故知新な提案」を終えたいと思います。
色々とツッコミどころには筆者自身が気付いていて。例えば「結局はDOT言語の仕様を覚えないといけないのでは?」とか「プログラミング初級者に任せると生成前のソースであるDOT言語コードがスパゲッティになりそうだよな」とか「面倒くせぇから普通にプログラミング覚えろや」とか理解してますし至極真っ当かつ反論の余地がないと思ってます。
今回の提案のプログラミング有識者向けの本質は「生成AIへ向いた中間言語の発掘」であり、「DOT言語ならそこそこ普及してるしプログラミング初級者でも扱えるんじゃね?」と業務中に発想したものを書き留め公開いたしました。
何かプログラミング有識者の皆さんからより良い発想があれば参考にしたいと考えていますのでよろしくお願いいたします。以上。
Permalink |記事への反応(36) | 19:36
main( ){
}
C言語で別のプログラムを作成し、system関数などを使って最初のプログラムを実行し、その出力を読み取って比較する方法です。
intmain() {
char expected_output[] = "hello, world\n";
char actual_output[100]; // 十分なバッファサイズを確保
//helloプログラムを実行し、出力を actual_output にリダイレクト(環境依存)
// これは非常に簡略化された概念であり、実際にはパイプ処理などが必要になります
#ifdef _WIN32
sprintf(command, "hello.exe> temp_output.txt");
#else
sprintf(command, "./hello> temp_output.txt");
#endif
system(command);
FILE *fp = fopen("temp_output.txt", "r");
if (fp != NULL) {
fgets(actual_output, sizeof(actual_output),fp);
fclose(fp);
remove("temp_output.txt"); // 一時ファイルを削除
} else {
printf("エラー:一時ファイルのオープンに失敗しました\n");
return 1;
}
if (strcmp(actual_output, expected_output) == 0) {
return 0;
} else {
printf("テスト失敗: 期待された出力 '%s'、実際の出力 '%s'\n", expected_output, actual_output);
return 1;
}
}
ログインしようとidとパスワード入力する→「Xのアカウントをさがす」ページに飛ばされる
でログイン出来なくなって、パスワード間違えたという表示が出るわけでもないから乗っ取られたか何かなと異議申し立てのリンクから乗っ取りで異議申し立て
届いたメールで求められた情報(idや登録アドレス、最後にログインした日)を入力して返信
それに対して来た返事がこれ
We’re writing to letyou know that we’re unable to verifyyouas the account owner. We know thisis disappointing to hear, but we can’tassistyou further withaccessingyour account.
Ifyou know which emailaddress or phonenumberisassociatedwith the account, andyou no longer haveaccess to that email orconnected phonenumber, please contactyour service provider forassistance.
For privacy reasons, we can’t provideany information about this account’s registered emailaddress or phonenumber
We understandit’s frustrating toget lockedout of an account, but we have these policies to protect accounts and private data. Weappreciateyour understanding.
You’remore than welcome to create a new account toget back onto X.
Please do not respond to this emailas replies to this account are not monitored.
X Support
Masudaand Annie are talking in their classroom. Let's listen to them!
Annie: Good afternoon, Masuda!
A: A boy?Who areyou talking about?
M: I'm talking about a boywho wears awhite Tshirt and black jeans.
A: I can't find the boy. Whereis he?
M: Areyou sure?It's easy to findhim! Heis thebrightest person in this room!
A: Masuda, I'm asking where heis.Tell me!
M: Okey, Heis standingnext to thewhiteboard.
A: Thewhiteboard...?
M:Yes! Heis socool! I wanna behisfriend!
A: Masuda,you souldn't be thefriend of the boy.
M: What!?Why doyou say such a thing!
A: Because Idon't see anyone near thewhiteboard.
M: ...Really?
A:You canot be afriend of aghost. Shall we leave this room?
M: Of course! Idon't want tostayhere anymore!
Question1: Whatdoes Masuda see?
Question2: Whatdoes Masuda actually see?
Question4: Can Masuda really leave the classroom?
ふと思いついて、インストール後エラー要因が分からず放置していたAnacondaをアップデートした。Gui画面にバグがあったがChatGPTの指示通りコマンドを打ったらコンソール画面からアップデートが無事完了。
ずっと積読になってた「東京大学のデータサイエンティスト育成講座」を開いてchatGPTに解説してもらいながら読んでいる。個人的にはインターネットに初めてアクセスした時と同じくらいの衝撃。
理系志望のくせに数学が苦手でプログラミングにも興味があったが今となっては時代遅れの分野でキャリアの大半を過ごしてしまった。
これが30年前にあったらどんなに良かっただろうと思うと同時に、これほど素晴らしい技術に触れることが出来て幸せだと思う。
---
#####あなた:
###### ChatGPT:
では、**Chapter1_ver2.ipynb** の内容に沿って、
「僕」と「彼女たち」で展開する**数学ガール風Jupyter Notebook入門**、始めていきましょう。
---
### 【登場人物】
---
## 第1章:Python と Jupyter Notebook の世界へ
---
「わぁ、ここがJupyter Notebookかぁ!まるでノートみたいに、コードと文章が一緒に書けるんだね!」
「うん。でも最初は何から手を付けていいか……。とりあえず、上のセルに `print("Hello, Jupyter!")` って書いてあったから、やってみようかな」
「Shiftを押しながらEnter、で実行……あっ、ちゃんと下に表示された!」
「その通り。Jupyter Notebook では、**1つのセルにPython のコードを書いて、`Shift + Enter` で実行**するの。結果はすぐ下に表示されるから、試行錯誤がしやすいわ」
---
###セルの種類を変えてみよう
「さっきのは 'Code'セルだったけど、説明文も書けるんだよね?」
「そう、**セルを 'Markdown' にすると、文章や数式が書ける**の。例えば、次のように」
`# これはタイトル これは文章です。**太字**や *イタリック* も書けます。 数式も書けるよ:$y =ax^2 +bx + c$`
「Markdown のセルも `Shift + Enter` で表示モードに変わるよ。まるでノートの見出しみたい!」
---
「じゃあ次は、Python で計算してみようかな。2 + 3 * 4 …っと」
`2 + 3 * 4`
「答えは14か〜!Pythonは**かけ算(*)が足し算(+)より先に計算される**んだね!」
「そう、**演算の優先順位**は数学と同じ。`()` を使って制御もできるわ」
`(2 + 3) * 4`
---
### 小さなまとめ
「Jupyter Notebook の基本操作、整理しておくわね」
| 操作 | キー操作 |
| --- | --- |
| セルの実行 | Shift + Enter |
| 新しいセルを上に追加 | A(コマンドモード) |
| 新しいセルを下に追加 | B(コマンドモード) |
| Markdownセルに変更 | M |
| Codeセルに変更 | Y |
「次は `import` して、グラフ描いてみたいなー!」
---
次は **データ分析に欠かせないライブラリの読み込み** や、`numpy` / `pandas` の世界に入っていくのが第1章の流れです。
一緒に続き、進めてみますか?