SlideShare a Scribd company logo
1 of 52
Download to read offline
あなたの知らない言語
2018.07.20 さがわ
そこはかとなくヤバいプログラミング言語たち
今日のGOALは?
お一人様「1へぇ」くらいが目標です。
Ada
Ada(エイダ)
安心安全
ミッションクリティカルな用途


信頼性を超重視
飛行機や戦闘機とかで使われてるらしい(かっけー)
国防総省が開発(なんかすげぇ)
史上初のプログラマ「Ada Lovelace 」が由来
ALGOL構文(beginからはじめようなアレ)
Ada(エイダ)
GNATコンパイラ

GCCの一部として提供されているAdaコンパイラ
並行プログラミング

タスクと呼ばれる単位で同時実行
ジェネリックプログラミング

設計当初からジェネリクスが存在(Javaなんかよりずっと昔)
言語仕様がデカすぎらしい
Ada(エイダ)
Nice
Nice(ナイス)
しかも、Javaの拡張として使える!
オブジェクト指向の研究で誕生!
Javaのプログラムから呼び出せる!
既存のJavaライブラリを利用できる!
「マルチメソッド」により、既存のコードを変えずにクラス
にメソッドを追加!
クラス間のキャストが不要
パラメトリックタイプ!ローカルメソッド!NiceSwing!
Nice(ナイス)
10
Java
Brainfuck
Brainfuck(ブレインファック)
使うのは8つの文字だけ
     +-<>[],.
           以上
使う命令は8つだけ
1列の配列(セル)に格納され
た値をポインタで読み取って
処理
Brainfuck(ブレインファック)
- Panda Noir https://www.pandanoir.info/entry/2016/02/26/234848
Brainfuck(ブレインファック)
de ハロワ
実行結果↓

Hello World!
Brainf*ck
Oz
Oz(オズ)
マルチパラダイムを1つに統合
分散環境で動く並行性指向言語
マルチパラダイムである(手続き型、関数型、論理型、オブ
ジェクト指向、データフローコンカレント)
並行処理をかんたんかつ効率的に実装できる
Emacsと連携
ネットワーク透過な分散システム
優先度付きスレッド
Oz(オズ)
Mozartプログラミングシステム

Ozのオープンソース実装。仮想マシン上でアプリを動かす
Ozの並行性をScalaの拡張として取り込んだ言語

「Ozma」というのもあるとのこと。



由来は・・・
Oz(オズ)




w
Nemerle
Neymar
Nemerle(ネマール)
.Netのマルチパラダイム言語
コンパイル時に多様な処理が可能
Visual Studioで開発可能
マクロによる柔軟なメタプログラミング

字句解析マクロで言語に新しい構文
2通りの型変換

コンパイル時に型がチェックされる厳密な型変換と、実行時
にチェックされる一般的な型変換の2通りの書き方ができる
(コンパイルエラー or 例外)
Nemerle(ネマール)
breakとcontinueがない

Imperative名前空間をイン
ポートすれば利用可能
Nemerle(ネマール)
INTERCAL
INTERCAL(インターカル)
実用的な言語ではない
難解プログラミング言語の典型
覚えることは少ない
が、人が理解できるコードを書くのは困難
GO TOの代わりに「COME FROM」を使う
INTERCAL(インターカル)
ときどき「PLEASE」を使う

文の識別に「DO」「PLEASE」「PLEASE DO」を使う

いずれも処理は同じだが、ときどきPLEASEを使わないとエ
ラーになる。





ときどきPLEAEを使わないとエラーになる。



ばかやろうw
INTERCAL(インターカル)
Do ,1 <- #12

(中略)
PLEASE DO ,1 sub #9 <- #32

DO ,1 SUB #10 <- #32
DO ,1 SUB #11 <- #144

DO ,1 SUB #12 <- #150
READ OUT ,1
PLEASE GIVE UP
Unlambda
Unlambda(アンラムダ)
じっくり読んでも理解できない!
ラムダ計算に基づく難解言語
コンピュータ科学における「SKIコンビネータ計算」に基づく
関数型言語のひとつ
覚えることは少ない
が、人が理解できるコードを書くのは困難
変数とかない
Unlambda(アンラムダ)
関数が唯一のオブジェクト

処理は関数呼び出しだけで実行されすべてのオブジェクトは関数
関数の引数は1つだけ

引数は1つだけ取り、1つだけの値(関数)を返す。

複数の引数を取る関数を扱う場合はカリー化を行う。
チャーチ数

数値が存在しない為、関数を使って数値を計算することによって
自然数を定義する

Unlambda(アンラムダ)
Unlambda(アンラムダ)
de ハロワ
実行結果↓

Hello World!
Whitespace
Whitespace(ホワイトスペース)
印刷しても真っ白なのに実行できる
コメントも自由に書き放題
目に見えない

コードが「スペース」「タブ」「改行」のみ。
「スペース」「タブ」「改行」以外はコメント
2進数で表現した数値をスタックに積むことで処理
Whitespace(ホワイトスペース)
Whitespace(ホワイトスペース)
de ハロワ
実行結果↓

Hello, world!


Thanks for listening.
not to be continued !!!
2017

More Related Content

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

あなたの知らない言語