プログラミング超初心者の質問

■ このスレッドは過去ログ倉庫に格納されています
1名無しさん
垢版 |
2021/03/26(金) 19:47:53.89ID:UdurcVDt
class Idiot:
__init__(self,x,y,z):
self.name = x
self.sex = y
self.why = z

printing_idiots(self):
print('{} is so idiot.'.format(self.name))
print('{0} is {1}.'.format(self.name,self.sex))
print('Why is he idiot,{}'.format(self.why))

setting_idiots_data(self):
print("What is idiot's name?")
self.name = input()
print("What is idiot's sex?")
self.sex = input()
if (self.sex = men):
print('Why is he idiot?')
self.why = input()
elif (self.sex = woman):
print('Why is she idiot?')
else:
print('you are a bullsit guy!')

idiot = Idiot()
idiot.setting_idiots_data()
idiot.printing_idiots()
このソースコードのイニシャライザの部分でエラーが出ている。
200デフォルトの名無しさん
垢版 |
2021/07/10(土) 14:22:45.22ID:1RIzGkFx
>>199
中身は関係ないだろ・・・
201デフォルトの名無しさん
垢版 |
2021/07/10(土) 14:23:40.60ID:1RIzGkFx
関連付けを変えれば良いだろうけれどもWindowsの関連付けは複雑だからなあ
202デフォルトの名無しさん
垢版 |
2021/07/10(土) 14:25:35.50ID:1RIzGkFx
むかしはこうやってた

>assoc .py
.py=Python.File

>ftype Python.File
Python.File="C:\Windows\py.exe" "%L" %*
2021/07/10(土) 21:12:35.73ID:icE46eu/
普通は、ファイル名だけで実行できない。
「コマンド名または実行プログラム名 ファイル名」の形式が正しい

例えば、Ruby スクリプトファイル・version.rb があって、内容が、
puts RUBY_VERSION #=> 2.6.6
の時、

version.rb または、パス付きの./version.rb では、実行できない。
実行するには、
ruby version.rb または、ruby ./version.rb とする

そこで、Linux では以下のように、1行目にシバンを書いて、実行プログラムを指定できる。
#!/usr/bin/env ruby

puts RUBY_VERSION #=> 2.6.6

こうすると、パス付きの./version.rb で実行できるが、
パス無しのversion.rb では実行できない

環境によってはシバンを、#!/usr/bin/ruby とも書ける。
/usr/bin/ 以下に、Rubyを入れている場合

だから以前、ファイル名だけで実行できたとすると、シバンが書いてあったのだろう
2021/08/27(金) 03:15:01.58ID:ue9a70Za
D3Dプログラミングやりたくて
C++の入門書一冊終えて
次Win32API学ぼうとして書籍スレで聞いたら
Win32APIはC言語で書くものって言われたのですが
C++の場合はMFCってやつやればいいのでしょうか?
2021/08/27(金) 06:05:06.34ID:PcAf749w
>>204
レガシーが残っていればMFC、なければATL/WTLって感じ。
2021/08/27(金) 07:22:52.85ID:ue9a70Za
>>205
すいません
レガシーとはなんでしょうか?MFCレガシーで検索したけど出ませんでした。
それとC++のみの学習でC言語はやったこと無いのですがやるべきなんでしょうか。
207デフォルトの名無しさん
垢版 |
2021/08/27(金) 11:47:33.35ID:kXLQNDcF
MFCは糞
GTKも糞
C++ならwxWidgetsなりQtなりがおすすめ
どうしても生Win32APIを使いたいならC++を使ってCのAPI(dll)を呼ぶだけで良い
208デフォルトの名無しさん
垢版 |
2021/08/27(金) 11:49:47.34ID:TlHplTTf
ああD3Dやりたいだけか
それならDxLib使えω
2021/08/27(金) 12:57:43.89ID:/iQD8c41
ソフトウエア レガシー
で調べてみれば?
210デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:15:59.50ID:2amKhutT
ライブラリとAPIの違いがわかりません
211デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:19:39.97ID:KOyuFHkZ
>>207
>C++を使ってCのAPI(dll)を呼ぶだけで良い
API(DLL)
アプリケーションプログラミングインターフェース(ダイナミックリンクライブラリー)
何がどう違うんですか?
212デフォルトの名無しさん
垢版 |
2021/08/28(土) 13:52:40.82ID:yz/2YzXk
>>210
ライブラリはプログラムをまとめたもの

