ぶっちゃけ始めるのにいい言語て何 part5

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2021/06/04(金) 09:25:30.26ID:nHzCWsfU
前スレ

ぶっちゃけ始めるのにいい言語て何 part4
https://mevius.5ch.net/test/read.cgi/tech/1615612545/
594デフォルトの名無しさん
垢版 |
2021/07/22(木) 10:10:45.09ID:I7nexIle
あとそもそも思いし
ホント無駄多いだけ
百害あって一利無し
2021/07/22(木) 10:31:31.77ID:S0te5wzg
Visual Studioのチェック機能は素人にとって助かると思うけどな
メモリ操作でやらかしてそうな所も波線を引いて教えてくれるし
まあ、変なMS拡張を使う癖が付かないように気を付けるだけだ
2021/07/22(木) 12:36:11.21ID:b8KnRy/n
Cのポインタ、構造体でつまづく人は
正直この業界に向いていないよ
知的水準が達していない
2021/07/22(木) 13:01:58.15ID:AX2ndQQy
>>596
Object指向のポリフォーリズムとかに弱そう
2021/07/22(木) 13:50:16.91ID:nmJSg1fS
>>597
ポリモーフィズムだろ
人の心配する前に自分のことをどうにかしよう
2021/07/22(木) 14:06:51.40ID:z8pfcb27
Perfumeじゃねーよ!
2021/07/22(木) 14:49:45.77ID:S0te5wzg
>>597
本物のC使いは関数ポインタを使ってオブジェクト指向を実現するからな!
2021/07/22(木) 15:22:05.21ID:s1I9liYk
>>591
上の方にも似たような意見があるけど、
初心者がVisual Studioを使いこなせるわけないでしょ…
ぶっちゃけ始めるのにいい開発環境じゃないよ
2021/07/22(木) 15:36:50.22ID:kFdJ5CFB
大昔のファミコンでも、ゼルダかマリオか何かを、

アセンブラで、オブジェクト指向で作っていたらしい
603デフォルトの名無しさん
垢版 |
2021/07/22(木) 16:01:55.19ID:j2Z/DYBO
オブジェクティブ志向。
2021/07/22(木) 16:27:00.02ID:WBW/BloC
オブイェークト
605デフォルトの名無しさん
垢版 |
2021/07/22(木) 16:36:48.76ID:j2Z/DYBO
ちょっと発音が良いと批判される日本。
606デフォルトの名無しさん
垢版 |
2021/07/22(木) 16:41:31.95ID:hojCS1dB
アブジェクッ
2021/07/22(木) 18:30:28.71ID:5OFzAXDF
このスレで有名なYoutuberが
バックエンドのこれからはGoだっていうので
覚え始めましたが
私騙されてないですよね?
2021/07/22(木) 18:33:45.50ID:AX2ndQQy
>>602
嘘付き
2021/07/22(木) 20:28:32.44ID:sSLTRpJ4
>>600
使わなくてすむなら使いたくない。

可読性がひどく落ちる。


他の言語を理解するときにはものすごく役に立ってくれる知識だけど。

JavaScriptなんか読んでると、「あ〜、これって関数ポインタに
関数のアドレスが入ってるけど実行されてない状態だな」とか
思えるので、知ってるといい概念。

でもCでの書き方は正直汚い。
2021/07/22(木) 21:25:58.33ID:AX2ndQQy
Cのアドレス操作はポインタという形で中途半端にしか出来ないからあまり好きじゃない
611デフォルトの名無しさん
垢版 |
2021/07/22(木) 21:43:00.28ID:hojCS1dB
GCCでc勉強中!
612デフォルトの名無しさん
垢版 |
2021/07/22(木) 23:59:28.69ID:4mSeIR4p
>>610
kwsk
613デフォルトの名無しさん
垢版 |
2021/07/23(金) 02:22:52.67ID:VoGOQ15K
挙動を知ることが言語理解ではなくて、それは処理系理解でしょ
処理系がよく出来てれば考えなくていいことですよね
2021/07/23(金) 06:30:41.75ID:BjmNFMBr
>>612
例えばC#なんかだとDelegateって形で方式自体が変わっててあまり細かく触れない代わりにガッチガチにセーフティーに作ってるからそこまで行けばむしろ清々しい。

