【C?】最初の言語に何を選ぶか【Haskell?】

■ このスレッドは過去ログ倉庫に格納されています
1Mb
垢版 |
2021/09/09(木) 17:13:45.64ID:yI7BAQ6X
前スレ
ぶっちゃけ始めるのにいい言語て何?
http://mevius.5ch.net/test/read.cgi/tech/1583223433/
ぶっちゃけ始めるのにいい言語て何 part2
http://mevius.5ch.net/test/read.cgi/tech/1594883518/
ぶっちゃけ始めるのにいい言語て何 part3
https://mevius.5ch.net/test/read.cgi/tech/1599110613/
ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/
ぶっちゃけ始めるのにいい言語て何 part5
https://mevius.5ch.net/test/read.cgi/tech/1622766330/

Haskell には賛否両論あるけど、そこは次の世代に判断してもらおう。
2021/10/01(金) 20:12:36.77
コンピュータ老人会
2021/10/01(金) 21:14:38.49ID:wkRzMgwV
ぶっちゃけ、高級アセンブラとしてのC。

その上はいろんな哲学を学ばないといけないから。
177Mb
垢版 |
2021/10/02(土) 10:53:36.01ID:9AHxi4+O
>>176
>その上はいろんな哲学を学ばないといけないから。
C は記述の粒度が小さいもんだから、
小さいプログラムを自分ひとりで書いているうちは
いいんだけど、なんかしら全体構造が見えづらくなっちゃうんだよな。
若いうちはそれでも力業でなんとかなるんだけど、さすがに
三十代半ばを過ぎると「三日前の自分は他人」というのが
身に染みてきて、ちょっと大きなプロジェクトでチームを組むと
なにかしら行き詰まりを感じたりする。
私の場合は、その先のポジションが Java だっただけで、
C♯とかいう人もいるかもしれない。
2021/10/02(土) 16:00:47.63ID:HwAmnb74
>>177
それならばRustが良いですね
Cと同じく低水準な記述も可能でネイティブコンパイルされGCも無し
C言語がとっても便利で強力になったものがRust言語
2021/10/02(土) 17:25:18.84ID:9AHxi4+O
また来たか orz
180デフォルトの名無しさん
垢版 |
2021/10/02(土) 23:55:02.44ID:0KUEFcg9
D
2021/10/03(日) 00:29:42.74ID:rhju0Lgz
最初に学ぶというからには、手っ取り早くでなくということではなく、体系的に学びたいということなんだよね

僕はC押しだったけど、たしかにCはかならず一度は通らなくてはならないと思うのだけど、最初にCで挫折してしまうより、もう少し取っつきやすい、アルゴリズムに集中できる言語から入るのがいいのかなとも

順番に拘らないというか
182デフォルトの名無しさん
垢版 |
2021/10/03(日) 10:51:06.49ID:oCTMWA/s
どうせやるんだから(やらなきゃ話にならないんだから)
最初からやったほうがいいに決まってる