APIはインターフェイス、これを呼んだらこの値を返すっていう取り決め
213デフォルトの名無しさん
垢版 |
2021/08/28(土) 13:58:31.37ID:d3wynGDk
プログラミングなんてセンター試験レベルの数学の問題が出来れば、楽勝だよなwwwww
214デフォルトの名無しさん
垢版 |
2021/08/29(日) 01:29:37.06ID:TPHdi4yb
N88BASICのことか
2021/08/30(月) 00:29:49.95ID:ZJYxoO1B
プログラミングって才能とかセンス的な物もあるんですか?
数学の知識もどのくらい必要なのかも知りたいです
2021/08/30(月) 09:31:10.30ID:3DuZZh5/
この問題はあれと同じかなと思える能力
数学の能力もある意味これだが
217デフォルトの名無しさん
垢版 |
2021/08/30(月) 14:53:05.47ID:a7szkEqk
一言で言うと抽象化
2021/08/30(月) 17:09:17.90ID:jNLKEWwK
>>215
高度な計算を効率よくプログラムに落とし込むならば高等数学を理解している
方が有利だけど、プログラム組むだけならば加減乗除と二元一次方程式、
二次方程式あたりが理解できていれば十分だよ
あと高レベルで理解していなくてもよいけど、AND、OR、、NOT、XORを使った
論理演算(最悪組み合わせれば良いので2値で良い)は理解していないと
プログラムで重要な条件分岐が組めないかな
2021/08/30(月) 17:47:18.91ID:RiczHxxv
>>215
人間関係を考慮するなら客観性とか全体を見渡せる俯瞰史観
オブジェクト指向プログラミングなら>>217必須
2021/08/30(月) 18:34:53.45ID:1fzTwyyk
1+2+3+4+5+6+7+8+9+10
より
(1+10)+(2+9)+(3+8)+(4+7)+(5+6)
すなわち
11*5
の方が処理スピードは早い。
2021/08/30(月) 18:40:02.53ID:1fzTwyyk
10個のカードを並べるのを、
全ての場合を算出して、約3629万回計算できるかどうか?だと思う。
2021/08/30(月) 18:50:14.38ID:1fzTwyyk
エクセルで計算したら、>>221は約362.9万回になった。
失礼。
2021/08/30(月) 21:32:00.62ID:IfLgW1Xz
ちなみにgoogleの検索窓に
10!
と打ち込むと
3628800
と計算できるよ
224デフォルトの名無しさん
垢版 |
2021/08/30(月) 22:02:35.23ID:20ObuZiA
>>210, >>211