逆に細かに設定出来るアセンブラでは
Cで言うところのテーブルジャンプがまず基本。レジスタにテーブルトップアドレスを入れてオフセットを設定することで間接修飾して簡単に実現出来る。
それから他の言語では概念がないから説明が難しいけど関数の飛び先を指定するのではなく、スタックエリアの内容とスタックポインタを操作して関数の戻り先を操作することが出来る。
これにより幾つもの分断されたコードをそのときのステータスでロードマップを決めつつ処理を実施することが出来る。

先程マリオやゼルダかがObject指向で作られていると書いた人がいるけどあれは嘘。
そもそも1/60秒で1画面描写分の設定を行わなければいけないのにヒープエリアにスタティックエリアのコードをコピーしているような時間はないしファミコンはヒープエリア自体が無い。
けどテクモのスーパーボウルとかは先程言った方式で各選手の動きとかを作っていたりする。
615576
垢版 |
2021/07/23(金) 13:33:59.19ID:Nx0yKcVz
雑食系エンジニア・KENTA、2021/6

Web系エンジニアは結局どの技術を専門にすると得なのか?
/転職ドラフトのグラフから考えてみました
www.youtube.com/watch?v=CnYSQFiDn_c

転職ドラフトでは、Ruby on Rails, Docker, AWS などの期間技術は、600万円ぐらい。
ただし、Go だと採用率が高い

勉強の順番は、Ruby → Go。
最初に、Ruby on Rails で、Linux, Docker, AWS、データベースなどを一通りやるべき!
2021/07/23(金) 13:45:10.89ID:O9MjyOb4
>>615
グロ
617デフォルトの名無しさん
垢版 |
2021/07/23(金) 16:43:36.18ID:hmMDCbjQ
あわしろ氏は、MS言語を使うなと強く警告している。
2021/07/23(金) 21:34:30.56ID:yenWje7e
最近のこのスレでの泡城氏こわい
2021/07/23(金) 21:52:47.79ID:BjmNFMBr
あわしろ氏は
お嬢ちゃん、怖くないからこっちおいで、そうだ飴あげよう
と言っている
2021/07/23(金) 22:06:14.30ID:yyxBtJE2
泡白氏が言っていないことはないの?
2021/07/23(金) 22:16:47.32ID:6XtGBSYv
今でもあわしろは私の光〜
2021/07/23(金) 23:50:12.51ID:XEQv9kz1
テスト
2021/07/25(日) 22:49:26.17ID:mXugsmaS
阿波shiro氏は目的もなくテストするなと言っている
2021/07/25(日) 22:54:10.80ID:8JDY9fyR
縄張り氏は意味なくシッコするな!と言っている
625デフォルトの名無しさん
垢版 |
2021/07/25(日) 23:05:57.02ID:YWPkEqvf
>>620


言っていないことはない、てことはつまり
無限の猿定理?
シェイクスピアも泡白氏が言った言葉なのか
2021/07/26(月) 11:52:45.98ID:gxC8xctS
はわわわ
627デフォルトの名無しさん
垢版 |
2021/07/26(月) 13:09:02.11ID:Cr9loCLM
あわもりは沖縄の酒
628デフォルトの名無しさん
垢版 |
2021/07/27(火) 19:10:26.48ID:kfDWq5Fx
ミルキーはママの味。
629デフォルトの名無しさん
垢版 |
2021/07/27(火) 19:27:28.66ID:kfDWq5Fx
あわしろ氏は、プログラミングの数学的アプローチであるHaskellを強くお勧めしている。
2021/07/27(火) 22:17:47.77ID:kzjLLPkb
なぜか、「パルナス、パルナス、モスクワ〜〜〜の味〜♪」ってのが
頭に浮かんだ。
2021/07/28(水) 01:29:12.15ID:Ky1rxZdm
今さらだけど月刊誌に連載もってるような人の名前を騙って適当な事を書いて大丈夫か?w
ユーチューバーかと思って調べたら俺らがよく読む雑誌のライターじゃん
632デフォルトの名無しさん
垢版 |
2021/07/28(水) 08:24:47.65ID:hj3wYy/s
Facebook、次期ビルドシステムの開発でRust言語の採用を明らかに
https://www.publickey1.jp/blog/21/facebookrust.html
2021年7月28日
633デフォルトの名無しさん
垢版 |
2021/07/28(水) 13:57:53.50ID:Zb5hS091
本来の「ぶっちゃけ始めるのにいい言語て何」に
立ちもどって考えると、「将来、どんな方面に進みたいか」と
いうのが、現在では関係してくると思う。
「コードを書くのが愉しい」のなら C++ だし、
「プログラミングというものに興味がある」んなら
BCPL や Pasucal だし、
「システムエンジニアとして活躍したい」んなら
Java とかだし、
よくわからなければ PHP とか Ruby とかだし、
俺は嫌いだが JavaScript という選択枝もあると思う。