後からで良いって逃げてる香具師は使い物にならない(レベルで満足してるのが多いイメージ)
2021/10/03(日) 11:03:25.80ID:dAyKRsSE
どうせやることになる言語はrustやhaskellに限らずたくさんあるんだから、何もそれらを最初にやる必要は全くなく、基礎的なもの分かりやすいものから順に積み上げるのは妥当だろう
2021/10/03(日) 11:21:17.66ID:lzwjEZSj
>>181
おかしかったワ:
最初に学ぶというからには、手っ取り早くということではなく体系的に〜
2021/10/03(日) 14:03:17.28ID:XAcVATkF
>>183
妥当というか当然だよね
このスレにいる奴は頭のおかしい社会不適合者ばかりだから世間とずれすぎてる
186Mb
垢版 |
2021/10/03(日) 15:35:19.26ID:13zKiOvX
>>185
> このスレにいる奴は頭のおかしい社会不適合者ばかりだから世間とずれすぎてる
それは×かなぁ。
「こんなマイナーなスレをわざわざ荒しにくる奴は、どっか心を病んでいる
『精神的な社会不適合者』ばかりだから、プログラマ文化からずれすぎてる」と
いうのが適切だと思う。
先天的に脳がおかしい(ということは、「頭がおかしい」)けれど、
「自閉なんだけどフツーに有能なプログラマ」は電算業界には普通にいるし、
理数系の研究者に関しては、むしろ「自閉系である」というのが
強みであったりする。
「世間とずれすぎてる」というのは、同調圧力に負けているんじゃないかなぁ。
2021/10/03(日) 19:50:06.39ID:XAcVATkF
キモ
2021/10/03(日) 19:53:12.22ID:J1pSCw/C
>>174
PDP、なんかレトロフューチャーみたいでかっこいいじゃんと思う。
189Mb
垢版 |
2021/10/03(日) 21:18:00.43ID:13zKiOvX
>>188
漏れもそう思う。紫とか使っちゃうところがパンクチュアルだと思った。
2021/10/03(日) 21:32:54.16ID:f+cxTxee
DECがロゴの色をバーガンディに変えたのは1990年代のことだがな。
PDPの時代はいわゆる"Small Blue"
191Mb
垢版 |
2021/10/03(日) 21:48:09.94ID:13zKiOvX
そうだったんだ。
仮想記憶システムをフォローした VAX-11 は、
「ブルー・バクスン」と云われていたのは憶えている。
Prolog で有名な中島(「ナカジマ」ではなく「ナカシマ」)
秀之さんは Prolog 処理系の VAX への移植で有名だが、
未見だけれども「秘境 Prolog に名前呼びの修羅場を見た!」
という論文があるとかないとか(もうすぐ『bit』の電子版が
出るらしいので、興味があったら購入して探していただきたい)。
192Mb
垢版 |
2021/10/03(日) 21:57:33.48ID:13zKiOvX
そういえば思い出した。
DEC はパソコンにも手を出して、ケース型のパソコンを出して
いたんだよな。それで「DEC なら信用できるだろう」と思って
秋葉原で買ったら、パソコン業界からいきなり撤退しやがった(T_T)。
以来、「DEC」というブランドは信用しないと決めている。
同様に、「Microsoft」「アスキー」とかいったブランドは、
基本的に信用しないと(個人的な意見だが)決めている。
193デフォルトの名無しさん
垢版 |
2021/10/03(日) 22:55:23.52ID:Fj8TwfDX
DECの関東工場で生産されるパソコンはMade in TOKYOと銘打ってHPが販売してる。
194デフォルトの名無しさん
垢版 |
2021/10/03(日) 22:56:02.47ID:Fj8TwfDX
Made in TOKYOと言うが本当は群馬産。
2021/10/04(月) 01:14:14.63ID:rfKfA2dL
最速ならvscodeでもダウンロードしてきてjavascriptでもてきとうにいじるのが良いかもね。
そのあとは知らんが。
196デフォルトの名無しさん
垢版 |
2021/10/04(月) 01:55:28.66ID:hBHzC2Ye
vscodeだと汎用的すぎて開発ターゲット決めるところからだし敷居が高い

よくあるシミュレータ付きの適当なIoTデバイス用IDEでJS対応してるのがオススメ
遊ぶ分にはデバイス購入不要
他にもUserscriptの改造とかすぐ目に見えて動かせるものが良いはず
2021/10/04(月) 09:14:06.26ID:rfKfA2dL
>よくあるシミュレータ付きの適当なIoTデバイス用IDEでJS対応してるのがオススメ
で、具体的に何?初めての人はそれがわからんから苦労するんだろ。
198デフォルトの名無しさん
垢版 |
2021/10/04(月) 12:54:41.34ID:toVLiTfB
>>197
有名どころで取っつきやすいのだと
https://www.microsoft.com/ja-jp/makecode
ここのArcadeかmicro:bitのチュートリアル