API は別に作られたプログラムを使用(コール)するときのとりきめ。Windowsの場合、
画面の表示、ファイルのリードライトなど様々な機能がWin32 APIとして定義されている。
ライブラリはそういったを機能を実現するためのプログラム集。
通常のライブラリ(静的ライブラリは)、コンパイルの終わった作成プログラムとともに
リンカで結合されて1つの実行プログラムになる。
DLL(動的リンクイブラリ)は、リンカで結合されるのではなく作成プログラムとは別にメモリに
ロードされ、あらかじめ決められた手続きによって作成プログラムからコール(リンク)して使用する。
(といってもプログラム作成者はこれを意識することはなく言語自体がDLLを使う機能をサポートしている)。
Win32 API の機能のほとんどは DLLとして準備されている(Kernel32.dll/User32.dll/Gdi32.dll etc.)。
2021/08/31(火) 20:07:24.45ID:5EZjygd6
>>224
ありがとうございます
白物家電API(洗濯機dll,冷蔵庫dll,...,)
中身を単なる一括りにした言い回しなんですね
2021/09/09(木) 22:01:38.51ID:mMYrb9xD
Cの参考書3冊やってまぁ大雑把に初歩的なのは理解できたのですが
for文で約数、素数、公倍数を求めるコードを書けとかいう問題が本に出てきても
全く分からないのですがこういうのどうしたらスラスラ解けるようになりますか?
アルゴリズムのすごい簡単なのもわからないです
227デフォルトの名無しさん
垢版 |
2021/09/09(木) 22:04:07.22ID:5B6QjFP1
なるよ
すぐなる
小さい課題を数こなしてるうちにすぐコツ掴むよ
228デフォルトの名無しさん
垢版 |
2021/09/09(木) 23:17:34.07ID:f/JM052X
ノーヒントで最適なものとか最速なもの作れとか言われたら難しいだろうけど
そうじゃないなら遠回りでも解答にたどり着くことは出来るはず
それでも判らないなら数学からやり直すのが良い
229デフォルトの名無しさん
垢版 |
2021/09/11(土) 14:46:24.89ID:3yMDZ0jk
>>76
> そう思っている人も多かったので添字が「1」から始まる言語も結構存在するw
N88 BASIC だと、0 オリジンか 1 オリジンかが、
OPTION BASE で選べたりしていた。
230デフォルトの名無しさん
垢版 |
2021/09/11(土) 15:05:06.89ID:3yMDZ0jk
そもそも、
>>76
というのがおかしい。
>for(int i=0; i<10; i++)
というのは、i がスタックポインタで、
sizeof だけインクリメントするのが本来の
使用法なんで、整数が相手だったら += を使うのが
常識だろ?
半可通プログラマがいまどき通用しているのが
年寄りとしては腹立たしい。
どこの誰かを教えてくれたら、
足腰経たないくらいに叩きのめして、
小便垂らしながら土下座して命乞いするまで
いたぶってやりたいと思う。
231デフォルトの名無しさん
垢版 |
2021/09/11(土) 15:22:30.16ID:3yMDZ0jk
>>185
三辺が自然数で与えられたときには、
オブジェクト Triangle の定義がややこしくなる。
そうなると、抽象クラスである Triangle のサブクラスとして、
いろいろと定義しなければいけなくなる。
そこは考えておいてほしいと思う。
232デフォルトの名無しさん
垢版 |
2021/09/11(土) 23:35:04.15ID:EO9owr6G
>>230
馬鹿発見
233デフォルトの名無しさん
垢版 |
2021/09/12(日) 12:27:55.32ID:eZoXy3gP
>>323
モノシラーズ発見。
C++ と --C はワンセットで、
「評価したあとにインクリメントするか」と
「評価する前にデクリメントするか」を区別するために
あるんだよ。
だから配列の添え字に使われた経緯があるんだが、
そのあたりから勉強しなおしてこい。
234Mb
垢版 |
2021/09/12(日) 12:35:51.56ID:eZoXy3gP
>>233
ごめん。>>233 じゃなくて >>332 だった。
++i とか i-- とかって、見たことないよね?
で、「1 += i」とか、「1 -= i」とかも、
見たことないよね?
独りでカイてるんなら勝手だけど、
大っぴらに披露しちゃうと恥ずかしいと思うぞ。
235デフォルトの名無しさん
垢版 |
2021/09/12(日) 19:48:02.34ID:LNgTWKUp
頭だけじゃなくて眼も悪いんだなお大事に
236デフォルトの名無しさん
垢版 |
2021/09/12(日) 20:18:30.45ID:eZoXy3gP
>>235
目は近いし耳は遠いのだが、
口は達者だったりする。
> 頭だけじゃなくて眼も悪いんだなお大事に
なんかしら役に立つことを言ってくれ。
このままだと、無能を晒しているだけだと思うが。
237デフォルトの名無しさん
垢版 |
2021/09/12(日) 20:28:50.28ID:eZoXy3gP
>>235
「ム板に書きこんでいるような奴は、
どうせ引きこもりのオタクだろう」とか
思っているのなら、認識を改めていただきたい。
それがどれだけ危険なことであるかは、
将来において業界に入ったときに思い知ることになる。
それから謝って済むとは思わないように。
238デフォルトの名無しさん
垢版 |
2021/09/12(日) 22:09:26.43ID:UcZJH98c
n時間後にエンターキーを押すプログラムってどう作るんだ?初心者にもわかりやすく誰か教えて
239デフォルトの名無しさん
垢版 |
2021/09/12(日) 22:09:26.43ID:UcZJH98c
n時間後にエンターキーを押すプログラムってどう作るんだ?初心者にもわかりやすく誰か教えて
2021/09/12(日) 23:17:56.58ID:brZweLQ4
>>234
誰か翻訳してくれ
2021/09/12(日) 23:47:05.30ID:G4gOb8CM
>>238
Sleepしてkeybd_eventするだけ。
2021/09/13(月) 01:31:44.54ID:Ivb5fBfh
初心者に余計な事を吹き込まないように
2021/09/13(月) 02:40:30.37ID:KPjHhkIT
sleepでn時間後のタイミングをはかろうとするとはwww
「初心者が」余計な事を吹き込まないように
244Mb
垢版 |
2021/09/13(月) 14:10:27.96ID:C4HWp6ZW
>>238
「ウォッチ・タイマー」という概念があるので、
そのあらりはマルチスレッドのリアルタイム OS について
学ぶといいと思う。
2021/09/13(月) 14:13:07.27ID:ZPyy5hlM
sleepの存在すら知らないような超初心者の質問に
sleepの存在だけは知ってる初心者が回答するスレなんだから諦めろ
2021/09/13(月) 14:18:24.14ID:vCBmlwtc
>>244
質問と全く関係ない
247Mb
垢版 |
2021/09/13(月) 14:27:09.72ID:C4HWp6ZW
>>240
仮に変数 c の値が 3 だったとしよう。
d = c++;
だったとしたら、d ==3 になって、c == 4 になる。これが、
d = --c;
だとすると、d == 2 で c == 2 になる。
「評価順序」というものがあって、getchar() とかだと
get した順番が問題になるだろ? 後のほうの getchar() が
先に評価されちゃうと、"ch" が “hc” になっちゃうじゃないか。
「関数型言語」というのは、そういった「評価の順序」というのを
排除した言語ではある。
ただ、実用上は「どっちを先に評価してほしいか」というのは効率上
重要な課題ではあるので、けっきょく「順番」というものは
意識させられざるを得ないわけだが。
248Mb
垢版 |
2021/09/13(月) 14:33:17.78ID:C4HWp6ZW
>>246
> 質問と全く関係ない
今後参考にしたいと思う。
ありがとう。