ただ、いまどきはめっさマシンがあって、
それがネットワークで繋がっているので、
「強調コンピューティング」というコンセプトも
あるということは、頭の隅っこに置いておいて
ほしいと思う。
634デフォルトの名無しさん
垢版 |
2021/07/28(水) 14:16:41.00ID:+/qzTzZw
>>633
GAFAMでもC++を捨ててRustへの流れ
C++はメンテ要員の仕事になっていく
2021/07/28(水) 14:27:17.13ID:WXztrMah
それは要領良く書く言語としてであって
C/C++しらないでRust書くとか止めてほしい
2021/07/28(水) 14:42:28.06ID:yXqWu11l
だったら、ずぅーっとC/C++で良いじゃないかって思うけど。
みんな違う言語創りたがるから面倒くさいね。
637デフォルトの名無しさん
垢版 |
2021/07/28(水) 14:52:07.93ID:Zb5hS091
>>22
> つまりEmacs最高ということか…
emacs はエディタの名前であって言語の名前ではない。
「TECO」(テキスト・エディタ・コンパイラ)と呼ぼう。
638デフォルトの名無しさん
垢版 |
2021/07/28(水) 15:03:09.18ID:Zb5hS091
>>636
基本的には C でいいと思うんだが、
私のような年寄りはハードウェアべったり
(「あれはコンパイラ言語ではなくて、超高級マクロアセンブラだ」
という人もいる)の言語は、正直体力的にしんどいのですよ。
C++ というのは、C++のコード ⇒ プリプロセッサで処理した
C のコード ⇒ マクロアセンブラのコード ⇒ オブジェクトコードと
いった形になっていて、しかもそれをリンカで統合しようと思ったら
ジェネミスでコケたりする。「三重に皮を被せていて、気持ちよくも
なければ安全でもない」という点からいうと、「Pascal → BCPL →
C → Java」あたりが順当だとは思うのだけれども、それは
「古いパラダイムであり、(現在の)電算業界で戦力になる」という
コンセプトでしかないので、他のアプローチがあっていいと思う。
2021/07/28(水) 15:42:04.82ID:yXqWu11l
>>638
ありがとう。といっても自分理解しているか自信がないけど。
Cにライブラリを足していけば何でも出来るかもしれないけど、
言語の構造そのものにテコ入れした方が、より効率的なこともあるってことか。
640デフォルトの名無しさん
垢版 |
2021/07/28(水) 17:52:10.99ID:zh3fVAA3
>>638
そこで、Rustですよ
現代的な言語で洗練されて書きやすく
それでいてC/C++と同等に速くネイティブにCGなく動き
C/C++と違ってメモリ操作ミスでの穴も生じない言語がRust
641デフォルトの名無しさん
垢版 |
2021/07/28(水) 18:55:33.17ID:blbSRE94
あわしろ氏によると、C/C++はCOBOLのようになるという事です。
2021/07/28(水) 21:50:17.45ID:sjXgCFRV
CやC++は悪い言語ではないとは思うけど、初心者がいきなりやるとコケる人が続出する気がする。
ちょっとやそっとやったくらいではいざ誰かが作ったコードの改修作業とかかなりの無理ゲーになると思う。

そう考えるとVBA、ベンダーロックインが嫌ならPythonやせいぜいC#くらいにとどめておいた方がいいような気がするよ。
643デフォルトの名無しさん
垢版 |
2021/07/29(木) 07:53:31.70ID:MmWaza2b
Facebook、開発言語に「Rust」採用 次期ビルドシステムの開発で
https://www.itmedia.co.jp/news/articles/2107/28/news152.html

Rustを用いることで、どのような利点があるのか。Facebookは記事の中で次の4つの項目を挙げています。

@Rustのasync/awaitシンタックスは、非同期のコードをとてもスムーズに記述できますし、Rustは複雑な並行処理の詳細を正しく理解するのに役立ちます。
BuckのJavaの計算を一つ一つ並行処理に移行するのは数カ月に及ぶ困難な作業でしたし、シングルスレッドの大きなボトルネックがまだ存在しています。

