プログラミング
コーディングが出来たとしても、ソフトウェア・デザインとなるともっと大きな視野が必要になる・・・と悩んでいた時にちょうど巡り合えた一冊についての感想をまとめたいと思います。とても良い本ですが、残念ながら日本語版は現在出ていません。 この本、A …
Unity公式から発行されているe-bookである、 Level up your code with game programming patterns を読んだので、その感想及びレビューを書きます。 公式による、日本語版の紹介記事です。本書の冒頭部分の内容が抜粋されています。ただし、e-book自体は英語…
オブジェクト指向プログラミングにおいて指針となるSOLID原則について、自分なりに考えをまとめます。つまり、『あくまで個人的な見解です』 現在読み進めているUnityによるe-book "Level Up Your Code With Programming Patterns"はプログラミング・パター…
Unity 2021LTS版がリリースされました。多くの新機能があるのですが、今回はUnityが、C#8.0に対応したことで可能となった、新しいswitchの書き方についてです。 なお、文とは"statement"を指しますが、この新しい構文は厳密にはstatement(文)ではなく"式"…
プログラミングの目的はコーディングではなく、問題解決です! なので、今回選出するプログラミングにおける4大ツールは、問題解決をするためのツールということになります。どれもプログラミングだけに限らない、様々な問題への取り組み方を示す考え方です…
コンピュータ内部、具体的にはCPUでは、足し算だけで四則演算の他の計算も行っています。つまり、2×3だろうが9÷3だろうが5-1だろうが、全ては二進数の加算として表現され、そして計算処理されているということです。 a - bはbの補数を足す、a × bはaがb個あ…
C#におけるinterface : インターフェースについてです。継承やポリモーフィズムはclass間の縦の繋がりを作り出したり、それを利用する機能であるのに対して、interfaceは横の繋がりを作り出すための機能と言えると思います。 interfaceを使うことで、異なるc…
配列とは、タイプが同一の変数の数列を扱うためのデータタイプです。 配列(array)にはいくつかの制限があります。宣言時に指定した要素数で固定されますし、そのせいで自由にデータの挿入が出来なかったり。C#では、例えばListの方が使いやすいので、無理…
コンピュータに何が出来て、何が出来ないのか、についての話です。 *本記事は個人的な思索をまとめたものなので、内容や記述の正当性についての保証はしかねます! Unityも触っていますが、やはりプログラミング自体も面白く、そちらに多く時間を掛けている…
オブジェクト指向プログラミングにおける初心者への説明は、まどろっこしい。もっとシンプルに考えることは出来ないか、という試みです。とりあえず、変数と関数から行ってみます。 変数は箱のようなもので、箱じゃない 変数は箱ではありませんし、そもそも…
オブジェクト指向を思想のように捉えることは混乱を生みます。エレガントな手段!なんてものではなく、タイトルの通り、それなりの規模のプログラミングに対する妥当で、現実的な手段ではないのでしょうか。オブジェクト指向の本質を理解した気がするので、…
関数といえば、プログラミングにおいては、なんらかの仕事をする「機械」のようなものであり、C#上だとメソッドとも言われます。 関数とはコードを部品化、あるいはモジュール化して再利用しやすくするためのものだ、というような説明がなされます。それはそ…
正規表現という字面を見ると、なんだかお堅い感じがして尻込みしていましたが、分かってみるとこんなに便利なモノもないなと感動しました。 このページが分かりやすいです。 サルにもわかる正規表現入門 やっぱ、2000年前後の個人の方が真面目に作ったページ…
意外とスルーされがちな、プログラミングにおける様々な記号の読み方についてまとめていきます。 . , ; : [] {} _ * | () <> ! " ' = + - % / \ ^ 周知の事実? 自分を含む、ズブの素人というのは、プログラマの人が初めから分かっているようなことすら分か…
神ゲーの1つである、ジャンケンをプログラミングで再現することで、プログラミングの最初から終わりまでの一連の流れをステップごとに追って説明していきます。それによりプログラミングとはなんだろうということを考察する内容です。 ジャンケンは分かりや…
そこそこプログラミング出来るようになった現在から、右も左もわからなかった頃、入門者時代を振り返り、なぜプログラミングは分からないのか?ということについての根本的原因を明らかにするのが本エントリの狙いです。一般的な観点(非プログラマ的観点)…
結局、プログラミングとはどういう作業なんだろう?ということを一覧できるような図を描いてみよう、というのは以前から思っていました。 プログラミングを一概に説明するのは無理でしょう。でも初心者の頃にそういうのが欲しかったんですよね。大体でいいの…
FizzBuzzとは英語圏における言葉遊びで、複数人で数字を順に言っていくわけですが、3の倍数の時は"fizz"、5の倍数の時は"buzz"、3と5の公倍数の時には"FizzBuzz"と言うのがルールになっています。 FizzBuzz問題とは、この遊びをプログラミングで再現するとい…
public, privateとはつまりは公開、非公開のことであります。 今回は"クラス"同士が連携する際のセーフ・ガードの役割を果たす、アクセス修飾子、プロパティについてまとめてみたいと思います。Unity上の使い方についても書いてみました。 プログラム全体を…
小ネタというか、小言というか。タイトルの通りです。 でも、実際かなり切実な願いですよ。 ただでさえ初心者はコードを読むこと自体が難しいし、キツイです。コードがページによって、分断されるなんて嫌がらせみたいなもんです。読みやすいコードを書こう…
人間にとって、意味のない識別番号を読みやすく、理解しやすくするために、列挙体"enum"は重要な存在! ※2017/07/12 じゃんけんの例を追記 ゲームと列挙体 ドラクエのやくそう、ポケモンのモンスターボールなど。ゲームにおいて、アイテムというものは無くて…
もう半年も前になるんですね。 攻略本なんてないよ!という宣言とともに、自分がプログラミング学習をどう打開していったか、ということを書いた記事です。 最近、この記事へのアクセスが多いんです。調べてみたら、『C#初心者』という検索ワードで、9番目ぐ…
全てのプログラマが、1番最初に書くコードとされる、"Hello World!" シンプルであると同時に、これからプログラミングを始めようとする人間にとっては退屈極まりない、つまらないプログラムです。しかし、その偉大さと意義が初心者なりにわかってきたので、…
発端はコチラの記事です。 残酷な真実から目を背けてはいけない・・・('o';)。 この記事と元記事(プログラミングを独習するのには10年かかる)を読んでみて、考えたことをプログラミング初心者としての立場から書いてみたいと思います。 何を学ぶべきか?と…
自分のような一皮向けようとしている初心者にとっては非常にわかりやすく、レイアウトなども含め、いい本だと思いました。特に"クラス"については、いかにクラス設計すべきかの指針を具体的に書いており、そもそもクラスは何のために必要か?という部分も学…
何回繰り返しますか? - How many times should I repeat for? - そもそも論な話題です。同じような処理を何回も繰り返すのが得意なコンピュータにとって、プログラム上なくてはならないのがForループ文。でもこの"For"って何だろう?とずっと疑問に思ってま…
プログラミングにおいて、重要なのが変数やメソッドのネーミング。適切な英単語を選ぶことの大切さについて考えてみました。英語力問題に切り込みます。 名に魂は宿る。 プログラミングにおいて、メソッドや変数の名前付け、"ネーミング"は大事です。どんな…
コードを書くに至るまでの道筋を5段階に分けてみました。実は"コードを書く"コーディングというのは、プログラミング作業全体の内の一部分に過ぎません。 コードを書くまでの間に相応の下準備があり、いきなりエディタやIDEに向かっても書けない、ということ…
C#はかなり英文に近く、そういう意味では読みやすそうに見えます。しかし、あくまでプログラム文を読むということは、自然言語の文章を読むということとはまた別の問題なんだ、ということについて、歴史を踏まえて考えてみました! 抽象化とは機械の感覚を人…
いまさらC言語なんて・・・ましてやアセンブリなんて・・・と思うかもしれませんが、人によっては最適な入り口は違うと思いますし、いろいろなプログラミング入門の仕方があっていいんではないか?ということです。 いいサイト見つけました この記事で、純プ…