>>244
×>「ウォッチ・タイマー」という概念があるので、
〇>「ウォッチドッグ・タイマー」という概念があるので、
2021/09/13(月) 17:59:24.61ID:Ckhsmx+q
ここには、二百年間以上、C言語を研究した人は居ないみたいだね。
2021/09/13(月) 18:11:14.85ID:Ckhsmx+q
日本経済復活のためには、3歳未満でC/C++をマスターした新卒の即戦力が必要だ。そして15歳定年制で経営陣の若返りを図るべきだ。
2021/09/13(月) 19:08:16.14ID:gU71QIFX
>>247
それは分かるんだが
1 += i++
って何?
2021/09/13(月) 20:46:04.25ID:HQlniZ8x
Googleが1万5000台寄付してくれた
ラズベリーパイって何のプログラミング言語使うの?
253Mb
垢版 |
2021/09/13(月) 21:29:17.91ID:C4HWp6ZW
>>251
それはどっかで間違えている。
> 1 += i++
は、コンパイラがエラーで撥ねる。
「右の値と左の値」という概念があって、
「=」の向かって左側はアドレスだから、
即値は書けないんだよ(まぁ、アドレスを直接書くというなら
通ってもいいかと思うが)。
だから、
「1 += i++」は、「アドレス1にある整数値に、i の内容を足して、
しかるのちに i をインクリメントする」という意味になると
思うが、
i がポインタでないとすると、sizeof() の解釈がややこしくなるのだよ。
標準言語になる前の C 言語だったら、通るコードかもしれない。
254Mb
垢版 |
2021/09/13(月) 21:40:55.49ID:C4HWp6ZW
>>252
OS は Linux なので、GCC なら普通に通るんじゃねぇ?
FireFox が動いていたような気もするので、Java も通ると思う。
ただ、Java の仮想機械(JVM)を駆動する「Java」コマンドは
動くかもしれないが、Java のコンパイラである javac が
ちゃんと動くかどうかは分からないので、
ラズベリーパイが開発環境として使えるかどうかは
確認していない。
255デフォルトの名無しさん
垢版 |
2021/09/14(火) 06:23:54.42ID:pTMW8GY7
>>252
いまはラズパイPICOが流行ってる
C/C++
Python
2021/09/14(火) 10:12:28.76ID:46IWFnzO
>>252
Raspberry Pi Pico は面白そうだな。
しかし組込み用とはいえコンピュータが550円(税込)とは ……
2021/09/14(火) 10:13:50.76ID:46IWFnzO
ごめん。
×>252
>>255
2021/09/14(火) 12:43:35.82ID:3nqpH1Qx
ラズベリーパイの開発言語は
Java
C/C++
Python
なんですね、皆さんありがとう
2021/09/14(火) 14:47:10.88ID:46IWFnzO
>>258
正確にいうと、
「unix」というオペレーティングシステムの利権に関して
ベル研究所と学閥の間で法的な争議があって、
宙ぶらりんな時代があったんだ。
いわゆる「C 言語のコンパイラ」の標準である
「GCC」というのは、「商売人が研究者の邪魔をするんじゃねぇ!」
というので、リチャード・ストールマンさんという人が立ち上げた
プロジェクトだったんだ。それを「GNU(本当な「ニュー」だが、
一般的には「ぐにゅう」と呼ばれている)」プロジェクトと呼ぶ。
そこに風穴を空けたのが Linux なんだ。
そんなわけで、フリーの OS としての Linux というのが普及して、
ラズパイも OS として Linux を積める、ということになっている。
OS メーカーであるマイクロソフトにとっては苦々しい結果だろうけれども、
かつて煮え湯を吞まされた TRON や OS/2 にとっては「ざまあみろ」だと
思う。
260デフォルトの名無しさん
垢版 |
2021/09/14(火) 16:13:00.00ID:eQ96wDaC
LinuxはGNUだろ
風穴あけたのはBSD
261Mb
垢版 |
2021/09/14(火) 17:47:12.86ID:46IWFnzO
>>260
BSD をベースに Linux が開発された点については
激しく同意はするけれども、GNU があったから Linux が
これだけ普及したという功績は認めていいと思う。
262Mb
垢版 |
2021/09/14(火) 23:56:50.62ID:46IWFnzO
>>260
そういえば、「unix はベル研究所と AT/T の登録商標です」という
広告があった時代があったけれども、日本マランツというスピーカーで
有名な音響メーカーが先に商標をおさえていたので、
「unix はベル研究所と AT/T のオペレーティングシステムの名称です」
と引っこめたのがあるのを思い出した。
宇佐市で製造した電子部品に「made in USA」と表記したら、
アメリカから文句が来たのだが、「お前らはせいぜい建国二百年だろう!
こっちは『古事記』に名前が載ってるんだぞ!」と宇佐市長が
徹底抗戦の構えを見せたら、アメリカ製品は「made in U.S.A」とか
「made in United Stats ob American」と表記するようになったとか。