いっそ初手ならここのブロックプログラミングで良い気もする
199Mb
垢版 |
2021/10/04(月) 14:56:58.28ID:JFT4UYBi
>>193
>>194
そうなのか orz
「がっちりマンデー」の報道は嘘だった(法律上は「嘘」とは
言えないだろうが)んだな。
「Made in TOKYO」といっても、
「東京都内で組み立てています」というだけの話であって、
たとえば餃子の餡と餃子の皮を中国から輸入して日本で包めば、
「Made in Japan」の餃子になっちゃうわけだからなぁ ……
2021/10/05(火) 00:31:07.56ID:eIScRtg7
組み上げたあとの検品をちゃんとしてくれたら文句はないんだけど
最近は国内メーカーの冠ついてても信用ならんのよね
201Mb
垢版 |
2021/10/07(木) 21:07:09.78ID:r04zjL6z
マウスコンピュータの評判はどうなんだろう。
本来ならば、いわゆるノートブック・パソコンは
姿勢が辛(つら)くなるのでお勧めはしたくないのだが、
新型コロナウイルス感染症の流行明けだと、
「矯正出社」というのがあってリモートワークも
ままならなくなっているらしい。
昔は「読書机」というものがあったのだが、
昨今はパソコンも小型化しているので
なんかしらそういう環境があってもいいと思う。
「最初の言語に何を選ぶか」というのも重要なんだが、
まず開発環境を整備しないといけないと思う。
202デフォルトの名無しさん
垢版 |
2021/10/10(日) 11:08:54.04ID:ZuTCKPOD
https://twitter.com/tanakahisateru/status/1438199657289568257?t=y-jn3keOidnoTBOB2Fdkag&;s=19
これってfortranってどうやって配列添字アクセス実現してるんや?
ポインタ演算提供してないだけでポインタとして配列表現してるんか?
https://twitter.com/5chan_nel (5ch newer account)
203Mb
垢版 |
2021/10/10(日) 16:33:27.72ID:ZJbmtnIp
>>202
基数的定義と序数的定義があって、N88 の BASIC では
OPTION BASE という構文があって、0 と 1 のどっちで
始めるかが指定されていたりする。
このあたり、真面目に議論すると長くなるので、
待て続報。
204Mb
垢版 |
2021/10/10(日) 17:23:37.04ID:ZJbmtnIp
>>202
> これってfortranってどうやって配列添字アクセス実現してるんや?
「fortran」と一括りにするのは先達に失礼なので、
「FORTRAN 60」(別名「大文字のフォートラン」)と
「Fortran 77」(別名「ナナナナ」)と、
NC旋盤とかで使われている「ハチマル」というのがある。
「フォートラン」というのは、フォームラ・トランスレイター
の略語で、もともとは「F-1(フォームラ・ワン)」と同じように、
「サーキット上の怪物」として数値計算(=科学技術計算)として
君臨していたのが「大文字のフォートラン」だった。
さすがにレガシーコードなので、見たことはあるが動かしたことはない。
205Mb
垢版 |
2021/10/10(日) 17:30:04.20ID:ZJbmtnIp
屑な IME が、「フォーミュラ」のつもりで打ったら「フォームラ」と
変換しやがった(-_-x)。
くたばれマイクロソフト。
206デフォルトの名無しさん
垢版 |
2021/10/10(日) 17:39:38.06ID:kKlMir+m
formuraかfo-muraとでも打ったか
ローマ字設定でlaをラにしてて予測が負けたか
2021/10/10(日) 20:20:33.01ID:2SGYvuud
投稿前の見直しを怠った言い訳にはならない
素直にごめんなさい言えない奴はいらない
208Mb
垢版 |
2021/10/10(日) 20:27:30.36ID:ZJbmtnIp
>>286
「formura」を変換すると「ふぉrむら」になったりする。
「program」を変換すると、「ぷろgらm」になったりする。
こんな屑な IME に慣らされちゃったら後生が悪かろう。
このあたり、「デジタル庁」がなんとかしてほしいと思うが、
「ディジタル庁」でない時点でけっこう減滅しているし、
「digital」を「ぢぎたl」と変換する Microsoft の
IME が憎い。
「microsoft」は「みcろそふと」だそうだ。
「alfa」は「あlふぁ」で、「beta」は「べた」だという。
デジタル庁は、国家予算を使ってでも、まともな IME を
作ってほしいんだが。
2021/10/12(火) 03:08:21.74ID:M/vA1Qoj
formula translator の formula は数式って意味じゃなかった?
数式を変換して書きやすい文法になってるからFORTRANという名前になっているのだと。

あとフォーミュラカーは、F1は怪物かもしれないけど、形がレギュレーションで規定されている車ぐらいの意味しかないと思うし、いろいろ勘違いしてない?

