flandlescarlet's diary【情報工学生の備忘録】

元機械工学科所属だった情報工学生です。JavaScriptで適当に何かを作ったり、絵を描いていたりします。

幾つかの言語を扱った感想

最近Web言語以外また、やっていないWeb系言語について軽く広く勉強しておりました。

そこで今までやってきた言語も含めてそれぞれの難易度や個人的な意見を添えつつ

今後新しい言語をやってみたいや、新しい言語を取得してみたいなどの手助けになれば幸いです。

幾つか個人的説明も兼ねておきます。

また紹介する言語については

HTML

  • 記述言語
  • 難易度:★☆☆☆☆
  • 用途:Web

Webサイトのページに使われるマークアップ式の言語

難しい構文は無く目印となる部分にタグと呼ばれるものをつけてWebの構成を作るために使われる。

Sample

 <html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<title>Sample</title>
</head>
<body>
<h1>見出し1</h1>
<img src="sample1">
</body>
</html>

 

XML

  • 記述言語
  • 難易度:★☆☆☆☆
  • 用途:Web

HTMLに比べて独自にタグを作りマークアップする事が出来る。

XMLPHPJavaScriptを通して利用される。

Sample

 <?xml version="1.0" encoding="UTF-8"?>
<root>
<userA>
<name>○○</name>
<age>40</age>
</userA>
<userB>
<name>□□</name>
<age>38</age>
</userB>
</root>


</root>

CSS

  • 記述言語
  • 難易度:★☆☆☆☆
  • 用途:Web

スタイルシートと呼ばれHTMLでマークアップした言語にデザインをつけるためにある。

そのためHTMLだけでデザインをとるのは間違いとなる(<table>でWebの構築をしたり<font>を使う等)

Sample

 body{
background: #F00;
color: #00F;
font-weight: bold;
margin: 0;
padding: 10px;
}
h1{
border: solid #000 3px;
background: #DDD;
}

JavaScript

HTMLとCSSと合わせてDHTMLと呼ばれる。主にWebに動的な効果をもたらす。

JavaScriptPHPと違い、ユーザーが許可しない場合があるためJavaScriptが使えなくても、通常に使用出来るサイトになるよう考慮しなければならない。

Sample

 <script type="text/JavaScript">
window.addEventListener(function(){
alert("Hello!World");
document.title = "タイトル";
});
</script>

 

HTML5

  • 記述言語
  • 難易度:★☆☆☆☆
  • 用途:Web

HTMLの最新のバージョンで現在はまだ完全な規定がされておらず草案状態までとなっている。

タグによって対応していないブラウザがまちまちあるためクロスブラウザを免れるのは難しい(特にIE)

canvasやaudioなど比較的に視野に変化をもたらすタグが追加された。

articleやsectionなどの文章定義を厳密にするタグも追加されている。

Sample

 <!DOCKTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Sample</title>
</head>
<body>
<section>
<h1>最新記録</h1>
  <p>魚市場に出回る<mark>マグロの長さ</mark>が更新された模様</p>
</section>
</body>
</html>

CSS3

  • 記述言語
  • 難易度:★★☆☆☆
  • 用途:Web

CSS2の次にあたるバージョンでデザインが強化されている。

主に今までのCSSは静的なものであったが、時間指定などを予め決めておき反映させたり

ユーザーの操作も一部受け付けられるようになり、これだけでゲームが作れるまでとなった。

Sample

 h1{
border: solid #000 2px;
border-radius: 3px;
background: #F00;
transion: background 2s linear;
-moz-transion: background 2s linear;
-webkit-transion: background 2s linear;
-o-transion: background 2s linear;
}
h1:hover{
background: #500;
}

PHP

ユーザーの入力した情報等を自由自在に扱うことが出来る。サーバーで稼働しているため

この言語を扱うときはセキュリティに関しても勉強する必要性がある。(JavaScriptによるXSSSQLインジェクション攻撃など)