ARustには、開発をより簡単で楽しいものにしてくれる多くの高レベルな言語機能があります。
それらはenum、パターンマッチング、trait、手続き型マクロなどで、Rustの開発者の多くに愛されています。

BRust はメモリの割り当てをより細かく制御することができます。
ガベージコレクションのある言語では、たとえジェネレーショナルコレクションであっても、Buckが行うようなインクリメンタルな演算に対応するのは困難です。

CRustは高性能です。
Rustに移植することで劇的な性能向上を私たちは見てきました。
2021/07/29(木) 10:11:34.29ID:HW2V5ppO
高機能、高速などの言語としての特長が必ずしも始めるのに最適にはつながらない
2021/07/29(木) 10:28:30.59ID:S3gddm5/
まあでも始めるなら、WEB界隈のデファクトスタンダード化してる
JavaScript 系列か Rust に収束していきそうだな。
2021/07/29(木) 10:32:26.85ID:/zE09WOd
プログラミングって話題になってるし何か楽しそうってだけなら
PythonかRubyでいいんじゃないかと思う
Scratchも楽しそうだった
647デフォルトの名無しさん
垢版 |
2021/07/29(木) 12:06:43.59ID:jm6Q/a7y
小学生が憧れるプログラマ第1位があわしろ氏だったな
2021/07/29(木) 16:28:06.24ID:mTab7dlX
どのレスとは言わんが荒らし必死過ぎw
2021/07/29(木) 17:59:57.61ID:6tQJHR0m
個人的にリッチな型チェックがある言語の方が楽しさは上かな
扱い易いかどうかは別として
650デフォルトの名無しさん
垢版 |
2021/07/29(木) 18:03:26.73ID:KDMSOfUO
>>643
GoogleもMicrosoftもAmazonもRustと言ってるし
これからのプログラミング言語で最強はRustで確定のようだな
651デフォルトの名無しさん
垢版 |
2021/07/29(木) 19:37:31.23ID:2QmJme0a
第二位もあわしろ氏です。
652デフォルトの名無しさん
垢版 |
2021/07/30(金) 00:04:07.73ID:T4chNKrF
年寄りの繰り言になるが、仕事で使うんなら
・静的かつ厳密な型チェックがあること
・動的なメモリ管理機能があること
・変数スコープが明示的かつ閉じていること
・大域脱出を含めて、構造的な制禦構造が揃っていること
だと思うけれど、それが「初心者向け」かどうかはわからんなぁ。
いっそ仮想マシンのアセンブラ(あるいはプログラマブル電卓)から
入るのも手かもしれないし。
「そもそも論」になっちゃうけど、
小学生と中学生と大学生と現役社会人と定年後の人とでは、
違う言語でいいと思うわけですよ。
LISP と Prolog と FORTH と Pascal とかいった選択枝は
あっていいし。
「この言語でこの課題を実装するとこうなります」というのを
並べて、「あ、この言語はわかりやすい」「この言語でこれは
ないだろ」みたいなところから、「自分に向いている言語」を
選ぶというのはあるかもしれん。
つーても、手軽に利用できる処理系があるかどうか、という話が
あるわけだが。
653デフォルトの名無しさん
垢版 |
2021/07/30(金) 00:17:59.03ID:xBaIyo+s
>>652
大域脱出なんて考えが古い
GoやRustなど最近流行りの言語には大域脱出は無い
654デフォルトの名無しさん
垢版 |
2021/07/30(金) 00:39:28.63ID:T4chNKrF
>>653
> 大域脱出なんて考えが古い
> GoやRustなど最近流行りの言語には大域脱出は無い
そうなのか。
複数階層の底のほうから抜けるとか、
再帰呼び出しの底から抜けるとかいったら、
いちいち値を返しつつ遡っていくのか?
そんな煩雑なコードを書かなきゃいけない言語が、
初心者向けとは思えないんだが。
「途中で保存していた値を全部吹っ飛ばして戻る」という
C の longjump は乱暴ではあるとは思うが、
LISP の時代から Java にも引き継がれている
キャッチ&スローも使えないのか?
2021/07/30(金) 02:41:59.95ID:7zteHaY0
あるYoutuberがRustはGoに勝てないって言ってたが
ここや世界の評価は違うみたいだね
656デフォルトの名無しさん
垢版 |
2021/07/30(金) 05:05:16.72ID:MBINGgfb
>>654
それは貴方が本質を見失っています。
try/throw/catchといった大域脱出の機構を持たなくても、
複数階層の底から多段に意識せず自動的に抜けることが出来ればどうですか?
そしてそれら途中階層でいちいち煩雑なコードを書かなくて済むとしたらどうですか?
そして多段呼び出しでも再帰呼び出しでも多段メソッドチェーンでも使えればどうですか?
これで貴方が挙げた目的を満たしていますよね。