formulaの綴りも間違ってるし。
大体、betaはベタと変換してくれなきゃ困るよ。日本語でもよく使うんだから。
ローマ字入力と変換に英語入力を期待する方がおかしい。
気になるなら使うものを辞書登録しておけば解決すると思うが。
210Mb
垢版 |
2021/10/12(火) 19:45:42.10ID:bzFXr+Hm
>>209
> 大体、betaはベタと変換してくれなきゃ困るよ。日本語でもよく使うんだから。
それは個人の語彙の範疇との間で勘案すべき問題であって、
「日本人」の範疇で括っちゃうのは乱暴じゃないだろうか。
観賞魚マニアだったら、「beta」だったら「闘魚(ベタ)」と変換して
くれれば有難いけれど、「β」とか「ベタネタ」とかいった用法は、
それぞれのユーザに配慮してほしいと思う。
学習機能で、ようやく使い勝手がよくなってきた辞書が、いきなり
更新されてチャラになったりしたら泣けるだろう?
211Mb
垢版 |
2021/10/12(火) 19:50:16.72ID:bzFXr+Hm
>>209
> 気になるなら使うものを辞書登録しておけば解決すると思うが。
うん。速記タイプとかリアルタイム字幕放送とかについて調べてきてから、
もう一回来てくれ。
2021/10/13(水) 00:25:29.65ID:/9Kpmg+V
formulaのスペル間違いの言い訳はどうして飛ばしたの?
ちゃんとして?
2021/10/13(水) 08:51:30.59ID:NcH4byR7
>>211
それらとプログラミング言語になんの関係が?
IMEはキー入力を日本語文字列に変換する写像であって、その写像の優劣は目的によって異なった物差しで測られることになるだろう。
速記タイプとかリアルタイム字幕放送のIMEでプログラミングの話題がしやすいとは思えないけどな。

ちなみに自分は色々兼ね合いとってDvorakJPぐらいに留めてる。漢直を覚えようとしたこともあったが諦めた。