日本発の OS っていったら TRON なんだけどなぁ。「デジタル庁」とかいって
脳内パラダイスで浮かれてる場合じゃないと思うんだけどね。
2021/09/15(水) 02:01:12.25ID:RFAuOAsn
Harmful effects of culture
2021/09/15(水) 04:31:30.42ID:OWQxX3cD
>United Stats ob American
これはひどいw
2021/09/15(水) 12:35:46.92ID:U+DAWKzh
>>264
ツッコミをありがとう。正しくは
United States of America
だが、ヒスパニック系やらなんやらいろんな人がいるので
このあたりは割といいかげん。
日本を「Nipon」と綴るひともいたし、フランスの雑誌が
日本特集をやったら表紙が「本日」(たぶん縦書きにするときに
間違えたんだろう)だったこともある。
「Zilog」も「ザイログ」「ズィーログ」「ズィロッグ」とか
いろいろ発音されてた。
266デフォルトの名無しさん
垢版 |
2021/09/15(水) 23:25:46.99ID:Hm4l5pZc
さっきC++始めたばっかなんやけど
#include <iostream>

int main()
{
std::cout << "AA\n";
std::cout << "BB";
}



#include <iostream>

int main()
{
std::cout << "AA\n";
std::cout << "BB\n";
}

って何が違うの

std::て書くの効率悪いね
267デフォルトの名無しさん
垢版 |
2021/09/16(木) 00:13:18.80ID:LFEF5NC8
>>266
C++は関係なくて、「 \n 」は改行です。
268デフォルトの名無しさん
垢版 |
2021/09/16(木) 09:16:50.86ID:I3VTO38j
NULL=ナルぽ
warning=うぉーにんぐ
OK=AllCorrect
269デフォルトの名無しさん
垢版 |
2021/09/16(木) 13:36:18.44ID:Ay6YRu0b
>>267
AA
BB

AA
BB

てこと?
270デフォルトの名無しさん
垢版 |
2021/09/16(木) 13:48:55.88ID:Q5AMtJ/i
>>266
どっちも間違い
#include <iostream>

int main()
{
std::cout << "AA" << std::endl;
std::cout << "BB" << std::endl;
}

std:: がめんどいときは
using namespace std;
を include のあとに描くとそれ以降省略可能

