Mukai Systems

About

Introduction

はじめまして。Mukai Systemsの向井 信太郎です。

大学では物理を専攻していましたが、学部4年からプログラミングの楽しさに惹かれ、ソフトウェア会社に就職しました。5年間在籍の後、個人事業主として独立し現在に至ります。

昨今の大規模言語モデルの登場によって、プログラミングのあり方は随分変わりました。エディターにAIが組み込まれ、自分で零からコードを書くような機会は減ってきています。「近い将来プログラマは不要になる。」という予想さえありますね。

その一方で、たとえ金銭的な見返りがなくなったとしても私はプログラムを書き続けるでしょう。なぜなら、それ自体大変面白い作業だからです。仕事以外ではプログラミング言語や、ゲームを作っています。プログラムのほかには、ゲーム、物理、数学、読書等に興味があります。

BLOGでは、以下のような記事を書いています。

  • 学んだことや考えたこと——[1], [2], [3]
  • 作ったものの紹介——[4], [5], [6]
  • 読書感想や多岐にわたる雑記——[7], [8], [9], [10]

Qualification

Elsewhere on the web

SiteLinkTopic
GitHubhttps://github.com/mukaiizawaソフトウェア開発
AtCoderhttps://atcoder.jp/users/mukaiizawa競技プログラミング
STEAMhttps://steamcommunity.com/id/mukaiizawa/ゲーム
YAMAPhttps://yamap.com/users/2332111登山

Programming Languages

プログラミングが好きなのでいろいろな言語を学ぶ機会は少なくないのですが、実務で使いこなせそうな言語は最初の数個だけです。簡単な言語はインタープリタを作りがちなのはご愛敬で。

Paren
掃いて捨てるほどあるLisp方言の一つです。僕が一番、Parenをうまくつかえるんだ。自分で作ったので使いこなせるのは当たり前ですね。
Java
コンソールアプリケーションからWebアプリケーションまで、実務で最も使用してきた汎用プログラミング言語です。WebアプリケーションはJSP + Java ServletやJSFを用いた開発経験が豊富です。よく聞かれるのですが、Spring Frameworkの使用経験はないです。
JavaScript
Webアプリケーション開発が主な仕事なので必然的に使用してきました。Node.js + Expressでサーバサイドを実装した経験もあります。ただし、フロントエンドはVue.jsを軽くさわったことしかないです。
SQL
ORM(Object–relational mapping)が一般的ではない時代からアプリケーション開発を行っているので、DMLは自在に書けます。
Python
最もよく使う言語のうちの一つで、私的なスクリプトを作る際はほとんどPythonをつかいます。AWS LambdaもPythonを選択しがちです。実務での使用経験は多くはないですが問題ないと思います。
VBA
実務をこなすうえで、ExcelやWordを扱わなければならない。という局面は避けて通れません。そしてそれらは不思議なくらい自動化する余地があったりします。体系的に学んだことはないのですが、作業の効率化のために必要に迫られて書けるようになりました。
C#
Unityを用いたゲーム開発で使用します。初学者向けの本を一冊読んだだけで、Javaと構文や意味論における類似点が多いためになんとなく利用できているというのが実態です。実務で使うには不安が残ります。
C
C言語でParenの実装を行いました。OSに近いレイヤーの知識に不安があり、実務で使いこなせる自信はありません。
Common Lisp
最も好きな言語のうちの一つで、過去に個人的な雑務を片づける用途でよく使用していました。ParenやPythonを使う機会が増えてから使用する機会はほとんどなくなったので、実務では使いこなせそうにないです。
Ruby
Ruby on RailsのAPIモードでバックエンドを開発した経験があります。実務ではまったく使いこなせる気がしません。
Go
コンピュータ業界の大御所が設計したということと、観測範囲のVimmerが好んで使用しているということが後押しして勉強したことがあるのですが、あまり実を結びませんでした。実務ではまったく使いこなせる気がしません。
Rust
チュートリアルをやってみたのですが、使いこなせる気がしません。Rustを使いこなしている人たちが羨ましいです。
A=B
いわゆる難解プログラミング言語(esolang: Esoteric programming language)です。チューリング完全とのことですが実務で使える気はしません。インタープリタを作って満足しました。JavaScriptによるインタープリター実装はこちら
Brainfuck
同上。実務ではまったく使える気がしません。インタープリタを作って満足しました。Parenによるインタープリター実装はこちら
Basic
少し遊んだ程度です。実務で使える気はしません。インタープリタを作って満足しました。Parenによるインタープリタ実装はこちら
PL/0
故Niklaus Wirth先生の名著「アルゴリズム+データ構造=プログラム」の最終章でコンパイラの実装の題材として学びました。コンパイラを実装して満足。Cによるコンパイラ実装はこちら
Forth
書籍「LET OVER LAMBDA」で賞賛されていたので少し勉強してみました。これは確かに。スタックに根付いた美しい言語でした。インタープリタを実装して満足しました。Parenによるインタープリタ実装はこちら
Prolog
書籍「7つの言語 7つの世界」に触発されて少しいじってみたことがあります。Prologが特定の領域で強力であることは間違いないですが、汎用的な用途でこれを使いこなる自信はないです。

Products

Paren

Parenは汎用プログラミング言語です。

計算機プログラムの構造と解釈という本に触発されて、「自分でもプログラミング言語を作れそう。」と思い、作り始めたのがきっかけです。師や友人に技術的なサポートやフィードバック等、たくさん頂いたおかげで実を結ぶことができました。

本日では、仕事をこなす上で、欠かせない存在となっています。例えば、このウェブサイトはParenにより生成されています

Infinite Einstein Tiles

Infinite Einstein TilesはEinstein Problemを題材にしたUnity製のパズルゲームです。

COFFEE ROAST BIG ISLAND

COFFEE ROAST BIG ISLANDは生豆から焙煎してくれるコーヒーショップです。普段利用している商店街の実店舗のオーナーと仲良くなって、偶然お仕事させていただく運びとなりました。経緯はこちらに少し書いています。

私はバックエンドの実装を行いました。おしゃれな見た目ですが、残念ながらデザインには関与していません笑

5年ほど稼働したのち、2024年9月に経営者の交代に伴い閉鎖されてしまいました。

Business

屋号
向井システムズ
事業形態
個人事業
適格請求書発行事業者の登録番号
T8810288295163
営業時間
平日09:00~17:00(土・日祝日休み)
業務内容
システム受託開発
代表者
向井 信太郎
メールアドレス
shintaro@mukai.systems