あと、フォーミュラカーの件はスルー?
2021/10/13(水) 11:07:50.79ID:R9S1gQQi
この板なんか変なのが居付くようになっちゃったな
215Mb
垢版 |
2021/10/13(水) 15:02:25.38ID:XJgDSy86
>>214
お前とかな
ガイジ
216Mb
垢版 |
2021/10/13(水) 15:03:31.94ID:XJgDSy86
>>214
ガイガイガイガイw
あそれwガイwあそれwガイw
ガイガイガイガイwあそれwガイw
2021/10/13(水) 16:35:54.08ID:xt9dnz52
自分のことを言われたことは分かるんだね
218Mb
垢版 |
2021/10/13(水) 17:26:45.23ID:mw8RjJuy
>>217
お前のことじゃい!
ガイジw
2021/10/13(水) 20:41:03.46ID:yVINKNOR
仕事辞めてやることなくなった爺が話し相手欲しくて居ついちゃってんだよ。相手しちゃダメ。
220Mb
垢版 |
2021/10/13(水) 21:16:20.27ID:Y4oDfEf2
私も出世したもんだ。ついに騙りが出るとは(笑)。
2021/10/14(木) 00:11:41.27ID:KZL2uBrL
あ、やっぱ自分のことだって気づいてたんだ
みんなドン引きしてるよ
222Mb
垢版 |
2021/10/14(木) 09:28:31.47ID:WGI+KeI1
初心者向けというのなら、
実行効率はそんなに重視しなくていいし、
メモリサイズも大きくても構わないだろ。
あとは構造化プログラミングに向いた
ステートメントが整備されていて、
そこそこモジュール化にも考えてくれていて、
処理系が普及しているもの …… となると
あんまり思いあたらないなぁ。
高校の数学の先生とかだったら N-BASIC かなんか
使いそうだし、小中学校では(タートル・グラフィクスは
あまり普遍的ではないけど)LOGO になっちゃいそうだ。
文科省あたりが旗振って、教育用言語の規格を作ってくれれば
いいと思うんだが。
223デフォルトの名無しさん
垢版 |
2021/10/14(木) 12:04:53.11ID:LpLVYXMr
こどもの学校配布のiPadにはScratchがはいってる
構造化・イベント駆動プログラミングで現代的だし
Playgroundだから本質的でない問題に悩まされずに済むし
Eテレの番組まであるんだから実質標準じゃないかな
224Mb
垢版 |
2021/10/14(木) 14:42:37.17ID:WGI+KeI1
>>223
「MicroSoft」と聞いただけで怖気(おぞけ)を揮(ふる)うのだが、
正直な話、「ビル・ゲイツは印足して改心したかもしれないが、
マイクロソフトという企業体が、今後何をやらかすか」に
ついての意見は保留しておきたい。
225Mb
垢版 |
2021/10/14(木) 14:55:21.29ID:WGI+KeI1
>>223
由来とかについて調べてみたところ、
Scratchはそれほど悪い言語ではないかもしれない、と
思った。
ちょっと近所の大きい本屋に行って、Scratch の処理系を
インストールしていろいろいじってから、コメントしたいと
思う。
226デフォルトの名無しさん
垢版 |
2021/10/14(木) 17:21:00.93ID:rfuH32l/
マジで変な奴居着いたな
もうコメントしなくていいよ
2021/10/14(木) 18:47:18.39ID:QWJeoh/2
228Mb
垢版 |
2021/10/14(木) 19:26:50.56ID:WGI+KeI1
正直な話、荒らしが出てくるのはどうでもいいんだが、
頼むから sage 進行をお願いしたい。
連続してプログラム技術板の上位で出てくると、
古参の民に嗤われちゃうんだよ (T_T)。
229デフォルトの名無しさん
垢版 |
2021/10/14(木) 20:44:21.29ID:9bkyyR4D
>>228
お前が荒らしじゃい!
2021/10/14(木) 21:40:12.30ID:KZL2uBrL
2021/10/15(金) 01:28:09.50ID:vumwfiEZ
Microsoft を MicroSoft と書くだけで、うまく認識できないというか、インチキくさいというか…
2021/10/15(金) 01:45:34.33ID:Q3H9iIco
じゃあMinecraftは?
2021/10/15(金) 01:52:45.18ID:vumwfiEZ
マインクラフト?は初見なので違和感なしでした
234デフォルトの名無しさん
垢版 |
2021/10/15(金) 09:58:59.71ID:Svg6ZUXs
子ども向けならマイクラのコマンドで遊ぶのもいいと思う。んでスクラッチだと思うけどマイクラのワールドにプログラムで動くエージェント召喚して働かせる事もできる。
スクラッチで作ったフローはJavaとPythonで表示されるから、高学年はコード編集して遊んでる。
235デフォルトの名無しさん
垢版 |
2021/10/15(金) 12:09:35.19ID:W8XYkXKH
>>234
なんかMbくさい書き込みだな
2021/10/15(金) 21:26:36.52ID:Q3H9iIco
スクラッチはJavaじゃなくてJavaScript 製だよ
237Mb
垢版 |
2021/10/16(土) 11:38:31.38ID:w/Mr+3XW
>>231
『プログラミング演習における シンボルの名前付けに対する指導』
https://gakkai.univcoop.or.jp/pcc/2018/papers/pdf/pcc034.pdf
とかを読んでからまた来い。
Java に慣れちゃうと、そうなるんだよ。
2021/10/16(土) 13:06:53.78ID:2h5t186/
>>237
詭弁に過ぎない
固有名詞の話とは関係ない
239Mb
垢版 |
2021/10/16(土) 14:22:23.31ID:w/Mr+3XW
> 詭弁に過ぎない
とかいって逃げる奴が多いから、短文系の BBS は
「便所の落書き」とか言われちゃうんだよなぁ。
そもそも、「固有名詞」じゃなくて、「命名規則」の
話をしているんだが。
「N0013」とか「X0023_05」とかいった命名規則を
強制されてみると、その苦労は感得できると思うが。
2021/10/16(土) 14:40:46.73ID:2h5t186/
>>231 は固有名詞の書き方について突っ込んでいるのに
君が >> 237 で勝手に命名規則の話をしているだけだよね
241Mb
垢版 |
2021/10/16(土) 16:10:53.50ID:w/Mr+3XW
話を整理しよう。
>>240
> 固有名詞の話とは関係ない
というのは、何の話をしているんだろう。
2021/10/16(土) 19:22:51.29ID:BQTsTYeY
>>241
痴呆かこいつ
2021/10/17(日) 11:18:57.50ID:vSoaWGvQ
なんかのJavaクラスに、マイクロソフト実装で処理をするか自前実装で処理をするか切り替えるメソッドがあったとして、
useMicrosoftImplementation(bool)ではなく、
useMicroSoftImplementation(bool)と命名されてたら、
プログラマーの質を疑っちゃうね。固有名詞もちゃんと書けないのかと。
244Mb
垢版 |
2021/10/21(木) 13:57:14.47ID:JKBkOCuC
「荒らしもスレの賑わい(読み筋は「枯れ木も山の賑わい」)」と
いうネット俚諺もあるのだが(あるのか?)、
スレが停滞すると楽しみがなくなっちゃうので、
ザコネタでもいいから投稿があると活気が出そうに
思う。
245デフォルトの名無しさん
垢版 |
2021/10/21(木) 19:39:05.18ID:rHBxJh+b
スレが停滞しているのはMbさんが住み着いたからだぞ
246Mb
垢版 |
2021/10/21(木) 21:45:11.27ID:JKBkOCuC
>>245
まぁ、落ちなきゃいいじゃん(笑)。
墜ちそうになったら、age てくれるひとがいるかもしれない。
確かに書き散らかしたという点では反省するしかないのだが、
なんかしら「まとめ」的なものを提示しないと卑怯だ、
という話はありそうに思っている。
247デフォルトの名無しさん
垢版 |
2021/10/21(木) 21:56:00.63ID:rHBxJh+b
>>246
たしかに
248デフォルトの名無しさん
垢版 |
2021/10/22(金) 01:03:41.86ID:bIdSm1HR
MbはFORTH使えるの?
249Mb
垢版 |
2021/10/22(金) 15:08:47.44ID:ti2XTd85
>>246
つーか、FORTH の処理系から書いた(笑)。
社会人になってから一年目に NEC に就職したのだが、
そのとき防衛関係の「RMA」っつーのの担当だったので
航空自衛隊の各サイトのアベイラビリティを計算しなきゃ
いけないので、それ用の言語を作っちゃったんだわ。
で、そのコンパイラの中間言語として、
FORTH もどきのシステムを組んだことがある。
だから、ネイティブな FORTH を扱った経験はないんだわ。
250Mb
垢版 |
2021/10/22(金) 15:15:31.10ID:ti2XTd85
あと、「Make 10」っていうパズルがあるじゃん。
「0 を含まない四つの異なった数字で、加減乗除だけで
10 を作れる」っていうやつ。
あれの全数解を求めるのに、「いっぺん逆ポーランド記法に
落として、FORTH みたいな仮想機械の言語で片づける」と
いうのはやったことがある。
IT の電卓も根強いファンがいそうだから、「逆ポーランド記法」と
いうのは、けっこう(日本人限定かもしれないが)人気があるのでは
ないかと思う。
2021/10/22(金) 21:01:51.95ID:60fAwA3m
>>250
そういうのはprolog向け
252デフォルトの名無しさん
垢版 |
2021/10/22(金) 23:19:41.64ID:5ielnrPe
NECに就職してたんだ
凄いじゃん
2021/10/23(土) 01:07:12.44ID:rv17aNSC
>>250
FORTHがないので手近な言語でやってみますね
まず逆ポーランド記法(RPN)を計算する関数を(加減乗除の)二項演算子のみ対応でこんな感じ?
function execRPN(rpn) {
 const stack = [];
 for (const x of rpn) {
  if (typeof x === 'number') {
    stack.push(x);
  } else {
    if (stack.length < 2) {
     return NaN;
    }
    const a = stack.pop();
    const b = stack.pop();
    const c = eval(`${b} ${x} ${a}`);
    stack.push(c);
  }
 }
 if (stack.length === 1) {
  return stack[0];
 } else {
  return NaN;
 }
}
これなら小学生にも作れそう
2021/10/23(土) 01:18:42.34ID:rv17aNSC
>>250
その「Make 10」パズルを逆ポーランド記法を計算する関数で解くには
総当りで逆ポーランド記法を生成して計算して10になるのを探せばいいんですよね?
加減乗除は重複組み合わせ(combinationsWithReplacement)で使ってよくて
それと数字を合わせて順列(permutations)を生成すれば総当りになりますね
結果10以外にも使えるように引数answerと数字も任意の長さで引数numberListとして
const { combinationsWithReplacement, permutations } = require('iterator-tools');
function make10(answer, numberList) {
 const opList = ['+', '-', '*', '/'];
 for (const ops of combinationsWithReplacement(opList, numberList.length - 1)) {
  const list = numberList.concat(ops);
  for (const rpn of permutations(list)) {
    const val = execRPN(rpn);
    if (val === answer) {
     return rpn;
    }
  }
 }
 return null;
}
これも順列組み合わせを習った小学生ならすぐ作れそう
2021/10/23(土) 01:46:38.78ID:rv17aNSC
実行してみました
> make10(10, [1, 3, 3, 7])
[ 1, 7, 3, '/', '+', 3, '*' ]
> make10(10, [8, 4, 7, 3])
[ 8, 3, 7, 4, '/', '-', '*' ]
> make10(10, [6, 9, 6, 5])
[ 6, 9, 6, '-', '/', 5, '*' ]
> make10(10, [9, 6, 7, 4])
[ 9, 7, '+', 4, '/', 6, '+' ]
> make10(10, [3, 6, 6, 9])
null
> make10(10, [0, 0, 0, 0])
null
後ろ2つは解けない問題なのでnullで正解です
解けた方は逆ポーランド記法を普通の記法に戻して検算してみると
(1 + (7 / 3)) * 3 = 10
8 * (3 - (7 / 4)) = 10
(6 / (9 - 6)) * 5 = 10
((9 + 7) / 4) + 6 = 10
ちゃんと解けているようです
いきなり(7 / 3)とか(7 / 4)とか一時的に分数にしちゃうのですね
小学生向けの素敵なプログラミング課題だと思いました
256デフォルトの名無しさん
垢版 |
2021/10/23(土) 08:19:36.04ID:MzNtagq6
ぱって作れちゃう人すごいなあ
2021/10/23(土) 09:56:07.61ID:HC6G+u/J
大好きな町だから離れられない
258デフォルトの名無しさん
垢版 |
2021/10/23(土) 11:30:40.50ID:JOLV5TGR
頭がポリッシュ
259Mb
垢版 |
2021/10/23(土) 14:15:02.75ID:sCVE0pd7
>>255
「255」っていうのがステキだな。
「Make 10」は、「0 以外の、相異なる 4 つの数字」なので、
[1,3,3,7]や[6,9,6,5]や[0,0,0,0]は考えなくてよくて、
[1,2,3,4]から、[6,7,8,9]までの組合せまでを生成すればいいので、
「もうちょっと頑張りたい」というプログラミング欲を
ソソる部分がある。
で、加減算は交換法則が成立つので、
「1+2+3+4」は、「4+3+2+1」と同じ、と思うと
いろいろチャレンジしたくなる。
さらに、「全部試す」以外に解法がなさそう、というのが
笑える。
「小学生から大学生まで楽しめる問題」として、
もっと普及してくれてもいいと思うのだけれど、
「いちど逆ポーランド記法に落とす」とかいった
技法があるので、あんまりプログラミング教育の現場では
嫌われているように思う。
260Mb
垢版 |
2021/10/23(土) 17:37:35.64ID:sCVE0pd7
>>252
いや、ぜんぜんすごくない(笑)。
NEC っていっても、当時は「住友金属のお荷物」みたいな
扱いで、その中でも「日本電気グループ」と
「日本電気ホームエレクトロニクス」という派閥争いがあって、
NEC 本体は「NES」というソフトウェア部隊があったのだが、
通信系グループは自前のソフトウェア部隊がなかったのだよ。
それで、NEC の通信系グループが立ち上げたソフトウェア会社が
あって、いろいろ社名を考えたんだけど、当時の田中社長が
「そんなんじゃ人が集まらない!」というので、
「日本電気航空宇宙システム株式会社」という会社ができたんだ。
261Mb
垢版 |
2021/10/24(日) 13:31:17.67ID:XB+g3pLb
>>259
単純計算で、1 から 9 までの数の順列は
9 × 9 × 9 × 9。いまどきのパソコンでは、
なんてことのない数字だ。
これを 9 × 8 × 7 × 6 に減らしたい欲がでてきたら、
ちょっとプログラマ向きの人だろう。
逆ポーランド記法で考えると「加減乗除」という
四つの演算があり、「四桁」という縛りがあるので、
数が四つで演算子が三つ。計七個のスタックがあればいい。
で、0 と 1 要素は数字で、6要素は演算子、ということが
わかっている。これを(一意に)網羅できるようなプログラムを
書くのには、どんなプログラミング言語が欲しいだろうか?
で、+とか×のような、交換法則が成立する演算子については、
ちゃんと順序づけをしてほしい。さらに、「10になる」という
縛りがあるのだけれど、途中で無限小数になっちゃうとややこしい
ことになってしまう。そうなると、「分数は分数のままに扱える
言語」であってほしい。そうなると、自分のプログラムの中で
作った式を処理系に渡して計算してもらわなくちゃいけないので、
LISP の EVAL 関数のようなものが欲しくなる。
「じゃあ、実際にどうやって実装するか?」まで考えると、
かなり興味深い話だと思う。
262デフォルトの名無しさん
垢版 |
2021/10/24(日) 21:26:11.28ID:fzWjbDF9
↑にProlog向けと書かかれているのはスルー
おっさんのくせに引き出しが少ない
2021/10/24(日) 21:35:25.40ID:B/FYyb6u
土曜日池袋のジュンク堂行ってきたけどあの規模の書店でもPrologの本なんて1種類しか置いてなかったぞ
しかも質が低い
こんなのどうやって勉強しろってんだ
最初の言語に選ぶなんてとんでもない
2021/10/24(日) 23:44:50.57ID:+7vWd4s/
>>261
本当にプログラミングできるならばmake 10でいいからコードを出してみてよ

