ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

HTMLはファイルサイズの無駄遣いだと思う。

インターネットの世の中になった。
このブログも.html、あれを見てもどれを見ても.htmlである。
Webページで使われるファイルフォーマットは殆どが.htmlとなっている。

今日取り上げるのはこのHTML。
私はとてもHTMLがファイルサイズの無駄使いだと思う。

なぜならHTMLがプログラミング言語だからである。
つまり、ビット(バイト)レベルでの形式にすれば小さく出来る物を
わざわざソースコード(テキスト)形式にして無駄にファイルサイズを大きくしているからである。

クレームをつけているくせに実は私はHTMLが書けない。
基本的な仕組みは知っているものの、
もしかしたら、この主張が間違っているかもしれない。

その時は… スンマセン

例えば画像を表示するソースをコピーしてきた。
<img alt="alt" src="src" />

確かに少ない文字数なのでサイズは小さそうだが、よく考えてみよう。

文字を使用している時点でファイルサイズを浪費しているのだ。

恐らく一文字8ビットなのだろう。
画像を表示するだけで数十バイトも使っている。

ああもったいない、ああもったいない。

細かくビットに刻んで
ビットレベルで命令を符号化するとサイズが格段に小さくなることだろう。

・でもなぜ許せるのか

内部的な部分はとても無駄だと思う。
しかし、HTMLは文書用のフォーマットだ。
ならばこの記事のように
ファイルの内容の殆どが文書なのではないか

実際、この記事のソースは大半が
私が書いた、表示するための文字列であった。

「どうせ殆ど文書で出来ているんだから、一部のタグなんかどうでもいいじゃん」と言う考え方だろうか。

う~ん、そうでもないと思うんだがなぁ。

・アセンブリ言語に学ぶ、ファイルサイズ節約術

所でHTMLよりもっと無駄ではないかと思う物がある。

それはjavascriptなどのスクリプト言語である。
あれは本当に命令などの不可視的な事しか書いてないんだから、大変な無駄だと思う
ビットレベルに細かくしなさい。

とはいえ、機械語みたいなのを書けと鬼の様な事を言っている訳ではない。

文字列と符号を対応させて、
アセンブリ言語の形をとれば楽になるはずだ。
なぜわざわざ、無駄に文字列形式にするのだろうか。
ああ、もったいない。



・結論:別に大きくてもいいじゃん

最近のコンピュータは性能がすごいのである。
ちょっとの違いなら大きくても小さくても変わらないのである。
楽ならそっちを優先すれば良いのである。

私の大好きなオブジェクト指向言語も、
プログラムを分かりやすく(楽に)設計できる利点があるが、
パフォーマンスはC言語などに比べて劣る。
(.NETやJavaは特に。)

しかし楽だからそれでも良いのである。
これが昔のコンピュータだったらそうはいかなかっただろうが、
今の技術はすごい、多少のパフォーマンスの低下はどうって事ないのだ。

しかし、HTMLやjavascriptがもったいない事には変わりない。
もしも低性能な環境があれば…な話だが。



どうこう言っても、私に仕様を変えられる権限など無い。

そうだな…、まずはHTMLを書けるようにならなきゃな。

tag:

コメント

fuga

ちょっとこのページ開いてCtrl+U押してみて ^-^
実はブログってHTMLでできてるんだよ~ ^-^b

  • 2012/08/29(水) 21:58:38 |
  • URL |
  • hoge #-
  • [ 編集 ]

最高

そのまま頑張らない方向で頑張って!焼肉!

  • 2012/08/29(水) 22:17:11 |
  • URL |
  • おびわん #-
  • [ 編集 ]

ぬーん。

phpとかだってベースはhtmlだよ~!

  • 2012/08/29(水) 22:45:35 |
  • URL |
  • firebirder #-
  • [ 編集 ]

ペロペロ、ペロペロペロペロ!

  • 2012/08/29(水) 23:25:02 |
  • URL |
  • アメリカのハッカー #-
  • [ 編集 ]

