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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2021/08/12(木) 21:30:31.00ID:IpKRzNiB
前スレ

ぶっちゃけ始めるのにいい言語て何 part5
https://mevius.5ch.net/test/read.cgi/tech/1622766330/
2021/08/18(水) 16:28:23.43ID:JGF6Grsc
>>77
昔の感覚で言えばアセンブラ以外の言語でゲームが作られてるなんて信じられないよ
2021/08/18(水) 16:39:18.45ID:s2rKEjd5
>>87
そうだね
スケジュールガン無視で突っぱねて
品質悪いし工数かかるのが普通なんだと表面化してかないと健全化しない
土方現場でやると評価下がるだろうけど
90デフォルトの名無しさん
垢版 |
2021/08/18(水) 16:47:09.91ID:XbsD54oj
>>87
ホンダ系の仕事だと、レビューのことを「内ゲバ」と
呼んでいた。
「ウォークスルー」っていう言葉も昔はあった。
昨今は、「他人のコードは、見るな。触るな」という
現場も多いし、「レビュー」といっても実際にソースに
触っていない上司が一方的に部下を叩くみたいなケースも
多いので、「悪者になる」という発想よりは、
「俺ならこう書く」というのが正しいレビューだと思う。
91デフォルトの名無しさん
垢版 |
2021/08/18(水) 16:54:44.61ID:XbsD54oj
>>88
いまどきはマシンの性能が上がったから
なんとかなってるんじゃないか?
平山尚さんがどっかに書いてたけど、
C++ だとリンクも通らんので修羅場になったとか、
それなりのフレームワークが整備されていないと、
プロジェクトが回らんらしい。
ゲームソフトも大規模化してるからなぁ。
92デフォルトの名無しさん
垢版 |
2021/08/18(水) 17:24:50.87ID:XbsD54oj
本題に戻るが、
Java は育ちがよくて礼儀正しい
(いろいろと守らなくちゃならないお約束がある)が、
意外に脱いだらスゴい(過去の言語の資産を
受継いでいる)みたいなところがある。
C はあけっぴろげで天然なんだが
(ハードウェアべったり)、
下手に扱うと手に負えなくなったりする。
Pascal は素人臭いところがある
(教育用のイメージが強い)けれど、
意外にいろんな経験を積んでいる
(昔はシステム開発用の言語だったこともある)し、
卒業したあとで知合いと会ったりする
(ALGOL 系言語としてはスタンダードだ)
こともある。
2021/08/18(水) 17:50:34.27ID:UW5cPVrB
あわのしろ 氏
2021/08/18(水) 19:35:07.70ID:n8Ccry6l
どうでもええんやけど
結局流行ってる言語やればええんやろw
2021/08/18(水) 21:36:45.89ID:OKOBzrR1
回り回って女子小学生に戻りますように
2021/08/18(水) 22:15:29.16ID:OCbPsNYd
>>92
RustやGoについてもお願いします。
97デフォルトの名無しさん
垢版 |
2021/08/19(木) 07:51:42.47ID:qaty0bPV
>>95
LOGO がおるやん。
98デフォルトの名無しさん
垢版 |
2021/08/19(木) 08:08:32.70ID:qaty0bPV
>>94
流行りより好みだろ。
理系女子っぽい Fortran (科学技術計算用)
数学系っぽい Algol (もともとアルゴリズム記述言語)
工学系の FORTH (もともと天体望遠鏡の制禦用。
映画撮影用のカメラの制禦やプリンタ制禦にも)
経理担当のお局様 COBOL (開発のトップは
「アメイジング・グレイス」の異名を持つグレース・ホッパー女史)
LISP は …… 「不思議ちゃん」かな?
高貴ではあるが融通に欠ける侯爵夫人 Ada
昔のお堅い大学生 BCPL
やり手の OL、PL/I
白衣が似合う研究院 awk
数学教師なら N-BASIC
あたりかな?
2021/08/19(木) 08:39:14.14ID:WMaDHVfx
>>92
Java同様にVM言語であり最近本命として急速に普及しつつあるWasmはどうですか?
100デフォルトの名無しさん
垢版 |
2021/08/19(木) 09:08:06.25ID:qaty0bPV
>>99
よく知らない相手についてあれこれ言うのは失礼な気がするので、
Rust、Go、Wasm に関してはコメントしづらい。
公私ともにつきあいがあったのは、N88-DISC-BASIC、Lattice-C、
Java(1.4 以降)、SQL(Oracle 9i 以降)、C++、awk あたりで、個人的な
つきあいがあったのは Turbo Pascal、Turbo C、VisualAge C/C++。
FORTRAN 60、Fortran 77、RATFOR と HPL、PL/I は人づてに聞いて、
本を読んで勉強したのが COBOL、BCPL、SIMPLE、LISP、Prolog とかかな。
FORTH は愛人めいたところがあって、自前で実装して自分でその上に
皮を被せてコンパイラを作り、仕事で使ったことがある。変態的な
行為としては、「Fortran で書いた制禦系のプログラムを、ツールを使って
C に変換したら、goto 文の嵐になったのであまりに見通しが悪いので
Java に移植した」というのをやったことがある(笑)。
101デフォルトの名無しさん
垢版 |
2021/08/19(木) 09:09:39.10ID:qaty0bPV
あ、そうそう。友人は Modula-2/09 が好きだった。
102デフォルトの名無しさん
垢版 |
2021/08/19(木) 09:22:11.40ID:qaty0bPV
「この言語がいい」じゃなくて、「この言語とはこうして出逢って、
こういう体験をした。その後こうなった。参考文献はこれこれ」
というのがあったら聞きたい。
2021/08/19(木) 12:51:42.89ID:ktQf2IId
>>83