>>262
Prologである必要性はないでしょ
例えばその問題を>>254はJavaScriptで簡単に解いている
2021/10/25(月) 09:19:14.64ID:ePvBViKM
必要性はないがevalがないと雑多なコードが増えるのは気づけてるのに
組み合わせはいいの?みたいな
266Mb
垢版 |
2021/10/25(月) 14:31:05.06ID:KAqnC0Vx
>>261
> 本当にプログラミングできるならばmake 10でいいからコードを出してみてよ
上げてもいいけど …… 長いよ?
「Java の宿題ここで答えます」スレとかだったらいいんだけど、
これからプログラミングを学ぼうとする人のためのスレである
「【C?】最初の言語に何を選ぶか【Haskell?】」
に、延々とコードを上げるのはどうかなぁ。
まず、「Java の宿題ここで答えます」の昔のスレとかを
見てくれると嬉しく思う。いちおう「Mb」の名前で
出てますから。

> Prologである必要性はないでしょ
竹内さんの「tarai 函数」なんかは、Haskel で書く価値がある。
「入山のアルゴリズム」も、Haskel で実装するなら
必要がなくなるかもしれない。
「必要性」というより、「処理系としてのコンセプトの多様性によって、
『必然性』の話になりつつある」という話じゃないでしょうか。
267Mb
垢版 |
2021/10/30(土) 00:34:09.55ID:weWqDpIj
>>263
> 土曜日池袋のジュンク堂行ってきたけどあの規模の書店でもPrologの本なんて
> 1種類しか置いてなかったぞ
どうせ中島さんか小谷さんの本だろう。
Prolog というコンセプトは、そんなに悪いもんじゃないので、
処理系から作ってみるのが正しいアプローチのように思う。
268Mb
垢版 |
2021/11/02(火) 22:21:30.96ID:8e4/jqzP
よく考えたら初心者に不親切でスマンカッタ m(_ _)m。
共立出版の「bit」に、Prolog の処理系のソースコードが
掲載されていたことがあるのだ。
たしか NEC の PC 8801 シリーズ以来の「N88 BASIC」
のコードだったが、いわゆる「Prolog 処理系の動作を
シミュレートするコード」というのは、LISP を使うと
わりと単純なコードに落ちるのだ。ただ、当時は
LISP にしろ(Apple LISP はあったが)Prolog にしろ、
パーソナルコンピュータ環境では実行が難しかったのだ。
それくらい貧弱な処理系環境だったので、
「カット・オペレータ」云々というのが「いかがなものか」
みたいな話があった。
とはいえ、Prolog の基本構想は悪くないと思うので、
Haskell がスレタイに入っている。

