• 締切済み

HTMLとC++で、どんなホームページでも作成できますか?

you-mの回答

  • you-m
  • ベストアンサー率58% (190/327)
回答No.5

久々に、微妙な質問をみかけてしまいました(笑) さて、まず質問者さんは、ホームページと呼ばれているものがどういった代物で、CGIとは何なのか、動的なコンテンツを実現するためにどのような環境が必要なのかといった事を、ある程度勉強すべきかなと思います。 動的なコンテンツを実現するために、世の中に出回っている技術はたくさんあります。 プログラム言語が問題になるのは、主に実行環境で何が許されているのかということです。 自前でサーバを用意する前提であれば、何でも可能でしょう。しかし、どこかのISPのサーバや、あるいはホスティングサービスなんかの場合、当然用意されたサーバでできること、出来ないことがあります。 そこで動かせるものがPerlしか無い(最近はもう少し選択の幅は広いのが普通ですけどね)のであれば、Perlで作ることになるでしょう。 CやC++でCGIを作ろうとした場合、当然その開発環境(コンパイラが入った環境)が必要です。そこで生成される実行ファイルは当然実行環境で実行できる形式でなければならず、場合によっては、クロスコンパイルする必要にせまられるかもしれません。(そこまでしてCにこだわる理由は普通無いとは思いますけど) コンパイラ言語でCGIを作るというと、一般的にはとても面倒な話になります。 大きなポータルサイトなんかでは、Cで作る場合もかなり多いですけどね。 また、コンパイラ言語で作ったCGIは、そもそも許可されていない事が多いです。 CGIに関しては、ざくっと以前回答したものがあります。 参考にしてください。 http://okweb.jp/kotaeru.php3?q=235637 また、JavaでCGIは一般的ではありませんが、作れなくは無いでしょう。(ぶっちゃけて言えば、標準出力と環境変数の参照ができる言語なら、何でも書けるのがCGIというお約束です) ただし、Javaが動かせる環境がサーバ側にあるのなら、普通はサーブレットエンジンまで用意してあるような気がします。 そうなれば、それはCGI等なではなく、ほんとのサーブレットの開発になり、良くも悪くも大仰な話になりますね。 この形は、#1さんの案1に相当しますかね。 それに、これも一般的には自由に使っていいサーブレット環境があるところは多くないです。 JSPやPHP、ASPなどのHTMLへの埋め込みスクリプトの場合も、サーバ側にそういったものを実行する環境があるかどうかによって選択肢になるかどうかが決まります。 最近は、PHPが使えるところは多いですね。 もっと話を単純にして、とりあえずCGIで一般的なのはなんだという話にするのであれば、やっぱりPerlでしょう。 自作のCGIを禁止していないところで、Perlが使えない場所はほとんど無いでしょうから、多分一番汎用的なものが作りやすいです。 スクリプト言語では、最近はRubyがつかえるところも増えてきましたね。 目的である、「どんなホームページでも作れるようになりたい」というのを、具体的にどういったものをイメージして言っているのかが、今ひとつ読み取れないのですが、言葉どおり受け取った場合、必要な技能はこんな感じになりますよ。 1.必要な環境が動くサーバを0から構築できる。   これには、Webサーバや、その他必要なソフトのインストール/設定も含まれますね。 2.そのサーバを動かしつづける運用のノウハウがある。 3.その時に必要になった言語をさくっと身につける。   もしくは、自分の知ってる言語で、そのとき必要な機能を実装できる。 4.少なくとも最低限のネットワーク知識を持っている。   (まあ少なくとも、これ無しで正しいサーバ構築はできないとは思いますが・・・) 5.Webサーバが、どういったもので、内部的にどういった処理を行っているか理解している。 6.リレーショナルデータベースをちゃんと理解して、自前で環境が構築できる。 7.できれば、SQLが結構かける。 つまり、Webシステム開発ということですね。 かなりホームページのイメージからかけ離れてきた事がお分かりでしょうか。 個人的な意見を言わせてもらえれば、どんな言語を使うかなんていうのは、実に些細な問題です。 しかしながら、サーバから作るところまでは全然考えていない(少なくとも質問の文面からは、言語の心配しかされていないように取れます・・・)のであれば、少なくともどこにそういったコンテンツを置くかは、先ほどの実行環境の問題になるので、大きな問題です。 その選択如何で、使える言語は決まってくるからです。 正直に言えば、サーバごと構築するつもりが無いのなら、CやC++にこだわるのは、どうかと思います。 少なくともWebに関するプログラムを作るのであればですが。 .NETに関しては、もっと微妙です。 実際問題として、サーバアプリとして.NETを許容しているところは、多くないと思いますし、今のところ私は一つも知りません。 これも、あくまでサーバを自前で用意できる前提でないとダメでしょう。(少なくとも今のところはです) .NETはその前提言語であれば、何を使っても同一の実行モジュールができるので、機能的にはC#でもVB.NETでも同じ物ができるはずです。 そうそう、プログラム言語を身に付けるという点について、意見を言わせてもらえれば、C++とJavaやRubyはオブジェクト指向言語であり、Perlはそうではないという点を理解しておかないとダメでしょう。 バージョン5.6以降のPerlは一応オブジェクト指向っぽくコーディングできるようにかなり大きく変更されていますが、過去の資産はそうでないのと、いわゆるPerl使いがオブジェクト指向的なコーディングをしないのが理由で、Perlで出回っている既存のソースはほとんど従来型のプログラムです。 (実装もオブジェクト指向言語としては、中途半端なのでちょっと・・・) CやPerlの感覚で、C++やJavaを正しく扱うのは、不可能です。少なくとも言語が用意している機能を正しく理解できないでしょうし、それはそれは悲惨なソースコードが出来上がることになります。 しかし、プロのシステム開発の現場でも、オブジェクト指向を正しく理解した上でC++やJavaを使える人間は、あまり多くないのが現状です。 単純に、言語を1から勉強するという前提にたち、今から並行して使うなら、JavaやC++、Rubyなどのオブジェクト指向言語に限るべきかなと思います。 それらが一通り理解できたところであれば、CやPerl等の手続き型言語(関数型かな)をみるのも、面白いでしょう。 ただし、そういった言語の中でもCはさらに特殊だと思った方がいいです。 あの言語が、一般に難しいと言われる所以は、ひとえにCという言語は、コンピュータの仕組み(ハード面も含めて)が正しく理解できているという前提で設計された言語だからです。(アセンブラよりは、かなりマシっていう程度の高級言語ですな) 動くプログラムを書くところまでは、(やや難しい部類に入るものの)他の言語とそう変わらないで使えるようになります。 ただし、きちんと動くプログラムが書けるためには、メモリやレジスタ等のハードに近い部分に対する理解が必要不可欠です。 しかしそれゆえに、Cで書くプログラムは他の言語では反則と思えるような手法が可能であり、それゆえに高速なのです。(もちろんタコなプログラムを書けば遅くなります) 前にも書いたとおり、言語による違いは、比較的ささいな問題です。 ある程度以上使えるようになると、言語によってできること、出来ないことの違いがより具体的に見えてくる事と思いますが、それは作りたい機能を実現できるかどうかではなくて、ある機能を実現するためにどうプログラムを書くかが違ってくるだけです。また、ある仕組みを実現するために、複数の言語を使うことも珍しくありません。 よくあるのは、全体としては比較的書きやすい言語を使って、どうしても速度が必要な部分はCで書くといった住み分けです。 #3さんが書いてるようなケースも、もしかしたらこのパターンかもしれませんね。 仕事でもなければ、普通の人がCGIを書くのに、どうしてもCで無いとダメなケースは少ないかも知れませんが、仕事としての開発の場合は、珍しくも無いケースです。 PerlもRubyもスクリプト言語ですが、Cでライブラリを書いて、それぞれの言語から呼び出すためのやり方があったりします。 長文になってしまいました。 質問の内容から、私が思いつく限り、意識すべき範囲がわかるように説明させていただきました。 質問者さんは、まずもう少し具体的に自分が作りたいもの、あるいは実現したいと思っていることが、表現できるように全体を見渡して勉強するのがよいと思います。 そうすることで、質問の内容もより具体的になり、また最終目標までに、何をどういった順番で身に付ければよいかを判断できるようになります。 では、頑張ってください。