「父ちゃんは、日本一の『日雇い人夫』です!」じゃなかったかな。

数十年後の再放送では、「日本一の『ピー』です」にされて
台無し中の台無しになった伝説の台詞。
104デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:23:14.58ID:qaty0bPV
>>103
かも知れん。じつはアニメは観てなくて、辛うじて
主題歌をネタで聞いたことがあるだけだ
(ローラーのことを「コンダラ」と云うのだと思った子供が
いたらしい)。
うちは塗師方の家系なので、「〜方」というのが差別語という
イメージがあって、「デジタルドカタ」が差別語だという
話を聞いて「何言ってんだ? ディジタル社会の
インフラストラクチャーは俺らが作ってるんだぞ?」と
思っただけだった。
105デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:27:38.53ID:qaty0bPV
>>103
そういえばコミックスのほうは業界の先輩から借りて読んだ。
キーボードの叩き過ぎで腱鞘炎になっても、
「ピシッ」とか音はしないらしい
(読み筋は大リーグボール三号)。
106デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:32:50.30ID:qaty0bPV
武勇伝で、MUMPS という言語の案件が来て、
「誰か、やったことのある奴はいるか?」と職場で訊かれて
本だけは読んで知っていたので「ハーイ!」と手を挙げて
仕事を取ってきた人がいるという。
MUMPS というのは医療用のデータベース言語なのだが、
「MUMPS」というのは「流行性耳下腺炎(おたふくかぜ)」の
シャレだそうだ。
2021/08/19(木) 14:34:45.68ID:/ZCm0bRK
クソスレ違いの話題してる無能邪魔だな
108デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:39:29.24ID:qaty0bPV
FORTH は、「第四世代言語」という意味で
「FOURTH(四番めの)」と名づけようと思ったら
OS の命名規則の「五文字以下」に引っかかって
「前へ」という意味の「FORTH」になったとか。
「I/O」という雑誌の一コマ漫画で、「スター・ウォーズ」の
ルーク・スカイウォーカーがミレニアム・ファルコン号の船内で
「うぅっ! アセンブラがわからん!」と頭を抱えていたら、
「ルーク、FORTH を使うのじゃ」とオビ・ワン・ケノービの
声がするというネタがあった。
109デフォルトの名無しさん
垢版 |
2021/08/19(木) 14:44:13.57ID:qaty0bPV
それなりに普及している言語には
それなりの環境があってそれなりの業務がまとわりついているわけだ。
文化も環境も業務も存在しない言語に飛びついても
参考になる文献もなければ教えてくれる先達もいないので、
たぶん先行きは暗いし友達もできないぞ?
2021/08/19(木) 14:51:56.88ID:3xW2+fz2
>>107
この人は最近のプログラミング言語を全て知らない(というか覚える気も能力もない)IT土方なのよ
このスレには絶対に不要な人
111デフォルトの名無しさん
垢版 |
2021/08/19(木) 17:31:58.34ID:qaty0bPV
>>110
漏れが言われているのかと思って orz になったが、
たぶん
> 最近のプログラミング言語を全て知らない(というか覚える気も能力もない)
というのは「昔のプログラミング言語」も「現行のプログラミング言語」も
理解していない(それ以前に、このネット社会において知識もなく、
ネット検索も行なわない/行えない)人物なんだと思う。
そういう人を「土方」と呼ぶのは本職の土方さんに失礼(美輪明宏さんの
「ヨイトマケの唄」も知らないと思う)だと思うので、
なにか別の呼称を使っていただけるとポリティカル・コレクトネスの
観点からすると望ましいかもしれない。
「コンピュータ・リテラシーの分野において、智的にチャレンジされている人」
とかいうのはどうだろう。
2021/08/19(木) 17:38:47.09ID:JDdTJC7M
>>111
FutureやPromiseでプログラミング出来ますか?
2021/08/19(木) 18:10:35.95ID:rGMWolva
セレブエンジニア・小松和貴、2019/1

