プログラマーを悩ませるもののひとつは、丸め誤差です。
そして、もうひとつ挙げるならば、「桁あふれ(オーバーフロー)」でしょう。
なぜ悩ませるのか?
なにかを計算する時には、本来は必ず、これらを意識する必要があるからです。
最近では、CPUの性能も上がっているため、一度に取り扱える数値も大きくなっています。よって、あまり、これらを意識することがない場面も多くなりました。
しかし、これらは、とても重要な考え方なのです。ここでそれを学んでください。
>> 続きを読む
障害(バグ)の直接原因第三弾は、「丸め誤差」です。
丸め誤差による障害は、小数点以下の数値の扱い方に起因し、計算結果が想定と異なる事象となります。
ここでは、丸め誤差により障害がどのように発生するのか、その原因は何か、そして、その対策を学んでください。
>> 続きを読む
プログラミングにおいて、悩ましいことの一つに「丸め誤差」があります。
この丸め誤差とはどのような誤差なのでしょうか?
この誤差の意味を理解することは、小数点以下の数値の扱い方を知ることになります。
複雑な計算式のみならず、単純な計算式においても、小数点いわゆる実数を扱う場面は多くあります。
ここで、プログラムを作成するうえで、小数点以下の数値をどう扱うのかを学んでください。
>> 続きを読む
プログラマーを目指す方や、初心者の方でC言語を学ぼうとしている人は、自分のPCがWindows環境なら、ぜひ、「Cygwin」をインストールしてほしい。
理由は簡単。
Windows環境にUNIX環境があるようなものだからです。
C言語を学ぶには、UNIX上で学ぶべきなのです。
敷居が高いと感じてしまうUNIXかもしれませんが、難しいシェルなどを覚えるというよりは、C言語を気軽にコンパイルでき、実行できる環境があると思えば少しは楽かもしれません。
ここでは、Cygwinのインストール手順をご紹介します。
>> 続きを読む
障害(バグ)の直接原因にはどのようなものがあるのかを紹介していくシリーズ。
直接原因を知り、その根本原因を知ることは、自身の設計やプログラミングの質を高めます。
第二弾は、「条件文(判断文)の漏れや誤り」です。
初期化漏れと同様に、条件の漏れや誤りによる障害(バグ)によって、プログラム動作にどのような影響が生じるのかを学んでください。
>> 続きを読む
障害(バグ)の直接原因にはどのようなものがあるのかを紹介していくシリーズ。
これらの直接原因を知ることは、同じような障害(バグ)の問題解析にも役立ちます。
また、根本原因を知ることは、自分が設計やプログラミングをする際に同様の障害(バグ)発生を未然に防ぐことにもつながります。
ぜひ、品質を向上させるためにも、お役立ていただければと思います。
第一弾は、「初期化漏れ」です。
初期化漏れによって、プログラム動作にどのような影響が生じるのかを学んでください。
>> 続きを読む
初心者の方で、プログラミングを始めるなら、どの言語からがよいでしょうか?と聞かれることがよくあります。
私は、迷わず、「C言語」を勉強したほうが良いですよと答えています。
巷では、一番難しいという印象の「C言語」ですが、なぜそれを勧めるのでしょうか?
ちゃんと理由があります。
趣味でプログラミングをはじめようとしている人には当てはまりませんので、スルーして結構です。
プログラマーを目指すあなたには聞いて欲しいことです。
>> 続きを読む
最近、どこの書店でも、「プログラミングはビジネスマンとして必須のスキルである」という内容の書籍がずらりとならんでいます。
「プログラミング的思考を身につけることは、どの職業のビジネスマンにとっても必須である」とも言い切っています。
なぜなのでしょうか?
書籍で言うところの「プログラミング的思考」とはいったいどのような思考なのでしょうか?
この流れに乗って、プログラミングを勉強しようと思っている方にとっては、今回の記事はあまり役にたたないと思いますので、スルーしていただいて構いません。
しかし、本気でプログラマーを目指している大学生や専門学生などは、しっかり覚えていただきたいことがありますので、今回の記事は有益なものとなると思います。
>> 続きを読む
システム開発において、構成管理(バージョン管理)はとても重要です。
構成管理を正しく行うことで、品質(Quality)、予算(Cost)、納期(Delivery)を達成させることにつながります。
仕様書、設計書、ソースなどの成果物に対して、構成管理をしていないプロジェクトは、様々なリスクを抱えます。
同一の設計書やソースを複数の人が同時に修正をしていた場合、競合が発生します。その場合、どちらかが上書きされてしまい、修正したものが消えてしまう可能性があります。また、最新版の設計書やソースがどれなのかわからなくなる可能性もあります。
このような状況では、とても、品質が保てるものではありません。
そこで、複数の人が同時に修正することを想定して、修正した順番に「履歴」としてバージョンを管理していく方法、考え方が、構成管理、いわゆるバージョン管理なのです。
ここでは、この構成管理(バージョン管理)の重要性や履歴という考え方について学んでください。
>> 続きを読む
最近、「コミュ障」という変な言葉が流行っています。
コミュニケーション障害の略称だそうですが、2ちゃんねるやSNSから流行りだした造語だそうです。
なんとも時代を感じます。
なんでもかんでも省略する風潮は、軽いイメージを与えてしまいます。そこには当事者の気持ちには関係なく、陰湿ないじめのようなイメージすら抱きます。流行らせている人たちは面白がっているだけです。
この「コミュ障」も同様です。
調べてみると、「コミュ障」と、医学的な「コミュニケーション障害」とは全く別物であることが分かります。
なぜこのような差別的な言葉が流行るのか理解に苦しみます。まして、SE・プログラマは無口で人付き合いが苦手だという人がたくさんいる業界でもあります。私もそうです。
ですが、きちんと仕事を行っています。偏見だけがひとり歩きしていますが、コミュ障と自分で思っている人には、何も気にする必要がないということを、ここで理解してください。
>> 続きを読む