初心者のためのプログラミング言語ガイド Part8at TECH
初心者のためのプログラミング言語ガイド Part8 - 暇つぶし2ch800:デフォルトの名無しさん
08/05/09 09:28:22
うーむ、コンテンツを作ることとプログラムを作ることは違うことなんだが……

801:デフォルトの名無しさん
08/05/09 11:25:56
本当にケータイしか知らないのなら、どちらもダウンロードして「実行」するもので一緒かもしれん

802:デフォルトの名無しさん
08/05/09 14:18:14
すみません、質問です。
ゲームが作ってみたいのでCを少し勉強していたのですが、
HSPのほうが良いというようなことが書いてありました。
とりあえずブロック崩しを作りたいのでHSPの方が便利そうなのですが、
長い目で見るとHSPは向かないでしょうか。
なんとなくCの方が自由度が高いというのはわかったのですが、
いまいちCとHSPの違いがわかりません。
しょぼい質問で申し訳ありません。
どうかよろしくお願いします。

803:デフォルトの名無しさん
08/05/09 14:48:38
違いが分からないのならHSPで良いと思うよ

804:デフォルトの名無しさん
08/05/09 14:49:47
>>802
HSPは特にゲームに特化している
とりわけゲーム作りで面倒になりやすいグラフィック関係の処理は強力。あれはラクだ

ただ、どう考えても大掛かりなプログラムには向かないと思う
(そもそも基本的な構文がCよりもさらに弱い・・・・・)
まあ、ブロック崩しなら複雑でもなさそうだし、HSPでもいいのかも

>長い目で見るとHSPは向かないでしょうか。
分かんない。まずHSPでゲーム作りってものを経験したほうがいいのか、
それとも各方面での基礎になりえるCを使ったほうがいいのか・・・・・個人的にHSPはすすめない

805:デフォルトの名無しさん
08/05/09 15:38:07
最悪構文とかの問題でHSPが限界だと思ったらHSPのDirectXプラグインラッパー書いてC/C++から使う手も‥‥‥

806:デフォルトの名無しさん
08/05/09 16:24:20
HSPはレゴブロック
Cは大工道具

807:デフォルトの名無しさん
08/05/09 16:53:37
△ Cは大工道具
○ Cは手垢がついてばっちくなった大工道具

808:デフォルトの名無しさん
08/05/09 17:02:45
HSP使うならruby使うわ

809:デフォルトの名無しさん
08/05/09 17:08:02
じゃあ俺はPython使うわ

810:デフォルトの名無しさん
08/05/09 17:10:52
じゃあ俺はC#

811:デフォルトの名無しさん
08/05/09 17:15:48
RubyとHSPは全然方向性が違う。
HSP, N88BASIC, Mathematica, Squeakなんかはグラフィックやサウンドやその他もろもろがの機能がオールインワンになっているところがいいんだよ。
標準では何も出来ず非標準のライブラリが同列にごちゃごちゃ並んでるような言語が必ずしも初学者に向くとは限らない。

と、HSPを使ったことのない俺が言ってみる。

812:デフォルトの名無しさん
08/05/09 17:20:29
ブロック崩しならRuby/SDLやPygameでも悪くはないと思うが
初学者には向かないだろうな

813:デフォルトの名無しさん
08/05/09 17:30:17
そもそも初学者の段階で書けるものなんて定型処理のバッチスクリプトぐらいでしょ

814:デフォルトの名無しさん
08/05/09 17:40:58
>>811
その基準だとC#やJavaでもいい?

815:デフォルトの名無しさん
08/05/09 18:02:24
問題1
S=1+3+5+...+N(Nが奇数の場合)
S=2+4+6+...+N(Nが偶数の場合)

問題2
S=1+(1+2)+(1+2+3)+...+(1+2+...+N)

今ベーシックやってるんですがわかる人お願いしますm(_ _)m

816:デフォルトの名無しさん
08/05/09 18:03:32
>>815
宿題スレ池

817:デフォルトの名無しさん
08/05/09 19:20:45
>>815
C 言語でしたら、
スレリンク(tech板)
でお待ちしています。
BASIC だったら‥‥‥、んー、こまりましたね。
N-BASIC ですか?環境(PCの機種名とか)をおしえてください。

818:デフォルトの名無しさん
08/05/09 19:33:07
>>817
検索しないようなやつを相手すんな

819:デフォルトの名無しさん
08/05/09 20:29:09
>>815
Prologのプログラムを一つ。X,Yが問題1、Yが問題2の解です。
a(Max,X,Y,Z) :- a(1,Max,0,0,0,X,Y,Z).
a(N,M,X,Y,Z,X,Y,Z) :- N>M.
a(N,M,S1,S2,S3,X,Y,Z) :- N=<M,1 is N mod 2,N2 is N+1,S11 is S1+N,S31 is S3+S11,a(N2,M,S11,S2,S31,X,Y,Z).
a(N,M,S1,S2,S3,X,Y,Z) :- N=<M,0 is N mod 2,N2 is N+1,S21 is S2+N,S31 is S3+S21,a(N2,M,S1,S21,S31,X,Y,Z).

関数型に較べると論理変数を思い切り冗長に取るのがPrologの特徴です。
2行目がやや難解。累計してきたものがX,Y,Zなのだ、といっています。
変数名の変化をよくみると書いてあることはわかります。


820:デフォルトの名無しさん
08/05/09 20:29:59
失礼、Zが問題2の解です。

821:デフォルトの名無しさん
08/05/11 13:13:28
初めて覚える言語の選択肢で無難なのってこれくらい?
HSP等のスクリプトツール系は除いてあります
今は、今でもRubyやPython、Perl、Delphiも選択肢として可能性あるのかな?

C:
C/C++:
C#:
VB.NET:
JAVA:
PHP:

Ruby/HSPみたいなライブラリは、少し出てきてるけど、いまいち勢いが出ない
やっぱりまだ本当の入門(PC入門?)にはHSPが最適だな
マルチプラットフォームのRuby/HSPがあったとしても流行るとは思えないしw

822:デフォルトの名無しさん
08/05/11 13:39:30
プログラムを学ぶ上で、インタプリタ系の言語ってかなり有用だと思う。