Rustはtry/throw/catchといった特殊な機構を用いずにそれらを実現してしまったのです。
そのためもちろんRustのメモリ安全性も満たしたまま使えます。
実際のRustのプログラミングでも記述は簡素で美しく、コードが1文字増えるだけです。
これらを理解すれば貴方もきっと感動すると思います。
2021/07/30(金) 10:30:43.93ID:ZEyOs6kv
gafamで使われてるものはメジャーになる
2021/07/30(金) 10:52:17.12ID:6IY+PAJY
Google : C++、JavaScript
Amazon : Java、C++
Facebook : PHP、C++
Apple : ObjC
Microsoft : C++、C#
AppleのObjCやMSのC#を除けば、現実には単にメジャーで無難な言語を選んでいる
659576
垢版 |
2021/07/30(金) 11:31:49.66ID:n/UloM9p
YouTube で有名な、雑食系エンジニア・KENTA が結論を出している

未経験者の転職に必要な、勉強の順番は、Ruby → Go。
これがバックエンドの唯一の時給1万円コース

Rust, Elixir は、普及のキャズムを越えなかった。
Goだけが越えた!

他のバックエンド、Node.js, Django も流行らなかった。
PHP は、一生やる必要がない
660デフォルトの名無しさん
垢版 |
2021/07/30(金) 11:41:19.16ID:fTrLmnNE
>>658
その言語の列挙は意味不明すぎる
例えば今話しが出ている言語Rustも
AmazonもMicrosoftもGoogleもFacebookも使っていますよ
2021/07/30(金) 11:49:55.47ID:2RWmbXMi
>>660
使っている、というだけなら俺が所属する某超有名企業はF#使ってるぞ
ゴミみたいな小物に俺が勝手に使ったことがあるだけだけどな
そらGAFAMくらいの規模なら、使っていない言語なんか無いだろうさ
662デフォルトの名無しさん
垢版 |
2021/07/30(金) 12:08:02.69ID:DLD/M4oB
アマゾンAWS、プログラミング言語「Rust」を重視する理由示す
https://japan.zdnet.com/article/35163089/

AWS(Amazon Web Services)はRustにスポンサーシップを提供するだけでなく、自社の雇用力も活用することでRustをサポートしている。
AWSは先頃、Rustと「Tokio」(Rustで非同期アプリケーションを書くためのランタイム)のコントリビューターの雇用を開始している。
同社の長期的な計画をサポートするために、RustおよびTokioのチームを構築しているという。

AWSのオープンソース戦略担当エグゼクティブMatt Asay氏は、
「われわれはRustに依存しているので、Javaやそのほかの基盤となるテクノロジーと同じように、
Rustについても社内に深い専門知識が必要だ」と述べた。

AWSのシニアソフトウェアエンジニアリングマネージャーShane Miller氏は,
「Rustは当社の長期的な戦略の重要な要素であり、Amazonのスケールで
Rustのエンジニアリングを提供するために投資している。
これには、開発者ツールやインフラストラクチャーコンポーネント、相互運用性、検証が含まれる」と説明している。

そして同社はソフトウェア開発やハードウェア開発、サポートエンジニアリング、
システムおよびセキュリティエンジニアなど、Rustに関連する求人約120名を募集している。
663576
垢版 |
2021/07/30(金) 13:07:33.08ID:n/UloM9p
AWS CloudFormation では、
Ruby 製のChef, Itamae(Cookpad 製), Kumogata2 なども使える

Ruby製のVagrant の作者・Mitchell Hashimoto が作った会社・HashiCorp では、
Go 製のTerraform を使う

