WEB プログラミング

最近、とりとめもなく色々なことをしていて、ブログのまとまった記事を書くことができません。

 

私はWebの仕事は、数件お手伝いでプログラムを書いた程度で、あまり詳しくありません。

私は、これまでもっぱらWindows用のデスクトップアプリケーションの開発をしてきて、「もう新たに他分野の勉強をすることもない」と意欲がありませんでしたが、WEBの仕事も面白いかもしれないと、少し勉強しています。

これまで私がWEBの仕事で使った言語はMicrosoftのASP.NET以外に、Perl、Java、Javascript、Phpで、これで打ち止めと思っていたのですが、Pythonが面白そうなので、今結構一生懸命勉強しています。

 

私たちが見るWebのページは、最終的には(ユーザのコンピュータで使われるのは)、Htmlという規約に則った文字データ(その他画像や音源へのリンク)でできています。

どんなものか知りたければ、ブラウザでどこかのページを表示しておいて、キーボードで[Ctrl + U](コントロールキーを押したまま、アルファベットのU)を押すと、このファイルのHtmlデータが表示されます。

ブラウザ(Microsoftのインタネット・エクスプローラーやGoogleのChrome)が、この文字情報を元に、通常私たちが見るきれいな画面に作り替えています。

先に書いた言語はブラウザを支援するために使われます。

JavaやPerlのプログラムの中身はHtmlファイルでは見えません。
通常、画面上のボタンをクリックすると、その指令はサーバーに送られて、JavaやPerlのプログラムが計算等の処理をして、その結果をブラウザに送ってくる仕組みになっています。

PhpはHtmlファイルの中にプログラムを書きます。たとえば、

<?php $a = 1;if ($a == 2): ?>
これは正しい。
<?php else: ?>
これは間違い。
<?php endif; ?>

で、<?php  ?>で囲まれた部分がPhpのプログラムで、この処理はサーバーで実行し、結果だけブラウザに送りますので、ユーザ(クライアント・ブラウザ)に届いたときには、この部分が何であったか分かりません。
上のプログラムは、ブラウザには「これは間違い。」という文章だけが返ってきて、従ってそのように表示されるだけです。その裏の処理はユーザは知る由もないのです。

再度言いますが、PhpのプログラマはHtmlファイル(拡張子はphp)にプログラムを書き込んでいくのですが、サーバがPhpを処理し、その部分はユーザには届きません。

 

JavascriptはWebでは最も多く使われている言語だといわれています。
この言語で書かれたプログラムはユーザ(ブラウザ)まで届き、ブラウザがこのプログラムを処理します。

上で[Ctrl + U]の押し下げると、Javascriptのプログラムは丸見えになります。

 

言語にはそれぞれ向き不向きがあります。
その言語が何に力をいれているかによって、関連するライブラリーがどれだけ沢山あるか濃淡があります。

セキュリティを十分考慮したプログラムを書くにはJavaが向いています。
その代りJavaを実行する環境が必要で、サーバーで設定しなければいけません。

私たちが簡単に使うことができるレンタルサーバーでは、あまり使うことができません。

恐らく、航空券の発行や金融機関では、専用のサーバーを構えて、Javaでプログラミングしていると思います。

 

簡便にちょっとした仕事をするには、JavascriptかPhpを使うと思います。
Perlは昔はよく使われていましたし、現在も使われているようですが、PythonやRubyに取って代わられるのではないかと思います。

 

言語は実行形式で大きく、コンパイラー型とインタープリター型に分けられます。プログラムは最終的には機械語に変換されますが、一度機械語に変換(コンパイル)しておいて、実務では常に機械語化されたプログラムを呼び出して使うタイプの言語をコンパイラー型言語といい、必要なときその都度元のプログラムを機械語に翻訳して使う形式の言語をインタープリター型言語といいます。

先の例では、Javaがコンパイラー型言語でその他はインタプリター型です。

コンパイラー型のプログラムは高スピードなので、纏まった処理をする場合にはこの形式の言語を使います。Java以外では、Fortran、C、C++、VB、C#、Pascal等沢山の言語がコンパイラー型です。

一方のインタプリター型の言語は、テスト(デバッグ)が容易にできますので、一寸した仕事、特別高速を要求されない仕事には向いています。

コンパイラー型とインタープリターの中間の言語があります。
プログラムコードを中間言語に一度翻訳しておいて、実際には中間言語から機械語にその都度翻訳するものです。
実はJavaがこの形式ですし、.NETといわれるマイクロソフトのVBやC#やC++がこれに属します。

 

ついでに、言語の分類で別の分け方があります。

宣言型と手続型です。

上に挙げた言語はすべて、処理の手続きをプログラマが書いていきます。

ところが、「こうしたい」と書いてやれば、処理してくれる言語があります。データベース用言語SQLとか昔AI研究で使われた推論用Prolog等です。

前者を手続型言語、後者を宣言型言語といいます。

 

さて、Pythonをどのように使ったらいいのかまだよくわからないのですが、Webの世界を徘徊し情報を集めるには適しているようなので、少し研究しています。

 

余談ですが、
数年前、初対面のあるソフト技術者が、現在ほとんど日本では使われていないDelphi(Pascal)という言語を使っていると聞いたので、軽い気持ちで、「デルファイを使っているのでね」と話の口火と切ったところ、「デルファイも」と「も」に力を入れて返答してきて、大変面喰ったことがあります。

彼は「あれもこれも知っているのだ」と言いたかったのでしょうが、ソフト技術者であれば最低3つ、普通に5つくらいの言語が使えなければ一人前とは言えません。

プロであれば、知っている言語の数を自慢するものではありません。

error: コピーできません !!