Javaの学習だけはやめとけ!その先にあるものは・・絶望
https://www.youtube.com/watch?v=bH3XIIzZxoI

10年以上、IT 業界にいる人が言ってるけど、

Java 土方は、スマホ・ネット禁止だから、本で調べる。
うつ病になって再起不能

COBOL も同じ
2021/08/19(木) 18:40:49.10ID:pvo+ayLo
業務から離れて大分経つからよく知らないけど、COBOLからJavaへの移植作業ってあるんだっけ。
どう変わっても重労働でしかないのかな。
115デフォルトの名無しさん
垢版 |
2021/08/19(木) 19:15:13.26ID:xFMuUyWr
Java土方になりたいんじゃ
オサレなエンジニアとか競争率が高くて採用されないんじゃ
116113
垢版 |
2021/08/19(木) 19:18:19.18ID:rGMWolva
みずほ銀行の統合プロジェクトは、ピラミッド建設並み。
1人月100万円 * 20万人月 = 2千億円

もう、Java, COBOL など、こういう仕事は無くなった
117デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:06:57.48ID:qaty0bPV
>>114
> COBOLからJavaへの移植作業ってあるんだっけ。
あるよ。というか、昔は Java の内部表現は
IEEE だけだったけど、COBOL のシステムの移植用
(つーか事務処理用)に内部が二進化十進とか
切り上げ・切り捨て・四捨五入とか
いろいろと機能が追加された。
MS が EXCEL を高速化しようとして
内部表現を二進化したら、1÷5×5が1にならなくて
会計処理の現場がえらいことになったりしたので、
その影響もあって企業もそういうのに
敏感になっている。
118デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:12:20.08ID:qaty0bPV
>>116
ディメンジョンが間違っているので、
Ada だったらエラーが出るな。
× 1人月100万円 * 20万人月 = 2千億円
〇100万(円/人月) * 20万(人月) = 2千億(円)
2021/08/19(木) 20:14:51.31ID:5+xqCHpe
なぜモダンなプログラミング言語を一つも知らないの?
2021/08/19(木) 20:21:02.85ID:xmD19N0E
>>117
何で内部表現を分数で持たないんだろうね
どうせ有理数しか相手にしないのに
切り上げ、切り捨て、四捨五入にすると契約書に書いてあるの?
121デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:25:35.67ID:qaty0bPV
>>115
Web 系で会計計算とかだったら需要はあるはずだが、
JSP とか BigDesimal とかをちゃんと勉強しておくのと、
昨今データセキュリティがうるさいので、
身辺を(反社とか中韓とかに関して)清潔にしておくのが重要。
反面、ヤバそうなコードが埋め込まれていたり、
改修改修でソースが荒んでたりすることも多いので、
大量のコードをさくさく読みこなすスキルも
あったほうがいい。こういうのは新人だと経験が足りないので、
それなりの開発経験のある(業務系のシステム)三十代以上の
人間のほうが採用率が高そうに思われる。
簿記とか在庫管理とかは勉強しておくといいかもしれない。
122デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:35:03.09ID:qaty0bPV
>>119
そんなもん案件が来てから勉強すればいいと思ってるから。
Prolog とか APL とか SNOBOL とか DYNAMO とかだったら
さすがにお手上げだが。
123デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:39:08.44ID:qaty0bPV
>>120
> 何で内部表現を分数で持たないんだろうね
小学校で分数を教えるときに互除法を教えないから。
> 切り上げ、切り捨て、四捨五入にすると契約書に書いてあるの?
仕様書を書く奴が通分とか約分とかいった言葉を
すっからかんに忘れているから。
2021/08/19(木) 20:42:53.51ID:zFrNBJAc
賞味このスレ
スレ違いな話しかしてへんやん
モダンでおすすめな言語おしえてーや
Rust以外でな
125デフォルトの名無しさん
垢版 |
2021/08/19(木) 20:58:05.29ID:qaty0bPV
>>124
新しいモンが好きなら自分で言語処理系を作るのが早い。
開発案件が入るかどうかはまた別の話だが。
2021/08/19(木) 21:12:08.78ID:hjOgiHlo
ぶっちゃけ今の時代始めるのに一番重要なことは、テレワーク等で如何に相手と上手くコミュニケーションが取れるかと言うことだ。
つまり日本語をキッチリ押さえるべき。
2021/08/19(木) 21:20:29.98ID:B2Kko6yN
>>122
君のような無能に今どきの言語の案件は来ないだろうw
2021/08/19(木) 21:27:54.88ID:Dq7X9vZr
>>124
Rustも始めてみたけどなかなか良いと思った
最も愛されてる言語1位に選ばれるわけだわ
2021/08/19(木) 21:40:24.80ID:zFrNBJAc
>>128
しつけーんだよカス
それ以外つってんだろ
2021/08/19(木) 22:11:34.59ID:ep/rv1bn
>>120
分数で持つと毎回約分が必要になるのが厄介。
2021/08/19(木) 22:53:21.96ID:MmQwNUk/
業界により丸めの指定があるから勝手に精度上げるのもダメなんよ
2021/08/19(木) 23:52:12.56ID:ZLJucC+e
ぶっちゃけ始める。
2021/08/20(金) 00:14:32.05ID:McxoXChC
c#どうよ?
最近俺久しぶりに使ってるんだけど、随分バランス取れた言語になったなと思ってるところ。
2021/08/20(金) 00:30:11.11ID:mHtyfVxt
>>112
将来の収入を当てに借金をするのはやめよう
2021/08/20(金) 01:13:39.92ID:B6Iagzm0
気になってることがあるんだけど、ぶっちゃけ一番習得しやすい(1人で案件を処理するレベル)言語って何?
2021/08/20(金) 01:14:18.18ID:CoA6lo4m
c#とか開発環境が自明なものは始めるのに良いよね
いろんな開発環境があり得る言語はそれはそれで良いけどノウハウも分散される傾向にあるから
2021/08/20(金) 04:05:13.24ID:e/UIwgiz
>>135
JavaScript
各種サーバサイド、ウェブブラウザ内、デスクトップアプリ、スマホアプリとこれ一つだけでもシステム作れる
2021/08/20(金) 06:42:01.72ID:sJiZQz3/
ウェブよりネイティブアプリの方が1人で完成させやすいと思ってるから
自分はswiftUI推すかなあ
デザインセンスとかいらないし素材準備も最低限でいける
2021/08/20(金) 06:49:10.79ID:yQg9ntHl
JavaScript習得すればElectronもあるから有利だね
プログラマー御用達のVSCodeもElectron/JavaScript製
2021/08/20(金) 08:33:17.83ID:5DMg0xgk
JavaScript自体は嫌いではないけど
JavaScriptで全部作るのには抵抗がある
考え方が古いんだろうな・・・
141デフォルトの名無しさん
垢版 |
2021/08/20(金) 08:50:57.63ID:T5ICWOLv
>>130
算数を教えている教諭が
「算数は手計算の練習だ」と思いこんでいて、
分数計算の基礎になっている
最大公約数・最小公倍数・素因数とかいった概念を
ちゃんと生徒に理解させていない(させられない)のが
原因。小学校でプログラミングが必修化されている
時代なんだがなぁ。
142デフォルトの名無しさん
垢版 |
2021/08/20(金) 08:54:18.66ID:T5ICWOLv
>>135
昔だったら N-88 BASIC
今なら EXCEL マクロ
2021/08/20(金) 09:06:56.83ID:lw5CxAzi
>>130
分数で持つのはムダ無意味
さらに科学計算のように有効桁数もダメで単純に1円単位か0.01円単位か0.00001円単位か各々の統一ルール決め打ちがベスト
昔は手間暇と各種容量問題で出来なかっただけ
2021/08/20(金) 09:12:19.05ID:IVKSYYNq
>>142
EXCEL VBAいいよね。
初心者にありがちな、便利機能覚えるのにあれやこれやと振り回されて結局全部浅くしか覚えられませんでしたってことが少ない。