関連するQ&A

  • JAVAを使いながら学べるホームページ作成

    JAVAの勉強をしようと思っているのですが、今ホームページの方も作り始めていまして、JAVAをホームページで生かせないかと考えているのですが、JAVAという言語はHPでいかせるものなのでしょうか?JavaScriptがHPに良く使われているというのは知っているのですが… HPはHTMLぐらいでしか書けないぐらい初心者です。 アドバイスお願いします。

    • ベストアンサー
    • Java
  • ホームページ作成

    10年前によくホームページを作っていました。儲けようとは思っていませんが、アフィリエイトやネットショップをやってみたいと思っています。昔よく使ったのは、ペイジミル3、ドリームウィーバー2、フォトショップ4、プレミア4.2とHTMLですが、フォトショップ以外の使い方はすっかり忘れてしまいました。できましたら以下の質問に答えてください。 1.お勧めの本やサイト。(できたら、サーバーやクレジットカード導  入にも触れているもの) 2.ホームページ作成は、基本的に10年前と変わっていない/変わっ  ているかについて。(例えば、HTML以外のタグがあるなど) 3.便利なフリーソフト。

  • ホームページ作成に役立つ言語について

    ホームページ作成に役立つ言語について 現在、HTMLとCSSでサイトを作成していますが、何か動的な仕組みを取り入れたいなと思うようになりました(何がしたいのかは、まだ漠然としかイメージできていません)。 そこで、ホームページ作成に関する言語を学びたいのですが、HTML+CSSの次に覚えるものとして、適当・一般的なものを教えてもらえないでしょうか?(出来ればその言語で何が出来るのかということに関してもお願いします)色々ありすぎてさっぱりなので、、、、。 また、言語が違っても、同じ仕組みを作成することは可能なのでしょうか?(向き不向きはあるでしょうけれども) それぞれ、作っている機関が異なるでしょうから、出来ることに重複もあるのではないかと思うのですが。 調べてみた限りでは、PHP、JAVAスクリプト、CGIといったものがあるようですね。

  • JAVA? FLASH? CGI?

    個人でホームページを作っていまして、HTMLにはだいぶ慣れました。 なのでタイトルにあるようなJAVAやFLASH、CGIに手を出そうかなと思っています。 ただ、素人の自分にはJAVAもFLASHもCGIもどれがどのように違い、それぞれ何が出来て、何が出来ないのか分かりません。 詳しく教えてください。

  • おすすめのホームページ作成ソフト

    かっこいいいホームページを作りたいと思っています。イラストレーターとフォトショップは使えるのですがHTMLなどのことはあまり詳しくありません。お勧めのホームページ作成ソフトを教えてください。

    • ベストアンサー
    • Mac
  • 言語は全部でいくつですか?

    プログラミング のカテには↓ ・ Microsoft ASP ・ C&C++ ・ CGI ・ Flash ・ HTML ・ Java ・ JavaScript ・ Perl ・ PHP ・ Visual Basic ・ Web Page Design ・ XML ・ その他(プログラミング) と、たくさんありますがこれらはすべて言語なのですか? あと、HP(サイト)を作りたいのでHTMLを勉強したいのですが何かいいサイトはありますか?

    • ベストアンサー
    • HTML
  • ホームページ作成やデザインの仕事に転職を考えています。

    私は32才独身の女性です。 現在の職場に給料・休日・待遇などで不満があるため以前から転職を考えています。 現在業務の一環で行っているホームページ作成や制作物(パンフレット・ちらしなど) のデザインなどに興味を持ったことから、そういったデザインや ホームページ制作などの仕事をやってみたいと考えているのですが、 今の知識は独学で身につけたこと、 現在の仕事は基本的には事務のため周りに本格的な知識を持っている人がいない (例えばホームページ作成などで、画面上にきちんとしていれば 中身(HTML)に対しての指摘がない) ことから、基本的な知識に自信がありません。 どこかの会社に派遣やバイトなどでも入って、そこで知識を得てから ホントに自分がやりたいことなどを見つけたいと思っているのですが、 周りにそういった職種の人に縁がないので、どこか転職に対してのビジョンが漠然としています。 ですので、なんでも結構ですのでご存知のことがあればアドバイスをいただきたいと思いました。 年令からの転職の難しさへのご意見なども含めてよろしくお願いします。 参考までに、ホームページ・制作物の作成に フォトショップ・イラストレーターなどがある程度使えます。 HTML・stylesheetはかけますが、cgi・perlなどの知識はありません。

  • ホームページ作成初心者

    自分のホームページを作ろうと思ったのですが なんせ初心者でどこから手をつけていいか分かりません。 いきなり凝ったものは無理かと思いますがJAVAやCGIも 挑戦してみたいし・・・ というわけで初心者向けのソフト・作成支援のホームページ等で お奨めがありましたら教えてください。

  • これはHTMLだけでも作れますか?

    動きのあるかっこいいホームページをよく見かけるのですが(JavaScript ?CGI?)、 あれはHTMLとは別に何か他の特殊なソフトを使っているのでしょうか? それともHTMLだけでも作れるのでしょうか? 自分にとって、かなりの高望みですが→http://www.sony.co.jp/ こんなホームページはHTMLだけでは無理なのですか? 何を使ったらこんな様になるのでしょうか?

  • CでCGI

    今度、C言語でCGIを組むんですけど、 Perlについての書籍やホームページはよく ありますが、C言語のものはあまりなくて困っています。なにかお勧めの本やホームページがありましたら どなたか教えていただけないでしょうか。お願いします。

    • ベストアンサー
    • CGI