823:デフォルトの名無しさん
08/05/11 14:05:09
replとデバッガがあるだけでも大分違うと思うね
デバッガのステップ実行と条件付きブレークポイントは
初心者から上級までお世話になる強力な機能だし

824:デフォルトの名無しさん
08/05/11 14:30:15
>>821
プログラミングで何がしたいの?

825:デフォルトの名無しさん
08/05/11 14:31:17
質問してるんじゃなくて一般論だろ

826:デフォルトの名無しさん
08/05/11 14:36:36
821は、日本語という自然言語をもっと勉強したほうがいいと思うなあ

827:デフォルトの名無しさん
08/05/11 14:42:35
>>821
いにしえからある lisp/scheme
haskell
が選択肢からはずれるのは、悲しいことです。

828:デフォルトの名無しさん
08/05/11 14:44:06
haskellのインタラクティブ環境はちょっと使いにくい気がする

829:デフォルトの名無しさん
08/05/11 18:14:06
>>821
週一回、三ヶ月の講習会があったとして、
C: C/C++: c#: VB.NET: JAVA: PHP: Lisp:
が選択できたら、Lispを選択するひとはかなり
多いと思うよ。

830:デフォルトの名無しさん
08/05/11 18:32:37
>>829
どれを選択することも意味が無い。
講習会へ行くことでは言語を習得できない
英会話スクールに行ってもいつまでたっても
大多数の人は英語が話せないのと一緒
言って満足した気になるだけ

831:デフォルトの名無しさん
08/05/11 18:43:48
>>830
目的なしに、ただ学んでやろうでは、習得できないという意味かな。
それなら、賛成。
講習会はどうでもよいのだか、魅力的な何かを欠いた
メニューでは客がついてこない。無難な売れ筋を並べる
だけの回答にはうんざりしているということ。

832:デフォルトの名無しさん
08/05/11 18:48:14
>>831
うんざりしているのは誰?


833:デフォルトの名無しさん
08/05/11 18:51:27
>>832
鋭いね。初心者のためのプログラミング言語ガイド評論家ということになるねw

834:デフォルトの名無しさん
08/05/11 19:06:15
>>83

OSとやりとりするために、CとC++
上位アプリを意識してC#、Ruby、Java
ソフトウェア工学を意識してLisp、Schema、Haskell、SmallTalk

ここから必要なものを選べばいいでしょう

835:デフォルトの名無しさん
08/05/11 19:51:02
ソフトウェア工学以外の実務で、そのへんなプログラミング言語達は需要があるの?

C:
C/C++:
C#:
VB.NET:
JAVA:
PHP:
Perl:
Ruby:
Python:

実際に多くの人が使うのは、これくらいで全部じゃないの?

836:デフォルトの名無しさん
08/05/11 19:54:27
>>835
ソフトウェア工学以外の実務って具体的になに?

837:デフォルトの名無しさん
08/05/11 20:07:01
>>836
求人のある就職口という意味だろう。
LispやHaskellなんて使ってる企業は
企業秘密にしたいから求人に載せたり
しないね。

838:デフォルトの名無しさん
08/05/12 08:13:21
>>821>>835が各言語の最後に:付ける意味がわからん

839:デフォルトの名無しさん
08/05/12 08:19:56
初心者でも使いやすいテキストエディタってありますか?

840:デフォルトの名無しさん
08/05/12 08:22:48
>>838
ころんでどじっ娘アピールしたいんですよ、きっと。

841:デフォルトの名無しさん
08/05/12 09:12:30
>>839
ed


842:デフォルトの名無しさん
08/05/12 16:01:06
将来のこと考えて
emacとかviとかにしてみようとぐぐってみたらとんでもないなこりゃ

843:デフォルトの名無しさん
08/05/12 16:09:05
>>842
どういう意味でとんでもないの?

844:デフォルトの名無しさん
08/05/12 16:10:20
emacs も vi もブラインドで処理するエディタではないから、
UNIXの本当の子ではないな。そういう使い方もできないではないが。

845:デフォルトの名無しさん
08/05/12 16:16:50
what is ブラインド?

846:デフォルトの名無しさん
08/05/12 16:19:34
>>844
何が言いたいのか、よくわからないんだが

847:デフォルトの名無しさん
08/05/12 16:24:44
>>845
画面見ながらカーソル動かしたりするじゃない。
ed はそういうことしない。頭の中で編集して、
指が勝手に付いてくる。
>>844
パイプでつないでフィルターかけてリダイレクトで処理っていうのがUNIXの思想だから、
ed sed は自然だが、vi でさへ、ちょっとね。

848:デフォルトの名無しさん
08/05/12 16:24:54
ラインエディタのこと?

849:847
08/05/12 16:25:40
>>844 ではなくて >>846 だったね。

850:デフォルトの名無しさん
08/05/12 16:31:17
>>847
edは、触ったことないけど、使いやすいの?
わたしは、viで十分です

viでさえ難色を示す847さんは、Webブラウザは、何を使われているんですか?

851:デフォルトの名無しさん
08/05/12 16:32:42
あとUNIXでedで日本語入力ってできるの?

852:847
08/05/12 16:32:50
>>850
使いやすいわけないじゃない。痩せ我慢。

853:デフォルトの名無しさん
08/05/12 16:36:23
>>851
それはもちろんできる。ed で開いて、
a を入れた後にふつうに入力すればよい。
最後に w foo って。
ただし、行が変わってから変更する時は
1,$s/abc/abd/
みたいなコマンドを入れなくてはならない。

854:デフォルトの名無しさん
08/05/12 16:48:53
>>851
日本語の話でしたね。日本語が使えるUNIXではedも使えるように
なっています。Linuxも同じ。ユニコードが標準のOSで標準文字コードを
EUCに変更して使ったりすると怪しくなる。

855:デフォルトの名無しさん
08/05/12 16:49:28
なんだかテレタイプ端末を使ってるやつが紛れ込んでるな

856:デフォルトの名無しさん
08/05/12 16:54:28
>>853
日本語入力できるのか

viの操作にかなり互換性があるみたいだね
ソースをedのソースを読んでみたくなってきた