予め用意された関数が多いのも特徴的である。

フォームに値が入力されていない時、JavaScriptで注意を促す事ができるが、ユーザーが拒否した時のことも考えて

PHPでも値が入力されていないとき、処理を行わないように設定する連携も多々ある。

またHTMLの文章内に直接記述出来る便利な一面もある。

Sample

 <html>
<head></head><body>

 <?php

print "Hello!World";

if(isset($_POST["name"])){
echo("ようこそ" . htmlspecialchars($_POST["name"],3) . "さん");
}

?>

<form action="this.html" method="post">
<input type="text" name="name">
<input type="submit">
</form>

</body></html>

SQL

  • 問い合わせ言語
  • 難易度:★★☆☆☆
  • 用途:Web

PHPと連携して用いられる事が多い、言語自体ではただの表組を生成して

必要に応じてソートやデータの抽出を行うことがある。

XMLやJSONとは違い厳密な所から大量で膨大なデータを扱うのに適している。

Sample

 CREATE TABLE tabledata (id INT , name TEXT , age INT);
INSERT INTO tabledata SET id = 1 , name = "○○" , age = 40;
INSERT INTO tabledata SET id = 2 , name = "□□" , age = 38;
UPDATE tabledata SET name = "△△" WHERE id = 1;
SELECT * FROM tabledata WHERE age > 39;

HSP

本来はゲームを作るために簡易に作られている。

そのため他の言語をやっていると、その簡単さに唖然とする事があるが逆に書き方が大幅に簡易化するため間違えることがある(if文の同じを示す記号は == ではなくて = であるなど、while文やforが存在していない)

Sample

 title "Sample";
color 0,0,0 : boxf;
color 255,255,255;
font msgothic,30,1;
mes "Hello!World";

button "クリックすると終る" , *thend;
stop;

*thend
end;

Java

プログラミングにおいてはかなり奥が深くてやりごたえがある言語

ハローワールドを記述するだけでもかなりの行をとるため普通は専用のソフトを使いながら基礎的な文法は飛ばして記述するのが主流

sample

 public class Message { public static void main (String[] args) { System.out.println("文字を表示する"); } } 

FORTRAN

  • 手続き型言語
  • 難易度:★★★★☆
  • 用途:膨大な計算に使用される

C言語が存在してから使われる頻度が少なくなったFORTRANですが、旧プログラムとして勉強するのには適している言語です

昔のコンピューターは大文字しか使えないこともあってその名残で記述は大文字でします。

Sample1

 INTEGER I,J,a(8)
REAL P,Q
DO 200 0,8
a(J) = J
200 CONTINUE
J = 10
I = 0
P = 20.0
Q = 30.0
CALL DATA(P,Q,I)
WRITE(*,*) "PとQの合計値は" . I
 STOP
END

SUBROUTINE DATA(P,Q,I)
I = P+Q;
STOP

その他のライブラリ等

Ajax

JavaScriptXMLをかけ合わせた非同期通信の事で単にDOMを扱う時だけでもそう定義されることがある。

またXMLファイルをXMLHttpRequestでオブジェクトとして生成しそこからノード計算で必要なタグを取り出すのが一般的である。

jQuery

JavaScriptでは難題なソースを予めライブラリとして作成してそれを呼び出す形で使用する。

主に$セレクタと呼ばれるもので値を指定して効果を出す形が多い。

セレクタからの視点でCSSに似ている部分がある。

CGI

Perlとよく併用して呼ばれる事があるが、PHPC言語でも記述は可能である。

用途は様々あるが掲示板の作成で使われることが9割をしめている。Webは閲覧側のみに情報を渡すシステムにみえるがCGIを使うことによってユーザーの情報を得ることが可能である(例:IPアドレス)

Sample

 #!usr/bin/perl

print "Content-Type: type/html\n\n";
print 'IPアドレスは $ENV{"REMOTE_ADDR"}です';