これまで自分が触ったことのあるプログラミング言語を振り返る
お久しぶりです、大体1ヵ月ぐらい間をおいてブログ更新してる人です()
3月に無事に高専専攻科を卒業し、4月から赴任早々、在宅ワークで2/3ぐらいもやし生活しています(ご飯はちゃんと食べてますので大丈夫です)。最近はDiscord上で不特定多数の人とリモート飲み会を開催したりなどで親睦を深めるような機会を作ったり、お給料でPCを新調したりなどいろいろなことに手を出しています。
特に、自分が学生時代の頃は様々なプログラミング言語に触れる機会が多かったのですが、現在はインフラやサーバ回りについて学習しているところです(着々とフルスタックの道のりを歩んでいる軍靴の音)。そこで、メモ書きのような書き方にはなりますが、今まで触ってきたプログラミング言語についてのちょっとした振り返りをしていきます。拙い文章ではありますが、よろしくお願いします。
※インフラやサーバ回りについてはまた後日書きます。
がっつり触ったことのあるプログラミング言語
C++(03、11~17)
C++自体は7年ぐらい前からずっと書いてきた言語の一つで、学生時代の初期からずっと触ってきています。開発自体は小規模なものから、アルゴリズムの実装・確認・可視化、簡単なゲームを制作などを行ったことがあります。OpenSiv3Dはいいぞ!
ヒープソートも可視化した
— なじゃ❄️ぷけニキ (@Najaran3) May 24, 2019
(データ数:2400、ヒープ木再構築はほぼ一瞬のため根とのソートを1ステップとした) pic.twitter.com/791iLFSUHH
C++の習熟度としては、STLを用いて簡単なアルゴリズムや処理、クラス設計がある程度できるぐらいですが、実際はまだ初学者~入門者程度だと思っています。
qiita.com
よくC++は学習コストが高い言語とは、リアルでもTwitterでも伺うことが多いのですが、実際はそうだと思いますw ただ、C++を知ると他の言語でもある程度戦える身体になれるとも思います。さあC++の沼へようこそ
#include <iostream> int main() { using std::cout; using std::endl; cout << "Hello, World" << endl; }
C
CはC++に出会う前にちょっとだけ触れてた言語で、最近はほとんど書いてないですが一番最初に触った言語です。あとはマイコンの組み込みとしてちょっとだけ書いてたりはしました。でもやっぱり最近触ってないなぁ…
#include <stdio> int main() { printf("Hello, World"); return 0; }
Java
Javaは4年ぐらい前に、学校の演習で触れたのが最初でした。こっちはC++程ではないものの、基本的なものを用いて簡単な開発の経験(Java FXを用いた本当に簡単なゲーム、Robocode等)がある程度ですね。
MinecraftのModを開発する上では欠かせない(現在はKotlinでの開発もできる模様)ため、Moddingをするには欠かせない言語の一つ。また、オブジェクト指向プログラミングを学習する上でもよく採用されている。
public class Hoge { public static void main(String[] argv) { System.out.println("Hello, World"); } }
JavaScript
JavaScript自体は結構前から触ってきている言語ですが、いつ頃からだった間ではちょっと存じ上げないです(´・ω・`) ただ、自分が学校の卒研で制作したものではがっつりJavaScriptを使っていました。
ただしこの言語、学生時代の私にとっては大の苦手意識を持っている言語の一つであり、いろいろな意味で苦しめられた言語でもありました。今ではそこまで嫌いではないですが、やっぱC++とかそっちの方よりも手の動きが悪い気がする……
console.log("Hello, World");
ここではあまり詳しくは言及しませんが、Vue.jsやReact.js、jQuery等のライブラリも使ったことがあります。
ちょっとだけ触れたことのあるプログラミング言語
PHP
学校の研究室で運用しているWebアプリケーションの保守運用として触ったことがある程度。
なお一番最初にお願いされたPHPでの作業はバージョンアップ作業。もういやだ二度とやりたくない
<?php echo '<p>Hello, World</p>' ?>
Ruby & Ruby on Rails
昔、学校の同期や先輩と一緒にWebアプリケーションを作ろうとしたときにちょっと勉強した言語(というよりフレームワーク?)。
puts "Hello, World"
Python
CTFのプログラミングジャンルを解くときにちょっとかじった言語。他の人から聞いた感じだと、基本的にはライブラリの扱い方が重要っぽい?
CTFをやる上では覚えておいた方がいいかもしれない言語として、現在ちょっと勉強しています(´・ω・`)
print "Hello, World"
Haxe
こっちも最近新たに学習してる言語。他のターゲット(≒言語のコード)にコンパイルできるので、とりあえずこれを覚えておけばいろいろなことができそう(小並感)
※はてなでも構文ハイライトできるんだ…
class Main { static public function main(): Void { trace("Hello, World"); } }
Kotlin
Javaの資産を流用できたり、流用させたりできる言語。自分は研究用で試作したAndroidアプリで言語をJavaから乗り換えて初めて触った。
ざっくりとしたイメージとしては、Javaよりもフットワークの軽くなったものという感じっぽい。
fun main(args:Array<String>) { println("Hello, World") }
Haskell
関数型プログラミング言語の一つ。「すごいHな本」(決してスケベな本ではない)を手に取って昔勉強してたけど、以降全く触ったことがない(´・ω・`)
私の周り(リアル、TwitterのFFさん含め)でもこれを触っている人はそこそこレアな模様。
main = putStrLn "Hello, World"