Manpage of ED
URLリンク(www.linux.or.jp)
ed - Wikipedia
URLリンク(ja.wikipedia.org)
ed (text editor) - Wikipedia, the free encyclopedia
URLリンク(en.wikipedia.org)

edでプログラミングってできるのかな
時間ができたら、試してみるかな

857:デフォルトの名無しさん
08/05/12 16:59:47
vi慣れてるならex使え。
sedに慣れてりゃedで。
いまどきシングルユーザーで/usrマウントしてないと
edしか使えませんなんてOSはないだろうしね。

858:デフォルトの名無しさん
08/05/12 17:05:28
TurboDelphiはinby使うとき直接インスタンス作るのがめんどくさい

859:デフォルトの名無しさん
08/05/12 17:19:38
>>855
本物ではないから構わないのが吉
ブラインドなどとは言わなかった

860:デフォルトの名無しさん
08/05/12 17:23:56
gvimやemacsですら時代遅れと言われる時代に

861:デフォルトの名無しさん
08/05/12 17:32:32
>>860
今のトレンドは?
vi系のエディタは慣れてないと全然使えないな。こないだうぶんつ使ってびっくりした。
そういう点ではユーザビリティー最悪と言える。

862:デフォルトの名無しさん
08/05/12 17:34:47
>>859
たしかに、当時ブラインドとは言わなかったよ。サイト・アンド・サウンドは既にあった。

863:デフォルトの名無しさん
08/05/12 17:37:54
ついでに言うと、石田晴久さんも私と同意見だったよ。viに関して。

864:デフォルトの名無しさん
08/05/12 18:10:55
>>863
あんただれ?

865:デフォルトの名無しさん
08/05/12 18:11:28
>そういう点ではユーザビリティー最悪と言える。
vi系は、最悪と言えばいいのか、最良と言えばいいのか、悩むなあ

>使いやすいわけないじゃない。痩せ我慢。
という所が同意見ということ?

あとWebブラウザは、なにを使っているの?

866:デフォルトの名無しさん
08/05/12 18:21:11
>>864
石田さんは神様みたいなひと。私などどうでもよい。
1970年代後半にbitのコラムか何かにそんなことを書いていた
ので、3-4年経って私もUNIX使えるようになってから、あの記事は
どういう意味ですかと質問した。画面エディタは不純という私の
見解には同意していただいた。

867:デフォルトの名無しさん
08/05/12 18:23:50
>>865
w3c

868:デフォルトの名無しさん
08/05/12 18:24:37
これは冗談。w3mです。

869:デフォルトの名無しさん
08/05/12 18:25:21
その人も今では違う意見を持ってると思うよ
万が一、同じような考えを持ち続けてるとしたら神様じゃなくてただのロートルだ

870:デフォルトの名無しさん
08/05/12 18:25:39
>>865
慣れれば使い心地は良いんだと思う。実際手放せないって言う人も多いみたいだし。emacs系も同じく。
でもお世辞にも直感的に使えるとは言い難いので、ユーザビリティは悪いなって。

Webブラウザってのは日頃使ってるので良いのかな?
いつもはWindowsのOperaを使ってる。
うぶんつは仮想PC上に遊びで入れたものだから常用はしてない。

871:デフォルトの名無しさん
08/05/12 18:39:38
>>869
本当のこと言えば、私だって日頃edを使ってる訳じゃない。emacsを使ってる。
でも、インタプリタの中からsystemでシェルに出たときなどはviやvim同様にedも
使う。ファイルの内容を確認する必要のないときに使う。edの方が速いし、疲れない。
誰も使わないのがもったいないなと思っている。

872:デフォルトの名無しさん
08/05/12 18:51:01
うーん、私はそういうときにはcatか、さもなくばsed/awkで一行野郎かな。
今の1行入力はそこそこ編集能力高いから行内編集だけなら別段エディタは要らないし。

873:デフォルトの名無しさん
08/05/12 18:54:07
>>866
16bit, 32bit, 64bit OSの変化って肌感覚でどういうふうにとらえていますか?
また、64bitのプログラミングに接するのは、早ければ早いほどいいんでしょうか?
32bitのプログラミングもままならないんで、コストパフォーマンス的にもう一年、
見送ったほうがいいのかなと考えてしまうんですが
>>868
Lynxとw3mでどっちがいいんでしょうかね
今は、Lynxに関心があるんですよね
ソースを読んだことはありませんが、設計がシンプルそうですし
w3mは国産ということでなんか懐疑的になってしまうんですよね
>>871
viの操作と互換性がかなり高いなら、用途によってはわざわざviを使わなくても
いいかもしれませんね

874:デフォルトの名無しさん
08/05/12 19:10:25
アセンブリ言語でメモリの参照するにはどうすればいいんですか?

875:デフォルトの名無しさん
08/05/12 19:23:10
>>872
そうだね。それがUNIX流だろう。ed さへ不純かもしれないな。

876:デフォルトの名無しさん
08/05/12 21:55:58
いいからみんなスレタイを100回読み上げるんだ。

読んだらこちらへ
スレリンク(prog板)


877:デフォルトの名無しさん
08/05/12 22:16:01
>>876
短絡的で視野が狭いね

878:デフォルトの名無しさん
08/05/12 22:32:31
>>873
bit数なんて関係ないだろ。
DOSのfarポインタとか言い出すと別だけど、LP64かILP64かとか、その点だけ気をつければ。
配列の添え字をsize_tにするとかくらい気にかけてれば別にいいんじゃね。
スパコンとパソコンとどっちでも動く数値解析プログラムとかCで書いて、フツーにコンパイルするだけでどっちの環境でもメモリいっぱいまで使えてるし。

879:デフォルトの名無しさん
08/05/12 23:21:54
サイボウズラボってどうなのでしょうか
初心者なのでよく解らないのですが
雑誌やメディア等でたびたび紹介されるから
google等と同じぐらいすごいのでしょうか?
よろしくお願いします

880:デフォルトの名無しさん
08/05/12 23:23:27
>>877
レッテルがデタラメすぎてワラタ

881:デフォルトの名無しさん
08/05/13 00:30:49
>>879
Googleよりも300倍すごく、
GEよりも3000倍弱い