自分が本格的にやりたい言語の習得に入る前に、プログラムってこんなもんってのを押さえるには最適かもね。
145デフォルトの名無しさん
垢版 |
2021/08/20(金) 09:12:42.91ID:T5ICWOLv
>>140
DOM という発想が出てきてなんぼか整理されてきたが、
昔の JavaScript は変数のスコープとか型とかに関しては
ルーズだったので(それを言ったら LISP も惨いが)
なんとなく使いたくない気分はあるかもしれない。
あとは参考になるようなコードが現状少ないので、
スタイルが確立していなくて
「どう書いたら他人に読みやすいか?」で
迷うところもある。
2021/08/20(金) 09:16:38.56ID:5DMg0xgk
悲報:みずほまたやらかすw

やっぱみずほって糞だわ
147デフォルトの名無しさん
垢版 |
2021/08/20(金) 09:29:49.45ID:T5ICWOLv
>>143
> 分数で持つのはムダ無意味
「事務計算だったら、ほとんどの場合は」という条件付きだがな。
麻雀やトランプをコンピュータで真面目にやろうとすると
順列組合せの計算が出てきて内部的には分数が出てくるし、
評価関数を確率その他で表そうと思うと浮動小数点が出てくる。
政治関係などのゲーム理論だと、こういった例は珍しくないし、
微分方程式の数値計算でもベルヌイ数(分数)と値(小数)の
両方が出てくる。
まぁ、たいていは専用のライブラリが用意されていて、
特に考えなくてもそれっぽい値は出てくるわけだが。
「ライブラリの中身を理解していなかったら、
案件を断らなければならないのか?」
読み筋はオリヴァー・ヘヴィサイド。
2021/08/20(金) 11:31:28.35ID:B4OKZzX3
通分、約分が面倒って
そういうライブラリを準備すればいいだけだし
あるいは掛け算してそのまま持っておくだけでもいいし
2021/08/20(金) 11:45:17.78ID:alW3UA7W
>>145
10年前の知識で言語を批判するキチガイだな
150デフォルトの名無しさん
垢版 |
2021/08/20(金) 16:47:17.72ID:T5ICWOLv
>>148
Fortran 77 の時代には「複素数」という方があったし、
たしか C++ には演算子もメソッドとして
拡張することができたような気もするので、
「分数+分数」「分数ー分数」「分数×分数」「分数÷分数」を
実装するのは難しくないはず。
必要なのは最大公約数の計算だけだから、互除法だけで済む。
互除法はアルゴリズムとしてはシンプルかつ効率も悪くないから
実装自体は簡単だしリソース的な負担もそれほどない。
ただ、オーバーフローして「分数 → 近似小数」とか
「IEEE の long → BigDecimal」とかいった型の変化が
あるので、「プログラマの数学的・技術的素養」というのが
コードの質に影響してくると思う。
151デフォルトの名無しさん
垢版 |
2021/08/20(金) 16:54:19.64ID:T5ICWOLv
>>149
十六世紀のフランス王朝時代に「新旧論争」というのが
あってだな …… みたいな話は措いておくとして、
「オンオフとかニモニックとかから勉強しなおして来い」
同義語「おととい来やがれ」「味噌汁で顔を洗って出直してこい」
まず、お経本(CPU のインストラクション・セット・サマリ)を
千回読もう。その次は OS のシステムコール一覧だ!
152デフォルトの名無しさん
垢版 |
2021/08/20(金) 16:58:34.10ID:T5ICWOLv
>>151
×十六世紀
〇十七世紀(一六〇一年以降)
ロマン派の代表:シャルル・ペロー
古典派の代用:ラ・ロシュフコー
2021/08/20(金) 19:28:12.39ID:eefvZ4wY
始めるのに一番適してないのがJS
言語設計が柔軟すぎるというか
いろんなやり方で同じことが実装できちゃうとか
本当に言語設計が後付け

