プログラミングとは何か?調べています。

データーセンターについて学ぼう

プログラミング用語の知識についてお話をしています。
今回は、プログラミング用語から少し離れてデーターセンターについてお話をしたいと思います。

データセンターとは、企業からデータやサーバーを預かり管理・運用などを行う拠点のことを言います。
この企業からのデーターやサーバーを安全な環境のところで管理することで、企業はシステムを安定的に運用し続けることができるのです。

このデータセンターは、サーバーを24時間稼働させています。
そのためには、さまざまな設備を用意しているのです。
その設備とは、自家発電装置により二重化された電源であったり、冷却装置や耐震設備、そして防火設備や高速大容量のネットワーク回線などの設備がある。
不意の渉外に24時間いつでも対応可能なだけの専門の人材を確保していたり、データの盗難を防ぐために生体認証などのような高精度のセキュリティシステムを備えたりとしているんです。

また、サーバを預かるサービスとしては、顧客が用意したサーバ等に自社の回線・場所等を提供するコロケーションサービスと、自社サーバのスペースを貸すホスティングサービス、契約者自身が独自の機材を持ち込みサービスを提供するサーバーハウジングサービスがあります。
このハウジングサービスは、ホスティングサービスと似ていますが、ホスティングに比べサーバの機種、OS等の環境、ネットワーク構成、拡張性、セキュリティ対策等を柔軟に構成することができるんですよ。

プログラミング~ファイル~

プログラミング用語の知識についてお話をしています。
電子メールで添付ファイルを送ろうとした時、バイナリーで送る・受信するとかいう言葉を聞いた事がありますか?
今回は、プログラミング用語の基本であるファイルについて触れてみたいと思います。

ファイル形式には、大きく2つの種類があり、テキストデータを扱ったテキストファイルと音声データや画像データ、プログラムの実行形式データのようなそれそれの形式で表現されているバイナリファイルです。

<テキストファイルについて>
テキストファイルは、エディタと呼ばれる文字コードに自動変換するソフトウェアを用いることにより、ディスプレイ画面上に文字情報を表現することができるファイル。
よく使うエディタが、Windowsに付属の「メモ帳」です。

<バイナリファイルについて>
バイナリファイルは、それを作成したソフトウェアあるいは認識できるソフトウェアがなければ、見ることも聴くこともできません。
音声データならその音声データを認識できるソフトウェア、画像データならその画像データを認識できるソフトウェアが必要となります。

その音声データも画像データも、いろいろなソフトウェアの形式があるため、その形式も注意が必要です。
たとえば、Windowsで一般的な音声データは.wavです。しかし、 macのフォーマットは別なので注意しましょう。
画像データもWindowsは.bmpですが、Macでは.pictです。

プログラミングの基本である”テキスト、バイナリファイル”について簡単に触れてみましたが理解できましたか?

プログラミング~単位~

プログラミング用語の知識についてお話をしています。
情報量を表す記憶容量の単位としてビットやバイトがあります。
今回は、プログラミング用語のこの単位についてお話をしたいと思います。

ビットは、2種類の情報を持つ事ができ、2つの数を表す事ができます。
8個のビットで1バイトになり、256種類の情報を持つ事ができます。
と言う事は、置き換えると256個の数を表現する事ができます。

メモリは1番地につき、1バイトの情報を持っている。と聞いた事があると思います。
頭に、K⇒キロバイト、M⇒メガバイト、G⇒ギガバイト、T⇒テラバイトという単位も存在します。
ミリやセンチなど日常生活に出てくる単位はなんとなく「どれくらい」というのが想像つきますよね。
ですが、パソコンに関する単位は目に見えないのでなんとも理解しづらい・・・。
分かりやすく例えてみましょう。

・1バイトX1000=1KB(キロバイト)・・・半角文字1文字が1バイトなので、半角文字で1000文字、全角文字で500文字くらい
・1KB(キロバイト)X1000=1MB(メガバイト)・・・1MB=おおよそフロッピー1枚分(フォーマット前のサイズは1.44MB)
・1MB(メガバイト)X1000=1GB(ギガバイト)・・・CD-Rの容量が650~700MB、片面一層のDVD-Rの容量が4.7GB
・1GB(ギガバイト)X1000=1TB(テラバイト)・・・8.5GBの映画用DVDが、117本収録できるサイズが1TB

このように例えると少し分かりやすいですよね。

プログラミング~8進数、16進数~

今回は、プログラミングに関係のある2、8、10、16進数について調べてみます。
前回は、コンピュータが処理をしている2進数について説明をしました。
今回は、その他の8進数と16進数について説明をしたいと思います。

まずは、8進数について触れてみましょう。
プログラム言語で使う事のある、8進数の表現はどのようになるのでしょうか?