中1でこんな事を考えられるなんて感心しました。
あなたのような人が優秀なプログラマになるんでしょうね。

  • 2012/08/30(木) 00:05:04 |
  • URL |
  • 表記なし #-
  • [ 編集 ]

HTMLはプログラミング言語じゃなくて、文書をマークアップする為の言語だよ。
テキストベースで冗長だし、論理的でない部分も多くて無駄だらけかも知れない。
それに構文にちょっと誤りがあっても、ブラウザが勝手に解釈して表示しちゃう。
プログラミング言語に例えたら、例外を無視して勝手に実行しちゃうなんて有り得ないよね。

でも、だからこそ誰でも簡単に書くことが出来るし、
これだけ一般に浸透して、広く使われる技術になったの。
HTMLがプログラミング言語と同様に、プログラマにしか読み書き出来ない代物だったり、
キツイ仕様に縛られていたら、きっとWebは現在の様な姿にはならなかったと思うよ。

Webは一部の誰かのものじゃなく、みんなのものであることがすごく大切。
きっちりし過ぎてないからこそ、WWWなんだよ。

  • 2012/08/30(木) 01:02:40 |
  • URL |
  • 表記なし #dJifPsOU
  • [ 編集 ]

無駄なものが気になるっていうのはプログラマとして大事なセンスだと思います
あと必要があれば常識に縛られないってことも

もっともそれを実現するのは残り99%の努力だけどね
ペロペロ

  • 2012/08/30(木) 12:23:24 |
  • URL |
  • 表記なし #JalddpaA
  • [ 編集 ]

テキストは扱いやすいし、サイズ対策もあるよ

web のような通信の世界ではテキストなのはむしろ利点だよ。
バイナリーって、いろんなコンピューターから使われる場合には、
エンディアンの違いとかあって、扱いが難しいんだよね。
XML なんかはバイナリーだとやり取りしづらいから、
テキストにしたいってことで生まれたフォーマットだしね。

ただ、テキストはサイズがもったいないというのはその通り。
隠れているけど、実はこの対策もあるよ。
html ファイルを zip 圧縮して html.gz でサーバーにおいといて、
ブラウザがとってきた後、展開して htmlとして表示するといった技術。
最近のブラウザはほとんどこれに対応していて、結構使われているらしいよ。

  • 2012/08/30(木) 12:31:34 |
  • URL |
  • yohshiy #-
  • [ 編集 ]

そんなあなたに【mod_deflate】
かなり昔からある方式です。
localでもwindows標準で圧縮かけれます。

  • 2012/08/30(木) 14:19:15 |
  • URL |
  • 表記なし #-
  • [ 編集 ]

phpがhtmlベースというのは大いなる間違え。

  • 2012/08/30(木) 16:05:15 |
  • URL |
  • 表記なし #pYrWfDco
  • [ 編集 ]

プログラミング言語ではなくマークアップ言語でしょ

  • 2012/11/30(金) 22:21:41 |
  • URL |
  • yykimoto #-
  • [ 編集 ]

Re: yykimoto

>> yykimotoさん

その通り!あの頃は若かった…

>例えば画像を表示するソースをコピーしてきた。
><img alt="alt" src="src" />

alt属性は別にいらない最後の/もいらないしダブルクオーテーションもつけなくていいので

<img src=画像ファイルの名前>

でいいのですよ。

昔の記事へのコメント失礼しました。

  • 2013/09/23(月) 13:36:47 |
  • URL |
  • funcHM #-
  • [ 編集 ]

Re: funcHM

思えばこの記事も一年くらい昔のもので、HTMLは画像表示さえも分からなかったんです。
このソースも、何も考えずにコピーしただけなんですよねぇ。

今はimgのaltとかtitleとかなら分かるようになりました。
それと、最後のスラッシュが要るのはXHTMLでしたね。

ダブルクオーテーションが必要ないとは知らなかったです。
XHTMLにくらべて色々とアバウトなんですね~。

コメントの投稿

トラックバック

トラックバック URL
http://cyberboy6.blog.fc2.com/tb.php/91-ae851858
この記事にトラックバックする(FC2ブログユーザー)

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。