0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Esperanto でプログラムを書こう!(ネタ)

Last updated at Posted at 2024-12-23
1 / 27

こちらは2024年12月の社内LT会で使用したものです。


問題

  • 英語辛い!
  • 英語難しい!
  • 英語分からない!

問題1: 品詞・時制

xxx.userLogin // これは何?

// userのlogin状態
xxx.userLogin = false;
// userをloginさせる
xxx.userLogin = (user: User) => {
// loginしたuser
xxx.userLogin = user;
// こう書くのが推奨されている
xxx.isUserLoggedIn = False;
xxx.loginUser = (user: User) => {
xxx.loggedInUser = user;

問題2: 文法

// タスクが完了したか
function isTaskCompleted(): boolean {
// ユーザーがタスクを実行したか
function hasUserExecutedTask(): boolean {
// タスクが実行されたことがあるか
function hasTaskbeenExecuted(): bookean { // ???

// Userが選択されたか Userは選択される側
function isUserSelected(): boolean {
// Userが選択しているか Userは選択する側
function isUserSelecting(): boolean {
// Userが選択を行ったか Userは選択する側
function hasUserSelected(): boolean {
// Userが選択されたことがあるか Userは選択される側
function hasUserbeenSelected(): boolean { // ???

問題3: 語彙・語形変化

// ?
function hasUserSpoken(): boolean {
// ?
let datum = 0;
// ?
function retrieveInfo(): Info {
// これは分かる
function completionTransfar(): void {

// spokenはspeakの過去分詞形
function hasUserSpoken(): boolean {
// datumはdataの単数形(dataが複数形)
let data = [datum, datum, datum]
// retrieveは「手に入れる」 fetchみたいな
function retrieveInfo(): Info {
// completionは名詞 completeが動詞 あとtransf"e"r
function completeTransfer(): void {

解決策

そうだ、
エスペラントを使おう!


Esperantoとは

人工言語計画言語の一つ。
世界中の人が使える共通語を目指して作られた言語たちの中でも、
現在一番広く普及している。(世界100万人くらい?)


Esperanto の特徴

  • アルファベットだけで表記できる
    • 一応ŝ ĝのような文字を使うが、sx gxで代用可能
  • 文法が簡単で規則的
  • 語彙も割と規則的に予想できる

実際にやってみる
まずはEsperantoの文法から


名詞は語幹+o

  • タスク: tasko
  • あいさつ: saluto
  • ログイン: ensaluto
  • 世界: mondo

動詞の基本形は語幹+i

  • 利用する(こと): uzi
  • ログインする(こと): ensaluti
  • ある・である(こと): esti

実際に動詞を使う場合は、現在時制「-as」で終わることが多い

  • 利用する: uzas
  • ログインする: ensalutas
  • ある・である: estas

「○○が(主語)」ではなく「○○を(目的語)」を明示する(対格)ために-onにする

  • タスクを: taskon
  • ユーザーを: uzanton
  • あいさつを: saluton = こんにちは!

形容詞は語幹+a

  • 赤い: ruĝa/rugxa
  • 計算機の: komptila
    (名詞の最後を-aにして「○○の」という意味で使うこともある)

「○○する・している」は-anta

  • 計算中の: kalkulanta

「○○する・している人」は-anto

  • ユーザー: uzanto
  • 管理者: administranto

実例


実例1

xxx.UzantoEnsaluto // ユーザーのログイン
// Cxu ~: ○○かどうか
// ~inta: ○○した、し終わった(形容)
xxx.cxuUzantoEstasEnsalutinta // ユーザーがログインしたか
// ~ig: ○○させる(自動詞の他動詞化)
xxx.EnsalutigiUzanton // ユーザーをログインさせる

実例2

// タスクが完了したか
// Kompliti: 完了する・終わらせる
// -ig: ○○する(他動詞の自動詞化)
// -ita: ○○され終えた、されてしまった
function cxuTaskoEstasKompletigita(): boolean {

// ユーザーがタスクを実行したか
// Plenumi: 実行する
// -is: ○○した(過去形)
function CxuUzantoPlenumisTaskon(): boolean {
// タスクが実行されたことがあるか
// ※ Estis=Est-is: あった・であった
// ※ Plenumita=Plenum-ita: 実行され終えた
function CxuTaskoEstisPlenumita(): boolean {

// Elekti: 選ぶ
function cxuUzantoEstasElektita(): boolean {
function cxuUzantoElektas(): boolean {
function cxuUzantoElektis(): boolean {
function cxuUzantoEstisElektita(): boolean {
// あるいはoni: 誰か・何者か を使って
function cxuOniElektisUzanton: boolean {
// Iam: ~~ことがある、いつだか、時々
function cxuOniElektisUzantonIam: boolean {

実例3

// Paroli: 話す、しゃべる
function CxuUzantoParolis(): boolean {
// -j: 複数形
let datumoj = [datumo, datumo, datumo]
// akiri: 手に入れる
function akiriInformon(): Info {
// transigon: 移送を・移動を
function kompletigiTransigon(): void {

まとめ

そんなに良くないかも。
英語勉強するしかないかも。
辛い


おまけ

console.log("saluton, mondo!");
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?