882:デフォルトの名無しさん
08/05/13 02:33:29
今時、前世紀の遺物vi何か使ってるなんて、アホかいな!

883:デフォルトの名無しさん
08/05/13 03:35:35
いやemacの拡張ってlispっていう言語がわからないと弄れないんでしょ敷居たかいよ
とにかく悩む前に行動がいいみたいだな言語ひとつ覚えちゃえば応用きくみたいだし

884:デフォルトの名無しさん
08/05/13 04:06:49
Notepad.exeで十分

885:デフォルトの名無しさん
08/05/13 05:25:42
統合環境についてるエディタでいいよね…。良いって言ってよ。

886:デフォルトの名無しさん
08/05/13 06:07:59
>>885
あんたがそれでいいなら、いいんじゃない?

887:デフォルトの名無しさん
08/05/13 06:18:46
だね。

888:839
08/05/13 06:42:33
使いやすいかどうかより慣れてしまった方が良いということでしょうか?

889:デフォルトの名無しさん
08/05/13 06:51:48
自分が使いやすいの使えばいいんじゃない。

890:デフォルトの名無しさん
08/05/13 07:26:38
自分で作るという選択肢もあるのかもしれない。

891:デフォルトの名無しさん
08/05/13 11:54:10
自分で作るにしても、そのプログラムを書くエディタは必要だ

892:デフォルトの名無しさん
08/05/13 12:00:38
emacsとvimは過去の資産がバカみたいにあるから
web検索する能力があれば簡単に使いこなせるようになるよ

893:デフォルトの名無しさん
08/05/13 13:12:24
プログラミング初心者にお勧めのエディタという物は特にありません。
統合環境を使うつもりなら付属のエディタを使って下さい。

Winの場合、テキストエディタで直で起こすつもりなら、シェア、フリー問わず
ある程度有名なエディタなら大抵プログラミングの支援機能がついてます。

シェアウェア:秀丸エディタ、EmEditor.....etc
フリーウェア:サクラエディタ、MKEditor、TeraPad、VxEditor、Apsaly、無印エディタ....etc

UNIXでよく使われているエディタの移植、Emacs系、Vim系は
使いこなせれば高機能を発揮できますが、そこに至るまでの学習コストも高いです。
使う場合はそれを覚悟して下さい。

これ以上エディタについて語りたい場合は、こちらへ
スレリンク(prog板)


894:デフォルトの名無しさん
08/05/13 13:26:41
LinuxならKWrite。WinならNotepad++お勧め

895:デフォルトの名無しさん
08/05/13 22:25:40
うぁぁ、レスポンス度外視の満艦飾アプリが来た~

896:デフォルトの名無しさん
08/05/14 04:06:47

◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
URLリンク(system-trading.jp)

5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。


▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
URLリンク(www.fx-gp.com)

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円

897:デフォルトの名無しさん
08/05/14 17:38:08
今時コーディングにIDE使わない奴は低能

898:デフォルトの名無しさん
08/05/14 19:22:11
年取ると新しい環境に対応できないんだろ
ボケの始まりだな

899:デフォルトの名無しさん
08/05/14 19:29:40
PowerShell Plusでシェルスクリプト書きながら
.NETのクラスや変数に突っ込んだXMLのノードを補完できるのを見て時代は変わったと思ったよ。

900:デフォルトの名無しさん
08/05/14 21:49:03
>>838>>840
そのあとに言語の特徴でも書こうか迷って、点だけ打って終わったの。

901:デフォルトの名無しさん
08/05/14 21:56:19
>>897
TTY接続上でも動作するなら使う

902:デフォルトの名無しさん
08/05/14 21:59:05
IDEの補完ってMS製言語の一部を除けば貧弱すぎるし…

903:デフォルトの名無しさん
08/05/14 22:18:17
>>902
M$様が殆どの特許お取になってるし
都度使いやすいものについて
チェックと法的措置をちらつかせるから
誰もやらない

904:デフォルトの名無しさん
08/05/14 22:32:17
ここにいる人たちはテキストエディタでばりばりコーディングして
コマンドからコンパイルしてると勝手に思い込んでた

905:デフォルトの名無しさん
08/05/14 22:35:31
失礼な
makeぐらい使ってますよ

906:デフォルトの名無しさん
08/05/14 23:24:17
パンチカード抱えて計算機センターまで通ってます。

907:デフォルトの名無しさん
08/05/14 23:39:38
おもろないわ。

908:デフォルトの名無しさん
08/05/14 23:41:58
アセンブラについて質問です

まず、アセンブラとは最終的にコンパイラを用いて機械語になおすためのもので、
C言語などと同じく、人が比較的簡単にプログラムを組むためにあるものですよね
そして、C言語に比べて簡単な言語であるが、複雑な命令をするのには向かない言語と考えていいのでしょうか

また、機械語というのは例外なしで0と1の数字の組み合ですよね
となると、逆アセンブルをかける対象もまた0と1で組み合わせられた機械語ということになると思うのですが
自分は今まで0と1で構成されているファイルなどを見たことがないのです
例えば、自分がまったくわからない言語のファイルを見つけたとき、それを自分が理解できる形にしたい
そういったときに、その言語のわからないファイルをいったん機械語に直し、さらに逆アセンブラをかけアセンブラに直すということになるのですか?

最後に、先ほどもいったように、自分は今まで0と1によって構成されているファイルをみたことがありません
というか、多分そうなると莫大な数の数字が並んで、かなり重いファイルになってしまうと思うのですが
まず今流通しているファイルは殆どが人間語(?、Cやアセンブリ言語など)で構成されており、実行プログラムを介して自動的にコンパイルされ機械語になおされると考えてもよいでしょうか?

回答よろしくお願いします
(アセンブラ=アセンブリ言語)

909:デフォルトの名無しさん
08/05/14 23:47:06
実行ファイルは機械語で書いてある

910:デフォルトの名無しさん
08/05/14 23:47:16
exeやDLLの主要部分は機械語。ヘッダや中身に人間語が含まれることはある。

911:デフォルトの名無しさん
08/05/14 23:48:35
>>908
>自分は今まで0と1によって構成されているファイルをみたことがありません
あなたが見たファイルはすべて0と1によって構成されています。