Vagrantを作っていた学生が、今や、Goで会社の時価総額・5千億円!
今世紀最大の起業家
664デフォルトの名無しさん
垢版 |
2021/07/30(金) 15:04:54.06ID:T4chNKrF
>>656
> それは貴方が本質を見失っています。
> try/throw/catchといった大域脱出の機構を持たなくても、
> 複数階層の底から多段に意識せず自動的に抜けることが出来ればどうですか?
> そしてそれら途中階層でいちいち煩雑なコードを書かなくて済むとしたら
> どうですか?
> そして多段呼び出しでも再帰呼び出しでも多段メソッドチェーンでも使えればどうですか?
> これで貴方が挙げた目的を満たしていますよね。
だったらコードを晒せ。
「Java だとこうだ」「だけど Rust ではこうなっているので、こういうふうに
書ける」とかいった具体例を示さないと、
どっかの宗教団体と変わらないと思うがどうか。
665デフォルトの名無しさん
垢版 |
2021/07/30(金) 15:48:23.83ID:uPYxkoD+
つまりGAFAMなど大手IT企業たちは宗教「Rust」の信者だというのかね?

プログラミング言語「Rust」のための「Rust Foundation」設立--AWS、Microsoft、Google、Mozilla、Huaweiが創設
https://japan.zdnet.com/article/35166267/

Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
666デフォルトの名無しさん
垢版 |
2021/07/30(金) 17:28:50.28ID:eb7jkj0S
>>664
あなたは>>652の書き込みから拝見すると今まで色々な言語をやってきているようですが
なぜRustだけ知らないのでしょう?知ろうとしないのでしょう?
何か宗教的なタブーでもあるのでしょうか?
667デフォルトの名無しさん
垢版 |
2021/07/30(金) 17:48:48.67ID:lq+jXo7M
あわしろ氏は このスレいつまで続けてもループにしかならないと言っている
668デフォルトの名無しさん
垢版 |
2021/07/30(金) 18:10:20.88ID:T4chNKrF
>>666
Rust 指定の仕事が入ってくれば吝かではないが、
金も払わん奴にどうこう言われたくないな。
あんたが Rust プログラマとして飯を食ってるなら、
勝手にやってくれ。
ただ、それは「ぶっちゃけ始めるのにいい言語て何」という
スレの趣旨とはなんの関係もない。
「いま、うちの現場で C++ のコードが書ける奴がいないから、
初心者でもいいから頭数を揃えろ」とか言ってる派遣業者と
どこが違うのか言ってくれ。
2021/07/30(金) 18:17:03.99ID:MMQ9ydPn
あっわーの他に神はなし
670デフォルトの名無しさん
垢版 |
2021/07/30(金) 18:22:08.19ID:LWgAHLQH
>>667
あわしろ氏じゃなくても、そのくらいわかります。
671デフォルトの名無しさん
垢版 |
2021/07/30(金) 18:24:29.37ID:LWgAHLQH
>>668
とはいえ、あわしろ氏はRustもお勧めの言語だと言ってますけどね。
Cはともかく、C++は完全にオワコンという事です。
672デフォルトの名無しさん
垢版 |
2021/07/30(金) 18:26:23.18ID:LWgAHLQH
システム開発の世界では、C/C++ではなく、C/Rustという呼び方が普通になってるそうですよ。
そういう意味でRustもお勧めに入れてるようです。
673デフォルトの名無しさん
垢版 |
2021/07/30(金) 18:35:00.07ID:iZ3/zCwn
>>668
つまり君はPrologの仕事やFORTHの仕事をしているから>>652でそれらを挙げたわけだ。
それとも仕事したことないのに知ったかぶり?
674デフォルトの名無しさん
垢版 |
2021/07/30(金) 19:15:09.98ID:T4chNKrF
>>673
中島秀之さんが、「Prolog は、ホーン節の論理を抜きにしても面白い」というので、
共立出版から出ていた『bit』の Micro Prolog の記事を参考に
処理系から作ってみたが、文字列のパターンマッチングが強力でないのと
カット・オペレータの使いどころがわからなかったので、
自前の言語を再設計して使った。
FORTH も自前の(数値計算用の)言語処理系が必要になったので、
仮想マシンとして FORTH インタプリタもどきを作って使った。
あとは教育用に C のインタプリタとかも作ったことがあったが、
ヘッダのインクルードをサポートしていなかったので、
「これなら BCPL でいいんじゃね?」と思った。
言語はいちど作ってみると面白いぞ。
2021/07/30(金) 21:03:26.78ID:7godXkxk
Cのインタプリタ動作は高度だね
実際のところは全ソースなめてからVM動作?
676デフォルトの名無しさん
垢版 |
2021/07/30(金) 21:33:00.97ID:iXl+opK0
Goから始めてええんか?
677Mb
垢版 |
2021/07/30(金) 21:34:03.39ID:T4chNKrF
>>675
そんな高度なことはしていない。
C 言語は「超高級マクロアセンブラ」と云われていたので、
ループを含めた制禦系の構造化ステートメントの実装は
めんどくさかったが、基本はアセンブラそのまんまだった。
for 文に関しては、『やさしいコンパイラの作りかた』という
本があって、「そっちの方が波瀾に富んで面白い」というので
それに倣った。
基本的には、『BCPL ― 言語とそのコンパイラ』と
『やさしいコンパイラの作りかた』を丸パクリしただけ。
678Mb
垢版 |
2021/07/30(金) 21:47:43.54ID:T4chNKrF
スレの主旨からは大幅にズレるが、
中西正和・大野義夫『やさしいコンパイラの作り方』(共立出版。一九八〇)と、
ハリー・カッツァン/池野信一『FORTH への招待』(近代科学社。一九八二)
くらい読んでおくと、「初心者向け/教育用の言語」とかは
「おれはこう思う」で作れると思う。
つーても、「オレはこれがいい!」というのと、「それが、プログラミングの
入口として実効的なのか?」というのはまるっきり別なのだが。
679デフォルトの名無しさん
垢版 |
2021/07/30(金) 22:51:45.09ID:phF/6+UW
>>674
カットオペレータがわからんだと?
Prologはバックトラックが効率悪いので早めに枝切り指定するだけだぜ
FORTHは逆ポーランドのスタックマシンのおもちゃだがいつ頃やったんだ?
どちらも昭和の頃やったっきりだぞ
それならコンパイラ作りもyaccといったところか