◆8進数
8進数も考え方は前回お話をした2進数と一緒です。
8進数なので、使える数字が8種類ということです。
1から2、3、・・・7と来たら次は、8はどうやって表現するでしょう?

答えは、2進数の時と同じように繰上げで10となります。
この8進数は、あまり使う機会がないと思いますが、数値の先頭にアルファベットの(オー)oをつけます。

例えば、o10  10進数表記だと8となります。

そして、次は16進数について調べてみます。

◆16進数

16進数も考え方は、2進数・8進数と一緒です。
16進数と言うからには、使える数字が16種類ある事になります。

0から9までは、そのままですが、10はどうやって表現すると思いますか?
数字はそれ以上はもうないので、アルファベットを使います。
9の次はA、順番にB、C、D、E、Fと数えていき、16は、2進数の時と同じように10と表現する事になります。
2進数との親和性が高いので、使う機会が多いかと思います。
この16進数は、実社会ではイギリスが16進数を使う国です。

プログラミング~2進数について~

今回は、プログラミングに関係のある2、8、10、16進数について調べてみます。

2進数や、8進数、16進数とは何でしょうか?
現在日本で使われているのは、10進数です。
なぜ10進数かと言うと0、1、2、3、~9までの10個の数字を利用するからです。

プログラム言語で使う時の表現はどのようになるのでしょうか?
また、プログラムでも2進数、8進数、16進数を使う事があるそうです。
まずは、2進数について調べてみますね。

◆2進数
2進数は、0、1の2個の数字しか使いません。
10進数で10と言う数は、2進数で表現すると、どのようになるんでしょうか?
0と1しか使えません。
どうやって使うの?と思うかもしれませんが、きちんと表現できるそうです。

2進数で1から数えてみると、
0は0、1は1、さて、2はどう表現すると思いますか?
答えは、繰上げで10となります。10進数で言うと9の次は10と言う具合ですね。
この要領で数えていくと10進数の10は、2進数で1010となります。

コンピュータは全て2進数で処理しています。
プログラム言語で使う時の、2進数について調べてみたいと思います。

C言語では表記方法がないため、16進数表記を利用する事になる。
利用するのは、アセンブラ言語です。
数値の最初にゼロ0をつけます。

例えば、
01100   10進数表記だと12  このようになります。

2進数との親和性が高いので、使う機会が多いですよね。

次回は、8進数について調べてみたいと思います。

プログラミング用語~ MS-DOS~

今回は、プログラミング用語のMS-DOSについて調べてみます。

現代は、Windowsパソコンが中心でマウス操作が欠かせない存在になっています。
昔のパソコンは、プログラミング用語MS-DOSというOSが主流でマウスがなく全てキーボードでの操作だったそうですよ。

このコマンドを入力する領域の事をDOS窓と呼び、今ではDOS窓を使う機会が極端に減りました。
また、コンパイラなどを使う場合に、このDOS窓が出てくる事があります。
基本的な事として、現在いるフォルダがあり原則的にそこにあるファイルしか操作できない事になっています。
音楽を再生する場合にも音楽ファイルが置かれているフォルダまで移動しないといけないという事になります。
これはとても面倒な事ですよね。
しかも、マウスがなくすべてをキーボードで打つなんて、とても面倒ですよね。

◆cdコマンド
change directoryの事で、フォルダを移動するという意味。
<使い方>
cd test・・・testフォルダに移動する。カレントディレクトリがtestになる。
cd .. ・・・ ひとつ上のフォルダに移動する。
cd c:\ ・・・ Cドライブの一番上の層に戻ります。

◆dirコマンド
Directoryの事で、現在ディレクトリのファイル、フォルダ名を一覧表示します。
カレントディレクトリがC:\LSICの場合にaaa.txtと入力するとメモ帳が起動。
カレントディレクトリがC:\LSICの場合にplayer.exeと入力すると音楽プレイヤーが起動。

プログラミングを進める上では、この2つのコマンドだけの知識で十分だそうです。

プログラミングを簡単に言うと・・・

プログラミングについて調べています。
が、なかなか難しい言葉や初めて聞いた言葉を聞いて正直あまりよく分からないって方が多いのでは?
私もその中の一人なんですけど・・・(笑)

簡単にプログラミングについて言うと、どのようなものなのか紹介したいと思います。
プログラミング言語は、人間が分かりやすく記述できるようになってるんですが、パソコンからは理解できない。
パソコンが理解できるように変換・翻訳してやる必要があるのです。

身近な例で言うと、日本人が日本語で話しても外国人の方には理解できません。
日本人が理解できるように日本語を英語やフランス語などにに翻訳して伝える必要があると言う事なのです。

プログラミング言語によっていろんな翻訳・変換の仕方があり、大きく分けると下記の2つになるそうです。

1.プログラム全体を完全翻訳してから実行する形式(コンパイラ)。
2.プログラムを翻訳しながら実行する形式(インタプリタ)。