912:デフォルトの名無しさん
08/05/14 23:49:02
0と1っていうのは…まあ、ああいうのは説明も悪いなあと思ったことはある
ビットとバイトについて学ぶと何かわかるかも

913:デフォルトの名無しさん
08/05/14 23:50:21
バイナリエディタで開いても、16進で表示されるしな。

914:デフォルトの名無しさん
08/05/14 23:52:19
いいえ、10進表示のバイナリエディタもあれば、8進表示のバイナリエディタもありますね。

915:デフォルトの名無しさん
08/05/14 23:54:31
厳密には0と1「ではない」のがややこしいかもしれん
計算が楽だから0と1という概念を使ってるだけで、
0という文字と1という文字がどこかに刻み付けられているわけではない

916:デフォルトの名無しさん
08/05/14 23:54:39
> そして、C言語に比べて簡単な言語であるが、複雑な命令をするのには向かない言語

簡単とか複雑というのが、人間が作業する場合の話なのか、コンピュータ側にとってなのか、
それとも言語自体の文法とかのことなのかで意味が違うだろう。

917:デフォルトの名無しさん
08/05/14 23:59:49
>>908
昔々は、機械語で書かれた命令(0と1の羅列)を
人間が手打ちしていたらしいんだが、あまりにもやりにくい

そこで「じゃあ機械語の命令に分かりやすい名前(ニーモニック)を付けて、
それを機械語に変換するようにしたら良くね?」ということで考えられたのがアセンブリ言語

アセンブリ言語と機械語は表裏一体。互いに一対一で対応している
add命令は00110とか。今の数字は適当だけど
だから逆アセンブルとかアセンブルってのは容易。人間の手作業でもできるぐらい

918:デフォルトの名無しさん
08/05/15 00:03:08
>>916
大昔、ファミコンの開発を手伝ったとき、16bitのCPUの経験があるって言ったら、
6502(ファミコンのCPU)は命令が少なくて簡単だろって言われたなぁ。
実際は逆で、命令少ないからパズルちっくになって、むずかしかった。

919:デフォルトの名無しさん
08/05/15 00:05:44
>>918
インストラクションが多いCPUを見ると、DSLに見えてくる。

920:デフォルトの名無しさん
08/05/15 00:13:46
今だとLISPで似たような経験ができるな
全部の処理は数個のプリミティブな処理の組み合わせで表現できるが自前でそれはめんどくさい、みたいな

921:デフォルトの名無しさん
08/05/15 00:17:18
>>908
実際全てのファイルは0と1で構成されてるよ、貴方にそう見えないようにパソコンに見せられてるだけで。
写真も音楽も動画もプログラムも全てね。だから重くなったり軽くなったりはしない。
知らない言語のソースファイル見つけてもコンパイルして逆アセンブルかけることはあまりやらないと思う。
今流通してるプログラムはコンパイラでソースファイルから機械語プログラムにコンパイル済みであると考えてよいと思う。

922:デフォルトの名無しさん
08/05/15 00:18:58
命令が多くても、実際には複雑な命令は重いので使わない、
とかもあるから難しい所だ。

923:デフォルトの名無しさん
08/05/15 00:40:17
0と1ではないよな、確かに
便利だから0と1になってるだけ
2つの状態であるという意味しかない
ONとOFF

924:デフォルトの名無しさん
08/05/15 00:43:32
2進数は0と1だ

925:デフォルトの名無しさん
08/05/15 00:45:33
電圧が高いか低いか

926:デフォルトの名無しさん
08/05/15 00:49:03
まあ、物理的なレイヤーで見たら電圧の問題かもしれんけど。

927:デフォルトの名無しさん
08/05/15 01:54:52
スレッショルド云々な
電子回路めんどくさす

928:デフォルトの名無しさん
08/05/15 02:02:42
ハードもソフトも、非同期パラレルが今の流行り。

929:デフォルトの名無しさん
08/05/15 08:13:53
うせろよお前ら

930:908
08/05/15 17:48:16
多くの回答をいただいたのに返信がおくれてしまいました、ありがとうございます
0と1でのファイルを見たことがないというのは、眼に見える形で0と1で書かれているものを見たことがないという意味です
つまり、そのファイルをクリック、もしくはtxtに直してからみたときには、アセンブリ言語、C言語など、比較的わかりやすい言語で書かれているので
ファイルというのはすべて、実行プログラムを通して起動(?)する瞬間までは、コンパイルされていない人間語(プログラム言語?)の状態にあるのではと思い質問させてもらいました

最終的にコンピューターでの操作は機械語でなされていて、例えば今自分が書き込んでいるこの文字も
これが掲示板に反映される段階や、入力の段階では日本語ですが、実際は機械語(0、1)で書かれているというのも一応理解しているつもりです。

>>910
人間語=日本語や英語
機械語=0と1、C言語やアセンブリ言語ということでしょうか?

今回>>908では、
機械語=0,1(コンピューターが理解できる言語)
人間語=人がプログラムを作る段階でもちいる言語(アセンブリ、C)
とさせていただきました。
人間語という表現が、会話に使う言語と捉えられてしまい、御幣だったようです。

931:デフォルトの名無しさん
08/05/15 18:05:17
>>930
×御幣だった
○語弊を招いた

一般的に、実行モジュールは(所謂)機械語で書かれている。
それは、*.exeも*.dllも同じ。

コンピュータが扱うデータは全て、0と1で表されると言うのは正しい。
その点では、文字も全て0と1で表し得る。
しかし、それは単に「全ての数は2進数で表現できる」のと同じ程度のこと。
音声や画像の場合も同じように0と1で表現できるが、こちらは文字と違い単純には視覚化できない。
文字の場合は、比較的簡単に視覚化できると言うことが違うだけと言ってもいい。

さて、プログラミング言語の場合はどうか。
これらは単純に人間が読み書きしやすい形で「プログラム」を表現するためにある。
しかし、CPUがそれを実行時に一々解釈していたのでは埒が明かないので、コンパイルするわけだ。
コンパイルされて出来上がったもの、すなわち実行モジュールと言うこと。
アセンブリ言語の場合も、コンパイラの代わりにアセンブラを使うと言うこと以外たいした違いはない。