https://www.j-cast.com/trend/2021/09/13420191.html?p=all
271デフォルトの名無しさん
垢版 |
2021/09/16(木) 14:19:27.15ID:Ay6YRu0b
あれで実行しても出てくるよ>>270
2021/09/16(木) 14:37:21.06ID:ZFPtS/KP
>>270
嘘を教えるな
std::endlと"¥n"ではフラッシュするかどうかという違いがある
常に前者が良いという訳ではない
273Mb
垢版 |
2021/09/16(木) 15:36:32.49ID:H4jRCgIr
厳格にいうと、
標準出力に吐いた時点でフラッシュされているのだが、
出力内容が「AA\n」+「BB」なのか
「AA\n」+「BB\n」なのかという違いがある。
Java で言ったら print() と pritln() みたいな違いだな。
「StromgBiffer に溜めておいて、一気に吐く」という
手もあるので、そこはいろいろ悩みながら勉強してくれ。
274デフォルトの名無しさん
垢版 |
2021/09/16(木) 15:52:20.82ID:Ay6YRu0b
さんくす
275Mb
垢版 |
2021/09/20(月) 13:07:52.64ID:ca2ASSgD
>>274
> 「StromgBiffer に溜めておいて、一気に吐く」という
×StromgBiffer
〇StringBuffer
なのだが、誰もツッコミを入れてくれない orz。
こっちのプロセスとあっちのプロセスが、
同じ作業領域に手を突っこんで操作されると
ややこしい話になるので、排他制御が行われて
スレッドフリーになっている。
そうなると、プロセス(スレッド)ごとの
待ち合わせをどうするか、みたいなことを
考えると面白いと思う。
276Mb
垢版 |
2021/09/25(土) 14:18:59.51ID:Ow2ePG0l
そういえば、「C のポインタがわからん!」という意見は
ありそうに 思うが、
「右の値と左の値」みたいな話は
ちょっと聞いておくといいかもしれない。
「a := b」というのは、「(a と b が同じ型として)
a という名前でシンボライズされた番地に、
b というシンボライズされた値を転送せよ」
みたいな話だ。
そういうことを理解するにには、ニモニックとかアセンブラとか、
あるいは C 言語とかいった、ハードウェア・アーキテクチャ
べったりの言語は学んでおいても、それほど損はないと思われる。
2021/09/25(土) 16:34:14.39ID:Uwq7lnPV
>>276
古い人間には、ソフトウェアを手掛けているのにポインタがわからんという奴がいること自体がよくわからん

ってやつね。
2021/09/25(土) 16:58:19.86ID:Uwq7lnPV
>>261
そういや、その前にMINIXがあったなあ。
あれもなかなか面白かったわ。
8086のセグメントを使って仮想記憶っぽくするっていうのも楽しかった。
MINIX作ったタネンバウム先生が、Linuxのようなモノリシックなカーネルなんて時代遅れだって言ってたんだっけ。
279Mb
垢版 |
2021/09/25(土) 17:32:41.77ID:Ow2ePG0l
>>278
さては「クヌスの光教団」の信徒だな?
「『仮想マシン』の上の言語って、なんかしら
すっげぇ面白いんだよな。
スレの本意とは違ってるけど、プロセッサの機序を
理解するという点では、「プログラミング超初心者」
にとっても面白いかもしれない。
2021/09/25(土) 19:45:37.78ID:YrZFQiAF
>>279
私は逆で、仮想マシン上の言語なんてドーデモイーのです…‥
281Mb
垢版 |
2021/09/25(土) 21:02:59.27ID:Ow2ePG0l
>>280
つーても、すでに CPU がマイクロプログラミングされているので、
「なんちゃらマイクロマシン」っつーので CPU 自体が
仮想マシン化してるからなぁ ……
「ハードウェアべったりのコーディング」という話になると、
Z8000 あたりまで戻らないといかんように思うが。
2021/09/25(土) 21:32:08.97ID:YrZFQiAF
>>281
というか、CPU の中のナマの信号線がそのまま機械語のコードになっている例はほとんどないかもしれませんね
Z80 も 6809 も結構キレイなインストラクションテーブルになっていますし
Z8000 はみたことがないのですが、CPU 全体をざっくりみたとして、どういう主観をお持ちですか?
283Mb
垢版 |
2021/09/25(土) 22:08:26.58ID:Ow2ePG0l
>>282
6809 は複雑性と性能のバランスが取れたいい CPU だと思う。
友人は、6809 だったら脳内で逆アセンブルができたが、
「Z80 は命令型が直交していないので、ちょっと難しい」と
言っていた(笑。それでも無理だとは言わなかった)。
Z8000 は、i4004 の設計者である島 正利さんが、
i4004→i8080→Z80 ときて設計してきた「人類最後の
CPU の芸術品」だという評価があって、その先になると
「CAD を使わないと設計は無理」と云われていた。
じっさい、回線数にしろゲートの数にしろ最小限に
抑えられているそうで、そのぶん放射線にも強いとかで
ICBM の制禦にも使われているらしい(軍事秘なので
知ったこっちゃないんだが)。
そういった観点からいうと、制禦用のプロセッサは
けっこう好き(フェアチャイルドの F-8 とか、宮永さんの
お気に入りだったナショナル・セミコンダクタの SC/MP2 とかは
美しい CPU だと思う)だ。
Z80A は、ワンチップ百円を切って「電算業界のコメ」と云われていて
複数チップで並列処理もできた(「スペース・インベーダー」は Z80 を
5チップ使っていたとか)し、現在でもパチンコ台は Z80A を使っているとか。
F-8 も、ミシンからジェット戦闘機まで使われて現役らしい。
そういう古臭い CPU で機械語とかアセンブラとか(さすがにオンオフとかは
現実的ではないが(笑))で勉強する(メモリ空間が 64K なので、EPROM が
8K で SRAM が 32K とか)のも、パズルだと思えば面白かろうと思う。
2021/09/25(土) 22:38:31.05ID:YrZFQiAF
>>283
宮永博史氏のことですか?
2021/09/26(日) 10:06:10.17ID:LygtN0i7
インベーダーは8080、ギャラクシアンでz80、マルチCPUはゼビウスの頃から
パチンコのメイン基板が今でもz80なのは、プログラムが3kbまでしか許されない(警察はパチメーカーを信用していない)から
286Mb
垢版 |
2021/09/26(日) 13:04:49.73ID:tXVd2t/V
>>284
> 宮永博史氏のことですか?
ツッコミ待ちでボケを振ってきたのかと思って応答に詰まったが、
「パソコンサンデー」という番組で下条アトムと絡んでいらっしゃった
「Dr.パソコン」こと宮永好道さんです(笑)。
「SC/MP」は「セミコンダクタ(半導体)/マイクロプロセッサ」の
意味だということになっていますが、「SCAMP」には
「悪党、ならず者、悪戯(いたずら)小僧、悪ガキ、腕白小僧」
という意味があって、宮永さんは「スキャンプ」と呼んで
「好きやんわー、好きやわー」と仰っていて、「I/O」誌上で
電子工作関連の記事を書いていらっしゃいました。
「パソコンは、電気なければ ただの箱」という名言で
知られていますが、「冷蔵庫、電気なければただの箱」と
どっちが先かは未確認。イエロー・マジック・オーケストラの
細野晴臣さんが傾倒していたそうで、細野さんが仕事場にしていた下宿は
近所に住むアキバ小僧の溜り場だったという。
「YMO 電気止まれば漫才師」とつねづね言っていたそうで、
坂本教授も「アホアホマン」として「ダウンタウンのごっつええ感じ」に
出演していた。
287Mb
垢版 |
2021/09/26(日) 15:55:34.99ID:tXVd2t/V
>>285
うっ … そのあたりは存知あげませんでした。申上げございません。
失礼しました m(_ _)m。
>