高嶺の花だった。
2021/11/03(水) 18:44:31.12ID:aqEfnqTc
何言ってんだこのバカ
270Mb
垢版 |
2021/11/06(土) 20:58:33.21ID:annn/Sq7
Java は言語処理系のインタプリタを実装するのには
悪くないので、「無ければ作れ」という視点もある。
2021/11/07(日) 18:12:40.38ID:B0bDPYGj
何言ってんだこのバカ
272Mb
垢版 |
2021/11/10(水) 14:31:50.13ID:Wl5lGLAU
>>271
> 何言ってんだこのバカ
それは、
「何を仰っているのでしょうか?
貴方は知的障害者ですか?」
と同義だと解釈して宜しいでしょうか?
2021/11/10(水) 14:56:08.69ID:m325nVH9
バカ、アホの定義が地方やコミュニティで異なるからの確認だとおもうけど
BBSだからこそのレトリックなんよ
聞くのが野暮
274Mb
垢版 |
2021/11/10(水) 15:20:18.02ID:Wl5lGLAU
>>273
つ 松本修『全国アホ・バカ分布考 ― はるかなる言葉の旅路 』(新潮文庫)
関西の一部地方の出身者には、「『アホ』や許せるけど『バカ』は許せない!!」
という人がいらっしゃったりもする。そうすると、「馬鹿馬鹿しい」とか
「バカ穴(ネジを切っていない、ワッシャーとビスで止める、位置決め用の
若干大きめの穴)」とかは、一部の関西地方の文化圏の方々に配慮すると、
「使ってはいけない言葉」だということになりますよね?
じゃあ、「バカ騒ぎ」もいけないんだ。「人を馬鹿にする」も
いけないんだ。「馬鹿貝」もいけないんだ。「あんた馬鹿?」は、
「あなたは智的障礙ではありませんか?」と言わなきゃいけないんだ。
あははー。
そんな粗雑な思考をしている人に、プログラミングを語られたくは
ないなぁ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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