932:デフォルトの名無しさん
08/05/15 18:22:51
>>930
>ファイルというのはすべて、実行プログラムを通して起動(?)する瞬間までは、
>コンパイルされていない人間語(プログラム言語?)の状態にあるのではと思い質問させてもらいました
それじゃあインタプリタだ。

拡張子が「c」で中身がC言語のファイルを、拡張子「exe」に変えても実行も起動もできない、実行時に自動的にコンパイルとかもない。

>機械語=0,1(コンピューターが理解できる言語)
>人間語=人がプログラムを作る段階でもちいる言語(アセンブリ、C)
>とさせていただきました。
じゃなくてそれでいい。

933:908
08/05/15 18:25:21
>>931
回答ありがとうございます
どうやら、自分は実行プログラムとそうでないものそれぞれの定義があいまいだったようです
そこは一先ず置いといて、
>文字も全て0と1で表し得る
ということは、0と1ではないとコノピューターが理解できない、つまり、機械語=0,1というわけではなく
0,1の二進数というのはあくまで機械語の一種でしかないということでしょうか?
今まで、最終的にコンピューターが理解する言語は、何のプログラム言語が元であろうと0,1だと思っていたのですが

また、最後の5行については
「実行プログラムを通して解釈する、(つまり実行プログラムを起動した際にコンパイルする)のではなく
予めコンパイルをすませているファイルを実行プログラムが読み取る」
ととってもよろしいでしょうか

ちなみに用語はwikiで調べています
URLリンク(ja.wikipedia.org)
こちらが機械語についての項目なのですが、こちらを見て
機械語は2値(=0,1)のことであると解釈していました
あとでもう一度読み直してみます。

934:908
08/05/15 18:29:26
>>932
ありがとうございます
つまり、簡単にいうとC言語やアセンブリ言語をどれだけ見事に構成しファイルを作り上げても
コンパイルし機械語になおさなければ、ただの文字の羅列、意味のないものということでしょうか

935:デフォルトの名無しさん
08/05/15 18:40:14
>>934
うん

936:デフォルトの名無しさん
08/05/15 18:41:40
>0,1の二進数というのはあくまで機械語の一種でしかないということでしょうか?
全然違う。これは、データをどう表現するかということだけ。
つまり、あんたと私が0と1だけで会話を成立させることもできる。
# 恐ろしく不便ではあるが。
先ずは、2進数と言う表現に固執した考えを捨てろ。

>「実行プログラムを通して解釈する、(つまり実行プログラムを起動した際にコンパイルする)のではなく
>予めコンパイルをすませているファイルを実行プログラムが読み取る」
これもおかしい。

実行プログラムは、機械語が書き込まれているファイルのこと。
それをどう実行するかは基本ソフトウェアであるOS次第。
プログラムには概ね入力と出力があるわけだが、その辺りも理解できていないように感じるので例を挙げておく。

プログラムの種類 入力                  出力
コンパイラ     プログラム言語の書かれたファイル  実行ファイル
画像表示ツール 画像の書かれたファイル        画面表示
テキストエディタ  既存ファイルと文字入力        テキストファイル
OS         キーボード、マウス、ディスクなど諸々 画面、ディスクなど諸々

937:デフォルトの名無しさん
08/05/15 18:46:07
適当なデータファイルがあったとして、そいつのデータをCPUに順に食わせてやったときに
何か意味のある結果が得られればそいつは実行ファイルだろw
つーか、お前らスレ違いだ。

938:デフォルトの名無しさん
08/05/15 18:46:11
長文を書き込む前にリロードしたい。

939:デフォルトの名無しさん
08/05/15 19:34:34
次スレのテンプレに入れといて
URLリンク(vipprog.net)

940:908
08/05/15 20:04:26
ありがとうございます
一つ目についてですが
ーーーーーーー
wikipedia-機械語
実用化され、普及しているコンピュータのほとんどは、機械語及びファイルを2進数データの組合せで論理的意味を持ち、
機械語でかかれたプログラムファイルを2進数を4bitずつ16進数に変換して表示すると、かろうじて認識が出来る状態になる場合が多い。
ーーーーーーー
とあるのですが、やはりこれを見ると、コンピューターの実行ファイルは2進数によって構成されていて、
16進数に変換する=機械が読み取れる言語ではなくなるが、人にはある程度理解しやすくなる
と取れると思うのですが、どうなのでしょうか、つまり「二進数は機械語」「16進数もC言語も人間語」ということを言っているように思えてしまいます
よろしければ、具体的な機械語を簡単でもよいので書いてもらえれば、わかるかもしれません

941:デフォルトの名無しさん
08/05/15 20:26:27
配信打開おめー
ぽこおつ

942:デフォルトの名無しさん
08/05/15 20:26:49
誤爆スマソ

943:デフォルトの名無しさん
08/05/15 20:27:17
ググって適当に見つけてきたぞ。
URLリンク(ant0x.udap.jp)
2進数ではかかれてないけど16進数でもいいだろ?

944:デフォルトの名無しさん
08/05/15 20:32:40
>>940
結構勘違いしている人が多いんだけど、そもそも「進数」っていうのは、
ある値を「どう表記するか」の違いでしかないんだよ。

たとえば、1ダースのリンゴがテーブルの上にポンポンポンと置かれているのを思い浮かべてくれ。
そのリンゴは2進数? 10進数? 16進数? もちろん答は「リンゴの数に進数なんか無い」。
そのリンゴ達は、2進数なら1100個、10進数なら12個、16進数(を0-9A-Fで表記した場合)ならC個に
なるというだけの話だ。

だから「16進数に変換する」というのは、0と1(あるいは無と有でも何でもいいけど)を4つずつまとめて
1つの数値として表記していく、ということであって、値のほうをどうにかすることではないんだよ。
「12個のリンゴを16進数に変換する」ところを想像してくれ。それは、リンゴをどうにかする行為か?

945:デフォルトの名無しさん
08/05/15 20:51:59
>>940
掲示板で聞くだけじゃなくて実際にやらなきゃ理解できないですよ。
機械語といっても機械が言葉を理解するわけないんだけど..わかってますか?
とりあえず『CODE コードから見たコンピュータのからくり』を読んでから
『独習アセンブラ』読んで勉強しゃさい。