>
288Mb
垢版 |
2021/09/26(日) 16:08:41.21ID:tXVd2t/V
なんかしら変なことになっていて申し訳ありません。m(_ _)m
>>285
> インベーダーは8080、ギャラクシアンでZ80、
> マルチCPUはゼビウスの頃から
> パチンコのメイン基板が今でもZ80なのは、
> プログラムが3kbまでしか許されない
> (警察はパチメーカーを信用していない)から
の件に関しては、「スペース・インベーダー」は
「8080A」がベースであって、上位互換の Z80
(その頃は Z80A)に置きかえられたという事情が
あったように思います。電源とかクロックとかで、
当時は標準化がまだ整備されていなかったので、
S100 バスがわりとデファクト・スタンダードだった
時代だったとかいった話を聞いたことがあります。
289デフォルトの名無しさん
垢版 |
2021/09/26(日) 19:33:26.19ID:IsTVzW7D
>>283
8080のインテルニーモニックを見たらそれなりなんだけど、Z80は無理矢理全部LDにしたからありそうでない命令がたくさんできてしまった。
まあ、その分、実際には使えちゃう未定義命令もあったけどね。
290デフォルトの名無しさん
垢版 |
2021/09/26(日) 19:40:43.04ID:sUhLXzN1
6502しか勝たん
2021/09/26(日) 20:15:06.09ID:KhgDxRBF
>>289
IX, IY の上位・下位分離は‥‥有名な方だったでしょうか?
2021/09/27(月) 06:20:31.14ID:uaQLvnwF
>>290
未定義命令だけでプログラム作るとかね
293Mb
垢版 |
2021/09/27(月) 14:00:29.99ID:+9W35AG0
>>291
もともとは電卓用として「CPU をワンチップにしちゃおう」という
アイディアがあって、4004 が開発されたという経緯があります。
そんな流れで、電卓用に「ヘキサデシマル」(4bit で十進数
ひと桁を表現する)というのが、根本(こんぽん)的な発想として
あったのだと思います。
ここのところを勘違いして、Microsoft EXCEL が内部表現を
二進数(バイナリ)に勝手に変えちゃって総スカンを喰らったりとか、
Java が BIGDECIMAL を導入して COBOL の後継者たらんとして
いるとか、いろんな歴史的な流れはあったりします。
まぁ、若いひとにはあまり関係のない話なので、
年寄りの繰り言程度に、適当に聞き流してくれていいと思います。
294Mb
垢版 |
2021/09/27(月) 14:11:59.50ID:+9W35AG0
Apple IIe とか IIc の世代か ……
慶應大学の学長だった安西裕一郎さんが、
Apple 用の LISP で認知心理学の研究をしてたよなぁ。
映画『2010』(ピーター・ハイアムズ監督)でも、
フロイト博士役のロイ・シャイダーが浜辺で IIc を使っていた
場面があったっけ(ホワイトハウス前の場面で、なんで
チャプターが変わるのかと思ったら、アーサー・C・クラーク先生が
カメオ出演していた)。
6502 は Apple だけではなく、MSX 2 とかにも使われていた
(ような気がする)いいチップだという印象がある。
295Mb
垢版 |
2021/09/27(月) 14:17:17.73ID:+9W35AG0
そういえば、6809 に詳しい友人によると、
ターミネーターは 6809 で動いているらしいぞ?
映画『ターミネーター』でシュワルツェネッガー視点の
画面右側に流れていたのが 6809 のニモニックだったとか。
296デフォルトの名無しさん
垢版 |
2021/09/27(月) 14:19:39.15ID:mddcRSb5
>>293
デタラメはよせ
知らないなら黙ってて下さい
うざいだけです
297Mb
垢版 |
2021/09/27(月) 14:25:14.55ID:+9W35AG0
>>289
あの頃は島正利さんも脂がのってて はっちゃけてた時代だったからな(笑)
NHK の『電子立国 日本の自叙伝』で、4004 のイニシャルテストの
場面を再現したときに、ディレクターが「子供と同じくらい
かわいいですか?」(当時、奥さんの出産の時期と重なっていた)と
質問されて、「こっちの方がよっぽど可愛いですよ!」
と吐いて賛否両論あったげな。どっとはらい。
298Mb
垢版 |
2021/09/27(月) 14:44:24.91ID:+9W35AG0
>>293
誰だか知らないが、あんたはそればっかりだな。
「私は、You が知ってる『あんた』じゃなくて、
『みんな』の意見を代表している名無しだ!」とかいった
逃げ口上を用意しているっぽいところがあざとい。
ちゃんと固定ハンドルを名宣って、議論の土俵に上がってこいと
言いたい。
「徹底的に叩いてやったら自殺しやがったウッヒッヒ」みたいな
輩は、健全なネット社会には要らんのじゃ。

