【新入生ブログリレー】 あげどうふ(tofu)の自己紹介
自己紹介
はじめまして
今年度より入部したあげどうふ(tofu)です
趣味はプログラミングで何かツールやアプリをつくることや、アニメ鑑賞・声優ライブ・ゲームで遊ぶことです
2020年春アニメでのお勧めはグレイプニル・プリコネ・かぐや様・邪神ちゃん・はめふらです
コロナの影響で春アニメの分が夏に移動したり秋に移動したりしてますが、夏と秋の充実度がやばそうですねはい
声優ライブについては、個人的にTrySailという女性アーティスト3人組(夏川椎菜・麻倉もも・雨宮天)の箱推しです
これを書き出すとコロナの影響でイベント(アニサマとかアニサマとか)がなくなっていって気分が落ち込み始めるのと、ここはアイドルサークルではないのでこれ以上語るのはやめておきます
ゲームは主にバトルフィールド4っていうFPSがめっちゃ好きです
あと最近なぜか無料になってたGTA5 やってる人いたらコメントで教えて!
電算に入った理由
実は入学前からここのサークルがあることは知っていました
他の大学のサークルとかだと、結構ホームページの更新が止まってたりするのですが、ここのホームページはよく更新されていたので印象に残っています
またプログラミングをテーマにしているサークルということもあり、自分の興味のある分野のサークルであったというのも理由です
電算でやりたいこと
実はプログラミングに飽きはじめていた、何か新しいテーマがほしいと思っていました
先輩が某工業大学の自作チャットアプリみたいなのがほしいと言っていたので、それを作ってみようと思っていろいろ調べている最中です(また別の記事で書くかもしれない…)
推しのプログラミング言語について
実はマインクラフトというサンドボックス型のゲームをやりこんでいました
特にそのゲームのマルチプレイ環境を提供するサーバーのプラグインをJavaという言語で作っていたので、かなりJavaに思い出があります
最近は上に書いたようにチャットアプリを作るうえでの言語の選定でさまざまな言語の良し悪しやライブラリの充実度などを見ているのですが、サーバーサイド言語で最近トレンドになっている機能である並列処理に特化した仕様をもつプログラミング言語に興味を持っています
1つ目はGoという言語
Goはちょっと前に触れてみたのですが、Goルーチンという仕様があり、特定の関数にgoとつけるだけで並列処理が可能になるらしいです(試してない)
これもまた別の機会で書こうと思うのですが、C10K問題(クライアント10万人問題)という、従来の方法だとスレッドを生成するたびにリソースを多く使ってしまい、増え続けるクライアントからのリクエストをさばききれなくなるという問題があります
これを無限にスレッドを生成して処理をする従来の方法ではなく、言語側で用意する軽量スレッドでリクエストをさばき、リソースをより有効的に使っていくというのがC10K問題に対する1つの解決策らしいです
Goルーチン自体は非常に扱いやすそうなのですが、Javaの中でもちょうどStream APIという関数型言語の仕様を一部取り入れたAPIを使ったときに、FilterとMapの便利さを味わってしまったので、現時点でそういう仕様のないGoはなんだかんだでめんどくさくなってしまうような気がします
2つ目はElixirという言語
残念ながらこれは環境整備すらしていないので、ほぼ想像で書いています
Elixirという言語はErlangという通信系大手エリクソンが作った言語の仮想マシン上で動く新しい関数型プログラミング言語です
JavaとKotlinの関係性でいうと、Kotlinに当たるのがElixirでJavaに当たるのがErlangです
言語仕様を見ている限りだと、JavaのStream APIの原型である関数型プログラミング言語で、上に書いたようなFilter Mapという機能は当たり前のように搭載されているようです
またGoのような簡単な仕様ではないものの、比較的簡単に並列処理を扱える仕様になっているようです
この言語(の元になったErlang)はLINEのLEGYと呼ばれるバックエンドのシステムで採用されていたり、Whatsappというアメリカでよく使われるLINEのようなものとか、任天堂のSwitchのプッシュ通知のバックエンドでも使われている言語らしいです
現在チャットアプリを作ろうとしているので、こうした新しい言語に手を出してみるのもありだと思っています
残念ながら企業での採用実績は上で挙げたような例以外はあまりないのですが…
声優ライブ!TrySailは友達が良く行ってた笑 私も好きな声優が…(ここではやめておこう…)。プログラミングもぜひいろいろ学んでね!