946:908
08/05/15 20:59:02
回答ありがとうございます
>>944
2進数を10進数、10進数を16進数で、更に言うと、2進数をC言語などで表すこともできる
C言語で表記したとしても、同じ意味を持たせることができる、というのはわかるのですが
機械が理解できるのは、やはり「二進数」に限られるのでは?
例えば、C言語と2進数が同じ内容を表すことができるといっても、
C言語や16進数で書いたファイルをexeなどの実行プログラムとすることはできないのではないか、という質問をさせていただいています

947:デフォルトの名無しさん
08/05/15 20:59:16
もしかして、2進数、16進数の意味もわかってないんじゃないかと・・・

948:デフォルトの名無しさん
08/05/15 21:06:35
>>946
> 機械が理解できるのは、やはり「二進数」に限られるのでは?
>>925と同じことを言うようだけど、機械が理解できるのは「低い電圧」と「高い電圧」だけ。

> C言語や16進数で書いたファイルをexeなどの実行プログラムとすることはできないのではないか、という質問をさせていただいています
「16進数で書いたファイル」というこの表現は、進数がわかっていない人間しか書かないんだよ。

949:908
08/05/15 21:09:25
機械が理解
というのは確かに少しおかしいかもしれません
んー・・・機械が二進数でこのような組み合わせがきたらこう実行すると定義付けているといった感じでしょうか
例え二進数を様々な言語で表すことができ、それぞれ法則ができあがっていたとしても(2:1011⇒16:Bのように)、それを理解しているのは人間だけ
あくまで機械の中で定義付けられているのは、0と1についてのみ
というのが自分が調べて得た考えなのですが

950:デフォルトの名無しさん
08/05/15 21:11:50
>>949
> 例え二進数を様々な言語で表すことができ、
「○進数を×で表す」という考え方がおかしいの。
「○を×進数で表す」というのが、進数というものの存在意義であり、使い方。

951:デフォルトの名無しさん
08/05/15 21:17:56
>>950
しかしある言語を二進数で表すことができるということは
逆に二進数をある言語に表す、というか直すということもできるということですよね
表現はおかしいかもしれませんが、結局949でいいたいことは、
二進数と他の言語がそれぞれ同じ意味を持つことはできるが、しかし
機械の中では、二進数で書かれたものしか読み取れないのでは
ということです、

952:デフォルトの名無しさん
08/05/15 21:18:47
>>950
コンピュータの仕組み
URLリンク(itpro.nikkeibp.co.jp)

とりあえずここら辺読んどけ

953:デフォルトの名無しさん
08/05/15 21:22:22
・10110000 01100001(2進法表示)
・B0 61(16進法表示)
・MOV AL, 61(アセンブリ言語)

上二つは表示方法による違いでしかないんだってば、バイナリレベルで見たら一緒。
バイナリエディタってのを探してダウンロードしてきて、適当なプログラムを読み込んで表示させると理解が早いかも。
リアルタイムで逆アセンブルして表示するプログラムってのは無いと思う。

それとメモ帳開いて「0」と「1」という数字を用いて、「0」と「1」という数値のつもりで機械語プログラムを書いても実行することはできないよ。
数値と数字の違いを知るといいかも。
メモ帳で2進法に使われる「0」と「1」をいっぱい書いたファイル作って、バイナリエディタで読み込んで見てみそ、
あと同じ様にメモ帳で16進法に使われる「0~F」をいっぱい書いたファイル作って、やっぱりバイナリエディタで読み込んで見る。

954:デフォルトの名無しさん
08/05/15 21:22:32
非常に簡単でいい加減な具体例を書いておこうか。雰囲気だけでも

二つの値を足して、その結果を返すCの関数

int add(int a, int b) { return(a+b); }

これは、コンパイラでアセンブリ言語に変換するとこうなる
(Borland C++ Compiler 5.5の場合)
push ebp
mov ebp,esp
mov eax,dword ptr [ebp+8]
add eax,dword ptr [ebp+12]
pop ebp
ret

さらにこれを機械語に変換したものを16進数表記すると
55
8b ec
8b 45 08
03 45 0c
5d
c3

955:デフォルトの名無しさん
08/05/15 21:23:51
>>951
「○進数で書かれた~」という考え方がそもそもおかしいって言ってるのに、
なんでそこで粘るんだよw

956:デフォルトの名無しさん
08/05/15 21:26:06
>>954
ついでにソースコードも16進表記してあげたほうがいいと思う。
908にまず必要なのは、その辺の認識じゃないかと。

957:デフォルトの名無しさん
08/05/15 21:29:41
人間はどうしたって自分の中のルールというかものさしというか、
その枠の中でしかものを考えることができないということだ
バカという人種はその枠が極端に絶望的に狭い

958:デフォルトの名無しさん
08/05/15 21:31:52
ちっちぱん ちっちぱんぱん

959:デフォルトの名無しさん
08/05/15 21:32:44
>> 953
> それとメモ帳開いて「0」と「1」という数字を用いて、「0」と「1」という数値のつもりで機械語プログラムを書いても実行することはできないよ。

ああ、なるほど。
言われてみれば、>>908はそういう理解してそうだな。

960:908
08/05/15 21:33:30
すみません、折角たくさんの回答をいただいたのですが、色々な情報が混ざってしまって余計にわからなくなりそうですので、
サイトなどをみて、自分で調べてみます。
>>952にあるサイトをみても、「機械が読み取れるのは二進数」という自分の考えが間違っているようには思えませんし、
失礼な言い方ですが、ここで回答された情報がすべて正しいという保障もありませんので
おそらく自分の聞きたい内容と、皆さんが受け取った自分の質問内容が若干ずれているんだと思います
スレを読み直していくと回答者の中でも意見が食い違っていますし

961:デフォルトの名無しさん
08/05/15 21:33:42
debug.exeの出番だな

962:デフォルトの名無しさん
08/05/15 21:42:00
>>960
がんば

963:デフォルトの名無しさん
08/05/15 21:53:14
>>960
結局、
「機械が理解できるのは2進数だけですよ」
って言ってもらえれれば満足なんでしょ?

