30年プログラマー・ムンペイ
ソフトウェアプログラムを高速化するのが好きな人に、読んでほしいことをまとめました。
30年プログラマーのムンペイです。 2024年9月21日、22日に東京ビッグサイトで開催された「Maker Faire Tokyo 2024」に、Code & Magic(コードアンドマジック)を出展してきました! MFT2024の展示では、チュートリアル的な2つのステージを使ったプログラミング&ゲーム体験と、魔導書の無償配布を行いました。 2日間のイベント期間中、小中学生を中心に、幼稚園児から大人まで幅広い年代の約100人の方々にサービスを体験していただき、大盛況のう
こんにちは、プログラミングサムライことムンペイです。 ゲームディレクターの桜井政博氏のYouTubeチャンネルの最終回を見て衝撃を受けています。 Code & Magicは教育のゲーム化と言えるわけで、参考になるかと思い最初から動画を見直していたら、ゲームの面白さはリスクとリターンの設計であるという回にグサッと来ました。 そこで考えたことを、noteにしてみようと思ったのですが、肉付けをChatGPTに手伝ってもらったところ、とてもいい感じになりました。 以下、論旨を
30年以上プログラミングをしているムンペイです。 このところ、noteへの投稿ペースが不安定となりすみません。Code & Magicの開発をしておりました。 さて、プログラミングにおいて、条件分岐を行うためのif文はなくてはならない存在です。身近すぎて気楽に使っているかもしれませんが、高速化に限らずよいプログラムを書くにはif文の正しい使いこなしは必須といえます。今回はif文を使う際に私が意識している点を3つご紹介します。 1. 「それ以外」を忘れないif文を使う際、
30年以上プログラマーをやっているムンペイと申します。 来週9月21日22日の2日間、東京ビッグサイトで開催される Maker Faire Tokyo 2024 にサムライアプスというサークル名義で、Code & Magic (コードアンドマジック)というプログラミングを学ぶ子供向けの少しハイレベルな教育サービスを出展いたします。 今回は、直前の宣伝企画として、Code & Magic を開発する私を作った原体験を3つ紹介いたします。 1.ベーマガでとにかく写経なんとい
30年プログラミングをしているムンペイです。 プログラミングを学びましょうという風潮がにわかに高まっていて、周りでもいろいろな議論や、教材や、学校などが増えているという実感があります。 自分がプログラミングを学んだときは、教育(された)という観点は全く無く、ましてや(学生なので)稼ぐための手段と考えたことなどもっとなく、趣味として没頭したことが100%でした。 いまは取り巻く状況がとても高度になったせいで、実用性(経済的実用性)の観点からプログラミング学習をみる論調が多
30年以上プログラミングをしているムンペイです。プログラムの効率を最大限に引き出すには、メモリの効果的な管理が欠かせません。 今回は、メモリ管理のポイントを3つ紹介します。 1.メモリの物理的配置を意識する日頃のプログラミングで、プログラム中のデータがどこに記憶されているかということを意識することはほとんどありませんが、ひとつひとつの変数、配列、文字列、読み込んだファイル、etc.などはコンピュータの中のどこかに書き込まれているはずです。 メモリの場所を意識しなくていい
30年以上プログラミングをしている、ムンペイと申します。 私は、ゲームを作りたくてプログラミングを覚えていったクチなのですが、実はゲーム作りはあまり成就しませんでした。実績といえそうなのは、ネット上だけの知り合いによるサークルでひとつミニゲームを出したことくらいです。 しかも、本来そのサークルは、リーダーの構想にあった別の本格的なゲームを作りたくてメンバーを集めたものでした。絵師、音楽担当、私を含めたプログラマーも数名と、フォーメーションはそれなりに整っていたのですが、そ
ムンペイと申します。30年以上プログラミングをしています。 最近は私も生成AIを用いながらプログラミングをしているわけですが、生成AIがあればプログラマーは不要であるという論調には、少々抵抗があります。なぜそう思うのか、3つ挙げてみたいと思います。 1.生成AIは正解を提示するものではない私も日頃、GitHub Copilotを連携したVisual Studio Codeでプログラミングをしており、非常に快適な体験をしています。 コードを数文字、たとえば関数名の初めの部分
30年以上プログラミングをしている、ムンペイです。 自分の経験を文字に残しておこうと思いnoteをしたためています。 サムライアプスというサークル活動もしています。 さて、私の好きな名言があります。 これはまさに卓越したプログラマーが行っていることだと思います。 どうしてそうなのか、深掘りしてみます。 1.どこまでできるかわかっている卓越したプログラマーは、使うハードウェアでどれくらいのことができるかわかっています。 このCPUで、このメモリの容量と速度で、このストレ
ムンペイと言います。30年以上プログラミングをしており、特に高速化(最適化)の分野で長く関心を持ち、現在も高速化プログラミング関連で仕事をしています。 私はソフトウェアエンジニアとして、様々なハードウェア上で高速化プログラミングを行ってきましたので、それぞれ特徴とともにときどきご紹介したいと思います。 今回は私にとって思い出深いプロセッサである、Cell Broadband Engine (Cell/B.E.) です。 Cell/B.E.の歴史と概要Cell/B.E.
ムンペイです。プログラミングを30年以上しています。 私がプログラミングを始めた頃は、学校でもプログラミングをする人は少なく、中学のマイコン研究部の皆さんくらいでしたが(私は入ってませんでしたが)、最近は副業やSTEM/STEAM教育という文脈で、多くの人がプログラミングというものに関心を持つようになったと感じます(好きな人が増えたとは言ってない)。 何かのきっかけで「プログラミング歴30年ですよー」と話したときに、「すごいねー、でも、私〇〇できないからプログラミングは難
ムンペイです。30年以上プログラミングをしています。 本業の会社員のほかに、サムライアプスというサークル活動もしています。 おもえば、30年以上もプログラミングに携わっていられるようになるほど興味を持ったきっかけは何だったのでしょうか。振り返ればこれかもしれないと思うことを、3つご紹介したいと思います。 1.父親が唐突に持ってきたJR-100一番最初に私がコンピュータに触ったのは、6歳くらいの時で、JR-100というキーボード一体型のものでした。 裕福ではない(どちらか
30年以上プログラミングをしている、ムンペイです。 サムライアプスというサークル活動もしています。 先日2024年5月18日に、ALL ABOUT マイコンBASICマガジンⅢというトークイベントに行ってきました。観客には30年~40年前にベーマガを読んで育った当時子供だった人たちが1000人以上も集まり、全員が同じような思い出を共有しているというすごいイベントでした。 ベーマガは、正式には「マイコンBASIC Magazine」と言い、1982年に電波新聞社から創刊され
ムンペイです。ソフトウェアを高速化する仕事を中心に、30年以上プログラミングをしています。 別の作業に夢中になってしまい、毎週日曜公開を守れませんでした。すみません。 前回の続きで、MIMDについての経験と話題を3つご紹介したいと思います。 MIMDとはMultiple-Instruction Multiple-Dataの略で、並列実行モデルの分類の1つです。同じクロックサイクルで複数個のデータに対して違う処理をしようという手法のことです。 Single-Instruc
30年以上のプログラミング歴の半分は高速化をしてきました、ムンペイです。 複数のデータを同時に処理する並列化は、高速化の最重要テクニックの1つです。そのうち、1つのCPUコアの中で並列化を実現する命令レベル並列化について、SIMD演算を適用する方法について、私の経験をもとにしてご紹介します。 SIMDはシムディーと読もう!SIMDとは、Single Instruction, Multiple Dataの略で、1つの命令で複数のデータを処理する方式を指す言葉ですが。読み方は、
ムンペイと申します。 30年以上、プログラミングをしています。 取り組めていないものの、個人的に現在注目しているプログラミング言語またはフレームワークを3つご紹介したいと思います。 1.Rust私はかつてはC++を長くメイン言語として使っていましたが、それはOSすら記述できる汎用性とCPU命令にコンパイルされることによる高速性が魅力だったからでした。そのメリットを享受するにはメモリアクセス違反をしないよう細心の注意を払ってコーディングする必要がありますが、昔の非力なPCで