前スレ
ぶっちゃけ始めるのにいい言語て何?
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 には賛否両論あるけど、そこは次の世代に判断してもらおう。
探検
【C?】最初の言語に何を選ぶか【Haskell?】
■ このスレッドは過去ログ倉庫に格納されています
1Mb
2021/09/09(木) 17:13:45.64ID:yI7BAQ6X2021/09/09(木) 18:06:49.41ID:18O2MBOf
>>1
それならベストな選択はRustです
RustはHaskellの型システムやモナドを取り入れたプログラミング言語です
そしてRustはメモリ安全性が保証されてGCも無くモダンな書き方で便利にプログラミングできるC言語の超越進化版でもあります
それならベストな選択はRustです
RustはHaskellの型システムやモナドを取り入れたプログラミング言語です
そしてRustはメモリ安全性が保証されてGCも無くモダンな書き方で便利にプログラミングできるC言語の超越進化版でもあります
6デフォルトの名無しさん
2021/09/09(木) 18:43:00.78ID:VcdPV4nP 1.機械語
2.FORTH
3.LISP
4.C
この順がベスト
2.FORTH
3.LISP
4.C
この順がベスト
2021/09/09(木) 19:11:55.92ID:FKVpwywQ
1000 名前:デフォルトの名無しさん [sage] :2021/09/09(木) 18:41:37.72 ID:wE7qph1K
ぶっちゃけ始めるのにいい言語って言ってんのに、CだのRustだのHaskellだのってバッカじゃねぇのおっさんども
お前らの好みなんか聞いてない。
こんなクソスレはもういらん
初学者はPython、Javascript、Ruby、PHPの中から選べばいい。
ぶっちゃけ始めるのにいい言語って言ってんのに、CだのRustだのHaskellだのってバッカじゃねぇのおっさんども
お前らの好みなんか聞いてない。
こんなクソスレはもういらん
初学者はPython、Javascript、Ruby、PHPの中から選べばいい。
2021/09/09(木) 19:36:32.37ID:18O2MBOf
9Mb
2021/09/09(木) 20:58:27.88ID:yI7BAQ6X10Mb
2021/09/09(木) 21:02:02.94ID:yI7BAQ6X11Mb
2021/09/09(木) 21:10:04.32ID:yI7BAQ6X >>6
言いたいことはよくわかるような気はするのだが、
> 1.機械語
の部分はニモニックなのかアセンブラなのかという
話はある。
Z80 とか M6809 とかのエミュレータがあったら
ちょっとお奨めな気はするんだが、
C 言語の「コンパイラ言語→アセンブラ→バイナリ」という
コンセプトに立ち戻ってみるのもよさそうに思う。
言いたいことはよくわかるような気はするのだが、
> 1.機械語
の部分はニモニックなのかアセンブラなのかという
話はある。
Z80 とか M6809 とかのエミュレータがあったら
ちょっとお奨めな気はするんだが、
C 言語の「コンパイラ言語→アセンブラ→バイナリ」という
コンセプトに立ち戻ってみるのもよさそうに思う。
12Mb
2021/09/09(木) 21:22:34.52ID:yI7BAQ6X まず仮想機械を実装して、
それ用のアセンブラを開発して、
コンパイラを書くというのはどうだろうか。
その仮想機械には、少なくとも
・フラグ
・アキュムレータ
・B レジスタ
・プログラムカウンタ
・スタックポインタ
があるとして、フラグには
・キャリー
・ボロー
・オーバーフロー
・エラー
があって、
メモリ空間は 64Kb。
で、それぞれの(フラグ以外の)レジスタのサイズは
16 ビットで、戻り値は 16 ビット固定でアキュムレータに
入っている、みたいな(ANSI-C になる前の)C 言語みたいな
教育用言語があったら面白そうな気がする。
それ用のアセンブラを開発して、
コンパイラを書くというのはどうだろうか。
その仮想機械には、少なくとも
・フラグ
・アキュムレータ
・B レジスタ
・プログラムカウンタ
・スタックポインタ
があるとして、フラグには
・キャリー
・ボロー
・オーバーフロー
・エラー
があって、
メモリ空間は 64Kb。
で、それぞれの(フラグ以外の)レジスタのサイズは
16 ビットで、戻り値は 16 ビット固定でアキュムレータに
入っている、みたいな(ANSI-C になる前の)C 言語みたいな
教育用言語があったら面白そうな気がする。
13Mb
2021/09/09(木) 21:31:09.58ID:yI7BAQ6X2021/09/09(木) 21:46:07.20ID:18O2MBOf
>>13
RustにForth言語の要素は一切ない
その分類ならばRustのベースはC言語
そこへHaskellの型システムなどを持ち込み強力な静的型付けとするとともに
静的リソース管理によりメモリ安全性を保証したのがRust言語
RustにForth言語の要素は一切ない
その分類ならばRustのベースはC言語
そこへHaskellの型システムなどを持ち込み強力な静的型付けとするとともに
静的リソース管理によりメモリ安全性を保証したのがRust言語
15Mb
2021/09/09(木) 22:00:53.49ID:yI7BAQ6X2021/09/09(木) 22:39:44.53ID:q0TKbS94
>「とりあえずスタックに積んどけばスタックポインタを
>書きかえれば面倒臭くない」という思想が
どこがRustと関係あると?
>書きかえれば面倒臭くない」という思想が
どこがRustと関係あると?
2021/09/09(木) 22:45:18.86ID:18O2MBOf
18デフォルトの名無しさん
2021/09/09(木) 23:30:31.90ID:f/JM052X スタックを解放するのか
胸熱
胸熱
2021/09/09(木) 23:53:35.58ID:18O2MBOf
20デフォルトの名無しさん
2021/09/10(金) 00:06:49.30ID:M/ht9nan いや解放なんてしないだろ
2021/09/10(金) 00:30:17.75ID:59f2QwjZ
2021/09/10(金) 00:46:22.91ID:88EXXIi7
積み上げる、取り除く?
2021/09/10(金) 02:51:11.39ID:Arq1o4EZ
クレート?ていうかライブラリのコード規約で選ぶのはどうだろう。
最初なんだから、あんまスペルを省略されると判りにくい。
慣れると冗長で面倒になるかも知れないけど。
最初なんだから、あんまスペルを省略されると判りにくい。
慣れると冗長で面倒になるかも知れないけど。
2021/09/10(金) 11:36:37.35ID:/+WUhMy8
最初はCじゃないか?
メモリの扱いが見えるようになってると、メモリの扱いが隠されてる言語でも良いプログラムが書けるようになる
メモリの扱いが見えるようになってると、メモリの扱いが隠されてる言語でも良いプログラムが書けるようになる
2021/09/10(金) 19:58:00.69ID:me4B51C9
>>21
それってpopっていうのでは・・・
それってpopっていうのでは・・・
2021/09/10(金) 20:44:16.27ID:iOAXb/4V
>>25
スタックポインタの復帰にpopを使う方法もありだが
例えばメジャーな86系でメジャーなやり方なら別レジスタに退避させるのがメジャーな方法なのでmovになる
他にも完全にコントロールできるならスタックポインタの数値加算(スタックが0方向に伸びる場合)で復帰もあり
いずれにせよスタック上にローカル変数などの領域確保はスタックポインタの数値減算(同上)で行うのがメジャー
そしてスタック上のその領域の解放はスタックポインタの復帰(上述)で終わる
スタックポインタの復帰にpopを使う方法もありだが
例えばメジャーな86系でメジャーなやり方なら別レジスタに退避させるのがメジャーな方法なのでmovになる
他にも完全にコントロールできるならスタックポインタの数値加算(スタックが0方向に伸びる場合)で復帰もあり
いずれにせよスタック上にローカル変数などの領域確保はスタックポインタの数値減算(同上)で行うのがメジャー
そしてスタック上のその領域の解放はスタックポインタの復帰(上述)で終わる
2021/09/10(金) 21:34:50.59ID:bDO2hW37
説明に必要な抽象度を調節できない人ってプログラマーに向いてないよね
2021/09/10(金) 21:45:28.86ID:ae9TKcqK
スタック上で関数ローカル変数の領域は
・スタックを伸ばして領域を確保
・スタックを戻して領域を解放
極めてシンプル
・スタックを伸ばして領域を確保
・スタックを戻して領域を解放
極めてシンプル
29デフォルトの名無しさん
2021/09/10(金) 21:58:24.62ID:kfFI0CKc つまりまず最初にC言語をやるべきだな。
次にアセンブリ言語というよりCPUの共通的な概要仕組み。
そのあとHaskellかRustなどの強力な静的型付けプログラミング言語へ進むのが良いだろう。
次にアセンブリ言語というよりCPUの共通的な概要仕組み。
そのあとHaskellかRustなどの強力な静的型付けプログラミング言語へ進むのが良いだろう。
2021/09/10(金) 22:42:43.39ID:kwXNo1Gk
こ・・・ここはお前の日記帳じゃねえ。
31デフォルトの名無しさん
2021/09/10(金) 23:28:58.62ID:EyQ85oMr じじぃが最期の言語に何を選ぶか
にしたら
どうしようもない耄碌ばかりだ
にしたら
どうしようもない耄碌ばかりだ
2021/09/11(土) 00:01:30.12ID:N54U5q1q
2021/09/11(土) 00:20:02.53ID:6SR7xJAU
1.Python
2.Haskell or Go
3.Rust or やりたいことに応じてjsとか
これやろ
2.Haskell or Go
3.Rust or やりたいことに応じてjsとか
これやろ
34デフォルトの名無しさん
2021/09/11(土) 01:03:41.75ID:w5S7rLqj35デフォルトの名無しさん
2021/09/11(土) 06:33:42.19ID:BJyOlAhQ 関数型が全然わからない
ocamlやhaskell触ってみたけど手も足もでなかった
あれってすべて適用した引数ベータ展開しながら簡約していった結果をコーディング中に頭の中でシミュレーションしていかないと書けない代物なのか?
それじゃあワイできないよ
後型システムの振る舞いがなんにもわからないわ
あれってocamlは型推論あるけど型が明示的に表記されない代わりは自分自身で頭の中に型付け規則を当てはめながら追っていくしかないんか?
それじゃあワイできないよ
以上のような理由からワイは例えばfixという不動点コンビネータの高階関数とかわからなかった
とにかく自分にはお手上げやわ
ocamlやhaskell触ってみたけど手も足もでなかった
あれってすべて適用した引数ベータ展開しながら簡約していった結果をコーディング中に頭の中でシミュレーションしていかないと書けない代物なのか?
それじゃあワイできないよ
後型システムの振る舞いがなんにもわからないわ
あれってocamlは型推論あるけど型が明示的に表記されない代わりは自分自身で頭の中に型付け規則を当てはめながら追っていくしかないんか?
それじゃあワイできないよ
以上のような理由からワイは例えばfixという不動点コンビネータの高階関数とかわからなかった
とにかく自分にはお手上げやわ
36デフォルトの名無しさん
2021/09/11(土) 07:29:26.31ID:w5S7rLqj >>35
Haskellの型クラスやモナドを採り入れつつCと同じ手続き型言語のRustからまずは入ってみたらどうでしょうか?
Rustのコンパイラは賢くフレンドリーなので型のミスも細かく教えてくれます
Haskellの型クラスやモナドを採り入れつつCと同じ手続き型言語のRustからまずは入ってみたらどうでしょうか?
Rustのコンパイラは賢くフレンドリーなので型のミスも細かく教えてくれます
37デフォルトの名無しさん
2021/09/11(土) 09:09:22.33ID:BJyOlAhQ2021/09/11(土) 09:39:15.97ID:3yMDZ0jk
>>26
pop というのは機械語(ニモニック)レベルではなかったような。
sp(スタックポインタ)から sub するか(できるのか?)、
sp の値をアキュムレータに持ってきて sub して書き戻すか
(フラグの中身が変わったり、アキュムレータの中身を堆肥させたり
ちょっと面倒臭そうだ)、
小さい言語処理系を開発するときは、FORTH のインタプリタを実装して
その上にコンパイラを被せるとかいうのは二度ほどやったことがある。
「Make 10」パズルの全数解を求める、とかいった場合だと、
けっきょくそれをやるのが素朴だと思う。
pop というのは機械語(ニモニック)レベルではなかったような。
sp(スタックポインタ)から sub するか(できるのか?)、
sp の値をアキュムレータに持ってきて sub して書き戻すか
(フラグの中身が変わったり、アキュムレータの中身を堆肥させたり
ちょっと面倒臭そうだ)、
小さい言語処理系を開発するときは、FORTH のインタプリタを実装して
その上にコンパイラを被せるとかいうのは二度ほどやったことがある。
「Make 10」パズルの全数解を求める、とかいった場合だと、
けっきょくそれをやるのが素朴だと思う。
39Mb
2021/09/11(土) 13:08:24.97ID:3yMDZ0jk 関数型とかラムダ計算とかいっても、
遅延評価がないと実行効率がそんなに上がらないんだよね。
「これ、前にやったことがある」「だから、前にやった結果を
そのまんま使おう」というのが遅延評価なのだけれど、うーんと
末端のほうだと、「前にやったことがあるんだっけ?」という
探索に時間がかかっちゃうので、探索効率と組合せ論的な爆発の間の
トレードオフになっちゃうので、手続き型と関数型のどっちを
選ぶかというのは、ある程度実効機序が解ってないと難しいんだよね。
そういう意味では C 言語とか FORTH とかいった、コンピュータ・
アーキテクチャべったりの言語から始めたり、古いタイプの高級言語から
入るのもひとつのやりかただと思う。
そういう意味では Java とか C♯とかは、プロ用には向いてるけど
基礎を知らないと難しいかも。
昨今は F1 のトランスミッションもオートマチックだそうだしなぁ。
昔のマニュアル車やゴーカートから始めてみるのもいいんじゃない?
遅延評価がないと実行効率がそんなに上がらないんだよね。
「これ、前にやったことがある」「だから、前にやった結果を
そのまんま使おう」というのが遅延評価なのだけれど、うーんと
末端のほうだと、「前にやったことがあるんだっけ?」という
探索に時間がかかっちゃうので、探索効率と組合せ論的な爆発の間の
トレードオフになっちゃうので、手続き型と関数型のどっちを
選ぶかというのは、ある程度実効機序が解ってないと難しいんだよね。
そういう意味では C 言語とか FORTH とかいった、コンピュータ・
アーキテクチャべったりの言語から始めたり、古いタイプの高級言語から
入るのもひとつのやりかただと思う。
そういう意味では Java とか C♯とかは、プロ用には向いてるけど
基礎を知らないと難しいかも。
昨今は F1 のトランスミッションもオートマチックだそうだしなぁ。
昔のマニュアル車やゴーカートから始めてみるのもいいんじゃない?
2021/09/11(土) 14:07:43.10ID:ivXsMFHP
マニュアル車は、
少し低めのスピードで高速ギアにしたり、エンジンブレーキかけたりできるからね。
渋滞時だけは、面倒。
少し加速して、すぐニュートラル。
ようするに、燃費をいかに少なくするか?なのだけど。
少し低めのスピードで高速ギアにしたり、エンジンブレーキかけたりできるからね。
渋滞時だけは、面倒。
少し加速して、すぐニュートラル。
ようするに、燃費をいかに少なくするか?なのだけど。
2021/09/11(土) 14:17:00.36ID:ivXsMFHP
スポットから始める、練習から始める、ってことかな?
2021/09/11(土) 14:30:47.28ID:PRM8i6LA
2021/09/11(土) 14:31:31.97
このスレ、自転車置き場の議論スレでは?
44デフォルトの名無しさん
2021/09/11(土) 15:30:55.17ID:3yMDZ0jk >>42
昔、『I/O』の附録だった、Z80 とか 6809 のお経本
(インストラクション・セット・サマリ)とか久しく
見てないからなぁ。
push とか pop とかの引数をどこから取ってくるのか、
といったところまでは思い出せない。
昔、『I/O』の附録だった、Z80 とか 6809 のお経本
(インストラクション・セット・サマリ)とか久しく
見てないからなぁ。
push とか pop とかの引数をどこから取ってくるのか、
といったところまでは思い出せない。
45デフォルトの名無しさん
2021/09/11(土) 15:35:48.26ID:3yMDZ0jk >>40
神岡ターンか(笑)
神岡ターンか(笑)
2021/09/11(土) 18:01:03.01ID:mCM1/tic
学習用アセンブリ
2021/09/11(土) 18:03:51.43ID:PRM8i6LA
2021/09/11(土) 19:58:33.84ID:5Y9cAMyV
>>42
68000からアセンブラやり始めたとかかもw
68000からアセンブラやり始めたとかかもw
2021/09/11(土) 20:28:05.62ID:N54U5q1q
>>47
オペランドのことじゃね
オペランドのことじゃね
2021/09/11(土) 20:32:33.35ID:3yMDZ0jk
sp をインクリメント/デクリメントするだけで1命令なのか …
それは大変だな。
それは大変だな。
2021/09/11(土) 20:38:06.19ID:mopEDxb+
2021/09/11(土) 21:48:40.82ID:6SR7xJAU
2021/09/12(日) 07:42:12.79ID:Xese6WRq
>>44
I/Oとかクソ懐かしいな30年以上ぶりに聞いたわ
高校の時にZ80やった
ちなみにオススメはプロでやりたいならJavaかJSかC#
言語マニアの話とか聞いてもマニアになりたいんじゃない限り意味ないぞw
I/Oとかクソ懐かしいな30年以上ぶりに聞いたわ
高校の時にZ80やった
ちなみにオススメはプロでやりたいならJavaかJSかC#
言語マニアの話とか聞いてもマニアになりたいんじゃない限り意味ないぞw
2021/09/12(日) 09:43:52.24ID:x3+6FKDq
Javaでプロωとかωω
土方まっしぐらωωω
土方まっしぐらωωω
55Mb
2021/09/12(日) 12:49:02.54ID:eZoXy3gP >>51
オートマだとドライブ一直線だが、
神岡ターンではクリッピングポイントをクリアしてから
「一瞬、ギアをリアに入れる」というとかいったコトをやっている。
C 言語でも、C のコンパイラが吐いたアセンブラのコードを見て、
「ここはステート数が縮められる」みたいなマッドな野郎どもが
昔はいたんだよ。
そういう言語マニアにとっては C 言語なノスタルジックな言語では
あるんだけれども、C++ というのは、マネージャーとかいった
そのあたりの美学を理解しない連中が権勢を揮っているので、
「いい言語」と言っていいとは思わない。
オートマだとドライブ一直線だが、
神岡ターンではクリッピングポイントをクリアしてから
「一瞬、ギアをリアに入れる」というとかいったコトをやっている。
C 言語でも、C のコンパイラが吐いたアセンブラのコードを見て、
「ここはステート数が縮められる」みたいなマッドな野郎どもが
昔はいたんだよ。
そういう言語マニアにとっては C 言語なノスタルジックな言語では
あるんだけれども、C++ というのは、マネージャーとかいった
そのあたりの美学を理解しない連中が権勢を揮っているので、
「いい言語」と言っていいとは思わない。
56Mb
2021/09/12(日) 12:54:28.00ID:eZoXy3gP >>54
> Javaでプロωとかωω
> 土方まっしぐらωωω
あんた病んでるよ。
だけど反社会性パーソナリティ障害障害って、
治療法がないんだよね。
最近の精神科のクリニックは薬物療法が主なので、
カウンセリングはあんまり主流じゃないから期待しないほうがいい。
松沢病院とか受診してみれば?
> Javaでプロωとかωω
> 土方まっしぐらωωω
あんた病んでるよ。
だけど反社会性パーソナリティ障害障害って、
治療法がないんだよね。
最近の精神科のクリニックは薬物療法が主なので、
カウンセリングはあんまり主流じゃないから期待しないほうがいい。
松沢病院とか受診してみれば?
57デフォルトの名無しさん
2021/09/12(日) 13:23:42.93ID:UuDugmCL オマエガナー
58Mb
2021/09/12(日) 13:24:37.28ID:eZoXy3gP >>53
「I/O」は今でも書店に並んでるぞ?
「らんだむ・あくせす・でぃくしょなりぃ」とか懐かしいな。
宮永さんが、ナショナル・セミコンダクタ(通称ナショセミ。
以下 NS)の「SC/MP」(通称「スキャンプ」)の2が出たときに、
煙草の箱サイズの自作パソコンを作って製作記事で紹介していたのだけれど、
「入力はスイッチ一つでいいんだけれど、タイミングを取るのが
大変だからスイッチを二つに増やした」「出力は、ラインを触って
ビリッときたら 1 で、こなかったら 0 だと思ったけど、涙を呑んで
電球をつけた」(当時は LED は一般的ではなく、出力は 5.5 ボルト
だったので電球もついた)とかいう生々しいレポートがあった。
あのころは楽しかったなぁ。
> ちなみにオススメはプロでやりたいならJavaかJSかC#
> 言語マニアの話とか聞いてもマニアになりたいんじゃない限り意味ないぞw
なるほど。マニアになりたい奴には意味があるし、開発の現場では
言語マニアにも居場所があったりする可能性は認めてもらえるんだよな?
「I/O」は今でも書店に並んでるぞ?
「らんだむ・あくせす・でぃくしょなりぃ」とか懐かしいな。
宮永さんが、ナショナル・セミコンダクタ(通称ナショセミ。
以下 NS)の「SC/MP」(通称「スキャンプ」)の2が出たときに、
煙草の箱サイズの自作パソコンを作って製作記事で紹介していたのだけれど、
「入力はスイッチ一つでいいんだけれど、タイミングを取るのが
大変だからスイッチを二つに増やした」「出力は、ラインを触って
ビリッときたら 1 で、こなかったら 0 だと思ったけど、涙を呑んで
電球をつけた」(当時は LED は一般的ではなく、出力は 5.5 ボルト
だったので電球もついた)とかいう生々しいレポートがあった。
あのころは楽しかったなぁ。
> ちなみにオススメはプロでやりたいならJavaかJSかC#
> 言語マニアの話とか聞いてもマニアになりたいんじゃない限り意味ないぞw
なるほど。マニアになりたい奴には意味があるし、開発の現場では
言語マニアにも居場所があったりする可能性は認めてもらえるんだよな?
59Mb
2021/09/12(日) 13:31:28.12ID:eZoXy3gP2021/09/12(日) 13:54:11.81ID:ZMOxDx6c
ネイテイブコードでかかれたゲームクライアントが少なくなったせい?
ゲーム解析でアセンブラとかOSの動作を覚えたw
ゲーム解析でアセンブラとかOSの動作を覚えたw
61Mb
2021/09/12(日) 15:12:01.27ID:eZoXy3gP2021/09/13(月) 02:10:50.03ID:Hg35TRQG
>>58
まだ売ってるのか良くもったな
例えばJavaの現場でHaskellとかできてもどうにもならないが趣味でマニアな分には
その場合Javaさえできるなら当然問題はない
ただそういう人は変な事する場合があるから言語以外の普通の開発手法とかデザインパターンとかはちゃんとしてね
まだ売ってるのか良くもったな
例えばJavaの現場でHaskellとかできてもどうにもならないが趣味でマニアな分には
その場合Javaさえできるなら当然問題はない
ただそういう人は変な事する場合があるから言語以外の普通の開発手法とかデザインパターンとかはちゃんとしてね
2021/09/13(月) 12:56:42.13ID:+ZZ666OR
このスレで書き込みしている人達ってやっぱ平均年齢50超えてる?
64デフォルトの名無しさん
2021/09/13(月) 13:20:10.80ID:swd+vclW あわしろ氏のHaskell推しは一理あるんだよな
2021/09/13(月) 14:28:39.70ID:+ZZ666OR
やっぱなんだかんだ言ってもCが1番
ダイテル本みっちりやればよろし
ダイテル本みっちりやればよろし
66Mb
2021/09/13(月) 14:47:08.19ID:C4HWp6ZW >>63
> このスレで書き込みしている人達ってやっぱ平均年齢50超えてる?
よくわからんが三十代か六十代の、いわゆるスキマ世代が多いんじゃないかな?
読んでるひとは十代とかだったりしそうだけど、
おっさん世代の愚痴やら説教やらを聞いてくれるヒトがいるというのは、
喜ばしいことだと思う。
> このスレで書き込みしている人達ってやっぱ平均年齢50超えてる?
よくわからんが三十代か六十代の、いわゆるスキマ世代が多いんじゃないかな?
読んでるひとは十代とかだったりしそうだけど、
おっさん世代の愚痴やら説教やらを聞いてくれるヒトがいるというのは、
喜ばしいことだと思う。
2021/09/13(月) 18:38:33.54ID:Q8RkP9iF
高級言語から始めてもいずれ「ポインタって何に使うの?」って絶対に聞くんだから最初からアセンブリやっとけよ
つまんない意地はんなや
つまんない意地はんなや
68デフォルトの名無しさん
2021/09/14(火) 10:25:16.87ID:46IWFnzO >>67
「C プログラミング初心者あるある」だな。
「値呼び」とか「番地呼び」とか「名前呼び」とか
文字列を含む可変長データの管理とかで悩んだときに
アセンブラにまで立ち戻って考えると確かに理解しやすい。
クヌスの「コンピュータ・プログラミングの技法」とかは
手がかりになりそうだ。
「C プログラミング初心者あるある」だな。
「値呼び」とか「番地呼び」とか「名前呼び」とか
文字列を含む可変長データの管理とかで悩んだときに
アセンブラにまで立ち戻って考えると確かに理解しやすい。
クヌスの「コンピュータ・プログラミングの技法」とかは
手がかりになりそうだ。
2021/09/14(火) 15:55:48.93ID:ZQjuD2Oo
習得順序がBASIC→アセンブリ→Cであった頃は何の問題もなかった
最初の言語はコンピュータの仕組みや計算機科学べったりでない方がよい
そんなのは2つ目以降で考えればよいこと
最初の言語はコンピュータの仕組みや計算機科学べったりでない方がよい
そんなのは2つ目以降で考えればよいこと
70Mb
2021/09/14(火) 17:28:01.01ID:46IWFnzO >>69
> 習得順序がBASIC→アセンブリ→Cであった頃は何の問題もなかった
> 最初の言語はコンピュータの仕組みや計算機科学べったりでない方がよい
> そんなのは2つ目以降で考えればよいこと
その点については全面的に同意する。
たぶん三十代の遣える方だと思う。
ただ、Pascal の P-System とか、
BCPL とかいった「仮想マシンのアセンブラ」とかいった
いったコンパイラ言語を経験している若者が少ないんだよね。
「コンパイラ → マクロアセンブラ → アセンブラ → 機械語」
とかいった経験を積まないと、システム屋としては未熟だと思う。
そういった経験を積んだ人にとっては、「イマドキの若者」っていうのは
腹立たしいとは思うんだけど、そこは生温かく見守ってあげようよ。
> 習得順序がBASIC→アセンブリ→Cであった頃は何の問題もなかった
> 最初の言語はコンピュータの仕組みや計算機科学べったりでない方がよい
> そんなのは2つ目以降で考えればよいこと
その点については全面的に同意する。
たぶん三十代の遣える方だと思う。
ただ、Pascal の P-System とか、
BCPL とかいった「仮想マシンのアセンブラ」とかいった
いったコンパイラ言語を経験している若者が少ないんだよね。
「コンパイラ → マクロアセンブラ → アセンブラ → 機械語」
とかいった経験を積まないと、システム屋としては未熟だと思う。
そういった経験を積んだ人にとっては、「イマドキの若者」っていうのは
腹立たしいとは思うんだけど、そこは生温かく見守ってあげようよ。
2021/09/14(火) 18:49:56.34ID:vcNuTaNe
2021/09/14(火) 19:12:04.28ID:bWejLg/l
>>71
コンピュータ使わずにできるプログラミングとBASICは似てるって主張ではないのかな?
つまり、Cやアセンブリはコンピュータに相当忖度しなくちゃ動かないけど、BASICはアルゴリズムを記述したら動く、と。
ローカル変数ないじゃん、とか、構造化プログラミングできないじゃん、みたいのはBASICだと流石に出てきちゃうけど
ソフトウェアエンジニアでC書けない人は本物じゃないと思うけど、プログラミングはソフトウェアエンジニアだけのツールじゃないからねえ。
コンピュータ使わずにできるプログラミングとBASICは似てるって主張ではないのかな?
つまり、Cやアセンブリはコンピュータに相当忖度しなくちゃ動かないけど、BASICはアルゴリズムを記述したら動く、と。
ローカル変数ないじゃん、とか、構造化プログラミングできないじゃん、みたいのはBASICだと流石に出てきちゃうけど
ソフトウェアエンジニアでC書けない人は本物じゃないと思うけど、プログラミングはソフトウェアエンジニアだけのツールじゃないからねえ。
73Mb
2021/09/14(火) 19:53:31.51ID:46IWFnzO そのあたりは、REAL BASIC の開発者の意見もあるだろうと思う。
行列の積とかもフツーに計算できる機能もあったはずだ。
Fortran 77 じゃないけど、複素数演算もできたと思う。
つーても、演算子の拡張というのはあまり必要がなかったようで、
現在では使われていないようだ。
行列の積とかもフツーに計算できる機能もあったはずだ。
Fortran 77 じゃないけど、複素数演算もできたと思う。
つーても、演算子の拡張というのはあまり必要がなかったようで、
現在では使われていないようだ。
74Mb
2021/09/14(火) 20:34:30.77ID:46IWFnzO >>72
> ローカル変数ないじゃん、とか、構造化プログラミングできないじゃん、
> みたいのはBASICだと流石に出てきちゃうけど
だからこそ悪辣な面白いこともできる、というのは C と同様だぞ(笑)。
文字列領域にマシンコード突っこんで直接コールするとか、
グラフィック用のビットマップ領域を利用してプリンタ用のバッファに使うとか、
「今から三十年くらい昔にはよくやったもんだ(笑)」という話は
先達からいろいろ聞かされている。
昔の「I/O」とか「THE BASIC」とか読むと、その手の話はけっこう出ていると
思う。
> ローカル変数ないじゃん、とか、構造化プログラミングできないじゃん、
> みたいのはBASICだと流石に出てきちゃうけど
だからこそ悪辣な面白いこともできる、というのは C と同様だぞ(笑)。
文字列領域にマシンコード突っこんで直接コールするとか、
グラフィック用のビットマップ領域を利用してプリンタ用のバッファに使うとか、
「今から三十年くらい昔にはよくやったもんだ(笑)」という話は
先達からいろいろ聞かされている。
昔の「I/O」とか「THE BASIC」とか読むと、その手の話はけっこう出ていると
思う。
2021/09/14(火) 20:56:50.32ID:ZQjuD2Oo
>>71
初心者が真髄なんてものに触れる必要はないというのが論旨なのだが
初心者が真髄なんてものに触れる必要はないというのが論旨なのだが
76Mb
2021/09/14(火) 21:01:13.08ID:46IWFnzO たとえば、無条件ジャンプ(いわゆる GOTO 文)と
条件ジャンプ(たとえば CALL文。BASIC では GOSUB)は、
番地フラグとして、同じ「ラベル」というのを指定できる。
そうすると、飛び先が同じでも GOTO なのか GOSUB なのかで
挙動が追いにくくなる。
BASIC ならまだしも高級言語だから追いやすいが、アセンブラで
これをやられると、本当にややこしくなる(実際に、追っかけているうちに
訳がわからんことになり、しかも途中でプログラムの自己書換えとかが入って
いて、「一ヶ月くらい悩んだ」という奴がいた。じつはタイマ割込みがセット
されていて、それは単なる「ゲームのイニシャルローダが発売されてから
解読されないための時間稼ぎ」でしかなかったのだが)。
これで「八人の女王」プログラムを書いて褒められたことがある。
C 言語やアセンブラだと、ROM に焼くのと RAM 上に置くのでは挙動が
違うので(ROM に焼くと自己書換えができないが、RAM 上では書換えができる)
とかいった より悪辣なことができるので、C やアセンブラはとても愉しい
言語だと思う。
だけど ANSI-C は牙を抜かれて飼いならされてしまったので、
「ANSI-C は家畜化されて牙を抜かれたブタであって、オリジナルの C は
猪だ」という意見はあったりもする。
条件ジャンプ(たとえば CALL文。BASIC では GOSUB)は、
番地フラグとして、同じ「ラベル」というのを指定できる。
そうすると、飛び先が同じでも GOTO なのか GOSUB なのかで
挙動が追いにくくなる。
BASIC ならまだしも高級言語だから追いやすいが、アセンブラで
これをやられると、本当にややこしくなる(実際に、追っかけているうちに
訳がわからんことになり、しかも途中でプログラムの自己書換えとかが入って
いて、「一ヶ月くらい悩んだ」という奴がいた。じつはタイマ割込みがセット
されていて、それは単なる「ゲームのイニシャルローダが発売されてから
解読されないための時間稼ぎ」でしかなかったのだが)。
これで「八人の女王」プログラムを書いて褒められたことがある。
C 言語やアセンブラだと、ROM に焼くのと RAM 上に置くのでは挙動が
違うので(ROM に焼くと自己書換えができないが、RAM 上では書換えができる)
とかいった より悪辣なことができるので、C やアセンブラはとても愉しい
言語だと思う。
だけど ANSI-C は牙を抜かれて飼いならされてしまったので、
「ANSI-C は家畜化されて牙を抜かれたブタであって、オリジナルの C は
猪だ」という意見はあったりもする。
2021/09/14(火) 21:48:22.30ID:3XJZM6bN
業務で書く分にはわかりやすさ重視で凝ったアルゴリズムは敢えて使わないな
今や凝らなくても余裕があるし、メンテしようと自分で見返したときに思い出すのに時間がかかるし
詳細仕様とか文書を書き起こす方に時間がかかって大変だからw
今や凝らなくても余裕があるし、メンテしようと自分で見返したときに思い出すのに時間がかかるし
詳細仕様とか文書を書き起こす方に時間がかかって大変だからw
2021/09/14(火) 22:31:15.16ID:bFI2iROt
>>69
自分もこのルートだったけど、なんでもアセンブリとかメモリマップに落として考えるようになってしまい、その後クロージャとかコルーチンとか出てきたときにかえって分からなくなってしまった
いい年になってから計算機プログラミングの構造と解釈を読んでようやく前に進めた
自分もこのルートだったけど、なんでもアセンブリとかメモリマップに落として考えるようになってしまい、その後クロージャとかコルーチンとか出てきたときにかえって分からなくなってしまった
いい年になってから計算機プログラミングの構造と解釈を読んでようやく前に進めた
79Mb
2021/09/14(火) 23:26:25.19ID:46IWFnzO2021/09/14(火) 23:53:12.05ID:L77WHZBH
>>69
一理あるな。アセンブラはさすがに現代すっ飛ばすとして、VBAあたりから
入門して「これ、・・・・・駄目じゃない?」レベルまで行けたら
Cは仕組み知るには素晴らしいけどなんか組むには素朴すぎるし、C++は
増築繰り返して化け物化したWin3.1みたいだし、オブジェクト指向バリバリの
JAVAとC#は時代に遅れそうになって増築しすぎの兆しが見えるし…。
Rust?
一理あるな。アセンブラはさすがに現代すっ飛ばすとして、VBAあたりから
入門して「これ、・・・・・駄目じゃない?」レベルまで行けたら
Cは仕組み知るには素晴らしいけどなんか組むには素朴すぎるし、C++は
増築繰り返して化け物化したWin3.1みたいだし、オブジェクト指向バリバリの
JAVAとC#は時代に遅れそうになって増築しすぎの兆しが見えるし…。
Rust?
81Mb
2021/09/15(水) 00:10:05.50ID:U+DAWKzh >>80
漏れも同じことを考えたので禿同なのだが、
Rust は局所変数の扱いを文法で縛っているという
印象があるので、言語処理系(自然言語処理ではなく、
いわゆるインタプリタやコンパイラ)を「意識しない」
という方向性については いまひとつ疑問がある。
「うちらは幸せな時代に生きてきたんだなぁ」とか思ったりする。
マイクロプロセッサの黎明期に秋葉原をうろついていて、
p-code Pascal とかを体感してきたんだから。
漏れも同じことを考えたので禿同なのだが、
Rust は局所変数の扱いを文法で縛っているという
印象があるので、言語処理系(自然言語処理ではなく、
いわゆるインタプリタやコンパイラ)を「意識しない」
という方向性については いまひとつ疑問がある。
「うちらは幸せな時代に生きてきたんだなぁ」とか思ったりする。
マイクロプロセッサの黎明期に秋葉原をうろついていて、
p-code Pascal とかを体感してきたんだから。
2021/09/15(水) 00:34:22.68ID:F75MY0Rx
>>81
私の世代の場合、まだ世間がNiftyとか言ってるあいだに大学でインターネット、emailに触れ、
Windows95が出た頃には自宅でBSD unixをPCで動かしてXWindow立ち上げてvi/emacsでプログラム書いてgccできたので、まぁ面白い時代だったです
私の世代の場合、まだ世間がNiftyとか言ってるあいだに大学でインターネット、emailに触れ、
Windows95が出た頃には自宅でBSD unixをPCで動かしてXWindow立ち上げてvi/emacsでプログラム書いてgccできたので、まぁ面白い時代だったです
2021/09/15(水) 12:45:32.25ID:U+DAWKzh
>>82
うらやましいな。
おれは unix には触ったことがないので、rogue もプレイしたことがない
(知らない人のためにひとこと。rogue のアクション操作はエディタ vi と
いっしょ)。
そういえば、パロディ判アスキーに、「UNI+」(ユニプラス)という
unix 風のシェルが載ってたな。
うらやましいな。
おれは unix には触ったことがないので、rogue もプレイしたことがない
(知らない人のためにひとこと。rogue のアクション操作はエディタ vi と
いっしょ)。
そういえば、パロディ判アスキーに、「UNI+」(ユニプラス)という
unix 風のシェルが載ってたな。
2021/09/15(水) 17:51:06.55ID:z0UwWzKV
>>83
読みは、ユニックロスじゃなかったっけ?
読みは、ユニックロスじゃなかったっけ?
2021/09/15(水) 19:13:25.01ID:itygeFef
>>7
PHPはHTML必須なので進めない
javascriptはさほど汎用的でない(javascriptでないと使わない独特技法がある)
学習情報が整理されてるpythonかrubyがおすすめ
それらで基本構文などを習得してからweb行くならJS、PHP
アプリならjava-kotlinなど選べばいい
PHPはHTML必須なので進めない
javascriptはさほど汎用的でない(javascriptでないと使わない独特技法がある)
学習情報が整理されてるpythonかrubyがおすすめ
それらで基本構文などを習得してからweb行くならJS、PHP
アプリならjava-kotlinなど選べばいい
2021/09/15(水) 19:14:40.22ID:itygeFef
なんだ、このスレはアレな人のスレか・・・
87デフォルトの名無しさん
2021/09/15(水) 19:18:06.92ID:s8iq/VsH あんたの言うことも大概だ
2021/09/15(水) 20:37:51.00ID:F75MY0Rx
>>83
職についちゃうとその業務で極めようとするからなかなか><
今の人だとスマホで劇的な変化を体験したんだろうか
rogueというかSunOS/Solarisだとhack?
マシンごとにランキングが残るんだけど、誰もやってなかったw
職についちゃうとその業務で極めようとするからなかなか><
今の人だとスマホで劇的な変化を体験したんだろうか
rogueというかSunOS/Solarisだとhack?
マシンごとにランキングが残るんだけど、誰もやってなかったw
2021/09/15(水) 22:29:40.69ID:yi91ufSt
加齢臭凄いスレだな
2021/09/15(水) 23:22:25.38ID:pLOaSwL8
JUNETでUUCPでmailとnetnewsが来てfj.*を読み書きしてた頃か
インターネット接続になってそれら便利になるとともに多様化で消えていった
インターネット接続になってそれら便利になるとともに多様化で消えていった
2021/09/16(木) 09:23:59.42ID:I3VTO38j
uucpの頃がuuencode/uudecodeか
base64に飲み込まれたな
base64に飲み込まれたな
2021/09/16(木) 12:31:35.39ID:8LdpMeIx
もうおじいちゃん達の懐古主義はお腹いっぱい
昔を懐かしみたいのなら別スレ建てたら?
昔を懐かしみたいのなら別スレ建てたら?
93デフォルトの名無しさん
2021/09/16(木) 13:01:11.24ID:OOI2XObq Haskellは数学
94Mb
2021/09/16(木) 16:05:31.30ID:H4jRCgIr 当時似たような unix 風のシェルがあって、
「UNI十(ユニクロス)」とか「UNI×(ユニッペケ)」とかあったんだよ。
たしか当時はまだインターネットが普及してなくて、公衆回線を
使った草の根 BBS のころで、
うんと底のほうのルーチンで回線断されると、longjump で上の方に戻ろうと
するといろいろとトラブルが起きたんだ。
そんなわけで、キャッチ&スローみたいなことをやろうというときに、OS で
コプロセスを起動するということを考えたひとがいて、それがシェルもどきに
なったという経緯があったりする。
知人の unix 使いが「Mimic」というシェルもどきを書いてたっけなぁ。
「mimic」とタイプすると、「It's Me!」と返してくる。
いや、おれは rogue やってないから知らないっつーの (^_^!)。
いまどきの若者は『ダンジョン飯』とか読んでいるので常識っぽい
らしいが。
「UNI十(ユニクロス)」とか「UNI×(ユニッペケ)」とかあったんだよ。
たしか当時はまだインターネットが普及してなくて、公衆回線を
使った草の根 BBS のころで、
うんと底のほうのルーチンで回線断されると、longjump で上の方に戻ろうと
するといろいろとトラブルが起きたんだ。
そんなわけで、キャッチ&スローみたいなことをやろうというときに、OS で
コプロセスを起動するということを考えたひとがいて、それがシェルもどきに
なったという経緯があったりする。
知人の unix 使いが「Mimic」というシェルもどきを書いてたっけなぁ。
「mimic」とタイプすると、「It's Me!」と返してくる。
いや、おれは rogue やってないから知らないっつーの (^_^!)。
いまどきの若者は『ダンジョン飯』とか読んでいるので常識っぽい
らしいが。
2021/09/16(木) 16:32:13.86ID:caXrDs0o
>>93
数学だなあ。今モナドの説明読んで理解しようとしてるけど
頭がパンクしそうだ。
ただ、「圏論学ぶと人生観が変わるくらいものの見方が変わる」
らしいからなんとかそこまでたどり着きたいなあ。
最初の言語としては全くお勧めしないw
そもそも「他の言語を何か使えること」がほぼ前提の言語だし。
数学だなあ。今モナドの説明読んで理解しようとしてるけど
頭がパンクしそうだ。
ただ、「圏論学ぶと人生観が変わるくらいものの見方が変わる」
らしいからなんとかそこまでたどり着きたいなあ。
最初の言語としては全くお勧めしないw
そもそも「他の言語を何か使えること」がほぼ前提の言語だし。
2021/09/16(木) 18:26:49.69ID:dCSvSg78
Haskellって数学以外に何が出来るの?
2021/09/16(木) 21:54:32.61ID:H4jRCgIr
>>96
まぁ……数学がわかんなくても遅延評価がうまいこと
やってくれるので、運がよければ組合せ論的爆発を
避けることができる、というのが取り柄かな。
トランプや麻雀のプログラムとか、選挙の議席数によって
どれくらい影響力があるか(シャープレイ=シュービック
指数という。単独過半数だと面白くもなんともないが、
二大政党の議席数が拮抗してて野党がキャスティング・ボウトを
握っていたりすると、いろいろ面白い結果が出たりする)とかの
話だと、Haskell は強力かもしれない。
まぁ……数学がわかんなくても遅延評価がうまいこと
やってくれるので、運がよければ組合せ論的爆発を
避けることができる、というのが取り柄かな。
トランプや麻雀のプログラムとか、選挙の議席数によって
どれくらい影響力があるか(シャープレイ=シュービック
指数という。単独過半数だと面白くもなんともないが、
二大政党の議席数が拮抗してて野党がキャスティング・ボウトを
握っていたりすると、いろいろ面白い結果が出たりする)とかの
話だと、Haskell は強力かもしれない。
2021/09/16(木) 22:01:59.31ID:H4jRCgIr
C や C++ って、記述の粒度が細かすぎて
全体像が掴みにくいんだよな。
オブジェクト志向になると、モジュール化がしやすいから
全体構造はいくらか見えやすいんだが、こんどは
いろいろと制約っつーか縛りがきついので、C とかから入ったひとは
「これでホントにシステム組めるのか?」とか面喰ったりする。
何人くらいのチームで、どれくらい知識が共有できててスキルがあるのか、
とかいった観点から言語を選ぶのも、ひとつの選択だと思われる。
全体像が掴みにくいんだよな。
オブジェクト志向になると、モジュール化がしやすいから
全体構造はいくらか見えやすいんだが、こんどは
いろいろと制約っつーか縛りがきついので、C とかから入ったひとは
「これでホントにシステム組めるのか?」とか面喰ったりする。
何人くらいのチームで、どれくらい知識が共有できててスキルがあるのか、
とかいった観点から言語を選ぶのも、ひとつの選択だと思われる。
2021/09/16(木) 22:12:52.54ID:LOVaWXEK
100デフォルトの名無しさん
2021/09/17(金) 00:07:56.63ID:gId/Wf8n101デフォルトの名無しさん
2021/09/17(金) 00:09:58.34ID:gId/Wf8n >>100
誤字失礼。。。LabVIEW
誤字失礼。。。LabVIEW
102デフォルトの名無しさん
2021/09/17(金) 13:05:38.49ID:9sB/yeOV LabVIEWは俺に効くからやめてくれ…
103Mb
2021/09/17(金) 13:30:42.73ID:6yfFjxR9 >>99
C とか C++ とかって大勢でプロジェクトを張ってると、
なんか真っ裸で職場をうろついているような気分になるんだよね。
昔の先輩(女性)は「毎日端末の前で脳内ストリップをやっているのよ!」
と仰っていたし。
> 勉強しなさい
修羅場で場数を踏みなさい。
C とか C++ とかって大勢でプロジェクトを張ってると、
なんか真っ裸で職場をうろついているような気分になるんだよね。
昔の先輩(女性)は「毎日端末の前で脳内ストリップをやっているのよ!」
と仰っていたし。
> 勉強しなさい
修羅場で場数を踏みなさい。
104デフォルトの名無しさん
2021/09/17(金) 23:21:04.71ID:qc9SKwMT■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