1のコンパイラは、翻訳する際に多少の時間はかかりますが、動作は非常に高速である。
2のインタプリタは、常に翻訳しながらの実行となるので動作は遅いですが、プログラムを作ってすぐ実行する事ができます。

プログラミングの作業順序は次のようになり、
1.プログラムファイル(ソースファイルと言います)作成
2.翻訳・変換
3.パソコン上で実行
4.おかしいところがあれば1のプログラムファイル作成へ戻る。

となるそうです。
なるほど!なんとなく理解できましたよね。

サーバーとプログラミングとは?

次は、サーバとプログラミングについて触れてみたいと思います。

Webプログラミングでは、サーバ側で動作するプログラムとクライアント側で動作するプログラムの両方を開発しなければなりません。
それぞれの側のプログラムで利用される技術は異なるので、Ajaxを採用するプログラムであれば、サーバ側・クライアント側のプログラムが複雑に連携して機能を実現できます。

それぞれの側のプログラムを別々に開発することが難しく、プログラマには両方の側で用いられる技術を深く習得することが求められます。
サーバ側でのプログラミングは、ウェブサーバ上で動くプログラミング言語を用いて行われる。
このプログラミングは「サーバ・サイド・プログラミング」とも呼ばれ、例としてサーバサイトにつかう言語と環境として
CGI + PerlやPHP、Ruby、Java Servlet + JSP + Enterprise JavaBeans + Spring Framework + Apache Struts(Java EE)、.NET(ASP.NET(C#,VB.NET))などが挙げらます。

アクセスが殺到しやすいウェブサイトでは、データベースに高い負荷がかかりがちのためソフトウェアの開発を求められる事が多い。

サーバー販売について分からず詳しく知りたいなら、ATワークスという会社に問い合わせをしてみるのも良いかもしれません。
こちらでは、1UサーバーやDVDのダビングをしている会社なのでそちらも興味深いところですよね。

改良をしてきたプログラミング

前回は、プログラミング言語の歴史について触れてみました。
どのように改良してきたのでしょうか?

1960年代から1970年代末ごろまでに、現在使われている主な言語パラダイムが開発されたが、その多くはごく初期の第三世代プログラミング言語のアイデアの改良である。
その中身について、紹介しましょう。

・APL・・・ 配列プログラミングを導入した言語であり、関数型プログラミングにも影響を与えた
・PL/I (NPL)・・・ FORTRANとCOBOLの長所を取り入れて1960年代初期に設計された。
・Simula・・・ 世界初(1960年代)のオブジェクト指向プログラミングを採用した言語。
・C言語・・・ 1969年から1973年にかけてシステムプログラミング言語として開発され、現在でもよく使われていのがこちら。
・Prolog・・・1972年に設計された論理プログラミング言語。
・ML・・・1978年に開発された言語で、LISPをベースとした静的型付け関数型言語の先駆けとなった。

これらの言語のアイデアは様々な言語に引き継がれており、現在の言語の多くは、これらのいずれかの系統に属しているそうです。
1960年代と1970年代は、構造化プログラミングに関する論争が盛んに行われた時期であり、プログラムのメモリ使用量を削減し、プログラマやユーザーの生産性を向上させる技法も進展した時期である。

次回は、専用サーバについても少しご紹介したいと思います。

プログラミングの歴史

プログラミングについて調べています。
プログラミング基礎は、歴史から!歴史について触れてみたいと思います。

プログラミングの歴史は、最古のプログラマブルな機械(プログラムによって動作の変化を制御できる機械)としては、1206年にアル・ジャザリが作った二足歩行ロボットがあると言われている。
アル・ジャザリのロボットは、ボートに4体の演奏人形が乗ったもので、宮廷のパーティで池に浮かべて音楽を演奏したと言われ、プログラムはカムにあり、それによって小さなてこを押して、打楽器を演奏する。
カムは実際には円筒にペグが突き刺された形であり、このペグの配置でプログラミングし、演奏パターンを変更したらしい。

先駆者の発明をさらに進化させたのがハーマン・ホレリス。
1896年に Tabulating Machine Company を設立した。
彼はホレリス式パンチカード、タビュレーティングマシン、キーパンチ機などを発明し、これらの発明が情報処理産業の基礎となった。
1906年には、タビュレーティングマシンにプラグボードを追加することで、組み替えれば様々な仕事ができるようになった。
これがプログラミングへの第一歩といえる。
1940年代には、プラグボードによるプログラマブルな機械が各種登場していた。
初期のコンピュータにもプラグボードでプログラムを組むものがあったそうです。

歴史をさかのぼると、そんなずっと昔からあり時と現在も共に飛躍的な進化を遂げているプログラミング。
この傾向がどれだけ続いていくのかわ、誰も分からないという。