それでいてRustやGoなどを理解できないのは新しいことについていけないだけじゃないかね
Java止まりの土方と予想
2021/07/30(金) 22:58:13.20ID:yiMKvLWE
Javaをディスるのは止めろ
681デフォルトの名無しさん
垢版 |
2021/07/30(金) 23:19:14.68ID:XDQb7qZb
Javaは明らかに衰退言語だから、
Javaで時間が止まっている人はIT土方だけでしょう。
682Mb
垢版 |
2021/07/30(金) 23:52:09.82ID:T4chNKrF
>>678
> それならコンパイラ作りもyaccといったところか
「yacc」というのは「いまさらコンパイラ・コンパイラかよ(笑)」
っていうところから命名されている、とかいった話から
始めたほうがいいのか? ジジイの繰り言は長くなるぞ?
683Mb
垢版 |
2021/07/31(土) 00:08:02.23ID:HS2AjqTr
>>679
> カットオペレータがわからんだと?
> Prologはバックトラックが効率悪いので早めに枝切り指定するだけだぜ
「バックトラッキング」というコンセプトそのものが、スタックとか
ヒープとかいった「メモリ・リソースが貧しい」
「CPU の間接 JUMP が遅い」という貧乏性から来た発想なんだよ。
いまどきはリソースをじゃぶじゃぶ使って人間が楽をしようとするのが
トレンドであって、Rust なんかもその方向性だと思う。
とはいえノイマン型のコンピュータ・アーキテクチャについて
無知であっても困るので、「始めるのにいい言語」という意味なら、
ALGOL 系の言語は押さえておいて(現状においては)損はないと思う。
並列協調コンピューティングが一般化するのは、かなり先の
話だろうから。
684デフォルトの名無しさん
垢版 |
2021/07/31(土) 00:17:19.79ID:Pf+7Sam4
先日友人に「競馬の予想のプログラム作ってくれよー」
と言われたんですけど、実際そういうのって作れたりするんですか?

別のプログラムやったことある友人に聞いたら「馬とかジョッキーとかのバイオリズムが〜」とかで難しいと言われまして。

自分自身プログラムに興味がありますが未経験です。