そんなわけで、
> デタラメはよせ
は、「要出典」で済むし、
> 知らないなら黙ってて下さい
については、「うちらが何を知らないのかを、なぜ知っているのか?」と
いう話になる。
> うざいだけです
キミが「うざい」と感じるのはキミの勝手だが、「だけ」っつーのは
このスレの全ての住民が「うざい」以外の感覚を持っていない、という
主張をどう証明するのかね?
プログラマ(ソフトウェア開発者)全員を本気で怒らせるような度胸は
電算業界の同業者の一員である私にはないので、くれぐれもご自愛いただきたい。
299Mb
垢版 |
2021/09/27(月) 14:58:32.24ID:+9W35AG0
>>292
そういえば、昔のザベにすごい話があったな。
6809 の命令コードは ASCII の文字コードと被っていて、
ゲームソフトのイニシャルローダのディスクチェックの部分に
プロテクト・ロック・キラーに対する挑戦状が(英語で)書いてあったという。
それがまた、自己書き換えを含むいやらしいコードで、一ヶ月や
二ヶ月じゃ解読できなかったそうな。まぁ、その間に新発売の
ゲームは売れちゃうわけで、その労力は無駄になったわけだ。
そんでもって開発者に会ったところ、「あぁ、あれは最初に
タイマー割込みを仕掛けておいて、適当に時間を稼いでおくだけで
スキップしちゃうルーチンなんですよ(笑)」とか orz
「人間、やめますか。プログラマ、やめますか?」と言われて、
「とっくに人間やめてるよ pgr」という世界なので、
プログラミング初心者にはみんな優しいが、
一線は越えないことをお奨めしておく。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況