他の言語ならエラーになるのに
すんなり実装できるとか初心者には向かない

初心者は固い言語で
教材の多いものがいい

パイソン、javaあたりがいいと思う
2021/08/20(金) 20:13:10.77ID:b/xTfG/a
ESとしてはかっちりしてきてるし周辺の充実は目をみはるけど
昔のelispに近い粗製濫造が蔓延ってるし許容できてるのがあかん
初学者に勧めたくないのはわかる
2021/08/20(金) 20:38:24.52ID:5DMg0xgk
JSやる奴はかなりの確率でJS専門家になるし
それはそれで一つの道な気もする
Node.jsとかあるけどJS専門家はあまり関心がなくフロント専門家になりたがる
react.jsとかを愛好する傾向がある
2021/08/20(金) 20:42:07.58ID:KZq50lVw
初心者に勧めるならJavaScriptが一番良いかな
なんと言ってもWebブラウザだけあればその中で動くしその後もWebがらみで何かするには必須のプログラミング言語

JavaScriptが2021年のプログラミング言語人気1位https://ledge.ai/jetbrains-devecosystem-2021/
2021/08/20(金) 20:47:23.30ID:mYZZpCcO
>>150
トレードオフが理解できないの?
2021/08/20(金) 20:48:52.13ID:qp05AV5R
>>155
なぜそんな嘘を付くの?
Reactが人気だからこそ現在はSSRやSSGのためにサーバー側でもJavaScriptを使用
そして同じReactのコードでサーバー側でもHTMLレンダリングをしてウェブ利用者の利用快適化が現在の流れ
159デフォルトの名無しさん
垢版 |
2021/08/20(金) 20:49:31.11ID:T5ICWOLv
>>153
> 初心者は固い言語で
> 教材の多いものがいい
それを言うと、どうしても ALGOL 60 系になる。
数学者は「アルゴリズム」という概念に慣れていなかったので、
アルゴリズム記述用の抽象言語としての ALGOL が生まれた。
それを実際にコンピュータに実装しちゃって、
さらに教育用言語として発展させたのが Pascal だったり、
p-Code システムの Pascal とか BCPL とかが生まれたわけだ。
要するに、おまいらは「ぶっちゃけ、(いろいろと出発点の違う、
プログラミングの)初心者」が学んでほしい言語について
語ってるんだろ?
「だったら仮想マシンとコンパイラを書きゃいいんじゃねぇか?」
という批判に対して応えてもいいように思う。
160デフォルトの名無しさん
垢版 |
2021/08/20(金) 21:30:16.56ID:T5ICWOLv
中西 正和・大野義夫『やさしいコンパイラの作り方』
(共立出版株式会社、一九八〇)という本があって、
その中に「BITCOM」という仮想マシンが出てくる。
普通は CPU 内部のレジスタとメモリ(弧億領域)は別なんだが、
BITCOM ではメモリの中に割り当てられていたりして、
昔のミニコンピュータとかの形式をなぞっているらしい
(いわゆるスーパーミニは、リング保護とかいった機構があるので、
システム領域に触ろうとするとトラップで引っ掛けられて
システムが落ちる)。
昨今(つーても何十年も昔だが)の CPU は、レジスタはレジスタだし
最低番地は割込ベクターだったりするので、
今様(いまさら、ではなくて、いまよう)の CPU に合わせた仮想的な
ハードウェアがあっていいと思う。その上に、Java の JVM みたいな
システムコールを含めて仮想マシンを作り、その上に
教育用の言語を載せる、とかいうのは、処理速度に関する問題を
度外視したら、それほど難しくはないように思うがどうか。
161デフォルトの名無しさん
垢版 |
2021/08/20(金) 21:50:14.57ID:xVTFlPnB
世界で最も普及している仮想マシンはWASM (WebAssembly)です。
これはWebブラウザ上に載っていて皆も意識せず気付かぬうちに使われています。
ウェブブラウザ上ではJavaScriptが入出力表示を担当しJavaScriptよりもさらに高速な内部計算が必要な時にWASMが使われています。
まずはJavaScriptを学習して次にWASMを学習すると良いでしょう。
2021/08/20(金) 22:02:01.60ID:67zUHN2E
>>148
「面倒」てw
問題なのは計算コストだろ。
163デフォルトの名無しさん
垢版 |
2021/08/20(金) 22:18:46.38ID:T5ICWOLv
>>161
> 世界で最も普及している仮想マシンはWASM (WebAssembly)です。
Rust も Go も「動的な GC(ガベージ・コレクション。「ちり集め」
ともいう。別名をウェイスト・コレクションといい、「WC」と略されて、
「便所掃除」ともいう。いちいち気にする人もいるが、「動的な
ガベージ・コレクション」は、「便所掃除のおばちゃん」だと思うことに
している)」はやってないと主張しているカキコがあったが、
WikiPedia によれば「仮想言語レベルで隠蔽してるだけ」みたいな話らしい。
「ハードウェアで直接動いてないから C に負けてる」という主張も
あるらしいが、そのうち「Wasm MicroEngine」とかいって
ハードウェアレベルでエミュレートしたら、コンパイラを
作るのも趣味のレベルになりそうな気はする。
2021/08/20(金) 22:20:07.38ID:7glaS9Yo
>>144
同意する。プログラミング言語ってなに?的な人に教えるのにあれほど
便利な言語ないと思う。

けど、「こいつ、終わってる言語だから最初から選択肢に入れたくないなあ」って
いう隔靴掻痒感がなんとも。
165デフォルトの名無しさん
垢版 |
2021/08/20(金) 22:29:00.88ID:T5ICWOLv
>>168
そこで
> 「面倒」てw
とか言ったら失礼だろ。
ライブラリを整備する側の立場としては、
なるべく使いやすいようにすることを考えるし、
なるべく動作が早いようにと考えるし、
どういうときにどういうエラーを返すかとか
例外を投げるかとか、いろいろ考えるんだ。
で、実際に使ってもらってから、
「どういうふうに使うか」っていうユーザの意見との
擦り合わせを行うわけだ
(使ってもらえなかったら、労力の無駄遣いだ)。
そこは、それなりの規模のプロジェクトで、
それなりの役割を果たしてから言う台詞だと思う。
166デフォルトの名無しさん
垢版 |
2021/08/20(金) 22:40:45.11ID:T5ICWOLv
>>164
そういう意味では、ゲーム系の言語というのは
入門用にいいかもしれない。少なくとも「プログラマ自身」という
プレイヤーはいるわけだし。
初期の 8K BASIC とかは、「STAR TRECK」をプレイしたかったから
導入した、という人も多かったという。
そういう意味では、任天堂の「はじめてゲームプログラミング」は
それなりに評価できるし、はるか昔(16ビットプロセッサの時代)の
「ピンボール・コンストラクション・セット」とか
「ロードランナー」とかは、
「プログラミング」という概念の基礎を理解してもらうのには
有効ではないかと考える。
167165
垢版 |
2021/08/20(金) 22:44:00.61ID:T5ICWOLv
>>165
× >>168
>>162
168デフォルトの名無しさん
垢版 |
2021/08/20(金) 23:59:31.38ID:T5ICWOLv
平成一七年の本だから、かなり古い本なのだが
Joel Spolsky/青木靖『ジョエル・オン・ソフトウエア』(オーム社)
という本があって、「開発効率からいうと、動的なメモリ管理を
行なってくれる言語は、かなり使える」という意見があった。
なんだかんだで(ディスク容量を含めて)メモリも増えたし、
CPU パワーも増えてるんだから、ドカタの仕事は土方に任せて
若いモンはじゃぶじゃぶリソーツを使って楽をしてくださいよ、
と思う。
Wasm はプラットフォームとしてはいいかもしれないが、
将来ある若者が「そこから始める」というのは(やると面白いが)
どうかと思うぞ?
Z80 とか M6809 とか MS/MP2 とか F-8 とかは面白いんだけどさ、
そういう話は年寄りの昔話であって、「始めるのにいい言語」という
コンセプトからは外れると思う。
「バックグラウンドで動的な GC が動いている言語」をとりあえず
入門用として、「そうでない言語」は「レトロな言語」「博物館の
収蔵品」くらいに思ってくれていいと思う。
2021/08/21(土) 00:12:25.92ID:Eqo4shTH
LLVM→WASMもできる時代に内部実装気にする?
システム提案するわけでもなし端末は十分すぎるほど高性能
アセンブリ推しは論外
170168
垢版 |
2021/08/21(土) 00:24:50.15ID:TY8AYdBd
>>169
> アセンブリ推しは論外
と断じられると年寄りとしては立つ瀬がないが、
> システム提案するわけでもなし端末は十分すぎるほど高性能
には激しく同意する。遊んでいるリソースは、どんどん開発に
活用して、若者には将来につなげてほしい。
とはいえ、「中身はどうなっているのか?」に関しては、
年寄りばっかじゃ将来が心もとないので、
チラ見くらいはするひとがいると嬉しい。
171デフォルトの名無しさん
垢版 |
2021/08/21(土) 00:39:38.08ID:TY8AYdBd
そういえば、ANSI で規格化される以前の C だと、
名辞的に値を return しなくても、
アキュムレータを int の戻り値として使っていたらしい。
alloc と free に関しても、メモリの内容を初期化するという
発想が乏しくて、クリアしたら「こっちが使ってるんだよ!」
「だったらなんで free されてるんだよ!」とかいった話になって、
実際に殴り合いの喧嘩になって血を見た、という話を聞いている。
>>169
> LLVM→WASMもできる時代に内部実装気にする?
に関しては、「ゴルゴ13」じゃないけど
用心深くて憶病でないと、生きてゆく資格がない
という側面があると思う。
だって C++ の開発の現場とかいったら、
時分が抱えてる関数やら変数やらを、他のルーチンに
書き潰されるとかいった話は平気であったもんな。
2021/08/21(土) 01:48:55.21ID:AxTsCI6B
このスレやたら老人が長文連投するよね
んで周回遅れした感覚で意味不明なロジック展してるのみて、うわ・・・って思っちゃう
2021/08/21(土) 01:55:14.92ID:BDq1iNag
昭和のジジイは愚民の気を引くためか
妙に持って回ったしゃべり方をする
174デフォルトの名無しさん
垢版 |
2021/08/21(土) 06:36:28.87ID:Z3nCB8aI
>>163
いいえRustにはGC(ガベージコレクション)はありません
一方でGoにはGCがありますので別分野の言語です
RustはGCがないためCやC++で書かれている分野(OS,組み込み,基本ライブラリ等)までもカバーすることが出来ています
2021/08/21(土) 06:54:30.80ID:MqULsPRz
>>156
初期コストは低いけど
記述が統一されてない文法があまたあり
それがオブジェクトのどこに相違を生じさせるか
記述のおおらかさと、新旧の互換性の必要性から
ぐっちゃぐっちゃな言語になっていると思うけど
初心者におすすめなの?
2021/08/21(土) 07:00:38.99ID:MqULsPRz
>>172
俺は愛を感じるし全うなご意見と思って読んでる
177デフォルトの名無しさん
垢版 |
2021/08/21(土) 07:10:25.32ID:FwpVsdRu
>>175
現在のJavaScriptは綺麗に洗練されて拡張されており貴方が指摘するような問題点はないですよ。
そのため>>156の記事にもあるようにJavaScriptは人気1位となっています。
2021/08/21(土) 07:42:43.62ID:MqULsPRz
>>177
そうできるように見せられるようになった、というだけで
そもそもの言語構造は変わらないから
本来はエラーなどで記述を統一させるべきところ
そうできない箇所が混在してしまう
JSのオブジェクトはどんなに洗練されたといっても{}なんだし