964:デフォルトの名無しさん
08/05/15 21:55:39
>>960
お前は挫折する
だから頼む
挫折したそのときは決して2chに戻ってくるな
荒らしたり、粘着するな

965:デフォルトの名無しさん
08/05/15 22:00:37
メモリ内では2進(のシグナル)状態でプールされてるってことを言いたいのでは

966:デフォルトの名無しさん
08/05/15 22:07:15
CPU はむしろレジスタサイズでしか理解できないんだが

967:デフォルトの名無しさん
08/05/15 22:09:49
表示が0と1しかないバイナリエヂタを作ってやれば納得してくれそう

968:デフォルトの名無しさん
08/05/15 22:10:10
>>おそらく自分の聞きたい内容と、皆さんが受け取った自分の質問内容が若干ずれているんだと思います
これがわかったので書き込みます
ここで後半言っていた二進数というのを1,0といえばわかってもらえるでしょうか
表現の方法などは関係なく、あくまで1、0というのが何度も述べているように「機械が理解できるコード」であるのか
と聞いていたのです。
とはいえそれについても否定はされていたのですが
回答はいりません、それを正しいかどうか判断できないので、取りあえず自己完結しておきます。
今回はただお互い何か有耶無耶なまま終わってしまうのもあれなので書き込みました

969:デフォルトの名無しさん
08/05/15 22:16:26
>>925

970:デフォルトの名無しさん
08/05/15 22:20:28
そうね。2進数ではなく、電圧の高低でしか読み取れない(ってのもちょっと違うか?)って
書き方の方が良かったかもね。

971:デフォルトの名無しさん
08/05/15 22:23:56
>>908はコンピュータ云々の前に電子回路を理解するべきだと思った

972:デフォルトの名無しさん
08/05/15 22:27:01
厨房やオッサンが覚えたてでよく理解してない単語を使って失敗するパターンだったな

973:デフォルトの名無しさん
08/05/15 22:28:36
960の最初の2行だけにしといて、引っ込んでおけばよかったのにな。

974:デフォルトの名無しさん
08/05/15 22:31:17
>>968
>スレを読み直していくと回答者の中でも意見が食い違っていますし

あまりにも常識的すぎる事で、誰も間違ったことは言っちゃいないよ。

これよんどけ。プログラミングを志す人に必ずしも必要とは思えないが、あんた向けだな。
URLリンク(www.amazon.co.jp)


975:デフォルトの名無しさん
08/05/15 22:33:39
内容はまともそうだが、表紙がヒドイなw

976:デフォルトの名無しさん
08/05/15 22:35:45
断片的で不正確なネットで聞きかじるより体系的に学んだ方が手っ取り早いと思うけどな。
俺はその手の基礎知識は
やさしいコンピュータ科学 Great Ideas In Computer Scienceで学んだな。
今ならもっと今風の本があるのかもしれないけど。

977:デフォルトの名無しさん
08/05/15 22:41:33
まず「プログラムはなぜ動くのか」とかをすすめたいような
なかなか良書

978:デフォルトの名無しさん
08/05/15 23:08:37
謙虚に学ぼうとしています、という態度をとりつつ、
自分の浅はかな頭で思いついた「独自設定」に手を入れる気はまったく無い人、
たまにいるよな。

979:936
08/05/15 23:08:44
書いたことを全く理解してもらえなかった俺涙目。

980:デフォルトの名無しさん
08/05/15 23:11:08
分数の1/2と小数の0.5は違う値かと言えば
908もこれは同じ値だと思うに違いない。

944が言っていう進数の違いは表記の違いでしかないということと
近い例をあげるとしたらこれだと俺は思っている。

981:デフォルトの名無しさん
08/05/15 23:14:43
動作原理が2進演算だから
2進で動いてると言うのは間違いではないと思うけどね。

982:デフォルトの名無しさん
08/05/15 23:20:43
>>981
まぁ、わかった上での言葉のアヤの問題ならいいんだけど、
> 自分は今まで0と1によって構成されているファイルをみたことがありません
という人の主張する「2進で動いてる」は、「まぁ、そうですね」の一言でさらっと通せないものがある・・・。

983:デフォルトの名無しさん
08/05/15 23:26:10
そろそろスレ違い

984:デフォルトの名無しさん
08/05/15 23:34:58
そろそろ次スレ

985:デフォルトの名無しさん
08/05/15 23:47:01
伸びてるので何事かと思って読んでみたらイーッってなった(><)

986:デフォルトの名無しさん
08/05/16 00:04:32
結論:本屋いけ。

お次の方どうぞ。

987:デフォルトの名無しさん
08/05/16 00:28:44
そろそろ次スレなんですがどうしたらいいですか?

988:デフォルトの名無しさん
08/05/16 01:00:55
次スレを立てるために最良の言語を(ry

989:デフォルトの名無しさん
08/05/16 01:20:54
つVHDL

990:デフォルトの名無しさん
08/05/16 02:00:48
つ【e言語】

991:デフォルトの名無しさん
08/05/16 21:39:10
初心者のためのプログラミング言語ガイド Part9
スレリンク(tech板)

992:デフォルトの名無しさん
08/05/16 22:36:56
>>908頭が固いやつの典型だな

993:デフォルトの名無しさん
08/05/16 22:42:35
>>908
んー、実際に組んでいただくのが一番なんですが、いい環境が思い当たりませんね。
とにかく、あせって言葉にする必要はないと思います。

994:デフォルトの名無しさん
08/05/16 22:47:04
>>908 はコピペ

995:デフォルトの名無しさん
08/05/17 00:24:06
>>992
ズバリ、頭が「悪い」でいいんじゃね?

996:デフォルトの名無しさん
08/05/17 01:16:33
ふと気になったんだけど、PerlとかPythonなどの言語ってソースコードを隠蔽できる?
CとかC++だとコンパイルしたものを配布すれば問題ないけど。

997:デフォルトの名無しさん
08/05/17 01:25:14
わかんないんです(><)

998:デフォルトの名無しさん
08/05/17 05:17:34
.

999:デフォルトの名無しさん
08/05/17 05:20:00
.

1000:小倉優子 ◆YUKOH0W58Q
08/05/17 05:20:21
1000ならジュースでも飲むか

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch