• ベストアンサー

C、C++、Peal、PHPその他「高級言語」といわれる言語について

僕はPICマイコン(16シリーズ)を趣味で使っており 言語はアセンブラを使っています。 で、質問なんですが最近ホームページを作りたくなり LINUXの勉強も含め自宅サーバーを立ち上げCGIをやってみようと思いました。 で、CGIといえばPealだろと思っていたので、その手の入門書や ネットの情報を見ると冒頭には大抵「大して難しくない」的な事が 書いてありました。 実際にやってみたんですがチンプンカンプンでした。 イメージとしては下記のような感じなんだと思うんですが マイコンのアセンブラと比べたらよっぽど低級言語な気がしてなりません。 アセンブラ=低級言語=人間にわかり難い C、C++等=高級言語=人間に解り易い アセンブラもはじめはチンプンカンプンでしたが、ある程度理解してしまえばそれなりに使いこなせるようになりました。 マイコンのアセンブラは命令数も少ないしイエスかノーだけで「もしも~」とかないので単純といえば単純なんですが・・・ 質問1 高級言語の「人間に判りやすい」っていうのは具体的にどういうことなんでしょうか? 質問2 最近やたらとPHPが流行ってる気がします。 もうPealは廃れてしまったんでしょうか?

  • Perl
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • zxcv0000
  • ベストアンサー率56% (111/196)
回答No.2

質問文中の各話題に対して私見を書いてみますね。 Peal ⇒ Perl です。 (No.1 さんと同じ) ======================================= > ネットの情報を見ると冒頭には大抵「大して難しくない」的な事が > 書いてありました。 > 実際にやってみたんですがチンプンカンプンでした。 高級言語初体験の方には、Perl はキーワードも概念も目新しい事の洪水で、大変だろうと想像します。 一方で、C と awk(言語の名前)を知ってる人には、入門学習で登場する事は抵抗無く受け入れられると思います。 「誰にとって難しくないのか」の問題では無いでしょうか。 ================================================== 文法をあまり知らない初心者にとって読み辛いのはどちらも同じですね? 同じ処理がいかに簡潔に書けるかは重大な問題です。 簡潔であれば、慣れさえすれば読み易いです。 (絶対とは言いませんが、そうでない言語は誰も使いません) こちらも、「誰にとって読み易いか」問題に帰結しそうですね。 私は高級言語の他に、昔ですが 6800アセンブラやメインフレームアセンブラの経験がありますが、最近 Perl で事も無げに書いている文字列処理をアセンブラでとか言われたら、面倒臭くて気が狂うかも知れません。 それ位、簡潔さに起因する書き易さ・読み易さに違いがあります。 行数が数倍~数十倍ですから。 質問2 ですが、Perl がすでに廃れてしまった訳では無いと思いますよ。 「PHP可・Perl不可」なレンタルサーバーがどれ位あるか探してみれば判ります。 # あまり大きな声では言えませんが、Perlは高級言語の中では読み辛いと言われています。 Write only という悪口もある位です。 # それでも、私は同じ処理をするアセンブラよりは数倍読み易いと思っています。

midugane
質問者

お礼

高級言語のありがたみが少しずつわかってきました。 文法に慣れてきたら毛嫌いすることもなくなってきた感じです。 なんて言うかエクセルの関数みたいです。 チョコチョコやってなれるのって大事ですね。 >面倒臭くて気が狂うかも知れません。 確かにそうですね。 ありがとうございます。

その他の回答 (2)

回答No.3

アセンブラやCはメモリやCPUの動きを追える人にとっては簡単だと思います。 それさえできれば高級言語(というよりLightweight Language)よりも覚えること自体は少ないかと。 あと最近はPerlはPHPなどに比べて難しいと言われることが多いようです...

midugane
質問者

お礼

やっぱりPHPよりperlは難しいんでしょうか。 まぁ僕がやろうとしてることは個人のHP製作レベルなので 技術と呼べるレベルのことをやっているわけではありませんが せっかく初めて少しは慣れてきたのでこのまま頑張ってやってみようと思います。 ありがとうございます。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

Pealではなくて、perlです。 Perlは「人間に解り易い」という側面を見れば筆頭株でしょう。 たとえば、  print OUT if $A == $B と会話風にも  if ( $A == $B){ print OUT;} とC風にも書けるとか  あるスカラーに代入して( $A = '12345';)として、   $B = $A * 2; とすれば、数字として判断して、次の場面で   print "$Aに2を掛けると、答えは$B\n";  と必要なときは文字列としてくれるとか・・ 逆に、pascal派から言うと、人によって書き方が違うとメンテナンスできないと非難される。  Perlは文字列操作に関しては秀逸で特にその正規表現は強力です。他の言語で同じことをしようとすると数倍の労力を要する。  PHPはPerlの弟分ですから似たようなもの・・元々Perlで書かれていた歴史からかと PHPは名前(Personal Home Page Tools)のとおり、ウェブサイト専用の言語ですが、Perlはもっと高度なことができる。XSLTパーサとか・・。ですので決して廃れてはいない。 「アセンブラもはじめはチンプンカンプンでしたが、ある程度理解してしまえば」ある程度のことはできるけど、それ以上はできない。

midugane
質問者

お礼

毎日ちょっとずつ触っていますが だんだん慣れてきました。 なんていうか同じことをさせるのにアセンブラだと かなりの行数を必要とする処理も ほんの数行でそれを凝縮できてしま高級言語に驚きです。 アセンブラで割り算とか・・・頭が痛くなってしまいます。 ありがとうございます。

関連するQ&A

  • PICライタ (C言語→HEXファイル)

    今PICライタについて独学で勉強しています。 今ソフト的には秋月のPICライタおよび、MPLAB使ってます。 しかし、MPLABがC言語読み込めないため迷っています。 そこで質問なんですが (1) C言語をアセンブラ言語に変換する無料ソフトありますか? (2) (1)をあきらめたとしてアセンブラ言語で書くとして、アセンブラ言語でPICのプログラム書くための、わかりやすい本などご存知ですか? やっぱりCコンパイラを買うしかないのでしょうか??

  • アセンブリ言語とC言語

    アセンブリ言語とC言語について調べているのですが、この二つ言語のプログラムについて実質的に同じと言えることはなんでしょうか? また異なっていることはなんでしょうか?(たとえばアセンブリは低級言語であり、C言語は高級言語であるなどなんでもいいです。) 是非解答お願いします。

  • PICプログラム C言語とアセンブラ言語

    PIC18シリーズを使用して、プログラミングをしています。コンパイラはCCS-Cです。今まではすべてC言語で書いてきたのですが、アセンブラでしか設定ができない部分があり、今までのC言語のソースに加えてアセンブラを組み合わせようと思っているのですが、C言語とアセンブラを組み合わせることは可能なのでしょうか?

  • MPLAB C18のC言語について

    趣味でPICをはじめて、いままではアセンブラ言語でプログラムを書いてきました。 こんどPIC18Fに挑戦しようと思っているんですが、PIC18FはC言語で書いた ほうがいいらしいですね。無料でMPLAB C18というC言語のコンパイラが使えるらしいですし。 C言語は勉強したことがないので、とりあえずC言語を勉強しなければならないんですが、 C言語っていろいろ種類があるんですね。C,C++,C#、あとvisual basic系のCとか。 なんだかさっぱりわかりません。 MPLAB C18のC言語にもっとも近いのはどれでしょうか。おしえてください。

  • PICマイコン シミュレーター

    低級言語で遊んでみたいと思っています。 そこで、PICマイコンをはじめる予定だったのですが、 電子工作の知識も手先の器用さも自身がない上、 電気系の資格も何も無いのでとても敷居が高く感じました。 PC上でPICマイコンをグラフィカルにシミュレートして、 アセンブラ等でプログラミングできるソフトがあれば紹介してください。 よろしくお願いします。

  • PICマイコンでPN9符号生成(C言語)

    PICマイコンでC言語を用いてPN9擬似ランダム符号発生器を作成したいのですが、WEBで検索してみてもディスクリートでの作成方法や、理論的な解説、アセンブラのソースしか見つからず、作業が滞っている状態です。 参考ですがPICはPIC24FJ64GA002,004,PIC24FJ32GA002などで、コンパイラはMICROCHIP C30 を使っています。 上記のマイコン用のソースではなくても構いませんので、PN9符号擬似ランダム符号を生成する C言語のソースを教えて頂けないでしょうか。  また参考となるソースが載っているHP、書籍などの情報でも助かりますのでよろしくお願い致します。

  • PICマイコンのC言語について

    とりあえずカテゴリーはここでいいのかな?・・・。 PICマイコンでC言語を使いたいと考えております。本を色々みるとCでも何種類かあるようです・・。そこでこれからC言語を勉強しようと思っていますがどれがいいのでしょうか?というよりそれぞれどう違うのでしょうか?将来的にはPIC以外でもH8も使いたいと考えていますので共通で使用できるものはあるでしょうか? 初歩的かもしれませんがまだまだ素人なのでよろしくお願いします。 どうもCは色々ありすぎて何がなにやら・・・・。

  • 素朴な疑問 (C言語とアセンブラの処理速度の違いについて)

    C言語で作成したプログラムをビルドして実行ファイルを作成するのと、アセンブラ言語(?)をアセンブルして作成した実行ファイルは、どうして処理速度が違うのでしょうか?例えば全く同じ処理を高級言語と低級言語で作成した場合、出来上がったそれぞれの実行ファイルの違いは、コンパイル時に吸収されてしまうわけではないのでしょうか?

  • C言語の参考書

    C言語の参考書 C言語を学びたいので、参考書を購入しようと思っています。 誰か良い(分かり易い)参考書をご存知ないでしょうか? 私はC言語初心者です。 アセンブラ言語ならPIC程度なら… という感じです 予算は3000円位ですが、オーバーしてしまってもかまいません。 本屋に無くてもAmazonなどの通販で入手できればOKです。 但し中古品は除いてください。 回答の方お願いいたします。

  • C言語もしくはC++言語プログラマになれますか?

    私は30歳になったばかりです。諸事情によりずっと家にいます(母親の病気などです)。 5年ほど前JavaでWebシステムを作っていましたが、やめました。それ以降もJavaやPHP、VB.NETなどやってはいるんですが、なかなか腰を落ち着けられません。 私は本来の性格として基礎固めが大好きというか基礎がしっかりしていないと意味がないと考えてしまうタイプです。こと、プログラムに関しても、コンピュータの仕組みから理解してアセンブラやらの書物を読み、C言語を勉強したりするとコンピュータを根本から理解できて、やっと自分の役に立つという思考しかできないものです。いきなり高級言語のJavaやらC#やら.NETやらやっても、うわべだけさすってるようで、根本的な理解を得られないので(コンピュータに対する)、無駄だなあとどうしても感じてしまうのです。また、それよりも基礎からしっかり積み重ねた方が後々、新しい言語ができても理解の度合いというかどっしりと理解できるとおもうのです。 しかし、就職のことを考え、PHPやらC#やらJavaやらVB.NETやらを優先してきてどれもどっちつかずになってしまいました。当然Cなども合間をぬってやっていました。 で、私は、そのどっちつかずな状態がいやなので、CとC++に絞って勉強することにしました。で、低級コンパイラの中身やアセンブラも勉強していこうと決心しました。しかし、就職のことを考えると不安です。 あと、1年みっちり勉強するとして、CやC++の就職先はあるのでしょうか?自分としては、働ける限り年齢がいくつになってもがんばりたいとおもうのですが、なにしろ世間的にいうと全く遅い年齢です。もし、励ましになるような事もありましたら、ご回答していただければ、うれしいです。よろしくお願いします。