オブジェクト志向的なものはできるし
演算で学ぶこともできる
分岐もループもできるし
以前よりは綺麗にデザインパターンも実装できるし
他の言語で実装できるもの以上に
広範囲に様々な実装が可能となってる言語だし
クライアント側の言語としては一択だとおもうけど
そもそもの言語仕様が分かってないと
JSの挙動を制御できないところが多々あるでしょ

いろんなやり方ができる=難解
といいたいんです
2021/08/21(土) 07:43:50.93ID:MqULsPRz
>>177
それと、言語が洗練されているから人気1位なんではないです
ごっちゃにしちゃいけないところね
2021/08/21(土) 08:54:48.83ID:UzvCxH3a
>>178
あなたが無知でオブジェクト指向プログラミングを勘違いしています。
特定の言語の特定の方式だけをオブジェクト指向プログラミングだとあなたは思いこんでいるのでしょう。
さらに例えば現在人気のモダンな言語であるRustやGoにはいわゆるオブジェクト指向のclass定義すらありません。
Rustはトレイト方式でオブジェクト指向プログラミングを実現しています。
JavaScriptはプロトタイプ方式でオブジェクト指向プログラミングを実現しておりその上でclass定義も出来ます。
現在のJavaScriptに不備はなく初心者にも適した人気のある言語です。
181デフォルトの名無しさん
垢版 |
2021/08/21(土) 09:10:53.55ID:7GAoG1Iq
Nimにガベージコレクション(GC)有りは事実なのですが、NimはオプションでGC無しにできます