もし難しい様でしたら友人を説得する為にも理由も合わせてお答え頂けると幸いです。 夜分遅くに失礼しました。
685Mb
垢版 |
2021/07/31(土) 00:46:55.68ID:HS2AjqTr
>>684
昔、『一馬』という競馬新聞の依頼で、競走馬の血統のデータベースを
作ったことがあったが、基本的に「強い馬の子供は強い」という
相関がある。ただ、サラブレッドというのは遡ると四頭くらいの
馬になっちゃうので、アラブ馬とかけ戻したりもしているらしい。
ただ、競馬というのは「人間の思惑」というのがあるので、
たとえば「枠連で同枠だと穴が出る」という話がある。
だから、「5-5」とかでオッズが低いときに拾っておくと
プラスになったりする(つーても電車賃も出ない程度の儲けだが)。
そんなわけで、メインレースは外しまくりだが、「馬券を
買う奴が何に期待しているのか」と、「実際にどの馬が勝つのか」
という間隙を衝く、という意味では、競馬とか相場とかで
利益は出るかもしれない。
だけど、種銭(たねせん)は要るわ面白くないわで、けっきょく
相場を安定させることにしか貢献していない。
> 先日友人に「競馬の予想のプログラム作ってくれよー」
> と言われたんですけど、
友人には、「まず地道に種銭を稼げ」「公営のギャンブルやパチンコで
稼ぐのは無理筋だ。『どこに張るか』という目を養え」と
助言してあげよう。ディーラー(胴元)を潰せるのは、
「ラス・ベガスで自閉症者がブラックジャックをするとき」だけだ
(読み筋は、映画『レインマン』)。
686デフォルトの名無しさん
垢版 |
2021/07/31(土) 01:47:36.91ID:6lvWv0/o
>>685
あなたは勝つ馬を知りたいのではなく、儲かる馬を知りたいのではないですか?
勝敗をデータベース化するのではなく、利益のプラスマイナスをデータベース化するべきなのです。
って、あわしろ氏が言ってたよ。
687Mb
垢版 |
2021/07/31(土) 02:19:19.80ID:HS2AjqTr
>>686
> あなたは勝つ馬を知りたいのではなく、儲かる馬を知りたいのではないですか?
だったら中央競馬会に就職してるよ www
688Mb
垢版 |
2021/07/31(土) 02:29:38.39ID:HS2AjqTr
そういえば、スレタイの「ぶっちゃけ始めるのにいい言語て何」という話が
どっかに行っちゃってるんだが、「LOGO」なんかは
タートルグラフィックスとかいったフィードバックがあるので
小学生あたりには好適かもしれない。
高校生で理数系とかだったら、数値計算系の言語が向いているかも
しれない。
問題は中学生だよなぁ。画像系とかじゃダメかな?
689デフォルトの名無しさん
垢版 |
2021/07/31(土) 02:40:10.97ID:6T35aOGu
>>683
>いまどきはリソースをじゃぶじゃぶ使って人間が楽をしようとするのが
>トレンドであって、Rust なんかもその方向性だと思う。

Rustを知らないと言いつつ、なぜそんな嘘をつくのですか?
Rustはリソースをきちんと管理する側の言語てすよ。
もちろん安全性のために僅かなリソースを余分に使う場合もありえますが、じゃぶじゃぶ使うことはありません。
他の言語と勘違いをしていますね。
2021/07/31(土) 04:10:48.58ID:+f9FsYMh
>>688
俺は環境構築が簡単で、ネットに情報が多い言語がおすすめだな
何かひとつインストールするだけで、エディタやデバッガなど開発に必要な機能が全てそろう
加えて、雛形を用意してくれて、アプリを実行するだけなら1行もコードを書かなくてすむ機能がある
WindowsならC#、macならswiftかな

ぶっちゃけ、言語をひとつマスターすればあとは似たり寄ったりだから他の言語の習得も早いしね
691デフォルトの名無しさん
垢版 |
2021/07/31(土) 04:40:50.03ID:0/nflKO9
全てのプログラムは、実行中にコンピュータのメモリの使用方法を管理する必要があります。
プログラムが動作するにつれて、 定期的に使用されていないメモリを検索するガベージコレクションを持つ言語もありますが、
他の言語では、 プログラマが明示的にメモリを確保したり、解放したりしなければなりません。

Rustでは第3の選択肢を取っています:
メモリは、コンパイラがコンパイル時にチェックする一定の規則とともに所有権システムを通じて管理されています。
どの所有権機能も、実行中にプログラムの動作を遅くすることはありません。
RustはC/C++のように高速でありながらメモリ安全性を保証します。
そのため大手IT企業を中心に多くのIT企業がRustを採用しています。
2021/07/31(土) 06:55:18.27ID:qR2a/VF5
>>690
そうだね。
その上基本ブックファイルひとつで管理出来るVBAは最強だね。

>>691
第3の選択肢なんだ。なら参照カウンタを見てObjectを開放する単純な作りのVBAは第いくつ目の選択肢なんだろうね。
693デフォルトの名無しさん
垢版 |
2021/07/31(土) 07:20:42.41ID:wn1A9TeM
>>692
C/C++/Rustはネイティブにコンパイルされる最高速言語
VBAはその土俵の上にすら乗っていない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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