●プログラミング


■プログラミング
初めてそれっぽいものに触ったのは小6の時に触ったHTML。
中2でC言語を独学で始めたのが、その後学校、会社へと繋がるすべての始まり。
文字を書くことでプログラムを動かせる。ゲームを作ったりツールを作れる。無限の可能性を感じます。


■使用経験のある言語
言語経験レベル説明関連キーワードコメント
HTML簡単なWebサイトレベルウェブページを作成できる言語 CSS、JavaScript 小6で友達に教えてもらったり、ネットで調べたりして勉強。
この頃からホームページ更新が趣味となる。
ネットという仮想空間の中でまったく違う場所の人とコミニケーションを取れるのが魅力的。
ActionScriptほんのさわり昔流行ったFLASHを動かせる言語 FLASH 学生時代に本を買ってFLASHMXで作成。挫折。
Perl/CGI自作掲示板作れるくらい動的なサイトができる言語 CGIにもいろいろあるけれども昔はこれが主流だった。
最近やっと今更使いこなせるように。。
CGIゲームとかにハマったのもあのころ。掲示板、チャットもCGIでできてた。
jsp研修で使った程度動的なサイトができる言語 javaサーブレット これを使えたら色々なことがホームページでできるんだけど
そんなに使えないですorz
PHPDBアクセスが出来る程度動的なサイトができる言語 SQLite 最近勉強して掲示板やらログインシステムなどを作れるように。
CGIの一種だと思うがまぁまぁ使いやすい。
C言語○×ゲームのAIとかを作れる程度最強シンプル言語 中2のころに本を買って学習を開始。初めて触ったプログラム言語。
とにかく万能。コンソールプログラムの他にWindowsプログラミング、
さらにはマイコンプログラムなどハードウェアに近いところでも動く。
mallocとポインタで○×ゲームのAIを作ったのは良い思い出。 一番得意な言語であり、一番好きな言語でもある。
C++ゲーム作成とか出来る程度多機能言語 boost,DirectX, 学生の時に独学で勉強。とにかく多機能な言語。
クラスという概念があり、多様なライブラリが魅力的。
スマートポインタ、特にシェアードポインタさんは最強だと思う。
大好きなC言語をほぼそのまま使えたり、守備範囲が広い。
C#触った程度JavaとC++を合わせたような言語 XNA 何かとjavaっぽい。XNAライブラリを使うとウィンドウ作成などが容易。
C++のポインタとかの泥臭さを隠した感じ。
なんか綺麗すぎて逆にあまり好きじゃない。
java学校で習った程度ウィンドウズ以外でも動く言語 めっちゃクラス志向。
基本的にどんなプログラムでもかけるがとにかくクラス。
C++と構文が似ているので時々間違える。
例外とかのトレース機能とか標準ライブラリがめちゃくちゃ豊富。
だけど好きじゃない。
ExcelVBA業務ツールなどエクセルで動く言語 マクロ 学校で習った中で就職して一番役に立った言語。
コンパイルやVMが必要なく、エクセルがあれば開発も実行もできる。
エクセルをベースにプログラムが動くため業務データの加工や
単純作業の自動化には持ってこい。メーラを起動したりといろいろできる。
HSPゲームとか作れる程度超簡単言語 めちゃくちゃ簡単に書ける言語。
どれくらい簡単かってーと。C言語でウィンドウ作るのに100行以上いるのに、
これで作ると1行。というかもうできてる。
簡単すぎて張り合いが若干無いが偉大な言語。
Javascript簡単なWebアプリ、APIサーバを作れる程度フロントもバックエンドも可能 もともとはWebページの動的コンテンツ用の言語だった。
規格の進化に合わせ扱える範囲が広がりフロントエンド側の言語として標準的になった。
VueやReactなどフレームワークが乱立している。サーバサイドのNode.jsもある。
Python機械学習及びAPIサーバを作れる程度ライブラリが充実 Tensoflow/Chainerなど機械学習系のライブラリが充実。
構文が簡潔でとにかく書きやすい。
FlaskやDjangoなどAPIサーバ用のフレームワークも充実。
■興味のある言語
言語コメント
Rubyスクリプトでオブジェクト志向らしい。文字列操作が得意らしい。
ObjectiveCiPhoneのアプリが作れる言語。
Unityマルチプラットフォームうんちゃら。言語じゃないかも。
■開発ツール
ツール名分類コメント
JIRAタスク管理タスク管理はこれが一番おすすめ
Backlogタスク管理デザインがやわらかい
Trelloタスク管理少ししかさわったことない
Redmineタスク管理少ししかさわったことない
Github(git)バージョン管理趣味のコードはこちらで管理
Gitlab(git)バージョン管理ほぼGit。業務コードはこちら
TortoiseSVN(Subversion)バージョン管理昔業務で使っていた
Slackコミュニケーションチャットツール
MattermostコミュニケーションSlackライクなオンプレ実装
Confuluenceナレッジ管理柔軟なWiki。手順、ルール、トラブルの共有に
Jenkins自動デプロイ/テスト少しだけ使ったことがある
■愛用の開発環境
開発環境名言語コメント
BCCDeveloperC シンプルな開発ツール。
一番初めに使ったCコンパイラがBCCだったため流れで無料のこれを。
コンパイラ、リンカ、デバッガを統合したエディタであるが、デバッガは使ったこと無い。
キーワードで色が変わったり、 インデントとかが使いやすい。長く使っていたため愛着のあるソフト。
VisualStudioExpressC,C++,C#,VB マイクロソフト製の統合開発環境。デバッグモードもバッチリ
無料のExpress版だとユーザフォームの設計とかが出来ないが
そんなものあんまし使わないので全然もーまんたい。
ちょっと遅かったりするけどインテリジェンス機能も有用。
Eclipsejava javaと言えばこれ。
が、しかし自分はメモ帳でコーディングしてコンソールでjavac叩いてた(笑)
ユーザフォームの編集機能がとても便利。
グラフィカルに画面が作れるなんて素晴らしい!
でもあんまり好きじゃない(笑)
HSPスクリプトエディタHSP シンプルなエディタであるが地味に高性能。
実行ファイルの生成や強力なヘルプ機能など。
でもやっぱりなんか手作り感。
VScodePython,Javascript,C++ とにかく軽量高速。インテリジェンス昨日も十分。
コンソールもWSLを使うことでデバッグが高速で可能。
■今までに作成したプログラム
プログラム名ジャンル開発言語開発規模作成時期 コメント
HP製作支援ツール文字列処理C言語5ファイル、約1000行2010年頃 HTML内のコメントタグを拾って自動でリンクなどを追加するツール。
Cで作ったコンソールプログラムであるがブログっぽいアウトプットとか
コマンドラインでFTPソフトにパラメタ渡して自動でアップロードしたりなかなか満足のツール。
数独自動回答パズル解読C++4ファイル、約500行2011年頃 数独の問題を入力すると自動で答えが出力される。
消去法で解を求めるため、仮定法を使わないといけない難問は解けない。
解いていく過程がグラフィックで見れるのが気持ち良い。
プロコン1蟻効率化問題C++約500行2012年頃 空から降る砂糖を大量の蟻を操って効率よく食べる。
ビューアーの自作と自分のプログラムの動きを見るのが楽しい。
蟻ごとに数ビットの共有域を持つ。
自分の目標砂糖を格納し競合しづらいアルゴリズムを採用。
プロコン2対戦ボードゲームC++約500行2014年 相手がいるボードゲーム。非公開情報が多いため推測が必要。
複数条件で優先順位が高い行動をとるアルゴリズムで作成。
プロコン3落ちモノパズルゲーC++約400行2015年 テトリスっぽいゲームの最適操作を出す。
得点の計算方法が特殊で普通の長整数型では桁が足りない計算が求められる。
入力ブロックを区切ってその中で最適解を出すアルゴリズムを採用。
処理時間がネックで全探索はできないため高速化が鍵だったが、
多倍長計算クラスを自作することにしたため低速に。でも満足。
■今までに作成したゲーム
ゲーム名ジャンル開発言語開発規模作成時期 コメントスタッフ完成/未完成プレイ所要時間
コンソールRPGRPGC言語不明2005年頃? コンソールで数字を選択して進む。RPG。
属性と弱点や。森、山などのフィールドがあった。
戦闘画面はAA。未完成。
未完成-
○×ゲームミニゲームC言語約700行2009年頃 C言語で作成した一番の力作。
画面はコンソールで地味だが、
mallocとポインタで盤面探索を行い、
コンピュータは自動でMin-Max法を用いて最良手を打つ。
完成約1分
レジェンドおぶフィフティRPGHSP8ファイル、約9000行2008年頃 初めて作成したグラフィカルゲーム。
主人公はレベル50の最後の町から始まる。
制作時間の関係で装備とかいろいろカット。
ストーリーも超絶お使いゲー。
いらいらすること間違いなしの駄作。
しかし俺は頑張った。なんてったって一応ゲームは完結している!
とびたにさん、ねもとくん完成約15分
ネットワークゲームシューティングC++不明2010年頃 4:4など複数人対戦可能。
同一ネットワーク内でLANケーブルで接続することで
複数人対戦が可能なシューティングゲーム。
2チームに別れて相手を攻撃しあう。
加速や、バリアなどのアイテムあり。
ときわさん、かさはらくん完成約3分
歌詞スクロールブロック崩しブロック崩しHSP500行2009年頃 曲を流しながら曲の歌詞をスクロールさせるソフト。
ただし曲と歌詞は自分で用意する必要がある。
シークバーを実装した時点でブロック崩しを作りたくなって、
裏モードとして歌詞を覆うブロック崩しを作成。
ちなみにたまを落とすと曲が強制終了し10種類の罵倒ボイスが流れる。
コレクション要素としてバッドボイス、グッドボイス、クリア履歴機能を備えた。
完成約5分
とません擬似3DシューティングHSP10ファイル、約3000行2010年頃 完成した中で唯一ゲームと最低限呼べるもの。
レトロな雰囲気でグラフィックはぽちぽちドット打ち。
縦でも横でもない奥行きのある独特な操作性。
もちろん某狐さんをリスペクトして作ってます。
少ないながらもキャラクター絵があり、口パク、目パチは感動的です。
2014年に若干の修正を行って公開。
しんご、いちけん、しんかい、のこ完成約15分
戦略リアルタイム戦略シミュレーションC++6ファイル、約700行2010年頃 真っ黒な画面で三角の自分部隊を動かす戦略シミュレーションゲーム。
入力はキーボードからのコマンド操作。作成途中で挫折。
未完成-
Dungeonダンジョン探索C++6ファイル、約1200行2011年頃 ゲームの完成度の面では自分の中のゲームではピカイチ。
ただし未完成。基盤部分は完成しており、マップエディタアイテムエディタまで備えているため、
もう少しがんばれば完成できそうな気がする。
ちなみに敵キャラのAI実装で詰まって中断。
未完成-
とません22DブロックシューティングC++6ファイル、約2500行2012年頃 やっとこさC++のクラスに慣れてきたゲーム。
こちらもドットうちでレトロ感満載。
コンセプトとしては普段小型機ででかい敵を倒していくゲームが多いので、
今回は自分が無敵の戦艦を操縦してしまえというもの。
自機の弾幕は厚いが、被弾面積も大きい。変形するのがいい。
ちなみにオープニングロゴが一番気に入っている。
未完成-
みてい物理演算シューティングC++不明2014年頃 ときわさん未完成
戻る