Nimバージョン:1.5.1でRustのボローチェッカーに似た「View types」が実装されれば
GC無しで、View types参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化してC/C++/Rustの代替に出来ますか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
2021/08/21(土) 11:00:49.85ID:h1foSDug
素のJavaScriptから始めてTypeScriptに入っていく手もある
Visual Studioではtsファイルを保存するたびに勝手にトランスパイルやってくれるし
183デフォルトの名無しさん
垢版 |
2021/08/21(土) 11:58:15.84ID:TY8AYdBd
Web ブラウザ上で実行する必要があるなら、
実質 JavaSclipt 一択になっちゃうだろうと思う。
個人的にはサーバーサイドでDB で連携、
というのが主なので、Java + MySQL + HTML5
+css2 + Tomcat(動的コンテンツ用)
+ Apache (http サーバとして)+ Eclipse
+ Subvirsion(最近は Git だろうけど)とかいうのが
定番だったが、初心者向けではないわなぁ ……
perl とか VB とかでもいいんじゃね?とは思う。
一生その言語だけでやってく訳じゃねーんだから。
2021/08/21(土) 12:08:04.77ID:83dfZvOT
>>180
無知で申し訳ない
オブジェクト指向っていうのは、クロージャーや多様性を利用し
インターフェースで各部を接続することで
バグの伝搬範囲を特定しやすくして
拡張性や保守性を高めようと試行したものだけれど
どこがどう勘違いしてるんでしょうか?

そもそもJSは疑似クラスを作る前から
オブジェクト志向的に開発はできたんだし

JSがclassを定義できるようになったっていうけど
JS自体がclassを疑似クラスって表現してて
従来のFunction型をclass的に使えるようにして
javaとかやってきた人に親しみやすくしました的なところでしょ

classも定義できて、同じことを関数でも定義できる
constructorもprototypeも、classでもfunctionでも実装できる
いろんなことがいろんな方法で平行してできるって状況が
初心者を混乱させるので、適してないって言ってんの

人気があるから優れた言語ってわけじゃない
フロントから入りやすくて、コストも安く
プログラミングの基礎を学べますってだけ
でも上記のように実装方法にはいろいろあって
方法によって作られるオブジェクトの中身も変わるから
初心者が理解するにはコストが高くなるんです
2021/08/21(土) 12:17:40.88ID:83dfZvOT
>>180
たとえば、初心者がclassを勉強していて

class js{constructor(){}}
とかでてきて、classにはconstructorがあるんだね、って教わった後、

Object()コンストラクターとか

function func(){}で
new func()としたときのfuncをコンストラクターと呼ぶとか

Object(new func);のコンストラクタはPrototypeにありますとか

この状況がずっと並行して存在しているような言語が
どうしても優れているとは思えないんだよね
エラーにさせて記述を統一させろよと(互換性無視で)
186デフォルトの名無しさん
垢版 |
2021/08/21(土) 12:20:33.58ID:AxTsCI6B
RustはNGワードにした
2021/08/21(土) 12:22:43.64ID:v01707Xm
>>184
君が勝手に混乱しているだけであって誰も混乱していない
どの言語にもどの機能にも多数のやり方があるものはそれぞれ無数にあるがそれで混乱を招くことはない
例えばリスト処理をするためにforループ、内包表記、イテレータ等とプログラミング言語によってサポートする個数も方式も異なる
君の主張だと複数の方式を持つ言語は混乱を招く悪い言語であり初心者に向いていないとなる
明らかに君が間違っている
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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