Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PostScriptでプログラミングをしよう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
綿糸てせ
June 20, 2026
Programming
68
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PostScriptでプログラミングをしよう
綿糸てせ
June 20, 2026
More Decks by 綿糸てせ
See All by 綿糸てせ
グレートファイアウォールを自宅に建てよう
ctes091x
0
210
Other Decks in Programming
See All in Programming
C# and C++ Interoperability - cho-dotnetnew
harukasao
0
250
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
さぁV100、メモリをお食べ・・・
nilpe
0
140
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
150
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
140
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
550
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
260
CSC307 Lecture 17
javiergs
PRO
0
320
AIで効率化できた業務・日常
ochtum
0
140
Agentic UI
manfredsteyer
PRO
0
170
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
110
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Unsuck your backbone
ammeep
672
58k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
RailsConf 2023
tenderlove
30
1.5k
Building Applications with DynamoDB
mza
96
7.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
So, you think you're a good person
axbom
PRO
2
2.1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
Navigating Weather and Climate Data
rabernat
0
220
Transcript
PostScriptで プログラミングをしよう 電気通信⼤学MMA てせ / ctes091x
0. ⾃⼰紹介 ‧UEC25 てせ / ctes091x ‧所属: MMA‧⼯研‧VLL ‧Arch Linuxはいいぞ
‧中古ノートPCにProxmoxを⼊れて⾃宅に置いています ‧AtCoder茶 ‧SF研究会創設‧代表
0. サークル紹介 MMAは技術系Slackおしゃべりサークルです、異論は認める
1. 全電通⼤⽣はPostScriptをやっている 1年前期の必修科⽬「コンピュータリテラシー」 第10回「グラフィック‧図と表」 実習でラスター(PPM)‧ベクター(PostScript)画像を扱う
1. 全電通⼤⽣はPostScriptをやっている 1年前期の必修科⽬「コンピュータリテラシー」 第10回「グラフィック‧図と表」 実習でラスター(PPM)‧ベクター(PostScript)画像を扱う (↑ SVGとかじゃないのかよ……)
2. PostScriptってなんなのさ Adobeが開発したページ記述⾔語 プリンタが処理系を内蔵、ソースを投げつけると印刷できる
2. PostScriptってなんなのさ Adobeが開発したページ記述⾔語 プリンタが処理系を内蔵、ソースを投げつけると印刷できる → 正体はスタックベースのプログラミング⾔語
3. PostScriptの構⽂ 値をスタックに積む 命令が来たら処理をする %!PS-Adobe-2.0 %%BoundingBox: 0 0 400 300
newpath 100 100 moveto 100 200 lineto 200 200 lineto 200 100 lineto 100 100 lineto closepath fill showpage
3. PostScriptの構⽂ 「トークン」に値を割り当て 変数として使える %!PS-Adobe-2.0 %%BoundingBox: 0 0 400 300
/x1 100 def /y1 100 def /y1 200 def /y2 200 def newpath x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 x1 lineto closepath fill showpage
処理もスタックに積める 制御構⽂に渡される 単純な回数指定ループの例→ %!PS-Adobe-2.0 %%BoundingBox: 0 0 400 300 3
{ newpath 100 100 moveto 100 200 lineto 200 200 lineto 200 100 lineto 100 100 lineto 30 -15 translate closepath fill } repeat showpage 3. PostScriptの構⽂
サブルーチンも定義できる %!PS-Adobe-2.0 %%BoundingBox: 0 0 400 300 /fillrect { /y2
exch def /x2 exch def /y1 exch def /x1 exch def newpath x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto x1 x1 lineto closepath fill } def 100 100 200 200 fillrect showpage 3. PostScriptの構⽂
普通にプログラミング*1*2 ができる! *1. ⼿続き型プログラミング *2. 「関数型は普通のやつです」←そんなわけないだろ
4. 作例 コラッツ数列の表⽰
4. 作例 WolframのElementary Cellular Automaton
4. 作例 Brainf**kインタプリタ
5. おわりに ‧電通⼤⽣は1年次必修科⽬でPostScriptをやる ‧PostScriptはAdobe製のページ記述⾔語 ‧かつスタックベースの⼿続き型プログラミング⾔語 → なので普通にプログラミング*1*2ができる ‧PostScriptプログラミングをしよう!!! ‧(AtCoderにはないけど…………) *1.
⼿続き型プログラミング *2. 「関数型は普通のやつです」←そんなわけないだろ
ありがとうございました