X



ぶっちゃけ始めるのにいい言語て何 part7
レス数が1000を超えています。これ以上書き込みはできません。
0002デフォルトの名無しさん垢版2021/09/12(日) 13:05:25.48ID:Svhq8lc9
Go「初心者でも理解しやすいです。静的型付け言語です。処理が速いです。コードがシンプルです。ライブラリ豊富です」←こいつ以外を勧める理由
0003デフォルトの名無しさん垢版2021/09/12(日) 13:08:56.73ID:s6SsW7NG
goは触れたことないけどなんとなくイヤ

package main // ←なにこれ
import "fmt" // fmtって約し方がイヤ
func main() { // funcがイヤ
fmt.Println("Hello, World") // Pが大文字なのがイヤ
}
0004デフォルトの名無しさん垢版2021/09/12(日) 14:35:13.60ID:ZUoLzWeA
あわしろ氏がお勧めするHaskell。
0006デフォルトの名無しさん垢版2021/09/12(日) 15:40:00.69ID:s6SsW7NG
rustは難しいからイヤ
0007デフォルトの名無しさん垢版2021/09/12(日) 15:51:24.59ID:lBuMyCBZ
>>5
Rustはプログラミング言語の集大成といった感じだな
まず基本のC言語と同じくネイティブにコンパイルされガベージコレクションも無く最高速かつ低水準も記述できるのでOSや組み込みまで全ての分野で使える
それに加えてHaskellなどから強力な静的型付けを導入し高度でかつわかりやすいプログラミングによりミスを避けられ保守性も高い
それらの良い特性にも関わらず他のモダンなプログラミング言語などと同様の利便性や記述が出来てプログラムが非常に書きやすい
これら良いとこ取りをしただけではなくRustの独自性としてコンパイラに通った段階でメモリ安全性の保証をGCなく実現したことが大手IT企業たちから強い支持を得るに至った
0008デフォルトの名無しさん垢版2021/09/12(日) 16:26:43.73ID:29O/ChGl
もう一つのスレとどっちが本スレなん?
0009デフォルトの名無しさん垢版2021/09/12(日) 16:28:40.56ID:8xE5osSS
最初の言語なんてBASIC程度のものでいい
始めから何もかもやらせようとすると高確率で挫折する
0010デフォルトの名無しさん垢版2021/09/12(日) 16:34:33.79ID:UrK9UNLE
>>9
スレタイ見ればわかるように最初の言語とか初心者などに限定したスレではない
プログラミング経験あるけど久々に始める人でもいいし
現役プログラマーが次に始める言語でもいい
0011デフォルトの名無しさん垢版2021/09/12(日) 16:44:09.02ID:s6SsW7NG
rustとgoならrustのほうが勢いあるよね?
00148垢版2021/09/12(日) 17:15:04.62ID:29O/ChGl
>>13
了解です
0015デフォルトの名無しさん垢版2021/09/12(日) 17:18:53.40ID:s6SsW7NG
>>12
たしかにgoやってるの話は直接耳に入ってくるけど
rustやってる話は直で聞いたこと無いな

>>13
スレたてありがとうございます
0016デフォルトの名無しさん垢版2021/09/12(日) 19:32:27.23ID:1emsEJL3
滅茶苦茶CPUバウンドでかつGCあると困る用途でない限りはGoでいいんちゃうの
生産性はやっぱ正義
0017デフォルトの名無しさん垢版2021/09/12(日) 20:49:28.49ID:ZUoLzWeA
あわしろ氏はHaskellを強く勧めてる。
これからの若者は数学志向プログラミングに触れるべき。
0019デフォルトの名無しさん垢版2021/09/13(月) 14:09:06.93ID:ml8LdEkP
無難にPythonかな

アルゴリズム本はPythonで書かれてることも多いから初心者向けだし

Juliaに進むにしてもPython知っといたほうが良い

いずれにせよPython完璧に覚える必要はないかな多分
0020デフォルトの名無しさん垢版2021/09/13(月) 14:21:33.73ID:kAzx+Vi2
Pythonは癖が強いとおもってたけど
今や使ってる人めちゃ多いからいいかもね
0021デフォルトの名無しさん垢版2021/09/13(月) 19:35:07.28ID:Wc4bEdJ2
REPLがあったほうが良い?
やっぱチョコチョコ反応みながら書いていくのがやりやすそうだけど
0022デフォルトの名無しさん垢版2021/09/13(月) 20:30:43.52ID:O39UsyXw
>>21
REPLあったほうが学習効率は断然いい

ただ最近は動的言語だけじゃなく静的言語でもだいたいREPLあるよ
使いやすいかどうかは別だけど
0023デフォルトの名無しさん垢版2021/09/13(月) 21:32:31.16ID:HGulW+Fz
REPL は、いらない

VSCode の拡張機能・Code Runner で、右クリックメニューから、
選択したコード片か、またはファイル全体を実行できる

JavaScript なら、拡張機能・Quokka.js で、リアクティブに表示される
0024デフォルトの名無しさん垢版2021/09/13(月) 21:47:23.68ID:v07DQ1Fe
>>21
行単位REPLは制御文や関数など複数行になると修正も大変かわかりにくくなってしまうから
初心者にはウェブブラウザ上で書いて実行できるタイプの方がオススメかな
例えばRustでも公式でプログラムをブラウザ上で書いて実行できるplay環境を用意してくれてるね
https://play.rust-lang.org/?code=fn%20main%28%29%20%7B%0A%20let%20a%20=%201;%0A%20let%20b%20=%202;%0A%20println%21%28%22%7B%7D%22,%20a%20%2B%20b%29;%0A%7D%0A
0027デフォルトの名無しさん垢版2021/09/14(火) 18:33:01.83ID:LPCz95Z4
Haskellで数学志向プログラミングに触れてはどうか。
0028デフォルトの名無しさん垢版2021/09/14(火) 19:09:49.45ID:kyozNdb6
なんだよ数学志向てw
0029デフォルトの名無しさん垢版2021/09/14(火) 19:30:32.94ID:LPCz95Z4
あわしろ氏がお勧めする数学志向プログラミング。
知らないとは言わせない。
0031デフォルトの名無しさん垢版2021/09/14(火) 19:33:33.49ID:kyozNdb6
オブジェクト指向は「指向」であり
数学志向は「志向」であり謎が謎を呼ぶ
0032デフォルトの名無しさん垢版2021/09/14(火) 19:36:25.38ID:kyozNdb6
https://www.weblio.jp/content/%E6%8C%87%E5%90%91
し‐こう〔‐カウ〕【指向】
[名](スル)ある方向・目的に向かうこと。また、方向や目的を指示してその方に向かわせること。志向。「輸出先として指向する国」「主力を激戦地に指向する」

https://www.weblio.jp/content/%E5%BF%97%E5%90%91
し‐こう〔‐カウ〕【志向】
[名](スル)意識が一定の対象に向かうこと。考えや気持ちがある方向を目指すこと。指向。「高い志向をもつ」「音楽家を志向する」「上昇志向」

ふむふむ
0033デフォルトの名無しさん垢版2021/09/14(火) 19:39:01.12ID:LPCz95Z4
ほむほむ。
勉強になるスレですな。
0034デフォルトの名無しさん垢版2021/09/14(火) 20:08:33.77ID:yDfeC3hP
Haskellから型クラスやモナドなどを参考に採り入れたRustをまず学ぶのも進みやすい道かもね
Rust自体はそれでいてベースがC言語の手続き型言語だから多くの人が入りやすい
0035デフォルトの名無しさん垢版2021/09/14(火) 20:21:19.76ID:hZFcoaP0
おばあちゃんが今から始めるのもHaskellとかRustがいいんですか?
こないだ有線リモコンの冷房から無線のエアコンに買い換えて驚いてたおばあちゃんなんですが
0036デフォルトの名無しさん垢版2021/09/14(火) 21:16:44.39ID:LPCz95Z4
Rustは手続き型ベースなので、最初の言語として相応しくない。
0038デフォルトの名無しさん垢版2021/09/14(火) 22:42:03.53ID:yDfeC3hP
>>36
大半のプログラミング言語が手続き型なんだけど
本当に手続き型は最初の言語として相応しくないの?
0039デフォルトの名無しさん垢版2021/09/14(火) 22:48:39.60ID:kyozNdb6
というわけで黙ってC言語やっとけば間違いないんすわ
0042デフォルトの名無しさん垢版2021/09/15(水) 07:27:12.46ID:itygeFef
プログラミングの初心者が参照する
どんなテキストや動画コンテンツでも
最初は手続き型でしか教えない
最初からオブジェクト指向とか
構造化とかコンポーネントとか関数型とか教えない

どんな言語も構文は大体同じなので
学習コストが安く
学ぶ情報環境が整っている言語がいい

ただしjavascriptは言語構造は混乱しやすいので
Ruby,Pythonあたりがお手軽でおすすめ

C系やRustは学習コストが高め
javascriptは文法があやふや(互換性)
なので、避けたほうがいいでしょう
0043デフォルトの名無しさん垢版2021/09/15(水) 08:33:58.26ID:jolMkSx3
JavaScriptは触れ合いやすいけど
ちょっと癖が強いわなぁ
Foo.prototype.bar = とか
これを覚えたところで他に生かせなくて無駄
0044デフォルトの名無しさん垢版2021/09/15(水) 08:35:32.96ID:jolMkSx3
あとそれと「巻き上げ」とかな
JavaScriptって入り組んでくるとことごとく捻じ曲がってる印象
0045デフォルトの名無しさん垢版2021/09/15(水) 08:53:31.96ID:NuhKh3Ob
古いJavaScriptで書かれたソース読む機会あったけど呪文みたいだったわ

設計もめちゃくちゃだったしクソコードに触れる機会を減らしたいならサーバサイドを中心にした方がいい
0046デフォルトの名無しさん垢版2021/09/15(水) 12:37:47.92ID:6EsPXkcj
C#かkotlinに一票
Rustはいい言語だけどはじめての人がいきなりはちょっとやめたほうがいい
0047デフォルトの名無しさん垢版2021/09/15(水) 12:48:42.29ID:KK7W2oGB
やっぱPython→Juliaとクラスチェンジするのが良いよな
0049デフォルトの名無しさん垢版2021/09/15(水) 15:25:40.60ID:NtEFpCgv
javascriptはHTMLを動的に扱うために作られたので
発想はマークアップを装飾するためのアクセント言語だったのが
その時代の言語構造を引き継ぎながら
ブラウザプログラミング言語を志向したので
互換性やらなんやらで、最終的に学習コストが高くなった

始めるのなら最初から軽量で
言語構造もシンプルに洗練されている手続き型の言語で
学習情報が豊富なPythonがおすすめ
そこで基本を学んでから関数型やオブジェクト指向や
いろいろ広げるのが正解
0050デフォルトの名無しさん垢版2021/09/15(水) 16:09:40.84ID:bOA0y0+v
pythonは昔はオフサイドルールが癖強すぎて避けてたけど
今となったら癖とかなんとか以前にユーザが増えすぎて
そういう意味で有利になっちゃったな
ネット上に文章が多いし求人でも有利だろうし
0051デフォルトの名無しさん垢版2021/09/15(水) 18:29:03.83ID:uFhh3dTk
あわしろ氏がお勧めするHaskell。
0052デフォルトの名無しさん垢版2021/09/15(水) 18:31:36.33ID:uFhh3dTk
Javascriptでバグ無くせとかなんの修行なのか。
バグりやすく作られた言語なんだから、バグ入れるのが正しいのではないのか。
バグ入れたらダメなら、何でバグりやすい言語仕様にしたのか。
謎が謎を呼ぶ。
だれかコナン呼んできて。
0053デフォルトの名無しさん垢版2021/09/15(水) 18:55:39.82ID:bOA0y0+v
昔はカーソルの形変えるための言語だったのにねw
あのころのことがあるからイマイチ信頼できない
応援してるし頑張ってほしいけど
0054デフォルトの名無しさん垢版2021/09/15(水) 18:57:44.65ID:itygeFef
ブラウザ言語でバグっても誰も損しない
バグはCSSでかっこよく装飾して見栄えでごまかす
エラーが出たらCSS装飾に飛ばすようにトラップかければ
クライアントも気が付かないで喜ぶこと間違えなし
0055デフォルトの名無しさん垢版2021/09/15(水) 20:04:34.41ID:bOA0y0+v
○ほほのjavascriptとか見て頑張ってたよ
0056デフォルトの名無しさん垢版2021/09/15(水) 21:40:59.44ID:J9j45kj/
Pythonは入門は簡単だけど、使いこなそうと思ったら難しいから途中で他の言語もやるのが良いと思う
0057デフォルトの名無しさん垢版2021/09/15(水) 21:44:49.49ID:TPuce9ot
馬鹿には無理
0058デフォルトの名無しさん垢版2021/09/15(水) 22:32:13.88ID:itygeFef
>>56
手っ取り早くプログラミングの構文を学んだら
あとは必要な言語やプログラミング志向を学んで
好きな分野で活動すればいい

基礎的構文は
データ型、変数、関数、インスタンス程度
癖なくそれを学べる言語をチョイスすればいいよ
0059デフォルトの名無しさん垢版2021/09/15(水) 22:45:43.19ID:uFhh3dTk
Haskellで数学志向プログラミングに触れてみては。
0060デフォルトの名無しさん垢版2021/09/15(水) 22:48:38.39ID:3BflzJ3C
>>43
それはclass導入前の凄く古い記述方法ですよ
今は便利になりました

>>44
「巻き上げ」もlet導入前の凄く古い話ですね
あなたは時間が止まっているようなので勉強し直したほうが良いでしょう

>>49
それは昔の話
現在のJavaScriptは非常に分かりやすい言語になりました
そのためブラウザの外でも使われることが増えました

>>52
それはJavaScriptの話ではなく動的型付けなスクリプト言語(Python, Ruby, JavaScript, ...)全てでそうですね
しかしJavaScriptなら静的型付けできるTypeScriptがあるのでその中で最も有利です
0061デフォルトの名無しさん垢版2021/09/15(水) 23:29:04.02ID:6EsPXkcj
それは昔の〜とかが本当にムダ

何か調べようと思った時に古い情報がでてきたり、
そのやり方を継承するような方法がでてくるのは効率が悪い

JavaScriptが(現在は)悪い言語とは言わないが、
始めるのに良い言語では、ぶっちゃけない
0062デフォルトの名無しさん垢版2021/09/15(水) 23:34:42.85ID:uFhh3dTk
いや、悪い言語ですよ。
0063デフォルトの名無しさん垢版2021/09/15(水) 23:40:48.24ID:XqwyDbmC
JavascriptはWebサイトの後方互換性のために仕様が汚れまくっていてTypescriptで延命してるが早急に滅びるべき言語なんだよ
そろそろブラウザ用の機能もコトリンやGoで書いてWebasmで動かす時代になる
0064デフォルトの名無しさん垢版2021/09/15(水) 23:51:04.43ID:3BflzJ3C
>>62 >>63
現在のJavaScriptは非常に筋の良い良い言語だよ
だから利用者数がどんどん伸びている
サーバーサイドでもデスクトップアプリにも使われるようになっている
0066デフォルトの名無しさん垢版2021/09/16(木) 08:12:11.46ID:MJA6DJit
>>60
なっ!?
JavaScriptでもclass宣言かけるようになってんだな
有難いけどTypeScriptの立場どうなっちゃうの
0067デフォルトの名無しさん垢版2021/09/16(木) 08:21:09.61ID:MJA6DJit
言語として良いか悪いかはさておき
プロトタイプベースのOOPLに触れようと思ったら
すぐこれに触れる手軽さはいいかと
これはこれで面白いもんね
0068デフォルトの名無しさん垢版2021/09/16(木) 09:01:46.96ID:r6JlLKQD
JavaScriptってすごく便利で強力だけど
習得が難しい言語のように思える
プログラミング初心者には厳しいのでは
0069デフォルトの名無しさん垢版2021/09/16(木) 09:12:14.38ID:qq0w47QU
>>68
Pythonよりは簡単だし
JavaScriptは文法記述もいわゆるC言語系の王道プログラミング言語標準だから
Pythonを学ぶよりJavaScriptを学んだ方がその先も有利かと
0070デフォルトの名無しさん垢版2021/09/16(木) 09:16:10.72ID:X9teLw9G
JavaScriptは色々ふわふわしすぎて苦手だわ
ブラウザで挙動変わったりするしこんなもんに時間掛けたくねえ
0071デフォルトの名無しさん垢版2021/09/16(木) 09:20:21.61ID:I3VTO38j
jsはVBやPHPよりはましだとは思うが
どっちかというとそいつらは全部カス
0072デフォルトの名無しさん垢版2021/09/16(木) 09:26:31.27ID:MJA6DJit
arguments.calleeなんかあるのも面白い
再帰の関数式を書ける
[1, 2, 3, 4, 5].map(function(n) {
return !(n > 1) ? 1 : arguments.callee(n - 1) * n;
});
でも今じゃ
[1, 2, 3, 4, 5].map(function factorial(n) {
return !(n > 1) ? 1 : factorial(n - 1)*n;
});
こう↑書けるしこっちがオススメみたいだけど
前者の場合は完全に無名関数の再帰になるんで凄みがある(個人の感想です)
0074デフォルトの名無しさん垢版2021/09/16(木) 09:39:47.11ID:HWkOYpXj
>>73
Chrome、Firefox、Safariで挙動変わるだろ。特にSafariはクッキー関連厳しくて動かないことが多い
古いプロジェクトだとここにIEが加わって地獄化するよ
0075デフォルトの名無しさん垢版2021/09/16(木) 09:49:18.48ID:w56kdS0a
>>74
え??
それはJavaScriptとは一切関係ない話
クッキーはHTTPの一部でありプログラミング言語と何ら関係がない
その区別ができてないのはちょっとマズいと思う
0079デフォルトの名無しさん垢版2021/09/16(木) 10:16:43.09ID:w56kdS0a
>>76
16年前の記事を見付けてきて何をしたいの?
はるか昔に統一されていますよ

ちなみにそれもJavaScriptの言語仕様とは全く無関係な話
ブラウザ上でのWeb APIの話です
いずれにせよ大昔に統一されています
0080デフォルトの名無しさん垢版2021/09/16(木) 10:36:16.70ID:o+ptaNmt
>>72
それは昔の仕様なのでarguments.calleeは現在strictモードで使用不可となっている
arguments自体も使用不推奨となっていて今はrest引数(いわゆる...restArgs)形式が使われている
現在のJavaScriptはすっきり洗練されていてわかりやすく初心者にもオススメ
0082デフォルトの名無しさん垢版2021/09/16(木) 11:15:05.47ID:5v2yv6GZ
こうも書けるしああも書ける、10年前はこう書いたけど今は違う書き方をするがどっちも動く
こういう言語のクソっぷりはPerlで懲りたでしょうに
0083デフォルトの名無しさん垢版2021/09/16(木) 11:29:51.29ID:o+ptaNmt
>>76
2005年の記事を持ち出してきてる時点でJavaScriptを叩きたいためにワザとやってるんだな
例えば2005年には現在のPython3も当然ないから2005年のPython記事を見たら仕様が違っていて混乱するのは当たり前
Rubyだって当時はRuby1であり現在のRuby2やRuby3ではない
今後もこのスレで古い話を持ち出して叩いている人が現れたらキチガイであると断言できる
0084デフォルトの名無しさん垢版2021/09/16(木) 11:33:32.93ID:MJA6DJit
>>79
> 16年前の記事を見付けてきて何をしたいの?
> いずれにせよ大昔に統一されています

失礼しました
不勉強で申し訳ないです

>>80
> それは昔の仕様なのでarguments.calleeは現在strictモードで使用不可となっている

勉強になりますサンクス
ド素人なので参考になります
0085デフォルトの名無しさん垢版2021/09/16(木) 11:35:23.20ID:MJA6DJit
>>83
ワザとじゃないし叩きたいなんて思ってないよ
ただ単に俺がド素人で知識が古いだけ
みなさんにはご迷惑かけるんで今後JavaScriptについては発言を控えるよ
0086デフォルトの名無しさん垢版2021/09/16(木) 12:12:48.00ID:Zqtnrczb
>>85
他のプログラミング言語でも同様だけど古い仕様を持ち出すのは意味がないのでそれぞれ現在の言語の話をすれば控える必要ないでしょう
現在のJavaScriptはもちろん初心者にも最適な一つですが初心者が辿る動的型付けから静的型付けへ進む時にTypeScriptへとほとんど学習コストなく進めるのも大きな推奨点ですね
0088デフォルトの名無しさん垢版2021/09/16(木) 12:25:30.92ID:I3VTO38j
>>41
Fe → FeO → Fe3O4 → Fe2O3 と進む
0089デフォルトの名無しさん垢版2021/09/16(木) 12:28:01.75ID:1hyR7qdb
C++だって仕様の隅から隅まで覚えようとすると激難しいのであって
初心者が触りの言語として四則演算するのに大して影響は無い
0090デフォルトの名無しさん垢版2021/09/16(木) 12:29:00.37ID:szb6q3uV
C#最強説
Webサイト作れます
デスクトップソフト作れます
Windowsストアのアプリ作れます
AndroidとiPhoneのアプリ作れます
PCゲーム作れます
0091デフォルトの名無しさん垢版2021/09/16(木) 12:30:30.25ID:I3VTO38j
>>82
だよな

js は捨てていい
0092デフォルトの名無しさん垢版2021/09/16(木) 12:44:05.39ID:MJA6DJit
C#は色々嫌いだけど値型だけは好き
in/out/refつけてみたりつけなかったりで自分の好きにできて嬉しい
これを用意しなかったJavaも割り切っててスッキリしてて悪くは無いと思うけど
0093デフォルトの名無しさん垢版2021/09/16(木) 13:02:16.16ID:OOI2XObq
へー じゃあc#にします
0094デフォルトの名無しさん垢版2021/09/16(木) 13:19:33.65ID:HON91t9p
>>92
in/out/refなんて飾りに過ぎないよ
コンパイル結果のコードが変わるわけではないしref付けてなくてinでも配列の中身書き換え通ってしまう
しかもoutなんて本来は返り値でやればいいものであってC#は1つしか返り値を返せなかった名残りで無理矢理に引数にしている失敗策
C#は中途半端なところが多いので避けたほうがよい
0095デフォルトの名無しさん垢版2021/09/16(木) 13:48:24.90ID:jpojhm2T
C#って言語は良くてもあんまりモダンな感じがしないのがなぁ
色んなクラウド技術使ってるプロジェクトとは無縁そう
0096デフォルトの名無しさん垢版2021/09/16(木) 14:20:08.89ID:wwPXaDJ/
>>94
配列は参照型だからまた話が違うのでは
値型の構造体などをrefやoutで指定するときは
複製を避けつつスタックへアクセスしたいという欲求を叶える
0099デフォルトの名無しさん垢版2021/09/16(木) 16:53:24.70ID:/p7a1VzF
>>82
これですよね
学習コストが高くなる
調べてても新しい情報なのか古いのか
初学者ではわからない
他の言語では表現は一つなのに
javascriptでは色々あるから
学習遅くなるし混乱する

プログラミングを学びたいのなら
pythonかRubyにしておけ

javascript、php、kotlinその他の言語は必要になったらマナブで十分
0100デフォルトの名無しさん垢版2021/09/16(木) 17:04:11.05ID:aVjRrDp/
企業で働く9割ぐらいのやつはデータをシコシコ出し入れするだけの業務やってるしSQLを最初にやるべき
0101デフォルトの名無しさん垢版2021/09/16(木) 17:11:48.23ID:vxj0ze2Y
>>99
> 調べてても新しい情報なのか古いのか
初学者ではわからない

その通りでPython2とPython3で混乱しまくりです
Pythonは初心者はやめたほうがいいです
0102デフォルトの名無しさん垢版2021/09/16(木) 17:51:39.31ID:wwPXaDJ/
それで言うとC++も随分拡張されたねえ
必死になってラムダ式導入してんの見ててツライわ
授業参観にババアが若作りして来ちゃってるような悲惨を感じる
0103デフォルトの名無しさん垢版2021/09/16(木) 18:33:28.90ID:V8KCHA2U
バグるための言語がJavascriptです。
0104デフォルトの名無しさん垢版2021/09/16(木) 19:02:20.11ID:EvK5hxPz
Oracle JDK 無料化キター!
新しいJava時代の幕開けだ!!
0105デフォルトの名無しさん垢版2021/09/16(木) 19:09:11.23ID:cHl8Y0Er
OpenJDKがあるし、オラクルは競争力のあるクラウドを提供してないから、もうOracle JDKの需要なんてないんじゃね?
0107デフォルトの名無しさん垢版2021/09/16(木) 20:18:41.20ID:V8KCHA2U
Javaはベンダーロックインされるのでダメ。
0110デフォルトの名無しさん垢版2021/09/16(木) 21:08:10.04ID:5v2yv6GZ
JavaちゃんはI/O?まあいやらしい!みたいなSunの箱入り娘だったのに
路頭に迷ってサーカスの占い師に捕まり顧客をくわえ込む仕事をあてがわれて
ついに開放されたときにはヨゴレ扱いされるようになってしまった
そしてやや未熟ながら清楚な妹OpenJDKちゃんがかつての自分の後を継いでいることを知り、飼い犬ScalaとClojureを連れて旅に出ることを決意したのである
0111デフォルトの名無しさん垢版2021/09/16(木) 22:33:40.23ID:V7qWonkI
Javaが使われなくなっていく理由

// Javaの場合
public class Main {
public static void main(String[] args) {
System.out.println("Hello.");
}
}

# Pythonの場合
print('Hello.')
0112デフォルトの名無しさん垢版2021/09/16(木) 22:38:36.19ID:wpcaLLFw
でかいプロジェクトならmainなんか見る機会ほぼないし
関数の書き方はそんなに変わらないしインポートすればおんなじことだし
ブラケットくらいしか違わない

Pythonも自分用にちょろっと使う時とかAIでとかは使うけど業務ででかいの
やるのはJavaのがやりやすい

当たり前だが適材適所
0113デフォルトの名無しさん垢版2021/09/16(木) 22:53:10.99ID:yCCIGMwd
米語定期
0115デフォルトの名無しさん垢版2021/09/16(木) 23:05:03.57ID:Lb8PmCRC
>>111
それは明らかに違う。
Pythonはお子様用プログラミング言語なので、ある程度のものを作る人たちはPythonを使うことはないように、適材適所。
Javaが使われなくなっていってるのは事実だが、別の理由であり、おもちゃなPythonなんかを使うことは絶対にない。
0119デフォルトの名無しさん垢版2021/09/17(金) 04:17:15.47ID:O1PoA15N
JavaScript は、規格がコロコロ変わるので、初心者向きじゃない。
書き方が色々あるので、20年以上の変化の歴史を追っていかないといけない

すべて非同期だから、サーバー側は地獄。
callback 地獄、Promise, yield を使ったGenerator Runner, async/await まで、
書き方の変遷をたどるだけでも、大変

class 構文・辞書・継承チェーン、prototype, __proto__ とか、
内部の実装を学ぶので大変

初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017

この本を読めば、どれだけ難しいかよく分かる。
ほぼ、文法・書き方の変遷を追いかけるだけ。
おまけに、Node.js を学ばないとファイル操作できない

Ruby なら「たのしいRuby 第6版、2019」1冊で、
ファイル操作・テキスト処理まで出来る

Rubyは最初から、サーバーを含んでいるバックエンド言語だけど、
JavaScriptは、サーバーを含んでいないから、Node.jsが必要

だから今でも、多くのベンチャーは、Ruby on Rails, React, Vue.js, Bootstrap が基本。
バックエンド・サーバー側はRails で、JavaScriptは画面・フロントでしか使わない
0120デフォルトの名無しさん垢版2021/09/17(金) 04:36:32.93ID:VB4b3UUM
>>119
嘘つき
JavaScriptだけ学べばウェブブラウザ側もサーバー側も作れている
しかしRubyだけ学んでも何もできない
0121デフォルトの名無しさん垢版2021/09/17(金) 04:48:23.41ID:5ASfgvvf
>>119
Rubyは遅いのでRustに書き直したとCOOKPAD社もおっしやっています
0125デフォルトの名無しさん垢版2021/09/17(金) 09:18:27.83ID:LzmWin+9
>>110
ワッフル ワッフル

>>115
Ruby/Perlは池沼用
VB/PHP/jsは馬鹿用
0126デフォルトの名無しさん垢版2021/09/17(金) 10:44:11.77ID:rjhyNbM3
Kotlinだけは良さが分からない
Scalaのほうがよっぽど意欲的じゃん
0128デフォルトの名無しさん垢版2021/09/17(金) 12:19:06.46ID:O1PoA15N
Scala は、YouTube で有名な、雑食系エンジニア・KENTA がオワコン認定した

仕事が無いから、無職のベテばかりになって、新規にマウントを取ってくる。
それで、コミュニティーが崩壊した

Ruby の全く逆。
Rubyはコミュニティーが強いし、Rails チュートリアルも毎年、売上増

KENTAは昔、Rails → Scala → Go と、間に関数型のJVM 系を挟むのが良いと言ってたけど、
今は、Rails → Go が、バックエンドの鉄板

加えて、Linux, Docker, Heroku, AWS。
これが金になる技術

今では、KENTA、Udemy の山浦清透、AWSのくろかわこうへいのサロンも、必須になってる
0130デフォルトの名無しさん垢版2021/09/17(金) 12:39:19.06ID:oDWWsmOU
他人なら普通はケソタの迷惑になるからやめるけど
ずっとやってるってことは本人だろうな
0131128垢版2021/09/17(金) 13:18:42.83ID:O1PoA15N
KENTA は第一人者で、本も出していて、
大量の動画を上げて、日本6位の3千人のサロン経営者で、年収も公開していて、

200万円の学校をぼったくりと言って、裁判に訴えられたw

KENTAには、何も隠すことが無い
0132128垢版2021/09/17(金) 13:24:59.60ID:O1PoA15N
KENTA は経営者からも、すごく嫌われている。
給料が安ければ、すぐに転職しろって言ってるから

Ruby の作者・Matz も同じことを言ってる。
勉強させてもらえないような会社は、辞めた方がよい

経営者からすれば、何も出来ない香具師に、
200万円も払ってやっているのにという不満がある

KENTAがそういうつもりなら、100万円も払わないし、
何も出来ない素人も雇わないと言ってる
0133デフォルトの名無しさん垢版2021/09/17(金) 14:01:59.72ID:5NPaLNkl
>>131
> KENTA は第一人者で

なんかしらんけど第一人者ではないだろうw
たぶんその人は単なるyoutuberだろうw
0134デフォルトの名無しさん垢版2021/09/17(金) 18:38:45.35ID:QcWo8oH0
99%の人がゴミだと思っても、1%の人が申し込めば効果ありだからな。
スパムが無くならない理由。
0136デフォルトの名無しさん垢版2021/09/17(金) 23:18:34.22ID:qc9SKwMT
>>128
ウェブ系なのにJavaScriptを勉強しないとは呆れた
今となってはそれては極狭い範囲しか担当できないよ
0137デフォルトの名無しさん垢版2021/09/17(金) 23:55:20.52ID:X0mYiXQC
>>97
まあ、高水準アセンブラ的な「とりあえずC」というのはあるわね。

米粒PICマイコンから富岳まで幅広く使える言語だし、基礎教養みたいなものかな。
その上で必要に応じてそれぞれの分野に向いたものを身につければよろしいかと。
まあ、C/C++って書かれるくらいで、組み込みでもC++も使えちゃったりするし、ハードウェアをゴニョゴニョするのとオブジェクト指向って相性いい感じだから、ついでにC++で、その次に何か別物をっていうのもありだろうけど。
0139デフォルトの名無しさん垢版2021/09/18(土) 00:03:58.04ID:us2JbIyI
Railsガイジはマジで頭のネジ飛んじゃってるね。100回くらい同じこと言ってるし。こいつなにかのbotなんじゃないか
0140デフォルトの名無しさん垢版2021/09/18(土) 01:18:13.34ID:cRpuqV0s
>>135
ひろゆきの虚言壁は直せてない。
0141デフォルトの名無しさん垢版2021/09/18(土) 07:11:53.73ID:pFdKsXww
まぁCはメモリ128KBtで動かそうとするもんだから
今となってはRustに置き換わるべきなんだよな
0142デフォルトの名無しさん垢版2021/09/18(土) 07:50:05.49ID:o+Nmf1Ds
コピペプログラマーだけどメモリとかの勉強におすすめの本やサイトを教えて欲しい
感覚でプログラミングしてout of memoryが起きたらコードを修正する
そんな俺を変えていきたい
0143デフォルトの名無しさん垢版2021/09/18(土) 08:03:58.51ID:bNqoSBDr
「ベキ」なんてことはないけどね。
C/C++でLチカからLinuxまで記述できているのは現実だしね。
さらに言えば、SystemCみたいにハードウェア記述言語でもC++…というかC++のクラスライブラリで提供されてるわけで、C/C++を知っていれば幅広い領域で使えるということは確かだし。

過去にも「この点がC/C++より優れている」という主張をしてきた言語はたくさんあるけど、逆に言えばそれだけC/C++が程よくできているし、基礎教養化しているってことなんだろうなあ。
0144デフォルトの名無しさん垢版2021/09/18(土) 08:14:13.62ID:WtcFUHdh
>>143
それは違う
今までC/C++を置き換えるプログラミング言語は存在しなかった
初めて登場したのがRust
・C/C++と同様にネイティブコンパイルで低レベルアクセス記述ができてGCなどがないこと
・上記を満たしつつC/C++とは異なりコンパイル時点でメモリ安全性を保証する
このようなプログラミング言語が初めて登場したのがRust
0145デフォルトの名無しさん垢版2021/09/18(土) 08:58:18.16ID:5Eqr4gj+
Rust は色々考えて今のデザインになったんだろうけど
OCaml に影響を受けてて初期は OCaml で作られたコンパイラが使われてたってんなら
もっと関数言語寄りにしてほしかった
言語にリストを組み込みで入れてて [1; 2; 3] や 1 :: 2 :: 3 :: [] と書けるように
パターンマッチ部分でも x :: xs と書けるようにしてほしかった
そんでもって TCO も保証してほしかった
そしてついでに if 式も if cond {a} else {b} じゃなくて
OCaml みたいに if cond then a else b とスッキリさせてほしかった
0146デフォルトの名無しさん垢版2021/09/18(土) 09:09:14.18ID:fW917HvV
>>145
どのプログラミング言語についても
記述面だけの些細な違いを気にする人はレベル低くてカッコ悪い
0147デフォルトの名無しさん垢版2021/09/18(土) 10:08:37.10ID:bA/qQPAi
Rust は D と同じ運命
0148デフォルトの名無しさん垢版2021/09/18(土) 10:24:41.72ID:YxnqD7QJ
D言語は根本的には何も変わっていなくてC言語の亜流一つにすぎなかった
コンパイル時点でメモリ安全性を保証するRustの出現はプログラミング言語界に革命を起こした
それが大手IT企業たちが垣根を超えてRust支持採用となった理由
0150デフォルトの名無しさん垢版2021/09/18(土) 10:41:49.11ID:kH5ao/q7
こいつらもマウントしてカッコつけるために皆で揃ってRust採用してるの?

>大手IT企業たちの方針

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

>Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
0151デフォルトの名無しさん垢版2021/09/18(土) 10:46:30.06ID:5Eqr4gj+
D 言語はショボかったねえ
言語自体もそれを持ち上げてる連中も
すべてがみすぼらしかったわ
マスコットキャラさえも
0152デフォルトの名無しさん垢版2021/09/18(土) 10:54:01.87ID:fW917HvV
Rustは長いプログラミング言語の歴史上で例えるなら天変地異の革命
GCなしでメモリ安全性を保証する言語は今まで存在しなかった
画期的な歴史上の出来事
0153デフォルトの名無しさん垢版2021/09/18(土) 11:02:00.81ID:bA/qQPAi
>>151
そういうの大事だよね

>>149-150
Rust 採用するとマウント撮ったことになるの?
0154デフォルトの名無しさん垢版2021/09/18(土) 11:16:49.72ID:/xipCfu/
何でコトリンやらないのかが意味わからない
世界を支配していたJavaの上位互換でAndroid公式にもなってんだから将来性1番あるの間違いない
0155デフォルトの名無しさん垢版2021/09/18(土) 11:27:22.20ID:GyMq9Z+P
>>154
もちろんKotlinはJavaより便利で断然良いんだけど
RustはJavaより便利で高速で安全と更に断然良いため現実にJavaからRustへ移行するケースが増えてる
加えてC++からRustへの移行もあるから有利よね
0156デフォルトの名無しさん垢版2021/09/18(土) 11:40:29.84ID:5Eqr4gj+
Kotlin は魅力が分からない
どういう層があれを有りがたがってるのか分からない
Java 以上にドカタ味を感じる
0157デフォルトの名無しさん垢版2021/09/18(土) 13:39:38.52ID:l3l+Zt6l
始めるのに良いかは微妙じゃね?Rustとか。C++で嫌な思いしたら始めるもんじゃないのあれ
0158デフォルトの名無しさん垢版2021/09/18(土) 14:35:33.29ID:np49/oH0
ポインタなんて必要に応じて覚えればいいんだから
Ruby、Python程度から始めるのが妥当
0159デフォルトの名無しさん垢版2021/09/18(土) 15:23:41.82ID:z3n3Kv/4
お気軽に書ける言語じゃないからなRustは
Javaもメソッドチェーンだらけでアホみたいだし
MS系ならC#、Java系ならkotlin

その後に作りたいものに適した言語に移行すれば良いよ
0161デフォルトの名無しさん垢版2021/09/18(土) 18:00:04.48ID:2OOJm5Lf
それはぐぐりましょうw
0162デフォルトの名無しさん垢版2021/09/18(土) 18:47:09.98ID:pFdKsXww
ディベロッパーみたけど
学習し辛いサイトだな
動画じゃないと学習できんのか

他のサイトでもjavaとの比較がはいっていたりして
kotlinは初学者には向いてない感じするな
0163デフォルトの名無しさん垢版2021/09/18(土) 19:07:06.67ID:O+bNa7ed
あわしろ氏もRustは良い言語だと言ってるね。
しかし、これから始めるならHaskell一択と言ってる。
0164デフォルトの名無しさん垢版2021/09/18(土) 19:20:12.41ID:VYLTl1id
米語定期
0165デフォルトの名無しさん垢版2021/09/18(土) 19:42:02.49ID:z3n3Kv/4
>>160
どこまでやるか次第

個人的には最初の学習はコマンドラインで
if for while 四則演算 配列 数値文字相互変換 sqrtやabsなど各種演算だけやって
基本的な制御の仕組みを知って、そこからやりたい環境の言語に移行すればいいと思ってる
このレベルならjavaなんて知らなくてもできる

なので、IDEインストしてすぐに試すことができるC#とkotlinを推してる感じ
0166デフォルトの名無しさん垢版2021/09/18(土) 19:42:42.15ID:2OOJm5Lf
Haskellって高卒の数学コンプ持ってる子が飛びついてるイメージ
0167デフォルトの名無しさん垢版2021/09/18(土) 20:36:45.39ID:O+bNa7ed
Haskellでコンプレッサーを克服したなら、ええ話やな〜〜ってなるだろ。
0168デフォルトの名無しさん垢版2021/09/18(土) 22:34:23.12ID:TAhf6fML
GOって最近案件増えてきてるよな
ぶっちゃけGOってWebで天下取りそう?
正直生理的に受け付けないからやりたくないんだが・・・
0170デフォルトの名無しさん垢版2021/09/18(土) 23:54:11.09ID:DSvGRl3k
Goは従来の色々なものを捨てて簡素化したのが特徴で捨て過ぎたデメリットも数多い
言語としてGoじゃないと駄目で他への置き換えが難しい、ということは無いため
将来性はかなり疑問
0172デフォルトの名無しさん垢版2021/09/19(日) 04:43:37.75ID:vDhM5EGT
仕事としてやるんならそのとき一番儲かりそうな言語やってりゃ良いと思うけどな
趣味の勉強なら好きなのやればいいけど
0173デフォルトの名無しさん垢版2021/09/19(日) 05:04:24.00ID:H4qfyOGT
Goはタプル型がないのに多値で色々やろうとしておかしなことになってるな。
それはともかく、エラー例外処理に対しても言語として無策だから、関数を呼ぶたびに返ってきた多値のエラーチェックを毎回しなきゃいけない。
0174デフォルトの名無しさん垢版2021/09/19(日) 06:04:07.81ID:d778U/iN
そこは以下を延々と何度も何度も書けば解決
if err != nil {
return nil, err
}
Goは色んな機能を欠いているからプログラマーが頑張る言語
0176デフォルトの名無しさん垢版2021/09/19(日) 07:42:27.39ID:j/h12ol/
GoもRustもtry catchの例外処理機構を廃止というか採用しなかった点では一緒でプログラミング言語の流れとしては最前線なのよ
ただしGoはその代償で>>174を毎回書かなきゃいけなくて大変なだけだなくプログラムの見た目も本質部分の邪魔になってしまってる
一方でRustは画期的な組み合わせアイデアでそれを1文字オペレーター化しちゃったので見た目の記述もわかりやすくなり大好評になっていますね
0177デフォルトの名無しさん垢版2021/09/19(日) 08:39:41.01ID:1axMfY7t
>>165
その程度ならKotlin不要だろ、何言ってんだ?
これ以上に習得するのならjava知らないとっていうのなら
kotlinは始め言語に不適
kotlinよかVBAのほうがマシ
0179デフォルトの名無しさん垢版2021/09/19(日) 09:49:20.62ID:ziNyVhsa
>>173
その辺りが俺も気になってGoきめぇって思ってたけど
よく調べると例外については例外がないのがイケてないとかイケてないのはおめぇらだよとか言ってるコラムがあったな
大域脱出もできるし何の問題もないだが?みたいなやつ
あと継承についてもあえて使わないことで継承の弊害がでないようにしてると言ってるし
Goがイケてないって言ってる奴がイケてないんだよっていう主張もあるのと
実際案件が増えてるのが気になってるところなのよな
0180デフォルトの名無しさん垢版2021/09/19(日) 09:49:50.00ID:0jn+nyGG
Excelでスーパーマリオが出来るんなら
がんばれば3Dシューティングだって・・
0181デフォルトの名無しさん垢版2021/09/19(日) 10:02:47.25ID:AQb+yle5
例外をきちんと使えてないイケてないプログラマが大半だから混乱を避けるために原始的な方法を使いましょうってことだろう
そもそもGoのコンセプトがイケてない人向け言語だから
0182デフォルトの名無しさん垢版2021/09/19(日) 10:37:19.05ID:/9ib405E
例外をきちんと使うって何?
0184デフォルトの名無しさん垢版2021/09/19(日) 10:48:21.50ID:KgvO+1PK
GoもRustも例外機構(try/throw/catch)を各々の理由で敢えて持たない方針なので
エラーを返す関数は(value, error)という2つ組相当を返すところまでは両者で同じだけど

Rustは「?」オペレータを使ってメソッドチェーンも見やすく書ける
d = a.func1()?.func2()?.func3()?

Goで同じことを書くとこうなってしまう
b, err = a.func1()
if err != nil {
 return nil, err
}
c, err = b.func2()
if err != nil {
 return nil, err
}
d, err = c.func3()
if err != nil {
 return nil, err
}
これをGoで避けようとして様々な複雑化がある
データ構造を複雑化することで頑張る方法
複雑な処理をする高階関数を登場させて頑張る方法
など
0185デフォルトの名無しさん垢版2021/09/19(日) 12:19:51.97ID:ziNyVhsa
>>184
Rustおっされー
けどエラーが返された元でnullチェックしなきゃいけない時点でキモさを感じてしまうんだよなぁ・・・
cacthもやってることは同じだろうがって言われたらそれまでだがw
可読性という点で果たしてどちらの方が優れているだろうか・・・?
0186デフォルトの名無しさん垢版2021/09/19(日) 12:26:13.76ID:/yxUr6Cy
どうせおまいらprintfの戻り値チェックしてないだろ
0187デフォルトの名無しさん垢版2021/09/19(日) 12:33:19.03ID:FeAxns0E
>>185
Rustはメモリ安全性の保証もあって着実に各関数をreturnすることを達成しつつ可読性も損なわずに両立できていますね
0189デフォルトの名無しさん垢版2021/09/19(日) 12:55:05.77ID:FeAxns0E
>>188
例外あり、かつ、メモリ安全性保証だと
その例外機構のオーバーヘッドコストがかかりますよね
例外なし、ならばそのためのオーバーヘッドコスト無しに実現できますね
0190デフォルトの名無しさん垢版2021/09/19(日) 13:11:28.65ID:EjYrL+58
例外のスレッド間転送について。
0191デフォルトの名無しさん垢版2021/09/19(日) 13:52:04.91ID:J6lrnCLm
問題は非同期シグナル
シグナルが安全でない関数に割り込み、シグナルハンドラが安全で
ない関数を呼び出した場合、動作は未定義
0192デフォルトの名無しさん垢版2021/09/19(日) 15:00:42.97ID:2xBMVIqA
まぁ、結局最後は機械語で動いているだけだしね。
「シンプルに書ける」といっても、そのパターンだけでプログラムができているわけでもないし、
それがプログラムの大部分を占めるようなものならともかく、重箱の隅レベルじゃ
大したメリットではないのよね。
0193デフォルトの名無しさん垢版2021/09/19(日) 15:21:08.74ID:2xBMVIqA
まぁ、メモリリークの関係なら、C++ならスマートポインタを使えってことになるんだろうな。
もっともnew なんてそもそも使ってられんという環境も多いわけだが。
0194デフォルトの名無しさん垢版2021/09/19(日) 16:03:24.42ID:EjYrL+58
>>193
オブジェクト指向では異種の型をまとめてオブジェクトとして扱うが、ストレージ戦略としてはお汁粉並みに甘すぎる。
同じ型をstd::vector<>に保持するのが最良の戦略。
すると明示的なnew/deleteは必要なくなる。
0195デフォルトの名無しさん垢版2021/09/19(日) 16:32:10.76ID:dd44yU9B
>>194
> オブジェクト指向では異種の型をまとめてオブジェクトとして扱うが、ストレージ戦略としてはお汁粉並みに甘すぎる。

いきなり何を言い出してるの?
ちょっとこれの意味分かるやついる?
0196デフォルトの名無しさん垢版2021/09/19(日) 16:41:01.21ID:rdoGn3lB
分からん
0197デフォルトの名無しさん垢版2021/09/19(日) 17:08:28.35ID:EjYrL+58
わからんのか。
0198デフォルトの名無しさん垢版2021/09/19(日) 21:39:06.32ID:47WKG2cK
米語定期age
0199デフォルトの名無しさん垢版2021/09/19(日) 23:38:20.69ID:2t5v/hEZ
>>184
結局throw→catch機構で達成されていることは、
【記述】多段な関数呼び出しの途中では、エラーの存在を気にせずに記述できる。
【内部】多段な関数呼び出しの途中の戻り時に、内部で処理すべきことがあっても自動的に処理してくれる。
の2点に集約されるんだよね。

それらが達成できるならば、必ずしもthrow→catch機構が必須なわけではなくて、
Go方式だと記述面で煩わしいから解決していないけど、
Rust方式なら途中での関数呼び出し時は?オペレーターの1文字付加するだけで、エラー時も自動的に上へ上へと戻ってくれると。
0201デフォルトの名無しさん垢版2021/09/20(月) 13:59:12.86ID:G/NUxkWZ
>>200
Goにはmapとかfilterとかreduceとかのリスト処理するものも全く無いので
自分で毎回for文を使ってプログラミングする楽しみがある
0207デフォルトの名無しさん垢版2021/09/20(月) 19:30:29.55ID:dyuQx6w2
resource管理は所有権の概念ですべて上手くいく。
0208デフォルトの名無しさん垢版2021/09/20(月) 19:33:55.84ID:EyFwfCvn
Rustの気持ち悪さ
0209Mb垢版2021/09/20(月) 19:47:18.37ID:ca2ASSgD
>>13
> 向こうがなんか臭いのでこっち建てました
> タイトルも勝手に変えてるし
加齢臭もあるし説教臭くもあるので、
むしろ望ましいと思う。
0212Mb垢版2021/09/20(月) 19:57:19.79ID:ca2ASSgD
>>38
> 大半のプログラミング言語が手続き型なんだけど
> 本当に手続き型は最初の言語として相応しくないの?
そういうわけじゃなくて、
「順序構造に拘っちゃうと、並行処理というパラダイムに
対応できなくなっちゃうぞ?」という意味だと思う。
0213Mb垢版2021/09/20(月) 20:57:23.83ID:ca2ASSgD
>>211
某現場で、Java のコードのコメントで、(当時はコンテナの使い方が
よくわからなかったので、配列で処理したのだが)
「加齢臭漂う古臭いコード。前途ある若者は真似をしてはいけない。
コンテナクラスを使って書きなおすのが吉」と書いたら、チームリーダーから
「ソースは顧客さんも読むんですからね!」と涙ながらに叱られたことがある。
言語ごとにスタイルはあるし、歴史的な経緯もあるので、意外に
「どっちが古い」「どっちが新しい」とかは判断しがたい部分もある。
いろんな言語を経験してきたが、なかなか「プログラミング言語」の
ところまで掘り下げて考えるというのは結構めづらしいらしい。
くたばる前に書き遺しとおこうと思っている。
0214デフォルトの名無しさん垢版2021/09/20(月) 21:19:06.48ID:sE5U575H
>>213
> 加齢臭漂う古臭いコード。前途ある若者は真似をしてはいけない。
> コンテナクラスを使って書きなおすのが吉

完全に思い込みによるエイジハラスメントだな
いかにも年寄りが書きましたといって、年配コーダーがすべてそのような書き方をしていると決めつけている

普通に、ただ「コンテナで記述し直したほうが効率的になる」と記述すればよかったのに
余計な一言を入れるから問題になる。

これは人間性の問題だな
0215デフォルトの名無しさん垢版2021/09/20(月) 21:45:27.21ID:K47fvmSk
こんなわけわからんジジイにも働ける場所があるんだなって思えて将来の不安が少し消えました
0216デフォルトの名無しさん垢版2021/09/20(月) 21:51:26.53ID:dyuQx6w2
あわしろ氏がお勧めする数学志向言語、Haskell。
0217デフォルトの名無しさん垢版2021/09/20(月) 21:56:09.21ID:zEQlChxu
Rust教信者ががやたらとC/C++を敵対視してメモリ安全性を主張するけど、それだけのために文法を大きく変えて学習コストを引き上げる必要があったのかなあ?とは思うわな。

ちなみに加齢臭は閉経後の女性が一番きついそうです。加齢臭連呼している方々のママンくらいかな?
0219デフォルトの名無しさん垢版2021/09/20(月) 21:59:33.59ID:ikLxeDh9
前提条件なしならC#だな
環境立てやすい、よく使われてる(=潰しが効く)、アプリなどの身近なものが作れる、古臭くない、癖が強すぎない、などなどの理由で
0220デフォルトの名無しさん垢版2021/09/20(月) 22:09:00.96ID:LU+Sq8Vt
>>217
文法が学習コストって初級者くらいでしょ
中級者以上なら色んなプログラミング言語を使い分けるけど
それぞれ文法が異なることは大した問題じゃない

Rustに関してだと、文法面でRustが他の様々な言語と比べて特に難しいとか異様だとかは無いよ
むしろ従来のモダンな言語に慣れてる人たちからは親しみやすくわかりやすい方に入るね
0221Mb垢版2021/09/20(月) 22:12:27.21ID:ca2ASSgD
>>214
> 完全に思い込みによるエイジハラスメントだな
> これは人間性の問題だな
いや、実際に私が職場では(たぶん)最年長で、
たまたま言語寄りの仕事をしていたので拾われただけで、
当時はそういう雰囲気だったのだ。
Java も 1.4 以降だったものの、正規表現が使えるというのを
知らない人が多かったし、「SQL で再帰を使って
木構造データを比較する」みたいなことを考える人も少なかった。
「エイジハラスメント」というなら、アーキテクチャべったりの
C 言語や、Pascal P system みたい「中間言語+仮想マシン」を
知っている世代に対するハラスメントに対して、若い世代は
どう思っているのかを問いたい。
「再帰が使えない奴がいるとか w」とか、「for (;;) とか
while(true) がどんなオブジェクトコードに落ちるか考えた
ことがないのかね?」とか、年寄りに嗤われたくはないだろ?
「いまどき goto だってさ wwwwww」「『構造化プログラミング』
とか言うと、最近の若い連中は鼻で嗤ったりするんだぜ? ww」
とか言われたくないだろ?
0222Mb垢版2021/09/20(月) 22:13:17.32ID:ca2ASSgD
>>214
> 普通に、ただ「コンテナで記述し直したほうが効率的になる」と
> 記述すればよかったのに
コンテナクラスで記述すると、実行性能としては「効率的」には
なるのだが、べつにシステムの運用上タイトな部分ではなかったんだよ。
それより、「保守性」を考えると、コンテナクラスを使ったほうが
可読性は上がると判断した。
あんた一人でシステム全体を開発して、ずっと保守してくれるんなら
好きなようにやってくれ。
こっちは大勢のエンジニアが、ひとつのシステムを構築して、
保守担当のエンジニアに引き継ぐのが仕事であって、
全員が永遠に貼りついているわけでもないし、(ソースコードも含めた)
ドキュメントも遺さなきゃいけないんだよ。
「高級言語」というのは、読まれてなんぼだ。
0223デフォルトの名無しさん垢版2021/09/20(月) 22:14:52.08ID:gmahJzTR
コメントはお前の感想を書き込むお絵かき帳ではありません
コンテナとアレイがどうのとかいう以前の問題
0224Mb垢版2021/09/20(月) 22:23:23.85ID:ca2ASSgD
>>220
まてまて(笑)
> 文法が学習コストって初級者くらいでしょ
というのは分るが、「始めるのにいい言語」というスレタイの
趣旨からいうと、「じゃあ、どういう人がどういう動機で始めたいの?」
という根源的な話に戻ってしまう。
未経験のディジタル土方予備軍だけが相手じゃないぞ?
0225Mb垢版2021/09/20(月) 22:31:37.80ID:ca2ASSgD
>>223
動かねぇコードにコメントしても役に立つまい(笑)
「とりあえず動いてテストを通るコード」を書いて、
「保守性を考慮すると書き直したほうがいい」ということを
同じプロジェクトを進めている開発者に強くアピールするというのが、
そんなに悪いことかね?
「動けばいい」とか考えていいのは、ROM 焼きの組込みの
コードを書いている奴だけだと思うが。
0227デフォルトの名無しさん垢版2021/09/20(月) 22:50:05.33ID:gmahJzTR
>>225
医者がカルテに「人手も足りないし患者はお金も持ってないのでとっととおっ死ぬと思います」とか書いたら医者失格

人に何かをアピールしたいならプロとして恥ずかしくない言葉でプロとして恥ずかしくない方法でしましょう
0230デフォルトの名無しさん垢版2021/09/20(月) 23:26:27.92ID:gmahJzTR
支配も何もソースは(コメント含めて)人に見せられるようにかけってだけの話やがな
OSSで加齢臭がどうのなんてコメントの入ったソースがあるか?

そもそも動くように書いた後にリファクタリングでちゃんと書き直すのは現在では当たり前の話であって

現在のものにちゃんとキャッチアップできてない人はいくらローレベルに詳しくても現在始めるのにいい言語なんてわからないぞ
0231デフォルトの名無しさん垢版2021/09/21(火) 07:31:28.36ID:/6R4Fpya
初心者が考えるべきこと
1.勉強しやすい
  導入楽
  情報が整理されていて豊富

2.基礎を学ぶだけでいい
  基礎的な項目を網羅的に学べる(変数、論理式、繰り返し、条件、関数・クラス)
  言語特有の知識が少ない(基礎以外に学ぶ量が多いと挫折しやすい)

どの言語で専門性を掘り下げるかはその後考えれば十分
最初はどの言語でも共通して学ぶことを短時間で学び終えるようにするべき
多言語の習得は、その言語特有の機能を学べば済むので
扱う言語の広がりに関してはそれほどコストはかけなくて済む  
0232デフォルトの名無しさん垢版2021/09/21(火) 07:48:48.05ID:/6R4Fpya
>>213
クライアントのプログラム読解能力に
コードの制限がかかるとか
そんな会社にシステム発注できないわ
0234デフォルトの名無しさん垢版2021/09/21(火) 15:31:42.05ID:ZVAhNDzz
みんなで仲良く遊んでたら
空気読めない知的障碍者が勝手に遊びに来ちゃって
「誰だよコイツ呼んだの?」「しらねーよ」
「呼んでも無いのに勝手に来ちゃったんだよ」
「アイツの親に連絡して帰ってもらえよ」
って雰囲気になってない今?
0236Mb垢版2021/09/21(火) 15:52:29.09ID:aAtUMxPa
>>227
> 医者がカルテに「人手も足りないし患者はお金も持ってないので
> とっととおっ死ぬと思います」とか書いたら医者失格
とても健全な意見だと思う。事務系ソフトの開発者は、
「事務経費をシステム化によって、どれだけ圧縮するか」と、
「残業や休日出勤が減る」とかいったプラスの面と、
「システム運用にかかる経費」といったマイナス面を
勘案して、「手作業で流れてるんだったら、敢えてシステム化
する必要はありませんよ」と助言することしかできないので、
むしろ経営コンサルタントの仕事だ。
0237Mb垢版2021/09/21(火) 15:58:18.96ID:aAtUMxPa
>>227
> 人に何かをアピールしたいならプロとして恥ずかしくない言葉で
> プロとして恥ずかしくない方法でしましょう
それはたぶん「生意気な若造」の意見だと思う。
プロフェッショナルがプロフェッショナルな人間に
プロフェッショナルとして発言するのが通るのは、
相手がプロフェッショナルである、ごく稀なケースでしかない。
0238Mb垢版2021/09/21(火) 16:04:32.73ID:aAtUMxPa
>>226
> 組織には必要ないタイプの人間だねぇ
ダメな経営者が言いそうなセリフだねぇ(笑)
「必要なんだけど、煩かったり鬱陶しかったりする奴」
と上手くつきあうのが経営者としての手腕であって、
イエスマンに囲まれているような企業は早晩倒れる。
あんたは少なくとも起業とかするな。
0239Mb垢版2021/09/21(火) 16:09:41.50ID:aAtUMxPa
>>232
大きな声では言えないが、特に名を秘す某「みかか情報システム」
(仮名)にはそういう噂があると知人の知人に聞いたことがある。
0241Mb垢版2021/09/21(火) 16:20:31.55ID:aAtUMxPa
>>243
> みんなで仲良く遊んでたら
> 空気読めない知的障碍者が勝手に遊びに来ちゃって
いわゆる「健常者あるある」だな。
東京パラリンピックで、知的障礙者の山口 尚秀が
百メートル平泳ぎで金メダルを獲ったわけだが、
それが気に入らない奴もいるだろう。
とはいえ電算業界では、「人間性においてクズだろうがカスだろうが、
発達障害だろうが身体障害者だろうが、良いコードを吐く奴は
良いプログラマ」なんだよ。
ジャズでも聴いとけ。
0243Mb垢版2021/09/21(火) 16:36:22.27ID:aAtUMxPa
>>240
とことんシステム開発に向いてない奴だな。まず仕様書を読めるように
なってから来い。
「障害」というのは「不具合」「要処置事項」「アクションアイテム(AI)」
という意味だ。
「障碍」というのは、いわゆる「ボトルネック」だが、ボトルネックというのは
機能なので誤用ではあって、「隘路」くらいが適切だ。CPU と 一次記憶の
間を繋ぐのがデータバスとアドレスバスで、それを「フォン・ノイマンの
ボトルネック」と呼んだわけで、現代の並列協調処理パラダイムでは
あまり主流ではない。
「障礙」は「障碍」の正字で、「礙」は「般若心経」に出てくる。
ここは Q&A スレなので、今後は素直に質問すれば恥を掻かなくて済むぞ?
0244Mb垢版2021/09/21(火) 16:43:21.06ID:aAtUMxPa
>>242
> また来ちゃってるやん…
「マラナ・タ(然り。私はすぐに来る。)」
― ヨハネ黙示録
> また連投しちゃってるやん…
主はしつこく戸を敲(たた)けと仰っている(笑)
0245Mb垢版2021/09/21(火) 16:56:03.68ID:aAtUMxPa
>>219
うん。順当にいけば C♯か Java だろうな。
うちらはマイクロソフトを信用していないので
Java を使っているから詳しく知らないが、
たぶんそれほど悪くない言語だと思う。
スタンドアローンのアプリケーション開発用には
C♯は向いていそうに思う(VB とかの実績もあるしな)が、
Web 系(つーてもサーバーアプリ)だと Java に
軍配が上がりそうに思う。
0246デフォルトの名無しさん垢版2021/09/21(火) 17:45:55.79ID:r8+d103l
Microsoftが信用ならないって、ほとんど20世紀の感覚だと思う
JavaとVisual J++でやり合っていた時のころ
今はトップクラスで信用できる会社のひとつじゃないかな
0249デフォルトの名無しさん垢版2021/09/21(火) 18:23:40.90ID:2btBxRuQ
switchとgotoを組み合わせてステートマシンを作るイディオム。
0250デフォルトの名無しさん垢版2021/09/21(火) 18:24:28.75ID:2btBxRuQ
関西では、あわしろメソッドと呼ばれてる。
0251Mb垢版2021/09/21(火) 19:07:51.66ID:aAtUMxPa
>>246
> Microsoftが信用ならないって、ほとんど20世紀の感覚だと思う
システムコールを開発者に内緒で仕様変更したとか、
ハードディスクがまだ普及していなかった頃に、ハードディスクを
接続するとフロッピーディスクを着脱不能のメディアと御認識して
うっかりFDを差し替えると FAT(ファイル・アロケーション・テーブル)を
書き潰しちゃうという大バグを隠してこっそり回収したり、
IBM と共同開発していた OS/2 から人材と技術を引き抜いて
Windows で叛旗を翻して、あげく OS/2 Worp のときに
「出る出る詐欺」(ペーパータイガー戦略という)で
潰しにかかったり、Windows XP でいちおう Windows が
安定するまでバージョンアップを名目にバグフィックス判を
リリースしたり、あの会社は散々やらかした経緯がある。
正規のディベロッパー契約を結ばないと情報も出てこなければ、
結んだら結んだで守秘義務契約で口封じされる。
その後も EXCEL で高速化のために内部表現を十進法から
二進法に変えて誤差が出て結果がおかしくなった件もある。
いちいち厳重なバリデーションテストを行なって、納入先の
コンパイラのバージョンを指定しないとソースを納められないような
会社を信用する奴は馬鹿だ。
0252Mb垢版2021/09/21(火) 19:18:03.27ID:aAtUMxPa
AT&T ベル研究所も、カーマーカー特許に絡んで
嫌われている。
「unix はAT&T ベル研究所の登録商標です」と主張して
バークレイ版の unix を潰しにかかったが、
これに日本マランツが待ったをかけた。
「unix は日本マランツのスピーカーシステムの登録商標だ」。
そんなわけで、当時の電子雑誌では「unix は AT&T ベル研究所が
開発したオペレーティングシステムの名称です」と広告されている。
まぁ、Linux が開発される原動力になったという果報はあるが、
Minix も再評価されてもいいと思う。
0257デフォルトの名無しさん垢版2021/09/22(水) 05:18:56.89ID:5brsinXw
状態遷移図
0258Mb垢版2021/09/22(水) 14:25:15.47ID:9UO88pW2
>>253
> 見苦しいぞ。負け犬の遠吠えw
>>256
> マキャベリの君主論とか好きそう
それがスレタイと何の関係があるか説明してくれ。
なんかしら読む人に資すものがあってこそのエントリだ。
0260デフォルトの名無しさん垢版2021/09/22(水) 18:48:31.80ID:AZ/8Jvbm
ベンダーロックインを避ける必要が有る。
M$言語はその点がダメ。
0261デフォルトの名無しさん垢版2021/09/22(水) 19:01:55.49ID:6/pvg5G0
F acebook = react語(JavaScript)
A mazon = corretto語(OpenJDK)
N VIDIA = cuDNN語(Python)
G oogle = Android語(Kotlin)
0262Mb垢版2021/09/22(水) 19:56:27.16ID:9UO88pW2
>>259
それ言うたらスペインとかあかんやろ。
インドとかどうすんねん。

>>260
それは常々そう思う。
「だったら変えるなよ」と思うんだが、
正規のディベロッパー契約を結ばないと
開発者に知らされないのが腹立たしい。
0265デフォルトの名無しさん垢版2021/09/23(木) 00:12:10.80ID:2IchI2OZ
>>264
Huaweiが入ってるからダメ。
0268デフォルトの名無しさん垢版2021/09/23(木) 08:24:48.68ID:9s9g9/Qa
みずほはどうするかな
迷宮魔訶の現システムから拡張するのか(100億円)
Rustを使って新しくモダンに作り変えるのか(500億円)
0269デフォルトの名無しさん垢版2021/09/23(木) 10:59:40.87ID:JLOwU3n4
RustってC/C++の跡を継ぐ低レベル言語のイメージしか知らないんだけど、
COBOLやJavaから置き換わったりするの?
0271デフォルトの名無しさん垢版2021/09/23(木) 11:17:11.50ID:dNLbVzXy
>>269
例えばFacebook社はJavaを捨ててRustを採用だそうです
以下の記事でJavaからRustへ移行した話が書かれています


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に移植することで劇的な性能向上を私たちは見てきました。
0273デフォルトの名無しさん垢版2021/09/23(木) 11:20:43.68ID:zah9lHsX
みずほって下請け孫請けで外国人に開発任せてそうでこわい
0274デフォルトの名無しさん垢版2021/09/23(木) 12:50:13.72ID:YlCU9yCm
>>269
>COBOLやJavaから置き換わったりするの?
一般的な業務アプリはRustに置き換わったりしない

主な理由は以下の3つ
1. GC言語で性能的には困っておらずRustは余計な手間がかかるだけ
2. Rust開発者を雇えない
3. 業務アプリ向けのエコシステムが未成熟

とにかく高い性能を求めたい領域以外は手間に見合わない
何でもかんでも金槌で叩こうとする前に問題に対して適切な道具かどうか考えるといいと思う
0275Mb垢版2021/09/23(木) 12:59:27.76ID:yQ5Tqsgr
Rust に関してはいろいろ勉強してみたが、
FORTH(逆ポーランド記法)を
アルゴル風の文法でラップした言語だと思う。
C++ とかとは似た方向性ではあるが、
なんかしらフランケンシュタイン的なツギハギな
印象を受けた。
ぶっちゃけ、固定長データを扱う FORTRAN 系言語と、
可変長データを扱う LISP 系言語とは、なかなか
擦り合わせが難しいということだと思う。
そういう意味だと、Java はよくまとまった言語だと思う。
0276デフォルトの名無しさん垢版2021/09/23(木) 13:01:06.20ID:+msTnWug
>>274
現実>>271を見ようぜ
Javaは明らかにRustへ置き換えられていく運命
どちらも扱える人なら誰でもわかるがプログラミング言語としてRustの方が組みやすさも能力も安全性も上
0279デフォルトの名無しさん垢版2021/09/23(木) 13:08:40.99ID:Hx3fVPEd
Javaは古い言語だけど
頑張って進化しようとしてきてツギハキだらけの面はたしかにあるよ
Javaはこれからの人たちは絶対に避けるべき言語
0280デフォルトの名無しさん垢版2021/09/23(木) 13:29:22.20ID:6/XnFQj5
Rust>Kotlin>>>Javaくらい大きく書きやすさが違うね
Javaはいくらなんでも古すぎる
0282Mb垢版2021/09/23(木) 13:48:17.70ID:yQ5Tqsgr
>>278
> 君は嘘つきだ
そう言えるほど、キミは FORTH と Rust を勉強してきたのかね?
FORTH は制禦用の言語なので、文字列データの処理は意識していないし、
配列も固定長で確保されているだけだ。
そういう意味では汎用言語ではまったくなくて、「目的用言語」
だからこそ「FORTH」という名前がついている(本当は、
目的別言語として「汎用の第三世代の高級言語」として「FOURTH」と
命名しようとしたら、OS の文字長制限に引っかかってこういう名前に
なった)。
「変数スコープとかあんまり気にしなくていいから、スタック上の
データとかすっ飛ばしちゃっていいよね?」という発想と、
「GC とかめんどくさいから、文法で制限しちゃえ」という意味では
FORTH とRust はコインの両面だとおもう。
0283デフォルトの名無しさん垢版2021/09/23(木) 13:50:21.59ID:iYV8pxeZ
>>271
確かにJavaで非同期プログラミングは苦行。
Javaが言語としてRustより優れている点は皆無なので、JavaのアドバンテージはJava土方の人数の多さくらいか?
0284Mb垢版2021/09/23(木) 13:52:52.90ID:yQ5Tqsgr
>>279
まぁ、その通りなんだけどさ。
> Javaはこれからの人たちは絶対に避けるべき言語
とか言われちゃうと、ノスタル爺婆である我々は
ちょっと涙ぐんじゃうよ?
「梅干し婆ぁと呼ばれるけれど、鶯鳴かせた春もある」
0286Mb垢版2021/09/23(木) 14:02:14.59ID:yQ5Tqsgr
>>239
> JavaのアドバンテージはJava土方の人数の多さくらいか?
航空宇宙分野では、「国破れて銀河あり」という言葉があってだな、
生産性と保守性が確保できるのが重要なんだよ。
電算業界人をドカタとかヨイトマケとか言うのなら、
「どんだけコードが書けるの?」という話にはなる。
Java でちゃんとコードが書けて、C のコードが読めるんだったら、
誰にも文句は言わせないと思うがな。
0287Mb垢版2021/09/23(木) 14:08:06.35ID:yQ5Tqsgr
>>285
> Rustはそんなことしていない
> 君はRustを全く知らずに妄想で批評しようとしている
だったら Rust が同じプロセッサ上で、他の C 並みの
実行速度をどうやって稼いでいるかについて、
無知な私に納得できるようにご教授いただきたく思う。
0289デフォルトの名無しさん垢版2021/09/23(木) 14:25:37.94ID:lUK0l/hC
Rustは使う機会があれば使ってみたいけど機会がないな
今のC/C++コンパイラがRustに置き換わるようになってきたら使ってみたいね
0291Mb垢版2021/09/23(木) 16:00:40.77ID:yQ5Tqsgr
>>288
馬鹿を相手にしてスレを汚した件については謝罪する m(_ _)m
LISP だと文字アトムほかの文字というのは、
CONS セルで処理しているので、GC といっても
「可変長データ領域」の話じゃなくって、
LISP のご本尊である CONS セルの話なんだよな。
いちおう相手が理解していることを前提として、
このスレの住民が納得できるように返答しようと
努力はしている。
0292Mb垢版2021/09/23(木) 16:20:20.83ID:yQ5Tqsgr
ところで、「5ちゃんねる」のページの文字コードが、
いまだにシフト JIS だという点については、
例)> content="text/html; charset=Shift_JIS"
ちょっと苦情を言いたいところはある。
0293Mb垢版2021/09/23(木) 16:36:44.01ID:yQ5Tqsgr
改行符号に関しても、それぞれの OS によって違いがある。
まぁ、純機械式のタイプライターなんか使った世代はとうに
絶滅しかかっているだろうけども、「キャリッジ」という
紙を巻きつける部分があって、その左端のハンドルを向かって左のほうに
払って次の行に備えるわけだ。
そのとき、「行送り(ラインフィード。Lf)」が先に行われて、
「キャリッジ・リターン(Cr)」は後に来るのが普通だったんだ。
だから、OS によって、「Lf/Cr」だったり、「Cr/Lr」だったり、
「Lf」だったりといろいろだったりする
(いまどきのパソコンは、「Enter」だが)。
Java はこのあたりに対応している言語なので悪くない言語だと思うが、
「爺婆は便所掃除でもしてやがれ wwwwww」という人もいるので、
「そういうのがいまどきの若者なのかなぁ」と思うと
絶望的な気分にはなりがちだ。
0296デフォルトの名無しさん垢版2021/09/23(木) 18:14:34.30ID:Ou/pqlRv
土方プロジェクトの難しさは大量の低スキルエンジニアを使いつつ
大きな問題を引き起こさないようにマネジメントすることある

言語の違いはエンジニアの確保しやすさという点を除くと瑣末な問題
0297デフォルトの名無しさん垢版2021/09/23(木) 18:18:43.75ID:t30s0ig8
その連投Java土方さんはJavaしか出来なくて新たな言語は理解も出来ないダメ人間
なのに知ったかぶりで語ろうとしてデタラメばかりの有害人間
0298デフォルトの名無しさん垢版2021/09/23(木) 19:31:17.72ID:9s9g9/Qa
Javaでみずぽ開発ならOracleに巨額を支払わんとな
1クライアント当たり年間10万とか言われたら終わる
組み込み系でメモリ管理でき
セキュリティ、拡張性、保守性を担保できる言語で
将来の安定運用を考えたらRust、C
0299デフォルトの名無しさん垢版2021/09/23(木) 20:03:21.68ID:AFCBipPb
>>297
これよく言われるけどJavaって最近の言語に比べたら遥かに難しくないか?
少し頑張れば他の言語の習得も簡単だろうよ
やる意志さえあればだけど
0301デフォルトの名無しさん垢版2021/09/23(木) 21:15:04.69ID:R+li680H
>>299
Javaは過渡期の言語だったので、概念が整理しきれていない、という印象があるなあ
基本型・参照型とか、saticメソッドとか、プロパティとか
まったくの初心者が学ぶ言語ではないと思う
0302デフォルトの名無しさん垢版2021/09/23(木) 21:40:06.68ID:t/LESGnW
Javaは言語自体も面倒くさいけどJavaのためだけに覚える必要のある周辺ツールとかライブラリが多すぎるわ
GoとかPythonより遥かに参入障壁が高い
0305デフォルトの名無しさん垢版2021/09/23(木) 22:44:44.89ID:9wzKaMiq
>>304
それもRustが向いてる
強力な静的型付け言語であるだけでなく
コンパイルが通った時点でメモリ安全性の保証までしてしまう
0310デフォルトの名無しさん垢版2021/09/24(金) 09:18:38.69ID:BBg2gpcC
DartとJavaScript、要はflutterかreactかなんですけど、どちらがお勧めですか。
最初の一歩は予算実績比較のチャート表示のSPAです。
Flutter では売り上げ管理ソフトが吐き出すcsv をチャート表示したりするところまでやってみたんですけど、その先、在庫データやらの統合と、紙の注文書の読み取りにopencv 使ったパターンマッチ(ocrライブラリは精度が足りなかった)とかやっていくつもりです。
サボる為にwindows.system.automationで作った自作ツールとも連動させたいです。
0313デフォルトの名無しさん垢版2021/09/24(金) 12:23:58.34ID:ow12Eod1
>>310
まず最後のwindows.system.automationでベンダーロックインせずにウェブブラウザベースには出来ないものなの?
もしその部分がウェブブラウザでは限界というか無理でデスクトップアプリが必要ならば
ベンダーロックインせずに済むElectronベースがお勧めかな
例えば具体的には人気トップのコードエディターであるVSCodeなどがこのElectronで作られていてWindows上でもMac上でもLinux上でも同じコードで動くメリットがある
Electron=Chromium(=ChromeやEdgeなど様々なブラウザの母体ライブラリ)+Node.js(=ブラウザ外で動くJavaScript環境) で出来ているデスクトップアプリ開発プラットフォーム
つまり使用言語はJavaScript(+HTML+CSS)
つまりウェブブラウザベースのウェブアプリ開発と完全に同じ技術というところもメリット
0315Mb垢版2021/09/24(金) 13:56:52.19ID:0RwWIfrZ
いや、フツーに C とJava をやっといて、
それから他の言語にシフトするんじゃ駄目なのか?
そこがわからん。
C や Java は一切触れてはいけないサタンであり、
Rush はエホバであるから他の言語はすべて滅ぼさないと
天の国にゆけない、とか信じている人は少ないだろうが、
そういう人がこのスレに集(たか)ってくるとすれば、
それなりに対処したほうがいいように思う。
0316Mb垢版2021/09/24(金) 14:30:54.64ID:0RwWIfrZ
>>299
Java は、「難しい」というよりも、
「商業的に通用するような、ちゃんとした(実行性能が高くて
保守性が高い)プログラムを書こうとすると、けっこう面倒臭いし
記述が長くなる」という傾向があって、すでにレガシーになりかけた
C とか Java とかのコードを山ほどクレンジングっつーか
リファクタリングつーかチューニングっつーか、そういう経験を
積まないと、Java の有難みというのは、わからんと思う。
「古いプログラムがベースのシステムは、全部リプレースしちゃえ」
というのは、みかかの手先だと思われるぞ?
まず、お客さん(クライアント)のほうを見ようや。
0317デフォルトの名無しさん垢版2021/09/24(金) 14:34:38.11ID:6iUyOY+3
最初にやるのはPascalがおすすめだよ

C:原理主義
C++:共産主義
Rust:世俗主義
Java:商業主義
0320Mb垢版2021/09/24(金) 15:51:18.78ID:0RwWIfrZ
>>317
Turrbo Pascal みたいな、
お手軽な処理系があったらいいな。
Eclipse みたいなお手軽な IDE 上で
動いてくれないかな。
0324デフォルトの名無しさん垢版2021/09/24(金) 17:16:44.04ID:KCZKhweu
興味を持ってもらっているのに、
興味を持つなは、言わない方がいいのでは?
0325デフォルトの名無しさん垢版2021/09/24(金) 18:08:05.54ID:Zy9h69w8
実用性で言ってんだよ!
Pythonだろ!
0326デフォルトの名無しさん垢版2021/09/25(土) 02:05:18.86ID:YvsYwnu1
これからの若者は数学志向プログラミングに馴染むべき。
あわしろ氏がお勧めするHaskell。
0328デフォルトの名無しさん垢版2021/09/25(土) 06:56:38.85ID:O5uOhADu
>>313
Automationは某大手の販売管理、会計ソフトに使っています。裏はSQLServerで直接クエリを投げることも出来はするのですが、歴史あるだけあって、まさにスパゲティなテーブル構成。でもちょっと頑張ってみる気になりました。

>>314
>>10見てこのスレで聞いてみました。JavaScript始めます。

良いアドバイスいただけて感謝です。
0331デフォルトの名無しさん垢版2021/09/25(土) 08:37:20.33ID:0L4s8Q79
ウェブアプリやデスクトップアプリ等を共通した技術で作りたいならJavaScriptで正解
0334デフォルトの名無しさん垢版2021/09/25(土) 12:30:28.73ID:5NLzEnId
javascriptって解説書少なすぎるよな
それってつまり一番不要な言語ってことじゃないのかな
0335デフォルトの名無しさん垢版2021/09/25(土) 12:53:49.59ID:MT+fjwH/
それはない
JSの需要は今後も拡大するけど
旧文法の勉強もするひつようがあるから
初心者向きではない
WEBやるなら必須言語だし
0336Mb垢版2021/09/25(土) 13:38:33.68ID:Ow2ePG0l
私自身は、
変数スコープとかがいいかげんなのに、
普及しちゃったんで引っ込みがつかなくなっちゃった、
みたいな印象があるんですよ。
「JS2」とかいって、やりなおす方向性もあっていいと思います。
DOM というコンセプトで纏めるという指向性というのは
あっていいと思いますが、これだけ流行っちゃうと
「回収が難しい」という感じはありそうに思います。
0337デフォルトの名無しさん垢版2021/09/25(土) 14:36:03.97ID:YvsYwnu1
数学志向言語、Haskell。
0338デフォルトの名無しさん垢版2021/09/25(土) 14:53:29.36ID:MT+fjwH/
JSは現状でいえば、不完全すぎる言語
一度、この段階で新しいJS言語を作るべきだよな
0340デフォルトの名無しさん垢版2021/09/25(土) 17:43:54.73ID:wMFSv1EV
推奨されなくなった書き方はたいていlinterで弾けるから古い文法に足を引っ張られるようなことはあまりないが。
0342デフォルトの名無しさん垢版2021/09/25(土) 20:48:16.53ID:Ow2ePG0l
JSの標準的な開発環境について知りたく思う。
Eclipse 上で Java のコードを扱っているぶんには、
非推奨なら非推奨で構造エディタが指摘してくれるので
とりあえず不自由はないのだが。
0344デフォルトの名無しさん垢版2021/09/25(土) 20:51:58.01ID:YvsYwnu1
>>341
結局C/C++風にするなら、最初からC/C++で良かったのでは。
0345Mb垢版2021/09/25(土) 20:55:20.77ID:Ow2ePG0l
>>341
いまさらJavaScript みたいな
クライアントサイドの言語は
勉強したくねーわ(笑)
とはいえブラウザを「JS の実行環境」だと思えば、
それなりに興味深いところはあるのだが、
MS が他者のブラウザを潰しにかかった過去の経緯が
あるんでなぁ ……
MS の会社としての態度次第ではあるように思う。
0346デフォルトの名無しさん垢版2021/09/25(土) 20:57:08.36ID:ZXxKSwLb
jsの4大欠陥
thisの仕様
let、const以外の変数宣言方法
for of以外のforeach系for
==と!=の存在
0348デフォルトの名無しさん垢版2021/09/25(土) 21:16:52.74ID:0L4s8Q79
>>343
TypeScriptはJavaScriptに静的型宣言などを付け加えただけなので覚えることは9割同じ
つまりPythonやRubyなど他のスクリプト言語を学んでも動的型付けの世界に甘んじるしかないが
JavaScriptを学べばそのまま静的型付けのTypeScriptを使えることも大きなメリット
0349Mb垢版2021/09/25(土) 21:41:23.27ID:Ow2ePG0l
>>347
ぶっちゃけ 9.11 で時間留止まったわ。
3.11 ではさすがに驚いたが、
まさか二〇一一年にもなって、
東日本大震災を越える死者がコロナで出るとは
思わんかったわ。
東日本は東日本だったが、コロナは日本全国どころか
全世界レベルなので、本当に早く終息して
ほしいと熱望する。
つーか、バブル景気崩壊から十年頑張っただけでも
正直褒められたいわ。
0350デフォルトの名無しさん垢版2021/09/25(土) 21:49:08.46ID:5KmmwJQs
>>344
ブラウザ内プログラミング言語が、なぜC/C++などの言語では適していないかというと、ブラウザ内でもGUIや通信など非同期プログラミングが最適および必須となるためだ。
JavaScriptは非同期プログラミングでも書きやすく設計されており、継続渡しも自然にわかりやすく記述できるなど、他のプログラミング言語と比較して上手く設計されている。
例えば非同期プログラミングで、Promise/Futureなどの処理を返す関数を、様々なプログラミング言語で書き比べてみると実感できる。
0352デフォルトの名無しさん垢版2021/09/26(日) 09:55:20.57ID:vDcE5s5S
あすぺみたいのがいるから
ダイナミズムの奥行きが出るんだよ
天才は凡才には測れんということ
0356Mb垢版2021/09/26(日) 12:28:24.41ID:tXVd2t/V
じっさい私らは「アスペルガー症候群」というカテゴリーに
分類されそうには思っているのだ。
だけど、「障害」としての「アスペルガー症候群」っつーのは、
いわゆる「(いわゆる)自閉症」とは、「知能指数」みたいなもので
区別されているので、フツーに勉強ができて社会生活が営めると、
なんかしら「自閉社会」っつーか「自閉業界」では肩身が狭い。
「似非自閉」みたいな気がするのだ。
つーても、プログラミング言語の開発とか翻訳とかの仕事をして
いらっしゃる方々には、「自閉スペクトラム(以下、「A」)」の方は多いと思う。
割っていうと、プロ棋士(碁ではなく将棋のほう)は、ほぼ A だと思うぞ。
0357Mb垢版2021/09/26(日) 12:39:15.09ID:tXVd2t/V
>>353
> 世間で活躍してるインテリは非アスペやで
そういうのを精神医学的には「極端化(ポーラライゼーション)」
という。
「アスペ(≒アスペルガー症候群)」というのは
「高機能広汎性発達障礙」とほぼ同義語であるとか、
自閉は、かつてカナー型とアスペルガー型に分類されていたとか、
そういう歴史を踏まえない奴はプログラマというかシステム開発者に
向いていないと断言しよう。
私は A のカテゴリーにいる。高橋秀俊さんなんかは、明らかに
「こっち側」だ。「こっち側」のインテリゲンチャはむしろ
インテリの中では多数派だ。
0358デフォルトの名無しさん垢版2021/09/26(日) 12:46:55.58ID:loHIOGgF
それを生身の人間に相手の目を見ながら言ってご覧
それでお互いに得るものがあって気持ちよく時間を過ごせるならいいけど
そうでないなら君はネット掲示板の仕組みに甘えているだけ
0359デフォルトの名無しさん垢版2021/09/26(日) 13:35:27.88ID:xe1fV5oa
現実
^q^「そういうのを精神医学的にはポーラライゼーションという」
相手「は?ポーラライなんて?」

これで会話が終わります
0360Mb垢版2021/09/26(日) 15:46:23.14ID:tXVd2t/V
>>358
> それを生身の人間に相手の目を見ながら言ってご覧
> それでお互いに得るものがあって気持ちよく時間を過ごせるならいいけど
いや、フツーにやってるけど、「生身の人間に相手の目を見ながら言う」
という風習が A 関係では一般的ではないんだわ。
北島 三郎さんの『兄弟仁義』かなんかで「俺の目を見ろ
なんにも言うな」みたいな歌詞があったような話はあるが、
同じプログラミング言語という俎上で勝負するのは
まったく不快ではない。むしろ歓迎する。
C と Java は、土俵としてふさわしいと思う。
0361デフォルトの名無しさん垢版2021/09/26(日) 16:58:36.62ID:K1SPl3Hp
そういうわけでHasklellがお勧めなのです。
0362Mb垢版2021/09/26(日) 17:38:43.33ID:tXVd2t/V
>>361
いや、Haskell が悪い言語とは言わんけどさ、
いわゆる「数学」には、「計算量」とかいった算数的な
概念がねぇだろうが。
それを考えると、「始めるのにいい言語」としては、
「遅延評価っつーのは何か?」あたりの話を理解してもらってないと、
Haskell の何が有難いかというのが理解できんだろう。
フツーの手続型言語で修行したうえで、そっちへ行ったほうが
いいと思う。
もっとも、「五年後には Haskell のような遅延評価型の言語が
世界を席巻していて、古臭い手続型言語は忘れ去られているのだ!」
とか言われたら仕方はないわけだが、アセンブラとか C とかが
半世紀以上現役なわけだから、年寄りを労(いた)わってくれても
いいんじゃないか?
0363Mb垢版2021/09/26(日) 17:51:42.98ID:tXVd2t/V
>>259
> 現実
> 「そういうのを精神医学的にはポーラライゼーションという」
> 相手「は?ポーラライなんて?」
> これで会話が終わります
それは現実認識が甘いな。
「だからキミが言ってるのは極論なんだよ!!」
とか言ってる上司が「絶対」とか言ってる時点で
「あぁ、こいつポーラライゼーションを起こしているなぁ…」
と思うだけで、「普通に話が通じるんだったら、方向性としては
極端であっても、それはそれで付合いやすい」という話だと
思う。
わりと極端なプログラミング言語はいろいろあるけど、
その設計思想に踏みこんでみると、けっこう共感できる部分がある。
0364デフォルトの名無しさん垢版2021/09/26(日) 19:30:27.42ID:vDcE5s5S
ADHDの方がそうでない人より秀でているっていう事実を受け入れよう
物事を極めるのなら自閉症スペクトラムには適わない
スペクトラムが原因で社会から脱落する人もいるがね
0365Mb垢版2021/09/26(日) 20:22:57.35ID:tXVd2t/V
>>364
このスレの主旨と一致しないので、この話題は引張りたくはないのだが、
AD(H)D と ASD は六割くらい症状はカブるものの、「どっか違う」と
いう認識がお互いにある。
ただ、どっちも注意力に問題があって過集中ぎみなので、
プログラマに向いている(つーか、他の職業がなかなか見つからないっつーか)
傾向はあると思う。
小学生のころに LOGO の授業があって、それまでまともに授業中に
椅子に座っていられなかったのにコンピューターの前から離れなかった、
という話は知っている。
コンピュータは何十時間だろうが待っていてくれるし、横槍とか茶々とかは
(昨今のネット環境だとそうでもないが)入れてこないので、
ASD とか AD(H)D には、プログラマというのは向いている稼業であるように
思う(それを考えると、仕事中に広告やらなんやらのウィンドウがいきなり
開くのは非常にイラつくんだが)。
スレの主旨に戻ると、C のようなハードウェアべったりの言語や、
FORTH のようなコンセプトが明確な言語、でなければ LISP のような
言語がありがたいが、あんまり商売にはならない(需要が少ない)ので
Java なんかは有難い。Java は「オブジェクト志向」というふれこみは
あるが、掘り下げてみると古い言語のコンセプトの寄せ集めみたいな
ところがあって、ある程度馴染むとそう悪い言語ではないと感じる。
0366デフォルトの名無しさん垢版2021/09/26(日) 20:26:14.53ID:vDcE5s5S
>>365
普通の人がハマったスペクトラムに適うことはない
そしてスペクトラムの人は我が道を行くので他人の忠告は聞かない
まして他人の言ってることはスペクトラムからしたら
的外れだし、聞くに堪えない内容だから
0368Mb垢版2021/09/26(日) 20:47:30.56ID:tXVd2t/V
C 言語というのは、ノイマン型コンピュータのアーキテクチャ
べったりで「CPU」「レジスタ」「ノイマンのボトルネック」みたいな
ことを頭にいれてステート数を勘定しながらコードする
「スピード野郎向きの言語」だと思うのでわかりやすい。
FORTH は「スタック」と「逆ポーランド記法」というコンセプトが
明確だ。LISP も古い言語だが、「CONS セル」「動的な GC」とかいった
話が実装のすぐ下にあって、これまたわかりやすい。
Pascal は p-code system があり、BCPL なんかとともに
「ALGOL 60 系の言語処理システム」としての体裁が
しっかりしている(Modula-2 もよかったんだが、最近は
とんと見かけない。OS9 では動いてたんだがな)。
Haskell は注目株なんだが、「遅延評価」というコンセプトと
「何がありがたいのか」みたいな応用上のご利益が
解りづらいのが難といえば難。
Prolog もいい言語ではあるらしく、「あれは『論理型言語』という
枠組みを抜きにしても、使い勝手のいい言語だ」(中島秀之氏談)という
意見もある(BASIC で実装した例もあるから、Java でもできるだろう)。
「おのおのの言語処理系が、どのように実装されているか?」という観点から
見ると、「言語処理系としての Java というシステム」は、けっこう
面白いと思う。
0370Mb垢版2021/09/26(日) 21:08:03.05ID:tXVd2t/V
>>366
いや、そういうモンでもないと思うぞ?
「普通の人」が「ハマった自閉」に敵うことはないと
いうのは多分に思いこみがあって、フツーの商用システムは
順当な設計においてフツーのコードで構成されているので、
Java とか C♯とか VB とかいった言語でおおむね間に合う。
まぁ、私は MS が嫌いなので Java を使っているだけなので、
JS やら Python やら Perl やら PHP やら Ruby も、
使いどころがハマっているならそれぞれいい言語なんだろうと
思っている。
0371Mb垢版2021/09/26(日) 21:09:26.31ID:tXVd2t/V
そしてスペクトラムの人は我が道を行くので他人の忠告は聞かない
まして他人の言ってることはスペクトラムからしたら
的外れだし、聞くに堪えない内容だから
0373Mb垢版2021/09/26(日) 21:25:06.96ID:tXVd2t/V
すまん m(_ _)m。誤爆した。
>>366 は、「自閉症スペクトラム障害」に関して誤解があるように
思われる。
コンピュータ様は書いたプログラム通りに正確かつ高速かつ無慈悲に
実行されるだけなので、プログラマは融通が利かないのではなくて、
ユーザ様とコンピュータ様の間を取りもっているだけなのだ。
営業がプログラマに嫌われるのは、顧客にはいい顔をして、不都合は
プログラマに押しつけるからであって、プロクラマは「どう説明したら
コンピュータ様は効率よくお仕事をしてくださるのか」ということを
考えているだけであって、それが COBOL だろうが SQL だろうが C だろうが
Java だろうが C♯ だろうが Visual Basic だろうが、それは単なる
手段であって、正直些末なことだ。
「始めるのにいい言語」というのは入口でしかないので、
どこを通過してどこに行きたいかによって、おのずと答えは違ってくる。
0374Mb垢版2021/09/26(日) 21:30:51.51ID:tXVd2t/V
>>372
向こうは向こうで地味かつ地道にやっている。
文句があるならそっちから出向いてくるのが礼儀じゃないか?
0375デフォルトの名無しさん垢版2021/09/27(月) 19:56:54.95ID:SYA7X/2B
>>362
でもキミは理解してるじゃないか。
0377Mb垢版2021/09/27(月) 21:00:16.33ID:+9W35AG0
>>376
> すぐにボロが出る
「喋る馬鹿はすぐバレるが、黙っているとバレない」そうだ。
「すぐにボロが出る」んなら、「まだボロを出してない」という
ことだろう? どこでポロが出てるか教えてくれ。
> 間違えている文章も非常に多い
だったら具体的に指摘して反論すりゃあいいじゃないか。
そのための掲示板だろう?
0380デフォルトの名無しさん垢版2021/09/27(月) 23:22:47.85ID:os1eDoUd
相手がなにに関心をもってるか
相手の立場で考えれてない様子など

これからはじめようってやつが
遅延評価がどうたら言われて
どうしろというのか
0382デフォルトの名無しさん垢版2021/09/28(火) 00:26:19.90ID:Wh6OTA9T
Cちゃんと青春時代を過ごし、ふたりだけの秘密のバグにクローズ・ユア・アイズしたことがなければいいプログラマにはなれない
過ちの記憶を胸にしまったまま今もどこかで走り続けるCちゃんとの思い出が君を強くしてくれる
0384デフォルトの名無しさん垢版2021/09/28(火) 00:48:16.97ID:YGhvVDZx
Cもアセンブラも使ったことあるけど最近のウェブ業務系とかメモリやレジスタなんかまるで弄らなくてそれより開発手法とかなのよ

まあプログラマになりたいというならやっといた方が良いとは思うけどぶっちゃけ今はメモリなんて何にも知らなくたってハードに近いとこやらないならまるで問題ない
0385デフォルトの名無しさん垢版2021/09/28(火) 01:11:03.94ID:En66jhHV
>>373
御新歓達には御神官様のありがた〜いお言葉なのに
神ピューターを使役する使徒の使途が不明なのですが
中身の無いレスよりファミレスな感じが好きです
0386デフォルトの名無しさん垢版2021/09/28(火) 06:32:01.58ID:YdNV7C0Z
仕事で一番大事なのはデータだからな
アルゴリズムやらハードウェアの勉強をしてもほとんど役に立たない
データ構造とかデータベースの勉強は仕事に直結する
0388デフォルトの名無しさん垢版2021/09/28(火) 11:35:56.92ID:r5fCe2E+
CRUDするだけのアプリ開発の案件って2021年になっても結局AIとかに奪われなかったね
業務に依存する細かい機能はやっぱ人間がやらないと難しいのか?
0389Mb垢版2021/09/28(火) 14:07:44.56ID:1n55ADGm
>>380
> これからはじめようってやつが
> 遅延評価がどうたら言われて
> どうしろというのか
第四世代言語って、そういうもんじゃねぇの?
まず「やりたいこと」があって、それ用の言語を
作っちゃうのが一つの方法であって、
ALGOL 60 はアルゴリズム記述言語、
Prolog はホーン節の論理を記述する言語、
FORTRAN 60 は数式ベース。
他にも COBOL(事務処理) や SNOBOL(テキスト処理) や
DYNAMO(システム・ダイナミクス)なんかがある。
FORTH も、天体望遠鏡の制禦用だった。
0390デフォルトの名無しさん垢版2021/09/28(火) 16:24:26.88ID:nD0g4rLv
みずほは変態仕様なんだろうなきっと
0391デフォルトの名無しさん垢版2021/09/28(火) 18:33:21.98ID:Wh6OTA9T
3人のCOBOLちゃんのどの娘と結婚してもあとの二人に殺されるので
3又状態でうまくやっていくことを選択したのがみずぽ君
0392デフォルトの名無しさん垢版2021/09/28(火) 18:43:04.57ID:WOysu/FT
小学校でHaskellを教えるべき。
0393デフォルトの名無しさん垢版2021/09/28(火) 18:47:31.83ID:SOTMgKer
小学生に言語なんて教えても意味がない
小学生には算数、国語、理科、道徳でいい
0394デフォルトの名無しさん垢版2021/09/28(火) 19:30:40.82ID:WOysu/FT
小学生に教えるとは言っていない。
0395Mb垢版2021/09/28(火) 20:18:15.79ID:1n55ADGm
都内のとある小学校で LOGO のタートル・グラフィクスを
教えたら、ADHD で十分も座っていられなかった子供が
一時間くらいマシンの前に齧りついていたという話がある。
現在ではプログラミングは小学校の必修科目だが、
中学校の技術家庭で教えられていた「情報」の
フローチャートを見て、「こんなものを子供に教えるなぁああああ!」と
激怒した記憶がある。
LOGO の開発者であるシーモア・パパートさんは、
かつてブームになった「水平思考」の提唱者であり、
児童教育にも関心があって LOGO を開発した。
「『何がいいか』とか言ってねーで、『こんな言語がいい』という
言語を実装しろよボケェ!!」という意見はあると思う。
平山尚さんは SUNABA を開発したので
https://hirasho.github.io/Sunaba/
少なくとも主張する権利はあると思う。
0396デフォルトの名無しさん垢版2021/09/28(火) 20:59:15.08ID:Wh6OTA9T
銀の弾丸がないように、青い鳥もいないのです。少々おヘチャでペッタンコでも、身近な言語の魅力にもっと気づいてあげて。
0397デフォルトの名無しさん垢版2021/09/28(火) 22:20:37.99ID:mkxQja70
「ぶっちゃけ始めるのにいい言語って何?」って聞かれたら、普通、「その前にお前は何やりたいんだ?」って聞き返すよな。
0400デフォルトの名無しさん垢版2021/09/28(火) 23:18:25.33ID:on5jG6G4
週3勤務で月単価100万円のフリーエンジニアになりたいです
どの言語がおすすめですか?
0402デフォルトの名無しさん垢版2021/09/28(火) 23:45:14.29ID:blUocx58
>>400
それは9割以上言語以外の要素で決まるもの
その9割をなるべく早く理解できる修行方法を模索するといい
0404デフォルトの名無しさん垢版2021/09/29(水) 03:12:31.56ID:gGlV8Sy9
英語なんてアメリカの二歳児でも話せるので、あまり意味ないのでは?
0406デフォルトの名無しさん垢版2021/09/29(水) 05:41:50.05ID:OjUmikk7
2歳児は英語でのググりかたを知らないだろう
0409デフォルトの名無しさん垢版2021/09/29(水) 07:33:14.22ID:zcfU0vQc
プログラマ以上に中学高校大学で勉強した英語が役立ってる職業ってそんなに無いよね
他の職業でも触れる機会はあるけど日常的にってことは無いだろうし
0411デフォルトの名無しさん垢版2021/09/29(水) 07:50:18.98ID:RomYiX+8
>>400
flutterでアプリ開発してヒットさせろ
10本もメジャーを生めれば個人所得と考えても
50億くらい残るんじゃねーかな
0413デフォルトの名無しさん垢版2021/09/29(水) 09:58:26.97ID:QYKzykPR
>>391
かのかのは結局4亦のオチ
0416Mb垢版2021/09/29(水) 14:47:32.93ID:g61nlzZ7
>>403
朝鮮語。
0417Mb垢版2021/09/29(水) 14:54:47.10ID:g61nlzZ7
>>414
どうせ世間は無責任
コツコツやる奴ぁゴクロウサァーン!!
みたいな時代に育った経営者がいたりするので、
プログラミングの基礎を学ぶのには BCPL や C や
Pascal はいい言語だけれども、社会人になってから
その能力を活かせるかどうかは、企業とか
経営者との相性によると思う。
0419デフォルトの名無しさん垢版2021/09/30(木) 00:48:58.32ID:s9vaelxx
とりあえずJava、ハードよりならC、WebフロントならJS

学校で教えるならとか特殊な用途ではとか将来的に変わるかもとかはあるけど
今メシ食いたいならこれ
0421デフォルトの名無しさん垢版2021/09/30(木) 08:50:19.31ID:dN1VyuR8
今から始めて単価高い案件にありつける言語があるんならもちろんそっちの方がいいんだろうが。
0422デフォルトの名無しさん垢版2021/09/30(木) 10:29:53.53ID:Qa8k0AxB
基本
初学者は学習環境と整理された情報が豊富で
プログラミングの広範な知識(アルゴリズムやパターン、ネーミングやその他)を得られる言語

初学が終わったら行きたい分野のライブラリが多い言語で専門性を高めたり
もしくは新しく将来性があり参加人数が少ない言語で将来性にかける

最初からやりたい分野の言語から入るより
まずはプログラムというものを俯瞰できる言語がいい
0423デフォルトの名無しさん垢版2021/09/30(木) 17:30:43.93ID:HCW3LfLM
最近Javascript勉強しててyoutubeとか見てると
Bootstrapにあるコードのコピペを貼り付けちゃってくださいとか言ってるんですが真に受けてもいいのでしょうか?
プログラマーの方はてっきり1から全て手入力してるものだとばかり思ってたのですがある程度webからコピペしてるんですか?
0424デフォルトの名無しさん垢版2021/09/30(木) 17:35:29.50ID:Qa8k0AxB
コピペラーでもいいんじゃん?
それは成功体験から入るって感じのアプローチ
しっかり学ぶのはその後ってね

プログラマーは実践せずに
ずっとアカデミックでいる人もいて
さっさとなんか作ったほうがいいって考えの人は
コピペラー推奨したりする

どっちでもいいんじゃね?
スペクトラム系なら掘り下げる感じで
凡人ならコピペラーで量をこなす感じで
0425デフォルトの名無しさん垢版2021/09/30(木) 17:47:36.98ID:HCW3LfLM
なるほどそういう人たちも居るんですね
自分は完全に初心者なのでコードの意味を知らずちんぷんかんぷんで見てましたが
コードの意味を調べながらこのままやってみます
0426デフォルトの名無しさん垢版2021/09/30(木) 18:10:30.84ID:5ffuF58p
ライブラリにお膳立てされたコード見てもJavaScriptの勉強にはならんよ
フロントエンド(html+css+javascript)の勉強って意味ならまあ分かる
0427デフォルトの名無しさん垢版2021/09/30(木) 19:08:27.11ID:/dR1Y+AK
htmlとかjsは言語わかってもお決まりのパターンとかわからんとチンプンカンプンだし、コピペもしゃーないと思う
ちゃんとvscode設定しないとなんのイベントが発火してどんなメンバー構成なのかとか開発環境から確認できないし、色々調べんのもめんどい
0428Mb垢版2021/09/30(木) 19:22:33.13ID:Eah+WO6y
単にコピペすると、元のソースの欠点も
そのまんま引継いじゃうので、少なくとも
自分なりのコーディングルールを設定して
書き直してみて「腑に落ちた」感があってから
使ったほうがいい。
いかにも年寄りの説教臭い話だが、「プログラム書法」とか
読んでみるのもいいかもしれない。
0429デフォルトの名無しさん垢版2021/09/30(木) 19:53:16.82ID:eKnlk8/W
>>427
JavaScriptの言語自体もウェブブラウザ上での各種イベント詳細も全て公式ページにまとまっており分かりやすい
いくら初心者だからといって公式ページすら見たことなくて文句を言うのはあまりにも酷いのではないか?
0431デフォルトの名無しさん垢版2021/09/30(木) 20:08:26.52ID:eKnlk8/W
>>430
同じサイトにあるから
その存在を知らないということはJavaScriptの言語自体のページも見たことがないことになる

どの言語でもどのAPIでもどのフレームワークでも公式ページすら見たことなく文句を言ってるダメな人たちがいる
0432デフォルトの名無しさん垢版2021/09/30(木) 20:19:16.71ID:XTUluRlb
JavaScriptを書くときはミイラに包帯を巻くときくらい気を使うわ
包帯のバージョンによって巻き方が変わるので、ゆるく巻いてBabelでキュッと締める感じ
0433デフォルトの名無しさん垢版2021/09/30(木) 20:55:32.52ID:OGqbwuwh
最初の頃はコピペで動けば問題ない
そういう糞コードが負債になってくるのは数年後とかだからそれまでにフェードアウトすればいい
0434デフォルトの名無しさん垢版2021/09/30(木) 21:01:20.90ID:rXHWPO1X
>>432
使うバージョンによって変わるのは全てのプログラミング言語で同じ
バージョンの選択の自由が効く仕事でJavaScriptなら最新LTSのNode.jsを使う
0435デフォルトの名無しさん垢版2021/09/30(木) 21:14:34.96ID:/dR1Y+AK
>>429
まあ実際普段全くやんないからしゃーない
ただclickのevent変数がclickeventでない
eventのページ見ても子孫インタフェース関係載ってない
blurという謎センスなイベント名
循環参照すら解決できない貧弱なimportとか(解決できないならimportって名乗らずincludeって名付けろよ)

初見殺し多すぎやしねえ?って思う要素多いよね
0436デフォルトの名無しさん垢版2021/09/30(木) 21:24:14.15ID:qVDzBrMw
お前ら俺が初心者様に分かりやすいように説明してるのに
なんで深堀して初心者にわからん話をし始めるんだよ
お前らみたいのがいるから
0437デフォルトの名無しさん垢版2021/09/30(木) 21:28:03.70ID:evwjfbjh
だって前提もクソも無い状態でオススメ何?って言われてもね
結局言語の好き嫌いでマウント取り合うしかねえし
0438デフォルトの名無しさん垢版2021/09/30(木) 21:30:33.75ID:/dR1Y+AK
>>436
こちとらhtmlとjsすっ飛ばして3週間前にtsとanglar始めた初心者だ
MDNのググラビティ、サイトマップの劣悪さは異常
0442デフォルトの名無しさん垢版2021/09/30(木) 22:12:07.32ID:pU/yhshw
>>422
>まずはプログラムというものを俯瞰できる言語がいい

「プログラミングというものを俯瞰できる言語がいい」なら禿同
0445デフォルトの名無しさん垢版2021/10/01(金) 07:04:02.25ID:kOOEV5vN
>>423
フレームワークなんかは
JSで挙動を設定してたりするんだけど
その設定を言語エンジンがどう読み込んで
どのタイミングで実行され
その結果がどうなるかっていうのを
全部知らなくても、フレームワークの恩恵を受けられる
っていうものなので、
設定項目はコピペでいいし
それ以上を掘り下げるのは初心者には無益
0446デフォルトの名無しさん垢版2021/10/01(金) 21:12:58.07ID:wkRzMgwV
>>422
> まずはプログラムというものを俯瞰できる言語がいい

「俯瞰」って言葉の意味が広すぎて、
結局、"C" くらいしか思いつかないんだけど…。

アセンブラだと機器特化だし、FORTRANとCOBOLはまあ置いておくとすると
C++、JAVAは「オブジェクト指向」って発想に染まることを求められる。

Pascall だと構造化ぎっちぎちだし、Haskellだのなんだのも同様に関数指向に
染まることを求められる。

つらつら考えると、俯瞰できるほどの共通性が担保されてないんじゃないかと、
言語界。


逆に恐ろしいよな。ある日突然自分が築いてきた根本のパラダイムが崩れ去る業界。
0447デフォルトの名無しさん垢版2021/10/01(金) 21:18:52.05ID:kOOEV5vN
>>446
君が初心者に対して、プログラマで行くのなら
こんなことも知っといたほうがいいよっていうのを
君が初心者に教えられる言語
0448デフォルトの名無しさん垢版2021/10/01(金) 21:20:01.81ID:CSO4Qyhi
言語でできることは、ほぼ同じだけど、
そこに各言語特有の開発環境やライブラリ(フレームワーク)とかを入れちゃうとややこしくなる
0450デフォルトの名無しさん垢版2021/10/02(土) 03:41:22.05ID:Q1gmnbO7
あわしろ氏がお勧めする数学志向プログラミング言語Haskell。
0451Mb垢版2021/10/02(土) 10:28:37.80ID:9AHxi4+O
>>449
機械語・アセンブラ・マクロアセンブラという系列は、
C とか C++ につながるのでちょっとは齧っておくといい。
Fortran とか COBOL とか Pascal とかは、
最近は Java で代替可能だけど、そのせいで Java の
言語仕様が取っ散らかっちゃった部分がある。
Haskel はトランプとか麻雀とかのゲームプログラミングに
向いているかもしれないが、それ以外に業務に使うケースは
あまりないな。
「向いている」とはいっても、余所見やら目配りやらを含めて
いうと、「それ一択!」という言語はないな。
0453デフォルトの名無しさん垢版2021/10/02(土) 14:47:24.18ID:yFRwYWli
>>446
基本的にCやっとけば問題無いけど
重要なのは言語そのものじゃなくて
OS(ファイルシステムや入出力やプロセスやその他)とその周辺の技術
そっちをおろそかにしてる限り入門教科書レベルのプログラムしか書けない
0454デフォルトの名無しさん垢版2021/10/02(土) 18:33:28.82ID:2yc9IrR2
中学生以下の若者は数学志向プログラミングに慣れておくべき。
あわしろ氏がお勧めするHaskell。
0455デフォルトの名無しさん垢版2021/10/02(土) 20:37:23.58ID:v0EuaQL0
そんなことしたら
数学脳に育ってない子供が数理判断に苦手意識を持つ
そんなバカげた主張はするな、幼児教育も知らんで言うな
子供は環境や成長段階がそれぞれ違う
基礎教育はそういう観点からするもんなんだよ
子供には、まずは論理思考を育む
プログラミングは好き好きにすればいい
0457デフォルトの名無しさん垢版2021/10/02(土) 21:15:35.30ID:HwAmnb74
そこでHaskellの素晴らしい特徴である型クラスやモナドからプログラミングにおいて美味しい部分だけを上手く取り込んだ言語Rustがオススメです
0459デフォルトの名無しさん垢版2021/10/02(土) 21:48:51.38ID:0KUEFcg9
HaskellもRustも今話題の教え魔がいるから気を付けてωωω
0461デフォルトの名無しさん垢版2021/10/02(土) 23:49:53.54ID:5h/MmOWv
C言語勧める人が多くいるみたいだけど、それだとオブジェクト指向プログラミングが
身に付きにくいという欠点がある
0462デフォルトの名無しさん垢版2021/10/03(日) 01:33:13.94ID:KmrfXwVi
初プログラミング言語がRustで成果物作れる初心者がいるなら
どうにでもなると思うがな
他言語習得とか余裕だろ
0464461垢版2021/10/03(日) 03:36:44.49ID:p2o58jTf
まあ最初は手続き型から入った方が挫折する確率は低くなるな、確かに
取り消すわ、「時間に余裕がある人が最初にやるなら」Cなどの手続き型言語が
いいかな
0465デフォルトの名無しさん垢版2021/10/03(日) 06:18:22.71ID:KmrfXwVi
必ず習得できるってのを前提で話すのと
初心者が挫折しにくいってのを考慮するのとは違ってるわな

ほとんどの人がプログラミング言語は挫折するんだから
この板に居るやつらはある意味選ばれてる
0466デフォルトの名無しさん垢版2021/10/03(日) 08:01:04.50ID:HPHAYmWR
挫折するってのは適性がなかったってだけだろ
プログラムだけじゃな技術職も一緒
技術的な事を覚えるには時間がかかる
0467デフォルトの名無しさん垢版2021/10/03(日) 08:06:17.51ID:HPHAYmWR
それを適性が無いやつでも派遣みたいな形で使おうとするから無理が出る
某銀行みたいに
0468デフォルトの名無しさん垢版2021/10/03(日) 08:25:42.86ID:ZsU75BT9
>>465
> ほとんどの人がプログラミング言語は挫折するんだから
その微妙におかしい日本語はなんとかならんのか…
0469デフォルトの名無しさん垢版2021/10/03(日) 09:34:55.83ID:jLLTLrs9
>>461
オブジェクト指向大好きならSmalltalk

とかね
0470Mb垢版2021/10/03(日) 15:02:13.29ID:13zKiOvX
>>455
> 数学脳に育ってない子供が数理判断に苦手意識を持つ
言いたいことはよく分かるし賛成もするが、多少の誤解もあると思う。
日本語で「数学」というと、「純粋数学」を指すんだよね。
だけど、本来の「数学」には純粋数学以外にも数学基礎論とか
計算数学というものがあって、プログラミング言語というのは
計算数学寄りなので、他の二つよりよっぽど歴史が古い、というか
もう史料が残っていないくらい昔から存在する。
いわゆる「数学」に属す純粋数学や物理数学や数学基礎論なんていうのは、
近世以降に登場した「若造」でしかなく、二十世紀に入ってようやく
襁褓が取れた程度の学問でしかない。
そういう観点からいうと、「算数よりも数学のほうが上」みたいな
差別をなくすのがまず課題だと思う。
0471デフォルトの名無しさん垢版2021/10/03(日) 16:07:25.45ID:mGsWKLWn
例えばHaskellでの数学の圏論(モナド)の仕組みをRustが採り入れて応用例の一つが
>>184のthrow/catch例外処理を無くして代わりに"?"オペレーターで機構も表記も簡潔にしたものです
つまりプログラミング手法&機構そのものにも大きく影響を与えているのです
0473デフォルトの名無しさん垢版2021/10/03(日) 17:30:17.56ID:44zxNCu2
try-throw-catchという特別な枠組みを持ち込まなくても、同等の処理を複雑な記述することなくプログラミングできるようになったRustは凄いですけど、大元のモナド(圏論)を知らずとも成果を享受できる点が良いですね。
0474デフォルトの名無しさん垢版2021/10/03(日) 17:41:11.95ID:YoCqWRPI
その、君たちの捏ねて捏ねて暗黒になるほどに
捏ねて捏ねていくのって性格なの?
なんかすっごいネットりしたものが
肌にべったりくっついてしまった感を感じ得るのだけれど
0475デフォルトの名無しさん垢版2021/10/03(日) 18:04:53.34ID:mGsWKLWn
代数的にはEitherモナド型の一種だけど
Rustでは値付きEnumすなわちタグ付きユニオンで表現されているからね
それにより正常時返り値T型とエラー時返り値E型を包み込んでResult<T,E>型としている
0476Mb垢版2021/10/03(日) 20:51:05.53ID:13zKiOvX
ひとこと言わせてもらうと、
そういった議論は非常に興味深いんだが、
「ぶっちゃけ始めるのにいい言語て何」というスレッドで
議論するような話題ではないように思う。
別スレを立てて、そっちに誘導したほうが
生産的なんじゃないだろうかと思う。
たとえば、「これからプログラミングを始めたいと思っているひとに、
何を学んでほしいか」みたいな話(上から目線で申し訳ないが、
世代が古いので、そこは経験値としてご勘弁・ご容赦いただきたい)
で、なんとかならないかと思う。
なんか、適当なスレタイはないか?
0477デフォルトの名無しさん垢版2021/10/03(日) 21:24:05.97ID:w0JYxZaJ
これでいいんじゃね?
「初心者には絶対お勧めできない言語や方法や手段を勧めているヤツを晒すスレ」
0478デフォルトの名無しさん垢版2021/10/03(日) 21:25:31.62ID:HpYMQ5fy
>>475
代数的データ型ってRustでは何っていうんだっけ?
単にRust界ではEnumで通ってるんだっけ?
とおもってぐぐってみたら…

https://doc.rust-jp.rs/book-ja/ch06-00-enums.html
> 列挙型は、enumとも称されます。
> (略)
> enumは多くの言語に存在する機能ですが、その能力は言語ごとに異なります。
> Rustのenumは、F#、OCaml、Haskellなどの、 関数型言語に存在する代数的データ型に最も酷似しています。

なんだよ「酷似しています」ってw
代数的データ型とは言い切らずにあくまで列挙型なんだな
0479デフォルトの名無しさん垢版2021/10/03(日) 21:53:41.62ID:Fj8TwfDX
あわしろ氏がお勧めする数学志向言語Haskell。
0480デフォルトの名無しさん垢版2021/10/03(日) 21:57:06.64ID:44zxNCu2
>>478
普通のプログラミング言語のenumは列挙された定数に過ぎないけど、Rustのenumは複数(0個以上)の任意の型の変数(または定数)を構成要素に取ることが出来、またパターンマッチングも可能なことから、代数的データ型と明言してよいかと思います。
一般的に、直和(型指定値付enumまたはタグ付union)と直積(struct)を組み合わせることで多彩な代数的データ表現をすることが出来ますが、Rustはそれを満たしていますね。
0481デフォルトの名無しさん垢版2021/10/03(日) 22:15:54.35ID:w0JYxZaJ
配列にマイナスのインデックスを指定できない時点でRustはPythonの代わりにはならへんわな
0482デフォルトの名無しさん垢版2021/10/03(日) 23:13:35.99ID:Fj8TwfDX
その通り。
Rustは甘え。
0483デフォルトの名無しさん垢版2021/10/04(月) 00:46:36.47ID:dVk2OB8l
>>481
それはPythonやRubyの仕様がおかしくてPythonやRubyがダメな言語であると結論が出ている話

【プログラミングのミスを見逃す】
・配列のインデックスがプログラミングミスで範囲外の負の数になったのか意図的に最後の要素からインデックスしたいのか区別がつかない
・そのためほとんどのプログラミング言語では範囲外のインデックスはエラーとなってくれるので負の数だと最後の要素からインデックスすることはない

【インデックスに正しい負の数を使えなくなる】
・インデックスの開始を負の数に指定できるプログラミング言語も多数あるため負の数だと最後の要素からインデックスする仕様があると矛盾してしまう
・C言語では配列のインデックスは常に0スタートだが配列アクセスにポインタを代わりに使えるため負の数のインデックスが範囲内のこともあるし範囲外だとしてもそのアドレスの値となる
0486デフォルトの名無しさん垢版2021/10/04(月) 04:31:11.34ID:iJ0WSmh4
>>483
配列にマイナスのインデックスを指定して後ろからアクセスできる言語
Perl, Python, Ruby

できない言語
Ada, BASIC, C, C++, C#, COBOL, D, Java, JavaScript, Julia, Lua, Lisp, Fortran, Go, Haskell, Nim, Objective-C, OCaml, Pascal, PHP, Rust, Scala, Scheme, Swift
0490デフォルトの名無しさん垢版2021/10/04(月) 10:09:19.82ID:Wm15mMa+
俺が初心者に勧めるならpythonだな。数時間あれば物体追跡までやれるから面白いと思うよ。
0492デフォルトの名無しさん垢版2021/10/04(月) 12:44:01.21ID:Ax0SG/Jv
jsダメだったのか
今まで普通に使ってたわ
0493Mb垢版2021/10/04(月) 14:28:14.39ID:JFT4UYBi
>>487
「unsigned int」とか「unsigned long」という型宣言がない言語は
フツーにあるだろ?
>>486
> できない言語
> bAda, BASIC, C, C++, C#, COBOL, D, Java, JavaScript, Julia,
> Lua, Lisp, Fortran, Go, Haskell, Nim, Objective-C, OCaml, Pascal,
> PHP, Rust, Scala, Scheme, Swift
というのは、どこかに誤解があると思う。
0495デフォルトの名無しさん垢版2021/10/04(月) 15:31:13.07ID:iJ0WSmh4
御指摘が多数あったので書き直しました

配列にマイナスのインデックスを指定すると配列の最後からアクセスできてしまうダメな仕様>>483となっている言語
Perl, Python, Ruby

それ以外の言語
Ada, BASIC, C, C++, C#, COBOL, D, Java, JavaScript, Julia, Lua, Lisp, Fortran, Go, Haskell, Nim, Objective-C, OCaml, Pascal, PHP, Rust, Scala, Scheme, Swift
0496Mb垢版2021/10/04(月) 15:42:19.91ID:JFT4UYBi
>>495
誠意は受取った。
0500デフォルトの名無しさん垢版2021/10/04(月) 18:28:58.18ID:Rysg4GDr
あわしろ氏がお勧めする数学志向言語Haskell。
0501デフォルトの名無しさん垢版2021/10/04(月) 19:05:45.27ID:2YMOh0J/
>>498
それはね
みんながあたりまえにそれを前提に喋ってるのに
それを一人だけ分かってない周回遅れが居るからだよ
0502Mb垢版2021/10/04(月) 20:35:34.52ID:JFT4UYBi
あぁ、まったくものを識らないというのは怖ろしいことだなぁ ……
南無阿弥陀佛南無阿弥陀佛 ――
「ここは配列の一丁目といって、
OPTION BASE 1を宣言しているので、
0丁目やマイナス一丁目の無ぇ処だ」。
アセンブラや C で配列の添字でマイナスの値を指定していて、
さんざん他人の記憶領域を踏みつぶしてトラップを発生させて
きた報いを今こそ受けるがいい。
0504デフォルトの名無しさん垢版2021/10/04(月) 23:50:14.04ID:iJ0WSmh4
>>502
今回はその話がされているのではないです
例えばPythonではマイナスの添字で配列の後ろから数えた要素になってしまうのです
a = [5, 6, 7, 8, 9]
print(a[-1]) # → 9
print(a[-2]) # → 8
print(a[-5]) # → 5
この添字が算出された変数で与えられた時に
プログラミングのミスでマイナスとなった場合と意図的に後ろから数えたい場合で同じこの結果となって区別できないため
プログラミング言語としてはPythonは悪い仕様だと言われている話です
さらに添字の開始を0ではなく任意の整数にできるプログラミング言語もありますが
このPythonの悪い仕様だと開始をマイナスの整数とした場合に困りますね
0505デフォルトの名無しさん垢版2021/10/04(月) 23:55:29.95ID:GaPDsv2L
後ろからやりたい時には長さから引くとかやらないで済むんだから
それで書く時には楽な分気をつければ良いだけの話

だいたいPythonなんて軽くサクサク書く時にしか使わないんだから

どこの現場のどういう状況でそれ問題になったの?
0506デフォルトの名無しさん垢版2021/10/04(月) 23:58:01.46ID:iJ0WSmh4
>>502
もう一つ
おっしゃってるC言語の場合だと配列もポインタとして扱われますので
意図的に添字をマイナスにして便利に使うことも多いですよ
例えば
int a[5] = {5, 6, 7, 8, 9};
int *p = a + 2;
for (int i = -2; i <= 2; i++) {
 printf("p[%d] = %d\n", i, p[i]);
}
これで出力結果は
p[-2] = 5
p[-1] = 6
p[0] = 7
p[1] = 8
p[2] = 9
こうすれば-2から2の範囲で扱うことが出来ます
0507デフォルトの名無しさん垢版2021/10/04(月) 23:59:44.40ID:iJ0WSmh4
>>505
意図せずに添字の算出結果がマイナスとなった時にエラーとならずに後ろから適用してしまうのはマズイです
0508デフォルトの名無しさん垢版2021/10/05(火) 00:16:06.30ID:jjv9GGMe
>>507
別にバグの種類が変わるだけで使い所だよ
書きやすい代わりにバグった時わかりにくいなんてことはこれに限らず
いくらでもあるわけで

何でも柔軟に使えない人はプログラマ向いてないよ
0509デフォルトの名無しさん垢版2021/10/05(火) 00:24:42.33ID:jjv9GGMe
Pythonは機械学習やった時に半年ほどしか使ってないがマイナスでバグったこと
一回もないしむしろその範囲では書きやすくてよかったよ

JSのダックタイピングとかだって動かすまでエラー出ないけど書きやすいし
Javaみたいにタイプがきっちりしてれば多少面倒くさいけどコンパイルで
エラー出るし読みやすいし大概の事はどっちが正しいじゃなくて状況次第
0510デフォルトの名無しさん垢版2021/10/05(火) 00:43:07.65ID:JDY+450s
ほとんど全てのプログラミング言語では、Pythonのような変な仕様になっていない、これが答えだ。
プログラムの安全性の視点では、プログラミングの間違いでインデックス変数が負の数となった時に、Pythonのような変な仕様ではエラーとならずに間違った要素を指して通ってしまう。
プログラミング言語の拡張性の視点では、インデックスに負の数を用いることができるようにすると、この変な仕様とぶつかってしまう。
これらの理由から、ほとんど全てのプログラミング言語では、Pythonのような変な仕様を採用していない。
0512デフォルトの名無しさん垢版2021/10/05(火) 01:02:54.22ID:jjv9GGMe
>>510
ほとんどとか関係ないんだよね、言語って必要な人がいるから作られるわけで
実際使ってみて便利だったしマイナスでバグったこともないけどあなたは
具体的に仕事で使ってどういう状況で問題になったの?

>>511
それこそどういう論理だよw
0513デフォルトの名無しさん垢版2021/10/05(火) 01:05:51.37ID:2oqKIsmm
>>510
ふーん
Pythonの配列のインデックスをマイナスで指定したときって面白い挙動をするんだね
まるでアセンブラで符号を見ないでインデクスレジスタをオーバーフローさせて参照させたときみたい
0514デフォルトの名無しさん垢版2021/10/05(火) 01:11:22.25ID:jjv9GGMe
後ろから取る作業が多くなると毎回いちいち長さから引いてとか
誰でも面倒くさくなるからね

他は知らんけど機械学習でデータの切り張りばっかりみたいな時には
便利だったし他にも便利な状況はいくらもあると思うよ
0515デフォルトの名無しさん垢版2021/10/05(火) 01:18:23.61ID:JDY+450s
なぜ、ほとんどのプログラミング言語では、Pythonのような変な仕様を採用していないのか?
有用ではなく、有害であるためだ。
0517デフォルトの名無しさん垢版2021/10/05(火) 01:23:34.70ID:O4xoYpnl
インデクスの値を即値で-1のように書かずに計算して求める場合、符号などの妥当性ののチェックはやるんじゃないかな
0518デフォルトの名無しさん垢版2021/10/05(火) 01:26:01.78ID:jjv9GGMe
そうだわな

そもそもマイナスにしたくないならマイナスのチェック入れれば良いだけで
マイナスのチェック入れるのが面倒くさいのか、長さから引くのが面倒くさいのか
長さから引く事が多ければマイナスで後ろからのが楽だし逆なら逆だし

Javaでマイナスで後ろから取りたいなって思った事はそんなにないし
状況次第
0519デフォルトの名無しさん垢版2021/10/05(火) 01:29:51.70ID:JDY+450s
>>516
インデックスの開始値をプログラマーが指定できるプログラミング言語では、もちろん負の数のインデックスも扱えるが、Pythonのような変な仕様では有害となる。

それ以外のプログラミング言語においても、インデックスの計算ミスで範囲外となった時にエラーとなってくれる言語が多くを占めるが、Pythonのような変な仕様ではエラーとなってくれず有害である。
0520デフォルトの名無しさん垢版2021/10/05(火) 01:33:57.18ID:jjv9GGMe
>>519
だから「有害」の根拠は?
エラーが出ても変な値が出てもバグはバグだしチェック入れれば済む話だし

どういう仕事でどういう状況で問題になったのかとかガン無視だし

もう君の中では有害なんだろうね、って言うしか
0521デフォルトの名無しさん垢版2021/10/05(火) 01:48:30.74ID:JDY+450s
>>520
例えばPHPでは、配列のインデックスの開始値が負の数でも扱えるように拡張された。
もちろん、拡張なく最初から、開始値が負の数でも正の数でもプログラマーが指定できるプログラミング言語も多い。
Pythonのような変な仕様では、仕様がぶつかってしまい有害である。
0522デフォルトの名無しさん垢版2021/10/05(火) 01:50:26.30ID:iMZ32mmH
>>506
配列の添字をマイナスにすることは、C言語では規格上認められていないんじゃなかったっけ? 配列の添字として取りうる範囲は、全ての要素および最終要素の次に対応する添字だけだったような気がするけど。
506の例は、単なるポインタを使った演算に過ぎず、配列とは無関係でしょ。配列の要素参照がポインタ演算としてなされるからといって、配列とポインタが同じものになるわけではないよ。混同してない?
0523デフォルトの名無しさん垢版2021/10/05(火) 02:24:56.27ID:jjv9GGMe
>>521
個人的にはむしろインデックスの開始が負であってほしいことなんて無いけれども

まあ別にあっても良いけど負であってほしいなら負でできる言語を使えば良いし
後ろから取れる方が便利ならそっち使えば良いし

具体的にどの仕事でどんなコード書いた時にインデックスの開始が負である事が
そこまで重要で「害」というほどの問題が出たの?

非常に些細な問題に思えるが

思い込みの強いスペクトラムの人がプログラマ向いてるみたいな事いう人
いるけど全然向いてないんだよね

数学とかのが良いのでは?
0524デフォルトの名無しさん垢版2021/10/05(火) 06:23:56.53ID:2oqKIsmm
そうね
パッとどんなシチュエーションで使えばインデックスがマイナスのとき有用性があるのか思いつかないけど、
スタックエリアも溜め込むときPushを使うとスタックポインタが指すアドレスはマイナスされるとかあるから、どっかで使い道はあるかもね。

弊害としてはちょっと違うかも知れないけど、スーパーマリオで残機増やして128機以上にすると、死ぬとゲームオーバーになる、というのと似ているのかな。
まぁあれの場合は1バイトでも削って作ろうとしていたみたいだから判ってたけど敢えてチェックは入れなかったのかも知れないけど。

機能を理解した上であれば別にそういうもんなんだろう、で片付く話のような気がするよ。
0525デフォルトの名無しさん垢版2021/10/05(火) 07:46:23.69ID:J9uTiL9m
>>509
> Pythonは機械学習やった時に半年ほどしか使ってないがマイナスでバグったこと
> 一回もないしむしろその範囲では書きやすくてよかったよ

それな
これが実際書いてるやつの率直な感想だと思うわ
いろんな言語を切り替えて使ってる奴にとって
使ってる言語の仕様に合せてプログラミングするというのは
なんの恐れることもない当たり前の空気のようなこと
極端に経験が少ないか柔軟性が無い奴は怖いだろうけど
0526デフォルトの名無しさん垢版2021/10/05(火) 07:48:58.06ID:r5SNpXIN
>>510
なんで必要かどうかもわからない拡張性で今ここでいい悪いを論じるのかわからんが、
配列参照演算をオーバーライドできるなら問題ないがな。
逆にあんたの論理だと、配列参照演算をオーバーライドできない言語は拡張性の視点で
全部ダメってことにならないかな。
0529デフォルトの名無しさん垢版2021/10/05(火) 10:34:48.12ID:Fyf6Owff
プログラミング言語より猫語の方が役に立ちそう。
0530デフォルトの名無しさん垢版2021/10/05(火) 10:52:37.79ID:MXyUAm/U
そもそもマイナス指定っ要するにarr.length-nでlengthを省略できるようにしたいってだけだろ
そこまで省略したいかね?って思うけどね
なんつーかここら辺はTDDとセットでやるから許される言語仕様であって、TDDしてないのにこの言語仕様を肯定するのはバグがあった場合の事想定してなさすぎる
0531デフォルトの名無しさん垢版2021/10/05(火) 11:14:47.30ID:J9uTiL9m
> 要するにarr.length-nでlengthを省略できるようにしたいってだけだろ

しつけーわ
なんでお前意外とっくに全員わかってることを
いまさら大発見みたいに書き込むんだガイジ
頭悪すぎん?
0534デフォルトの名無しさん垢版2021/10/05(火) 13:05:57.99ID:nhjUOKYi
length-nを省略すると良いことと悪いことがあって、
言語的に優先することが違うから、採用したりしなかったりするのかもね。
省略したら、ぱっと見判りにくくなるけど、
Pythonみたいなインタプリタは入力減らすほうが優先、とか。
0535デフォルトの名無しさん垢版2021/10/05(火) 13:23:56.58ID:HrDzy9dq
皆が述べてるように悪い点は3つなのかな
・わざわざ省略するわかりにくさ
・バグでマイナス値になった時と区別がつかない
・インデックス範囲を自由に指定できる仕様とバッティング
だから多くの言語では採用していないのもわかる
結果としてPythonやPerlなど異端な言語のみが採用って感じ?
0536Mb垢版2021/10/05(火) 13:39:32.69ID:NR1fOsV4
サイズが n だと添字(そえじ)は 0 から n-1。
そんなわけで、添字で指定すると、要素は mod n。
数学的にはなんの問題もないのだが、実務に携わっている
システム屋としては、「範囲外参照なんだから例外くらい
投げろよ」と思う。
「だって、仕様書通りに実装したんだもーん」みたいな
アホがいた時代があった、という話だろうな。
0537デフォルトの名無しさん垢版2021/10/05(火) 13:50:38.64ID:2oqKIsmm
ぶっちゃけ「始めるのにいい言語」というスレタイからするとその辺はどうでもいい範疇だと思うけどね
0538Mb垢版2021/10/05(火) 13:53:59.41ID:NR1fOsV4
>>522
C はそもそもシステム開発用の言語なので、
そういうことができないとダメなんだわ。
「右の値と左の値」というのがあって、
代入記号というのは「向かって左のアドレスに、
向かって右の値を転写する」というのが基本だった。
「バイト数が合ってたらなんでもあり」でないと、
システムプログラム(OS)は作りづらい。
そこは、アプリケーションプログラムの開発と
システムプログラムの開発では、違う部分があると思う。
0539デフォルトの名無しさん垢版2021/10/05(火) 14:06:54.91ID:HrDzy9dq
>>522
Cでは負のインデックスもあり
さらにa[b]形式の時に配列とポインタの区別なし
さらにはポインタとインデックスも対照で入れ替え可能
*(a+b) = a[b] = b[a]
これがC言語
0540Mb垢版2021/10/05(火) 14:08:24.92ID:NR1fOsV4
>>523
自閉系スペクトラム障礙の私が敢えていいますよ。
C のルーチンで、バイト列の値を返すときに、可変長だったら
こっちでバッファを用意するでしょう?(もちろん、
alloc した領域の中で処理して、free する前に確保した領域ですが)
そこを上位にルーチンが掻き潰すと、「うちの領域で起きた不具合」に
なってしまうんですよ! 「このクソ忙しいときに、上位会社のケツとか
拭いているヒマはねぇんだよ!」と思うんですが、とにかくシステムが
動かなかったらテストもできない。そんなわけで、障害切り分けをして
レポートを上げたら、「次からは気をつけてね」とか。
襁褓も取れていない小便臭い(プログラミングの何かも知らない)
ひいひいたもれのガキのお守りは、たぶん SE の仕事ではないと思う。
0541Mb垢版2021/10/05(火) 14:16:15.90ID:NR1fOsV4
>>539
おぉ、解っていらっしゃる。
C の配列はポインタと同一視されるので、
++ は「ポインタに対して、sizeof 分だけ
インクリメントする」という意味ではあるし、
sp++ とか --spとかいうのも、スタック操作と
いうものを考えると自然な操作だ。
0542デフォルトの名無しさん垢版2021/10/05(火) 14:23:26.23ID:HrDzy9dq
>>540
Cだと確保した領域を「渡してしまう」のかそれとも「一時的に貸すだけ」なのかの区別がないためどちらがその領域の最終責任を持つのか曖昧になってしまうね
Rustだとそこがはっきりしてるため解放忘れも二重解放も起きないし言語側が全て自動でやってくれるから楽で安全安心
0543デフォルトの名無しさん垢版2021/10/05(火) 14:30:18.69ID:2oqKIsmm
ちなみにC#になるとポインタの概念が消えて
もっとセーフティーなDeregateになったよね。
それを良しと捉えるか悪化と捉えるかは
個人で意見の別かれるところだと思うけど。
0545デフォルトの名無しさん垢版2021/10/05(火) 14:40:48.11ID:HrDzy9dq
>>543
C#はガベージコレクションが有る言語
C/C++/Rustのようなガベージコレクションが無い言語とは話の土台が異なります
0546デフォルトの名無しさん垢版2021/10/05(火) 14:46:58.82ID:MXyUAm/U
ガベコレがある言語かない言語かでどうしても考え方が分かれるから、始めるのにいい言語はどっちなのか先に決めてもいいんじゃなかろうか?
0547デフォルトの名無しさん垢版2021/10/05(火) 15:49:14.07ID:HrDzy9dq
>>546
昔は「GCがない」=「自分でメモリ管理しなきゃいけない」=「ミスると致命的」だったからその区別をする意義が理解できたけど
今は状況が一変してしまいました

【第1期】CとC++(初期)
自分で手動でメモリ解放しなければならなかった

【第2期】C++(現在)
各種スマートポインタ使用によりメモリ解放は自動で行われるようになった
しかしプログラムが込み入ってくると適切なスマートポインタ使用を完全にコントロールできなくなってるケースも多々ありそれが問題
つまり書かれたプログラムにメモリ安全性の保証が必ずしもないことが課題

【第3期】Rust
所有貸し借りをC++よりさらにはっきりさせることでコンパイルが通ったプログラムはメモリ安全性を保証することに成功
もちろんメモリ解放は言語レベルで自動に即座に行われるのでGCなし
しかもGCありの言語と同等もしくはそれ以上にメモリ安全性を保証

つまり以前は『GCなし言語は高速だけど自己責任管理ミス防止が大変』だったのが
今は『GCなし言語で高速なのに言語レベルで管理ミスを確実に防止してくれる』となった
初心者でもGCなしの高速なプログラミングを安全に出来るようになったわけです
0548デフォルトの名無しさん垢版2021/10/05(火) 16:05:08.71ID:s2K7JbUj
>>538-539
規格上は未定義の動作でしょ。
JIS X 3010の6.5.2.1とか6.5.6とかを見てみたら。
[]がポインタ演算として処理されるからといって、配列とポインタを同一視できるわけではない。

実際上は538-539の期待どおりに動作する処理系がほとんどだから、厳密には未定義であることを承知の上で利用することは否定しないが、言語仕様の話をしているときに、それがC言語の本来的な仕様であるかのように語るのは違和感がある。
0549Mb垢版2021/10/05(火) 16:16:25.50ID:NR1fOsV4
>>547
正確にいうと、古い世代の言語は GC を明示的に行なっていたけれど、
現代の言語は、そこの部分をうまく隠蔽していて、それを標準として
いるということではないかな?
文字列オブジェクトの A.equals(B)は、LISP の頃は当然だったけれど、
「値が一緒だったら、一緒にしないとまずくねぇ?」という話になって
A.eq(B)みたいな話には、少なくとも Java ではあったりする。
String オブジェクトを「==」で処理するのは行儀が悪いが、
シングルトン実装を踏まえて ちゃんと作法を守って使うのなら、
それはそれで認める。
つーか、これって「ぶっちゃけ始めるににいい言語て何」という
スレタイに合ってねぇだろ。ここは老人の寄合所なのか?
0550Mb垢版2021/10/05(火) 16:23:52.58ID:NR1fOsV4
>>589
それを言ったら FORTRAN の FOR ループから脱出したときの、
FOR 文の局所変数の値は、規格の上では「不定」だったんだよ!
ANSI 規格の C 言語に文句があるわけじゃない。
行儀よく振舞えって言っているのだ。
0552デフォルトの名無しさん垢版2021/10/05(火) 16:52:02.45ID:2oqKIsmm
Excel VBA(ついでにSQL、ストアド覚えられるとなお良) → VB.Net → C# → ASP.Net(ついでにhtml、CSS、Javascript、JQuery)でいいんじゃないかと。

後は趣味で頭の体操的にアセンブラで。
0554Mb垢版2021/10/05(火) 17:27:23.90ID:NR1fOsV4
>>551
順当な判断だな。
>>552
> 後は趣味で頭の体操的にアセンブラで。
おぉ、多湖 輝 さんの「頭の体操」とは古いな。歳の頃は
五十代後半とみた。
エドワード・デボノさんの「水平思考」も知っているだろうから、
LOGO も思いだしてほしい。
0555デフォルトの名無しさん垢版2021/10/05(火) 18:35:05.62ID:Sa3guHHs
>>551
それでFAだな
0563デフォルトの名無しさん垢版2021/10/06(水) 04:36:54.38ID:QZp+1IHf
俺の使ってる言語が一番なんだ!他はゴミ!よう知らんけど!

ってなってるよなこのスレ
0567デフォルトの名無しさん垢版2021/10/06(水) 10:40:11.12ID:lL0lfCQP
>>565
何の知識もないと大抵の言語は無理やから
言語から入るよりはコンピュータの勉強した方がいいかも知れない
0569デフォルトの名無しさん垢版2021/10/06(水) 13:07:32.50ID:CjSIWhaj
キテレツ大百科全巻読破から始めよう
0570Mb垢版2021/10/06(水) 14:09:16.80ID:ACaN1g4Y
いや、フツーに Java でよくない?
C♯も悪い言語ではないと思うんだけど、
あまりプログラミング初心者にお勧めはしにくい
言語ではあると思う。
Java は Pascal とか C とか COBOL とか
Pascalbとかのレガシー・コードを継承しようという
意思が感じられるのに対して、C♯は、そういう風情が
一切感じられないんだよな。
「あんな奴とつきあってたんだ orz」とかいって、
のちのちトラウマになりそうなのが C♯ で、
「うん。感謝してる。前を向いて歩くわ」というのが
Java だと思う。
0571デフォルトの名無しさん垢版2021/10/06(水) 14:34:08.52ID:g0yUV+3l
Javaは無いわー
理由
・単純に俺が嫌い
・ネイティブコードまで落としてくれないので重い
・やってる奴がいすぎ
 プログラマーの集団に向かって石投げると
 大体Javaやってる奴に当たる
 供給過多で何かあるとすぐ仕事からあぶれる
0572デフォルトの名無しさん垢版2021/10/06(水) 15:19:46.80ID:YLz2RbwR
古いJavaしか知らない知識で語ると
delegateと演算子オーバーロードがないせいで文法が歪んでる気がする
逆にプリミティブ型の扱いは使いやすさ云々除くと本当はjavaのようにあるべきなのかなーとも少し思うが、結局stringぐらい参照型であることを忘れて値型のように扱いたいって願望は出てきちゃう
0573デフォルトの名無しさん垢版2021/10/06(水) 15:26:59.55ID:iYMIscab
JavaやるならKotlinのほうがマシだろ。

ヌルポの無いJavaがあればまだオススメしやすいけど。
0574デフォルトの名無しさん垢版2021/10/06(水) 15:55:18.82ID:ksYOXyia
何年か初心者向けにJavaを教えていたことがあるけど、
「始めるのにいい言語」としてはイマイチな印象
理由としては

・Hello world をするにも(初心者にとっての)おまじないが多すぎて覚えにくい
・オブジェクト指向の概念を早い段階で習得させる必要がある
・基本型と参照型の区別が邪魔

くらいかな (プログラミング言語としては悪くないと思ってるけど)
経験的にはPythonかRubyがベスト。Cからでも悪くはない
0575デフォルトの名無しさん垢版2021/10/06(水) 16:28:45.47ID:YLz2RbwR
正直おまじないヤダーとか言うなら、もうjavascriptでよくね?って思う
環境用意すらいらんのが最強でしょう
0576Mb垢版2021/10/06(水) 16:49:50.68ID:ACaN1g4Y
あぁ、そうですか (-_-!)。
> 単純に俺が嫌い
それは仕方がない。
> ネイティブコードまで落としてくれないので重い
それ言うたら LISP はどうやねん。
ネイティブコンパイラだけがコンパイラじゃねぇだろうが。
何がなんでも .obj に落とさにゃいかんのか?
だったら OS から仮想化しろっちゅー話になるやんけ。
> やってる奴がいすぎ
知ったこっちゃねーよ。
> 演算子オーバーロードがない
あれは善し悪しだぞ?
> プリミティブ型の扱いは使いやすさ云々除くと本当は
> Javaのようにあるべきなのか
IEEE に配慮しただけだっつーの。もうちょい簡単な言語が
別にあっても悪くないと思う。
> ヌルポの無いJavaがあればまだオススメしやすいけど。
がっ
> Hello world をするにも(初心者にとっての)おまじないが多すぎて覚えにくい
それはつねづねそう思う。
> オブジェクト指向の概念を早い段階で習得させる必要がある
つーか、「メッセージング」という概念をちゃんと教えろよ、と
思う。
> 基本型と参照型の区別が邪魔
それを言いだすとオートボクシングとか面倒臭い話に
なるんだよなぁ。
プリミティブ型があるから入門しやすいというメリットも
あるんだが。
0577デフォルトの名無しさん垢版2021/10/06(水) 16:58:47.72ID:YLz2RbwR
プログラマー11年目ワイ、デザパタもdddもRxもpubsubもわかるが、メッセージングが何を指してるのかわからない
0578デフォルトの名無しさん垢版2021/10/06(水) 17:08:35.67ID:CjSIWhaj
printfやMessageBoxだよ
0580デフォルトの名無しさん垢版2021/10/06(水) 17:38:11.30ID:ksYOXyia
>>575
JavaScriptは言語仕様がかなり難しい(オブジェクト指向と関数型のハイブリッド)し、
実用的に使おうと思うとすぐにライブラリ依存の話になるので、
これまた初心者には向いていないと思う
0582デフォルトの名無しさん垢版2021/10/06(水) 18:18:52.38ID:HwdaWcdV
Cから初めていいんだぜ
Cで挫折するくらいならそもそもプログラミングの適性ないんだからさ
0585Mb垢版2021/10/06(水) 20:43:58.99ID:ACaN1g4Y
>>577
> プログラマー11年目ワイ
> メッセージングが何を指してるのかわからない
まぁ、二十世紀の世代はそうだろうな。
「オブジェクト志向」というのは、昔は「算体主導言語」といって、
「算体(オブジェクト)」が、狙ったオブジェクトに
メッセージを投げると打ち返してくる、というコンセプトから
始まったんだ。
そんなわけで、基本は静的なオブジェクト(現在だと、static な
オブジェクトと、シングルトン実装されたオブジェクト)どうしの
メッセージのやりとりが基本なんだと思う。
そこから派生したのが、クラス定義から new されたインスタンスで、
内部変数以外は、どっかしらで定義されたコードを参照しているだけなので、
不要になるまではメモリに置かれているだけ、という話ではある。
そのあたりのカラクリは、Java の実行系のコードを追わないと
見えてこないんだが、それがよくできているので、JVM をベースにした
言語がいくつも生まれているという経緯がある。
0586Mb垢版2021/10/06(水) 20:47:51.32ID:ACaN1g4Y
書いてて思ったんだが、
C のコードを JVM に落とすコンパイラを書いて、
そのコンパイラのコードを晒したら、
「ぶっちゃけ始めるのにいい言語」に
なりそうに思うんだが。
0587デフォルトの名無しさん垢版2021/10/06(水) 23:55:22.85ID:t05nCb8P
>>551
最初にC言語をやるのに同じく賛成
シンプルでありながら基本を把握するのにC言語はベストだと思う
もしC言語ですら理解できないならプログラミング適性がないと早めに知ることもできる話も同意

しかしC言語の次にC++やJavaは反対
C++もJavaも歴史的積み重ねによりシンプルな言語ではなくなっていることがその理由
C言語の次はシンプルかつモダンなプログラミングが学習できるRustがベスト
0588デフォルトの名無しさん垢版2021/10/07(木) 00:20:19.93ID:UIzBEmv/
環境構築が難しいからCはないな
まずは、VisualStudioでC#か、AndroidStudioかInteliJでKotlinだな

ある程度のライブラリの概念も知った方が良いしsplitすらないC++には度肝を抜かされたぜ
0589デフォルトの名無しさん垢版2021/10/07(木) 00:58:09.00ID:jA+Zs0kE
Cはたしかに難しい部分があるけど、C# や python も底なしのような気がしてきた
まぁ欲張らずに、どこまで使うか決めたらいいのだけど、それがなかなか難しい
0590デフォルトの名無しさん垢版2021/10/07(木) 02:06:40.29ID:r1vaezvA
コンソールアプリから始めるとしたら何でも良さそうな気がするけど。
後の進路が判ってるなら、最初からそれを選べば良いんだし。

最初からVSでGUIは止めた方が良いと思う。
既に用意されてるプロジェクトファイルが把握しきれない。
0593デフォルトの名無しさん垢版2021/10/07(木) 04:24:56.37ID:L6y4SXkD
>>590
同意
何でか仕様を一通りというか全部なぞらせようとする人多いけど
目標がはっきりしてから適切な言語でやればいい
0594デフォルトの名無しさん垢版2021/10/07(木) 06:36:58.88ID:zARHXhX9
Kotolin推奨してるのって何なの?
andoroid開発する以外に何のメリットがあるの?
null許容なんてバリデーションかませればいいんだし
0600Mb垢版2021/10/07(木) 12:06:39.91ID:r04zjL6z
>>592
> それが初心者にできるか、ってことじゃね?
そこは若い人の感性なので否定はしない。
その昔、IBM の「OS/2 Warp」というOS があって、
TV CM に山口智子が出演していた。
OS/2 は IBM と マイクロソフトの確執があったらしく、
マイクロソフトが Windows を推すにあたって邪魔だというので
潰された。
OS/2 Warp は、「デスクトップという概念が、ない!」という
画期的な OS で、しかもプリエンティブなマルチタスク OS だった。
0601Mb垢版2021/10/07(木) 12:18:11.38ID:r04zjL6z
その OS/2 Warp の開発環境が、IBM の「ActiveAge C/C++」という
IDE だった。これが Eclipse の前身だ。
ところが OS/2 Warp がマイクロソフトに潰されたので、
Java 用に「Eclipse」(Sun に対抗したという噂があった)を
開発したのだが、「『IBM 製』っていうと、フリーソフトウェア
系のプログラマに対しては印象悪いよねぇ?」という理由
(だと思う)ので別会社にしたという経緯があったりする。
Java と Eclipse の組合せは開発環境としては悪くないし、
バージョン 1.4 でほぼ安定しているので、まぁ 5 とか
使っときゃ最新版でもきっちり動くので、
それはそれで初心者向きだと思う。
0606デフォルトの名無しさん垢版2021/10/07(木) 16:34:12.31ID:82wRVZeJ
いま公聴会で話題のFacebookですら基幹システムをJavaからRustへ置き換えたのでしょ
Javaが優れてる点は無いのだからRustでいいんじゃない
0607Mb垢版2021/10/07(木) 16:45:35.23ID:r04zjL6z
>>604
そんなもん知らんよ。使いなれてるから使ってるだけだ。
宮大工さんに「いまどき墨壺とか槍鉋とか手斧(ちょうな)とか
使ってるんですか wwwwww」とか言うのと似たようなもんだろ。
うちの近所は町工場が多いんだが、光明丹とかキサゲとか
擦合わせ定盤(じょうばん)とかはフツーに現役で
使われてるぞ?
0608Mb垢版2021/10/07(木) 16:52:34.95ID:r04zjL6z
>>606
> いま公聴会で話題のFacebookですら基幹システムを
> JavaからRustへ置き換えたのでしょ
あれは別に基幹システムの話とは関係ないだろ。
Java が使えるような古参兵が他の業務に引っ張られちゃったので
新兵に Rust を使わせているだけの話だ。
つーか、Java が使えるルーキーもそれなりにいるだろうが、
そういう奴を集められない時点で、企業としての FaceBook の勢いが
墜ちているというだけの話じゃないか?
0609Mb垢版2021/10/07(木) 16:58:34.39ID:r04zjL6z
>>606
> Javaが優れてる点は無いのだからRustでいいんじゃない
そういうことは、Rust が Java より優れている点を
具体的に列挙してから言ってくれ。
「自民党が優れている点は無い」とか言っている
立件民主党とか共産党とかとどこが違うかという話だ。
だったら Rust が政権を担えるわけでもあるまい。
0611デフォルトの名無しさん垢版2021/10/07(木) 17:17:59.39ID:sszEonW2
GoogleはLinuxとAndroidをRustへ移行進めてるな
Linusも了承したので来年からRustへの置き換え開始
0613デフォルトの名無しさん垢版2021/10/07(木) 17:40:33.13ID:I+6aGzyK
>>606
言いたいことは分かるが
Rustは新しすぎてまだ定着していない。
ぶっちゃけ始めての言語として勉強して
すぐに廃れてしまいましたでは
勉強した人が可哀想過ぎる
0615デフォルトの名無しさん垢版2021/10/07(木) 18:09:06.84ID:82wRVZeJ
>>613
RustはIT業界が総支持しているメインストリーム言語
メモリ安全性を保証しGCも無いRustよりも良い言語が存在しないため

>大手IT企業たちの方針

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

>Facebookが「Rust Foundation」に参加
https://japan.zdnet.com/article/35170192/
0616デフォルトの名無しさん垢版2021/10/07(木) 18:37:06.59ID:UPeZZJQA
>>615
Huaweiが入ってるかsらダメ。
0617デフォルトの名無しさん垢版2021/10/07(木) 19:37:18.49ID:1MYnoZGB
>>612
C#は現状、手っ取り早くGUIアプリ組んだり出来るから、まだまだ便利。
っていっても、Rustもそういうのが揃うかもしれないし、
それまでじっくり言語機能を身につけるのも良いかな。
0618Mb垢版2021/10/07(木) 20:56:15.21ID:r04zjL6z
ところで、
「Rust はガベージコレクション(GC)」がない
という話のソースはどこなんだろう。
「静的な GC がない」のは分かるのだけど、
「動的な GC(別名を WC(ウェイスト・コレクション。
日本語では、通称「便所掃除(べんじょそうじ)」といって、
一九八十年代から LISP 業界では一般的な呼び名))」は、
少なくとも SmallTalk 80 の時代から一般的だったように
記憶しているが、それは認知症の老人の妄想だろうかね?
せめてエビデンスを確認してから往生したいと思う。
0620デフォルトの名無しさん垢版2021/10/07(木) 21:34:03.44ID:4ZUcinjQ
別にRustだっていいんだがプロとしては現状JavaでGAFA等入ってから使うものなので
まあ今んとこJavaだよ
フロントならJS
0621デフォルトの名無しさん垢版2021/10/07(木) 22:06:14.52ID:9GfeYqSI
>>618
C言語と同じで、いわゆるGCというものは実装していないそうな。
ただ、そのままではゾンビ領域(いわゆるメモリリーク)ができてしまうので、
確保された領域へのポインタの持ち主(となる変数)が1つだけになるようにした。

ポインタが代入されると、領域の所有権も代入された側に移る・・所有権を
失った側のポインタを使おうとするとエラーになる。

これで、変数の消滅とともに領域を自動的に開放できるので、プログラマが
わざわざメモリ解放したり、GCで管理させる必要がなくなった。

というカラクリみたいね。
0622デフォルトの名無しさん垢版2021/10/08(金) 05:08:48.20ID:sqiV0pTr
>>565
F#
なんかシティポップって感じ
0623デフォルトの名無しさん垢版2021/10/08(金) 08:24:34.88ID:WnvCCDtE
>>621
c++だとshared_ptrとの連携無しにunique_ptr強制するようなもんだから、それって初心者向けじゃないよなぁ。
0624デフォルトの名無しさん垢版2021/10/08(金) 08:37:44.51ID:9j3s+x6l
 
●入門に良い言語の条件(filter)

@あまり難しい概念を理解しなくても使える
Aある程度商用で使用されている
B環境を整えるのが容易で敷居が低い
C利用範囲が広い

@でlisp,ruby他が落ちる
Aでgo,rust,pasca,perll他が落ちる
Bでjava他が落ちる
Cでphpが落ちる

残るのはc,c#,pythonになるかな
0626デフォルトの名無しさん垢版2021/10/08(金) 10:29:15.40ID:gY+WvjIx
入門言語でプログラミングの汎用知識を得られることが大切
また、その言語独特の制約が多い言語は
汎用仕様以外の知識の習得が求められるので非推奨

javaの環境設定はvscodeなら簡単
0628デフォルトの名無しさん垢版2021/10/08(金) 12:12:18.53ID:7BI2b9Ni
広いかどうか知らんけどスクリプト系は覚えてて損無し
そんでその中じゃあpythonはユーザ数の面で突出してる

などと言いつつ俺はpythonはノータッチだけどw
0629デフォルトの名無しさん垢版2021/10/08(金) 13:09:50.43ID:S71oPZ0y
pythonは環境そろえるのが一番の難どころだったりするしな
はじめにやるにはダルいかもな
0630デフォルトの名無しさん垢版2021/10/08(金) 13:13:33.61ID:jZe9uUym
確かに日経ソフトウェアなんかもPythonありきで書いてるし、環境構築もVisual Studioぶち込めば終わりだしね。
0631デフォルトの名無しさん垢版2021/10/08(金) 13:17:20.39ID:EgdGtVHT
サーバー用言語では、YouTube で有名な、雑食系エンジニア・KENTA が言うように、Ruby on Rails が圧倒的。
つまり、Railsはプロの転職用フレームワーク

例えば、Ruby/Go による今世紀最大の起業家、
ワシントン大学の学生・Ruby製のVagrant の作者・Mitchell Hashimoto(HashiCorp)も、
今は、Go製のTerraform を作って、会社の時価総額が5千億円とか。
Rubyist じゃなくて、Goプログラマーを募集している

他のサーバー用言語、Django, Node.js, Elixir とか、ほとんど使われていない。
Laravel は、そこそこ使われているけど、KENTAは、PHP を一生やらなくてよいと言ってる

米国では、Node.js の求人は、Rails の2倍あるけど、900万円ぐらい。
一方、Rails は、1,300万円

給料の差が大きいから、たぶんNode.jsを使う人は、フロントエンジニアなのだろう。
Linux, AWS, Docker, Terraform, Cloud Formation などの、バックエンドを知らない人だと思う。
だから、給料が低いのだろう

AWS Solution Architect で、1,400万円とか、
バックエンドは格段に難しいから、給料が高い

だから、KENTAが、Rails → Go へ進めと言ってる。
つまり、Rails/Goは、バックエンドのプロの転職用言語

KENTAのサロンだけでも、3千人入っているから、
単独のフレームワークでは、日本最大のコミュニティーじゃないか。
他にも、各学校で教えているし、合計するとかなり多い

Vue.js 日本ユーザーグループの Slack では、3千人だろ。
KENTAのサロン単独でも、同じ人数
0632デフォルトの名無しさん垢版2021/10/08(金) 13:25:57.82ID:bEpP7OL4
laravel始めるぐらいならrailsしてろってのには同意するし
phpのコミュニティや文化よりruby・railsのコミュニティや文化の方が圧倒的にいいのは認めるが、謎の宣伝はアホ
というかphpプログラマーは質が低いのがなぜか多すぎる
0634デフォルトの名無しさん垢版2021/10/08(金) 14:41:00.77ID:jZe9uUym
お前ら
始めるのにいい言語じゃなくて
自分のお気に入り言語言ってるだけと違う?
0635デフォルトの名無しさん垢版2021/10/08(金) 15:08:44.53ID:Q4k4Ultl
>>624
>@あまり難しい概念を理解しなくても使える
>@でlisp,ruby他が落ちる

rubyを使うのに理解しないといけない難しい概念て何?

lispも特に難しい概念は理解しなくても使えるような気がするんだが・・・
0637デフォルトの名無しさん垢版2021/10/08(金) 15:40:47.28ID:S71oPZ0y
>>636
Anacondaがいがいとクセが強いんだよな
具体的にはスクレイピングとかしようとライブラリいれるのに手こずりまくった
まあ3年ぐらい前の話だし今はまた違うのかもな
0638631垢版2021/10/08(金) 16:00:16.57ID:EgdGtVHT
Ruby on Rails は、プロの転職用フレームワークだから、
Linux, AWS, Docker, Terraform, Node.js, Webpack, Bootstrap、データベースも入ってくる

基本、Linuxサーバーで、バックエンド技術者用。
それが非常に難しい

米国年収では、Railsは、1,300万円で、Node.jsは、900万円の差が、
Linux・データベースなどのバックエンドの知識

Node.jsの人ならフロントエンド技術者で、Firebase だから、給料が安い。
その代わり、ウェブサービスのシステムを作れない

だから、KENTAは給料が高く・求人が多い、
つまり、企業が欲しい人材は、バックエンドと言うわけ

それが、Rails → Go へのキャリアパス
0639デフォルトの名無しさん垢版2021/10/08(金) 16:00:40.04ID:Atwx9dZV
>>637
いや,Pythonに慣れてきたらAnacondaは辞めた方が良いと思う
ただ,初心者のうちならアレで慣れた方が良いんじゃないかな
0641デフォルトの名無しさん垢版2021/10/08(金) 16:10:15.14ID:IkBxSSRk
>>623
そうね。
初心者だと、C言語のポインタの概念だけでも手こずるのにね。
プログラムを作ることより、言語仕様を学ぶことが目的になってしまって、
「中途放り出し率」が上がる気がする。

その点、昔のBASICインタプリタは手頃だったんだよね。
とりあえず数値の計算もできるし、画面に図形を描いてみたり、音を鳴らしたリっていうのも
簡単にできたし。困ったらGOTOで飛ばしちゃえばいいという(笑)

まずはお行儀が悪くてもなんでもとにかく書け、書いて動かせ・・そのうち構造化とか
オブジェクト指向とかのありがたみが分かってくる。
0643デフォルトの名無しさん垢版2021/10/08(金) 17:16:28.54ID:Q2G8EV85
>>641 >>623
そこでRustですよ
初心者の範囲内ではポインタの存在など含めて全く気にすることなく使えるのもメリットです
もちろんメモリの解放なども全自動で行われますからRustなら初心者でも安全安心でプログラミングすることが出来ます
C/C++をしたことある人ならこの決定的な違いを理解できると思います
0645デフォルトの名無しさん垢版2021/10/08(金) 17:31:23.32ID:7BI2b9Ni
>>624
> @あまり難しい概念を理解しなくても使える

難しい概念っていうとrustの所有権とライフタイムが真っ先に浮かぶわけだがw
0646デフォルトの名無しさん垢版2021/10/08(金) 17:56:40.63ID:Q2G8EV85
>>644
一般的に参照カウンタを必要とするものもRustはそういう型を言語としてサポートしているためカウンタの存在もゼロ時の自動解放も気にすることなく使えます

>>645
もちろんライフタイムの管理が必要な複雑なデータ構造を扱うモジュール等を作るには適切なライフタイム指定管理なども必須ですが
初心者や初級者はそんなことせずにそれらを利用するだけですよね
0647デフォルトの名無しさん垢版2021/10/08(金) 18:25:03.56ID:Xtw1V5gY
あわしろ氏の一番弟子、ケンタがお勧めするRuby。
0648デフォルトの名無しさん垢版2021/10/08(金) 18:26:28.16ID:Xtw1V5gY
RustはC++0xをパクっただけで目新しいものは無いのでは?
0649デフォルトの名無しさん垢版2021/10/08(金) 18:54:16.41ID:8/NjFzc1
>>643
「メソッドをコピーしたらなんかエラーが出て実行できないんだけど、なにこれ?」
という未来が見える。
0650デフォルトの名無しさん垢版2021/10/08(金) 19:05:19.55ID:Xtw1V5gY
未来が見える邪眼持ちか。
恐ろしい。
0651デフォルトの名無しさん垢版2021/10/08(金) 19:21:46.04ID:Q2G8EV85
>>648
C++と異なりRustは他の言語の様にもっと抽象的に記述できる点が良いですね
それでいてC/C++と同等のパフォーマンスを得られます
さらに加えてメモリ安全性を保証することもRustの特徴です

>>649
どんなエラーですか?
エラーの意味と改善すべきアドバイスがコンパイラによって提示されていると思います
0652デフォルトの名無しさん垢版2021/10/08(金) 19:33:42.60ID:DgebbAei
RustはC/C++と同等の速度が出るというのはよく言われているけど、厳密に比べたらどうなの?
得意不得意はあれどトータルで見れば同等とみなせるのか、あるいはほぼ遜色ないけれども全般的にはC++に一歩譲るのか。
0653デフォルトの名無しさん垢版2021/10/08(金) 19:45:35.75ID:owwsg6GQ
>>652
C/C++/Rustはトータル同等
件により互いに逆転ありの数%の誤差
他のプログラミング言語が数倍遅いのと比べてC/C++/Rustは最速トップ集団
0654デフォルトの名無しさん垢版2021/10/08(金) 19:47:19.45ID:Xtw1V5gY
ってことは、FORTRANのほうが速いってことだね。
0656デフォルトの名無しさん垢版2021/10/08(金) 20:23:08.86ID:7BI2b9Ni
rust vs c
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust.html

rust vs c++
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/rust-gpp.html

reverse-complement
source secs mem gz busy cpu load
Rust 0.45 498,964 3040 0.77 25% 23% 100% 25%
C++ 0.52 1,788 1853 0.52 0% 98% 0% 2%
C 0.86 712,208 820 1.27 99% 28% 1% 19%

mandelbrot
source secs mem gz busy cpu load
C++ 0.84 34,780 3542 3.27 99% 98% 98% 96%
Rust 0.93 32,676 763 3.70 100% 99% 100% 100%
C 1.27 31,792 1135 5.08 100% 100% 99% 100%
0657デフォルトの名無しさん垢版2021/10/08(金) 20:25:00.84ID:owwsg6GQ
誤差だよ
一方で例えばPythonはC/C++/Rustと比べて10倍遅いといったように歴然たる差がある
0658Mb垢版2021/10/08(金) 21:46:19.21ID:DoIXsJjh
うーん …… 今はGUI善政だから、
「ちょっと書いてみて動かせる」っていう言語は
ないんだよね。
昔のCUIの時代だと、BASIC とか Rexx とか。
いろいろあったんだけどね。
なにかしら簡単なIDEっぽいものがあって、
そこでチョコチョコっと使える言語ってないのかなぁ。
みんな、HTML とか CSS とかのファイルって、
どんなエディタ使って編集してんの?
0659デフォルトの名無しさん垢版2021/10/08(金) 22:36:41.84ID:YFzygr5T
C言語も、本当に独りで学ぶのでなく、質問に応えてくれる人がそばにいればまったく違うかもしれませんね

もし、的確な指導があっても理解できなければ(ポインタなど)、向かなかったといあまでだし、大概は越えられると思うんだよね
0660デフォルトの名無しさん垢版2021/10/08(金) 23:33:06.69ID:owwsg6GQ
>>658
今は超例外を除いて手動ではなくデータ→HTML生成はプログラムがするとご存知のはず
昔はそのデータ→HTML生成をサーバーサイドでしてきたが
今はブラウザが差分データだけサーバーからもらってブラウザ内でHTML(DOM)生成する
これでトラフィック減少・サーバー負荷減少・ページ表示速度高速と良いことずくめ

しかしサイトが初めてアクセスされた時にこのブラウザがHTML(DOM)生成する方式だと表示されるまでが非常に遅い
これはブラウザへの生成プログラムのダウンロード+各種必要データのダウンロード後に初めてHTML(DOM)生成開始となるため
そこでサーバーでもデータ→HTML生成すればこの問題を回避して普通に遅くなくページを表示できる

結果的にサーバーでもブラウザでもデータ→HTML(DOM)生成をしている
もちろん同じページ生成のために同じデータを使いほぼ同じプログラムだ
同じプログラムなら複数のプログラミング言語で書くのは無駄なのでサーバーサイドでもブラウザで動いているJavaScriptコードを動かしてデータ→HTML生成するようになったのが現在
0661デフォルトの名無しさん垢版2021/10/09(土) 05:27:38.31ID:gzYYdcqw
Haskellの教科書買ったけど途中から急に難しくなった
型クラスとか意味分かんない
0663デフォルトの名無しさん垢版2021/10/09(土) 11:06:39.96ID:61XmRVCq
魏志偉人伝。
0664デフォルトの名無しさん垢版2021/10/09(土) 12:13:11.12ID:aE+I1ePy
>>662
VSCodeは多少の設定いるけど、変態C++でも割としっかり目にコード解釈してくれるから、
他の言語の対応も良さそうなイメージがある。
VSCodeとRustとか入れて、デバッグまで出来るようになったて多少かけるようになったら、
気になる言語いくつか入れて遊ぶのもが良いかもね。
0665デフォルトの名無しさん垢版2021/10/09(土) 15:00:58.93ID:wqgLuFMm
>>621
だったら素直にそう言ってくれよ ……
日本語処理とかだと、可変長データが山ほど出てくるので、
言語に制約がかけられると非常にコードが書きづらい。
制御畑の人間は固定長のエリアと固定長のバッファでいいかもしれんが、
それ以外の世界もあるんだよ。
0666デフォルトの名無しさん垢版2021/10/09(土) 16:26:15.09ID:/xiMgjvY
ここだけ時空が20年遅れてるスレ
0667デフォルトの名無しさん垢版2021/10/09(土) 16:30:41.28ID:61XmRVCq
あわしろ氏がお勧めする数学志向言語Haskell。
0668デフォルトの名無しさん垢版2021/10/09(土) 18:00:06.57ID:gzYYdcqw
あわしろに騙された!!
0670デフォルトの名無しさん垢版2021/10/09(土) 21:33:43.61ID:wqgLuFMm
>>666
二十年前からプログラマをやっていて、
ここ二十年ほどプログラミング言語が進歩していないという
現実から目を背けている奴が何を自慢したいのか、
だれか教えてくれんかな。
0671デフォルトの名無しさん垢版2021/10/09(土) 21:38:37.04ID:wqgLuFMm
つーか平山尚さんなんかは自分で Sunaba を実装したわけで、
「始めるのにいい言語」が欲しかったら自分で
実装すりゃあいいだけの話だろ?
0672デフォルトの名無しさん垢版2021/10/09(土) 22:26:36.86ID:1Zt+pHre
あんた話がズレてるよ
0673デフォルトの名無しさん垢版2021/10/09(土) 22:41:02.40ID:xMFCgLoN
ぶっちゃけ洗濯機も冷蔵庫もテレビもプレーヤーもポットもスマホ携帯も
家中の電化製品なんざ電源のオンオフとタイマーが制御出来れば事足りる
0675デフォルトの名無しさん垢版2021/10/09(土) 23:29:03.96ID:7nMI6t/Z
>>670
プログラミング言語で画期的な進歩ならば
「C/C++と同じネイティブ&GCなし最高速」と「メモリ安全性を保証」
という従来は両立すると思えなかった2つの重要事項を
Rustが実現してしまったことかな
0676デフォルトの名無しさん垢版2021/10/09(土) 23:46:16.70ID:CKiMGevy
>>674
ええ2011年頃から放送されてないみたいなので結構ですよ
0678デフォルトの名無しさん垢版2021/10/10(日) 00:04:25.69ID:fniaB4fI
わきがあまいと鉄サビ臭いのは勘弁してね
0679デフォルトの名無しさん垢版2021/10/10(日) 08:42:15.26ID:ZJbmtnIp
>>678
「Dr.パソコン」「秋葉原の仙人」と呼ばれた
宮永好道さんが、『I/O』のSC/MP2
(ナショナル・セミコンダクタ製)を使った
ワンチップコンピュータの製作記事で
似たようなことを仰っていた。
0680デフォルトの名無しさん垢版2021/10/10(日) 08:48:15.55ID:ZJbmtnIp
>>678
対策:
ドランブイを減らす
クラッシュアイスを使う
レモンを数ダッシュ加える
スコッチの種類を選ぶ
0681デフォルトの名無しさん垢版2021/10/10(日) 08:59:06.30ID:iUnZC253
javascript.infoの細かい部分まで理解できたら
初心者の域を脱して
初級レベルですと言ってもいいでしょうか?
0682デフォルトの名無しさん垢版2021/10/10(日) 11:28:42.76ID:2mgB061S
>>681
知識的には十分
PART1~3まで把握してれば中級に片足入れてるレベル
(もう片足はライブラリ、設計知識、経験則等)

ただ知識があっても実際にものを作れるとは限らないので
何かしら作ったものが伴わないと「作れるものは入門書レベルです」になる
0683デフォルトの名無しさん垢版2021/10/10(日) 13:30:41.37ID:iUnZC253
>>682
ありがとうございました
javascriptのスレッドは息途絶えているようなので
スレチかもしれませんが問い合わせさせていただきました
回答ありがとうございました!
0686Mb垢版2021/10/10(日) 14:16:48.08ID:ZJbmtnIp
>>685
ギャロとモンタニエの喧嘩が「始めるのにいい言語」となんの関係がある?
屑がちょっかい出すんじゃねぇよ。
0687デフォルトの名無しさん垢版2021/10/10(日) 14:43:10.11ID:tXL65RFQ
>>685
バカタレが
0690Mb垢版2021/10/10(日) 15:45:42.48ID:ZJbmtnIp
加齢臭漂う意見であって嫌いな人には申し訳ないと
最初に申し上げておく。すまぬ m(_ _)m
「そもそも論」になってしまうが、「プログラミング言語」っちゅーのは
何なんだろね?という話はあると思う。
ハードウェアの機械語をバイナリで書くのも
「プログラミング言語」といえばその通りだし
(機械語にパッチ当ててNOPを詰めたりもしたことがある)、
その上にネイティブアセンブラがあって、さらにその上に
マクロアセンブラがある。
で、C 言語なんかは、むしろ「マクロ言語」「トランスレータ」で
あって、「インタプリタ」とか「コンパイラ」とかいった概念では、
なかなか理解しづらいんじゃないかと思う。
C++なんかは、そもそも「コンパイラ」ですらねぇぞ?
0691Mb垢版2021/10/10(日) 15:56:46.47ID:ZJbmtnIp
「仮想機械を実装して、そこにコンパイラを乗っける」というのは
けっこう便利な実装方法なので、ネイティブコンパイラの
実装よりも楽だ。だいたい、機械語のコードを
吐こうと思ったら、マシンアーキテクチャべったりに
なってしまうので、どっかしらに中間言語を挟まないと
面倒臭い。
これはCPUが8bitだったころからの通例で、Pascal の p-code
システムとかいろいろと例がある。Java だったら JVM という
仮想マシンがある。
「言語マニア」になっちゃうのもどうかと思うのでお勧めはしないが、
なにかしら言語処理系を実装してみるのは面白いと思う。
FORTH なんかは半日もあればインタプリタが実装できるので、
試してみてはいかがだろうか。
0692Mb垢版2021/10/10(日) 16:01:56.63ID:ZJbmtnIp
ついでながら、C で LISP の基本函数を実装するのは
やたら簡単だが、それを Java に移植しようとして挫けた orz
Prolog を BASIC で実装した例もある(『bit』掲載の
Micro Prolog)もあるのだが、なにせ昔の話なので誰も知らん。
Java で動かしたら、けっこう面白いと思うんだが。
0693デフォルトの名無しさん垢版2021/10/10(日) 16:42:43.79ID:osHZfZYe
初心者が取り組むべきは、JSONパーサーあたりだと思います。
0694Mb垢版2021/10/10(日) 20:32:21.15ID:ZJbmtnIp
いまなら JIT とかもいいように思う。
0695デフォルトの名無しさん垢版2021/10/10(日) 21:10:00.25ID:nfyvan6l
Processingがいいと思うけどな
グラフィック向けとして認知されてるけど
Javaのライブラリはかなり使える
GUIもGISもKinectも物理エンジンも使えるし
もちろん学習的にはそのままJavaに移行できる
0696デフォルトの名無しさん垢版2021/10/10(日) 23:04:20.53ID:Q6fTqL7R
実際Rustで何が作れるん?
スマホアプリとかをクロスプラットフォームで開発できたりするなら良いかなって思ったんだけど、どうもそんな感じじゃ無さそうだし
バックエンドがメインなんかね
Windowsアプリもまだまだ作りやすそうな環境には思えない
0697デフォルトの名無しさん垢版2021/10/10(日) 23:16:29.25ID:Q6fTqL7R
RustがC/C++に置き換えれるメリットは何となくわかるけど、未だにC/C++が使われるのって環境によるところが多いと思うんだよね
(C/C++のコンパイラしかないとか、ライブラリ・フレームワークがC/C++にしか対応してないとか)
その辺りを自力で何とかできなくは無さそうだけど、何か作りたいって時に障害が大きそうで初心者に向かない気がするんだが
0698デフォルトの名無しさん垢版2021/10/10(日) 23:40:00.76ID:+XGDyThy
>>696
フロントエンドもRustで書ける
ブラウザ上ではWasmが動くそして
Wasmの記述にはRustがベストで最も使われている
フロントエンドby Rustの例

https://yew.rs/ja/
> Yew は WebAssembly によってマルチスレッドな、
> Webアプリのフロントエンドを作ることができる、
> モダンな Rust のフレームワークです。

>>697
LLVMが対応しているアーキテクチャなら動くのでRustはどの環境にも/へもコンパイル可能
必要ならC/C++ライブラリの呼び出しももちろん可能
既に障害は何も無くなっている
0699デフォルトの名無しさん垢版2021/10/10(日) 23:47:08.25ID:jC2owg1p
全てがRastで作れる
0701デフォルトの名無しさん垢版2021/10/11(月) 01:01:00.77ID:E6CIrRQe
>>698
フロントエンドもいけるのね

> LLVMが対応しているアーキテクチャなら動くのでRustはどの環境にも/へもコンパイル可能
> 必要ならC/C++ライブラリの呼び出しももちろん可能
可能ってのと実際に環境が用意されてるのってのは違うでしょ
具体的にRustでiOS/Androidのクロスプラットフォームで開発するならどういう環境になるん?
主にGUI周りはどう書かれる?
0702デフォルトの名無しさん垢版2021/10/11(月) 05:59:22.02ID:4izxTYiA
BASICで遊んでた古い者には、アセンブラやC言語のようなネイティブなコンパイラ言語が憧れだった。
パフォーマンス至上だったからね。
だからJavascriptやPythonなんかのスクリプトやインタプリタ言語には見劣りを感じて仕方がない。
0703デフォルトの名無しさん垢版2021/10/11(月) 09:10:37.96ID:D28hRQl1
いや別に。
ただアセンブラからCを使うようになる際には
ポインタもさることながらジャンプテーブルの書き方が面倒臭くなったなぁとは思ったけど。
0705デフォルトの名無しさん垢版2021/10/11(月) 12:37:53.66ID:8uzf1syY
MSのIDEがつかえて、インタプリタ言語がいいと思う
言語仕様よりもMSのIDEが使えることのほうが重要だろうな
0706デフォルトの名無しさん垢版2021/10/11(月) 13:39:31.79ID:0YWy5HKK
Rustも悪いものではないだろうけど、C/C++がどこでもとりあえず使え、
メーカのライブラリやサンプルコード類もC/C++で提供されている状況では
C/C++は共通言語として読める必要があるしな。

エスペラント語がいかに論理的に優れていようと、結局、英語が共通言語としての
利便性を獲得しているのと同じようなもんだ。
0707デフォルトの名無しさん垢版2021/10/11(月) 14:25:26.60ID:MHxEP58H
そもそもコンピュータの事を知らないでプログラムを始める事がどうかと思う
そういう意味ではCからやるべきだが
意味が分かってるなら別にjavascriptでも良い訳で
0708デフォルトの名無しさん垢版2021/10/11(月) 17:17:43.35ID:8uzf1syY
C/C++ならVS使えるからはじめてやるには悪くないな
C/C++が共通言語になったのって言語仕様ではなくIDEが優秀だったからだしね
全部人に教えてもらうわけにもいかないし優秀なIDEから教えてもらうのが一番いいと思う
0709デフォルトの名無しさん垢版2021/10/11(月) 20:31:26.47ID:Y1NKATQS
>C/C++が共通言語になったのって言語仕様ではなくIDEが優秀だったからだしね

え?????
0710デフォルトの名無しさん垢版2021/10/11(月) 22:40:10.86ID:VSdr+644
C、C++、C#、pythonあたりを用途に応じて仕事で使ってる
C/C++の代わりに使えてもっと便利な言語をなんか勉強したいと思いつつも時間取れない
0711デフォルトの名無しさん垢版2021/10/11(月) 23:00:43.12ID:/lM6hzkK
あわしろ氏がお勧めする数学志向言語、Haskell。
0713デフォルトの名無しさん垢版2021/10/12(火) 01:44:39.96ID:RfF0PFyU
AIを作るということがライブラリを呼び出すことを意味するならPythonで良いのでは?
0714デフォルトの名無しさん垢版2021/10/12(火) 02:17:34.90ID:1W2DSIiH
>>710
C/C++の代わりに使えてもっと便利な言語ならばRustしかない
Rustは今どきの言語の便利なプログラミング方法を備えつつC/C++の代わりに置き換え可能
さらにメモリ安全性の保証まで付いてくる
0716デフォルトの名無しさん垢版2021/10/12(火) 03:16:15.83ID:zyacLl51
Pythonちゃんは本人の性能は大したことないけど
プログラマがよその言語と作った子供でも文句を言わずに引き取る聖母タイプ
0717デフォルトの名無しさん垢版2021/10/12(火) 08:40:11.83ID:p7CNGuHH
>>710
c++に制約を付けたsmart c++欲しいよなぁ。
deleteのprorected限定(生ポインタ削除の禁止)とか、スライシング禁止とか。
0718Mb垢版2021/10/12(火) 15:59:32.27ID:bzFXr+Hm
>>709
きみはひょっとして写経から始めて
コマンドラインで叩いているのか?
お釈迦さんも言ってたが、なにも
好き好んで苦行をすることはないだろう。
手頃な IDE があったらそっちに乗り換えたほうがいい。
でなかったら Eclipse と Java でしのいでおいて、
C/C++ 用に使える IDE に移行するのがお奨めだ。
0719Mb垢版2021/10/12(火) 16:02:59.19ID:bzFXr+Hm
>>717
C♯が目指したのってそこだったのかもしれない、と
思うには思うのだが、レガシーコードを引きずっていると
そういうものかもしれないと思う。
Java だって n++ とか --n とか書けちゃうもんなぁ。
0721Mb垢版2021/10/12(火) 20:51:28.05ID:bzFXr+Hm
>>720
C♯はやったことがないから解らんが、
Rust より縛りがきついのか?
その昔、共立出版のコンピュータサイエンス誌の
『bit』で、「束縛系プログラミング言語」という
概念が紹介されていて、その記事のタイトルが
『そんなに強く縛らないで』だったのを思い出した。
0723デフォルトの名無しさん垢版2021/10/12(火) 21:01:38.51ID:1W2DSIiH
>>721
Rustは縛りが少なく自由度の高い言語
まさかと思うがRustが強力な静的型付け言語であることを縛りがきついと表現しているのか?
0724デフォルトの名無しさん垢版2021/10/12(火) 22:49:13.37ID:skec1lWI
Rustは記述量も多いし覚えること多いけど
Pythonみたいな書き方強制されるような言語の方が
自分は苦手だ
0725デフォルトの名無しさん垢版2021/10/12(火) 22:52:52.46ID:zyacLl51
>>721
自分はギャグポエム的に書いているのであまり深く考えないでいただけると助かります
個人的には、Javaはサンドボックスとしての潔癖性にこだわったが為にいつまでも弱いI/O性能に甘んじなければならず(悪いことではないけど)、
C#はそこそこ速く・メモリ管理が楽な・VM言語としてJavaをクローンしつつ、より低水準な処理もできんとあかんよねという現実主義の言語だと思ってます
それを白いパンツ指定の中学生と紐パンでもOKな高校生に例えてみました
0726デフォルトの名無しさん垢版2021/10/13(水) 03:06:36.68ID:fXfbCLiK
>>724
スクリプト言語と比べれば多いけど
JavaやC++と比べたらRustは洗練されていて記述量も覚えることも少ない
0727Mb垢版2021/10/13(水) 21:10:52.27ID:Y4oDfEf2
>>725
> それを白いパンツ指定の中学生と紐パンでもOKな高校生に例えてみました
いや、気持はわかるぞ(笑)
私も Ada を WAF(航空自衛隊の婦人自衛官)に例えたことがある。
じつは私は大きなプロジェクトを結構経験しているので、
「その現場のコーディング規約が、不合理でない限り
きっちり規定されているほうが仕事が楽」と思っているのだが、
往々にしてコーディング規約が不合理なケースが多いので、
勝手にごっそりリファクタリングして悶着を起こしていたりした。
「構造化プログラミングがしやすい言語」という観点からいうと、
Java は C のレガシーを引きずっていながら、ちょっと力不足という
中途半端なところはあると感じるが、
C のコードを移植するときには、
「どこを、どう、なぜ変えたのか」みたいなことが
説明しやすくて意見の調整がしやすい言語ではあると思う。
まぁ、たまに「詰め Java」めいたコーディングを強いられる
こともあるが、それはそれで面白いという気もする。
0728デフォルトの名無しさん垢版2021/10/13(水) 21:13:14.83ID:hD9f3zaL
Adaで仕事した事も無いくせにな
技術者からしたら一番嫌われるタイプのフカシ野郎やわ
0731デフォルトの名無しさん垢版2021/10/14(木) 00:48:56.85ID:KQfSxEDI
どっちも他人のこと構わず言いたいこと垂れ流してるだけなんでお互いスルーで戦いにもならない
0734デフォルトの名無しさん垢版2021/10/14(木) 08:20:30.27ID:45gMzY03
Rubyの人のほうがまだ一貫性があると思うし
話題に対して正確にレス返してくる知能がある希ガスw
0735Mb垢版2021/10/14(木) 08:46:50.55ID:WGI+KeI1
>>728
> Adaで仕事した事も無いくせにな
カリフォルニアで防空システムの開発の
仕事をしてたことはあるがな(笑)
たしか共立出版から Ada の規格書の邦訳が出て、
熱心に勉強したもんだ。
けっきょく日本には処理系そのものが
入ってきていなかったように思う。
0736デフォルトの名無しさん垢版2021/10/14(木) 09:01:32.22ID:WGI+KeI1
Ruby は自分では使わないというか
Java と JSP で用が足りているので、
たぶん話をしても盛り上がらんと思うぞ?
ネットで検索したら、Ruby は Ada や SmallTalk 80 の
影響を受けていると書いてあったが、
まつもとさんだって両方を触ったことはなさそうに思う。
SmallTalk なんか英文の本しか出てねぇんだもん。
0738デフォルトの名無しさん垢版2021/10/14(木) 12:11:55.86ID:NMiJoMVf
パイソン
0739デフォルトの名無しさん垢版2021/10/14(木) 12:54:28.44ID:F8WjDgUk
使うにはpythonはいいと思うけど。
プログラムを覚えるにはC言語かな。
0741デフォルトの名無しさん垢版2021/10/14(木) 14:35:00.04ID:6BRArinS
勉強するならLispと言われていた時代もあったけど、もう遠い昔の話か。
プログラムの動作原理ならFORTH一押しなんだけどなぁ。
0742Mb垢版2021/10/14(木) 15:28:36.23ID:WGI+KeI1
>>737
> Smalltalkは使ってるみたいだね
ちょっと嫉いちゃうなぁ(笑)。
私は企業の従業員だったので、アカデミズムとは
なかなか接触できなかったんだよね。
このあたり、日本の法制を整備してほしいと思うが、
整備されたところで、そのとき私が生きているかどうか ……
0743Mb垢版2021/10/14(木) 16:02:32.20ID:WGI+KeI1
>741
> 勉強するならLispと言われていた時代もあったけど、もう遠い昔の話か。
そんなことはない。LISP (純LISP とか LISP 1.5 とか)というのは、
決して古びていない。安西裕一郎さん(慶應大学の学長だったりする)の
『LISP で学ぶ認知心理学』とか、竹内さんの『初めての人のための LISP』
とか、いろいろ書籍は揃っている。
ただ、LISP 処理系は C で書くのは楽なんだけど、Java で書こうと思うと
綺麗に書けないのが難なんだよなぁ (T_T)。
> プログラムの動作原理ならFORTH一押しなんだけどなぁ。
いま売ってるかどうか知らないけど、ハリー・カッツァン著/
池野信一監訳の『FORTH への招待』(近代科学社)という
本がある、
こっちは Java で書いても面倒臭くないし、
テキサス・インストゥルメント の電卓にも
逆ポーランド記法は使われていたので、
いま書く価値はあると思う。
(正直な話、荒らしが押しかけてこないんなら、
サイトとかメールアドレスを晒したいくらいだ。
「BackLog 日本語 形態素解析」で検索して
もらうと、ヒットしそうな気がする。「Mb」
というのは、「ネット検索に引っかかりにくい」という
理由で選んだハンドルだ)。
かなり前(日本大学の理工学部の航空宇宙工学科の牧野研究室)
に、「とりあえずヒマだったので、日立のベーシック・マスター
レベル3の BASIC で、ちょこちょこっと FORTH のインタプリタを
書いたら、三時間かからずにそれっぽく動いた」という経験がある。

昨今はマシンパワーが強力なので、言語の二階建て三階建ては
プログラミング教育用としては価値があると思う。
0744デフォルトの名無しさん垢版2021/10/14(木) 18:22:45.16ID:0xmYH4RJ
FORTH
0746Mb垢版2021/10/14(木) 19:10:28.05ID:WGI+KeI1
昔の「I/O」でひとコマ漫画があって、
「スターウォーズ」のミレニアム・ファルコン号の
中で、ルーク・スカイウォーカーが
「うぅっ、アセンブラがわからん!」と頭を抱えていると、
オビ・ワン・ケノービが、
「ルーク、FORTH を使うのじゃ」。
ちなみに、ルークがデス・スターに突入する場面の、
モーション・コントロール・カメナの制禦には
FORTH が使われていた。
ちなみに、モーション・コントロール・カメナの制禦に
FORTH が最初に使われたのは、「宇宙の七人」
(ロバート・ヴォーンは「荒野の七人」にも出てた)
だと云われている。
LISP は「実用的ではない」という評価はあるのだが、
竹内郁雄さんによれば、「わりと単純なので
ハードウェア制禦にも便利」だとか。
0750デフォルトの名無しさん垢版2021/10/14(木) 19:44:20.71ID:c0DFN+4r
「にわかな奴ほど語りたがる」の典型的な例だと思う
この業界でこーいうやつ山ほど見てきた
能力の低い人物は自分の能力を高く評価してしまいがちなんだろうな
0751Mb垢版2021/10/14(木) 20:37:29.89ID:WGI+KeI1
いま、発達障礙系の学会誌向けに論文を書いているのだが、
ネット上で発達障礙者が支援を求めると、
けっこうパーソナリティ障害者から叩かれて、
状態を悪くする人がいるんだわ。
木村花さんみたいに、自殺にまで心理的に追い込まれてしまう人も
いるし。
そういう意味では、今後の被害防止のためには
けっこう貴重な標本ではあるので、
私でよかったら存分に叩いてくれたまえ。
「始めるのにいい言語とは何か」に関するスレで、
プログラミング言語についてひとことも触れずに
他人を叩く、という時点で、「反社会性パーソナリティ障害」
(まぁ、簡単にいうと「荒らし」)を疑われても仕方が
ないと思うのだが、こちらとしては(証拠が残っていることでもあるし)
ありがたく思う。
とはいえスレの主旨を理解してこのスレを見て下さっている方々には、
「結果的にスレを汚してしまってすみません m(_ _)m」と
頭を下げるしかないのだが orz。
0753デフォルトの名無しさん垢版2021/10/15(金) 07:25:38.42ID:d+18EcfY
Haskellは健康に良い。
0754デフォルトの名無しさん垢版2021/10/15(金) 10:12:06.38ID:h7kw1sq5
>>752
FORTHはもともと「第四の言語」Fourthだったんだけど、当時の環境でファイル名の文字数が5文字までだったんでFORTHになったらしい。
0755デフォルトの名無しさん垢版2021/10/15(金) 12:40:31.28ID:RYXo0v4o
初めての言語はPythonちゃんでいいよ
能力的には平凡だけど身綺麗で寛容、Perlちゃんみたいに昔のことで君を苦しめたりしないしRubyちゃんのように仕様?何でしたってウフフということもない
でもスカートをめくるといきなり__main__とか__str__みたいなのが出てくるからあたし予約語とかあまり知らないのみたいなアピールは聞き流すほうがいい
0757デフォルトの名無しさん垢版2021/10/15(金) 16:46:42.71ID:IiKr1CQH
このスレ変な奴ばっかり
0759デフォルトの名無しさん垢版2021/10/15(金) 18:42:55.99ID:r+hA2/r0
「俺様の考える最強の初心者向け言語」って発想で語られても雑談で終わるだけ
>>397の発想でオススメしてもらわないと役に立たない
仕事か趣味かだけでも大きく変わってしまうのに
0760デフォルトの名無しさん垢版2021/10/15(金) 18:44:57.21ID:eqKsqNtm
Haskellで視力回復しませんか?
0761デフォルトの名無しさん垢版2021/10/15(金) 19:40:02.39ID:vteAvXvD
javascriptが趣味でも実用でもいいかもな
es2015で組めれば尚いいけど
ブラウザあれば動くし環境面でも一番楽かと
0762デフォルトの名無しさん垢版2021/10/15(金) 19:42:13.87ID:eqKsqNtm
Javascriptはバグるように設計された言語なので、バグらないように書くのは無理。
0763デフォルトの名無しさん垢版2021/10/15(金) 19:43:09.05ID:IiKr1CQH
>>760
いい加減にせんかい!
0764デフォルトの名無しさん垢版2021/10/15(金) 19:54:13.93ID:eqKsqNtm
>>763
Haskellで毛が生えて来そうです。
0765デフォルトの名無しさん垢版2021/10/15(金) 19:55:42.46ID:eqKsqNtm
ちなみに楽しさで言えばJavascriptは楽しいかもしれない。
でもバグらないように書くのは無理だけど。
0767Mb垢版2021/10/16(土) 11:26:26.37ID:w/Mr+3XW
>>756
キミは「ロリコン」とか「ペドフィリア」とかいった言葉の
意味をよく理解していないようだな。
「ルイス・キャロルはロリコンだった」みたいな
話を真面目に信じているんだろうと思う。
自分の家族関係とか成育歴とかと、真摯に向きあったほうが
いいと思う。
メンヘラ板の案件だがな。
0769Mb垢版2021/10/16(土) 11:55:35.51ID:w/Mr+3XW
ハリー カッツァン・著/ 池野信一・他訳『FORTHへの招待』。
読み返してみると、レトロ感がたまらない……
0771Mb垢版2021/10/16(土) 12:06:03.24ID:w/Mr+3XW
>>768
> なんで原著読まねえんだよ!
メディアが紙なので、辞書を引いてるだけで嫌気がさすからだ。
インターネットの商用化以前の話だぞ?
『ゲーデル・エッシャー・バッハ』とか『フラクタル幾何学』とか
原著を読むだけでも、かなりツラいぞ?
『不思議の国のアリス』なんか、そもそも原著でも「註釈つき」が
出てるんだぞ?
出版社からの日本語訳の依頼でもなければ、わざわざやるもんか。
0772デフォルトの名無しさん垢版2021/10/16(土) 13:10:22.48ID:2h5t186/
>>771
『ゲーデル・エッシャー・バッハ』とか『不思議の国のアリス』は
たしかに難しいところがあるが
いま話題になっているのはAdaの原著だよね? そんなに難解?
0774Mb垢版2021/10/16(土) 13:56:05.63ID:w/Mr+3XW
>>772
> いま話題になっているのはAdaの原著だよね? そんなに難解?
たぶん難解ではないけどなかなか売っていないぞ。
>>773
「ゲーバー本」と書かない所に、にわか感満載。
だいたい、あの本って、たしかピュリツァ賞とか
取ってなかったっけか。
しかも、あれって新明解より厚くて共同訳聖書くらい
あったような気がする。さすがに「広辞苑」ほど
厚くはなかったが。
で?
0777Mb垢版2021/10/16(土) 14:53:38.55ID:w/Mr+3XW
>>772
> いま話題になっているのはAdaの原著だよね? そんなに難解?
「原著」というよりも「規格書」だから、ぜんぜん難解じゃない。
とはいえ、日米は軍事同盟なので、システム関係だと共同開発に
なるんだわ。
そうなると、「英文の仕様書(Aスペック)」を「日本語の仕様書
(Bスャyック)」に翻末オて、さらに=u英文の本契約緒送pの仕様書
(Cスペック)」を作る、とかいった作業を何年かやると、
さすがにやる気が失せる。
しかも防衛秘なもんだから、公開して翻訳で稼ぐわけにもいかない。
後輩もボヤいているのだが、なにせ防衛関係なので詳しいことは
口外できない。
Ada は軍用の組込系の言語だと考えていたから、「リアルタイム系で
高級言語って、どうやっているんだろう?」と思って興味を持って
いたのだけれど、規格書だから実装がどうなっているのかは
想像するしかなかった。
0778デフォルトの名無しさん垢版2021/10/16(土) 14:56:23.89ID:/3ZoG9kt
30年くらい前にMSX向けのテキスト処理の本にゲーデルエッシャーバッハの例が出てたなあ
当時中学生だったから何だよゲーデルエッシャーってゲロ吐きながらエッサッサでも踊るんかと思いました
懐かしいなあ
0779Mb垢版2021/10/16(土) 14:59:35.65ID:w/Mr+3XW
サンプルを提供してくれてありがとう。
「あーやっぱり図星だったのねw」
「あんた頭弱いんだね」
といった応答をするのに、人工無能が
「何をキーワードにしているのか?」
「そのとき、スレにおける『文脈』みたいなものを、
どう捉えたらいいのか?」
という意味で、とても参考になる。ありがとう。
0780デフォルトの名無しさん垢版2021/10/16(土) 15:08:17.60ID:/3ZoG9kt
中学時代といえば体育祭と学園祭がジョイントしててなか日に仮装パレードがあり女子が着る天使の羽付き手作りチューブトップみたいなのの作成を手伝わされ
特定のアングルから見るとB地区丸見えなのを指摘したら怒られもせず見えなくなるように改造するまでチェック役をやらされた
あれは一種のテスト駆動開発だったのだと思う
0781デフォルトの名無しさん垢版2021/10/16(土) 15:48:30.02ID:a4wkd8/y
何故無能ほど冗長な文章を書きたがるのか?
それこそこのスレでいいサンプル採れそうw
0782Mb垢版2021/10/16(土) 16:04:44.97ID:w/Mr+3XW
>>781
残念ながら、長文系の BBS や WebLog に関しては
腐るほどデータがあって、
長い文章を書けるやつは、ほとんどサンプルとして
役立たないんだ。
そういう意味では、絶滅危惧種が集まる場所として、
ここは けっこう貴重な場所だと思う。
0783デフォルトの名無しさん垢版2021/10/16(土) 16:07:58.61ID:nhPBR6T2
学生時代Pascal書いてたな
オレンジ色の本で勉強して
unixの使い方?みたいなのもチロっと載ってたような?
cのこともチロっと載ってたような?
もう一回手に取りたいけど詳細は思い出せない
0784デフォルトの名無しさん垢版2021/10/16(土) 16:11:18.78ID:v+hMekrA
こういう人が残す資料ってマジで読み辛いんだよな

「〜は……のような構成になっている(○○の部分は△△の方がいいかもしれないがw)」

みたいな本人のクソみたいな感想が所々入ってたりする
0785Mb垢版2021/10/16(土) 16:21:15.08ID:w/Mr+3XW
>>783
unix 上で Pascal というのは、
かなり古くて貴重な書籍だと思う。
UCSD-P System とか、(Macintosh より前の)
Apple の開発言語として知られていた時代、
つまり 8 ビットコンピュータの時代であるかもしれない。
Turbo Pascal の普及以前だと思うので、
森口 繁一/武市 正人『Pascal演習』(表紙は黄緑)よりも
古いかもしれない。
森口先生は海外でも知られた数値計算の権威なので、
続報を求む。
0786Mb垢版2021/10/16(土) 16:31:32.22ID:w/Mr+3XW
そういえば、数値計算(微分方程式の数値解じゃなくて、
初等関数関連の話)だと、やっぱり多倍長計算が
できたほうがいいんだけど、IEEE の double は
二進法なんだけど、BIGDECIMAL は十進法なんだよな。
arctan の数表とか作ろうと思うと、それなりに
「どこから入るか?」に関しては悩ましく思う。
0787デフォルトの名無しさん垢版2021/10/16(土) 18:27:56.06ID:dds8ji9N
ライブラリ作りで苦労するのはわかるんだけど、
Pythonも必要なんじゃないのか?
0789Mb垢版2021/10/16(土) 18:41:42.62ID:w/Mr+3XW
>>787
数値計算とかになると、やっぱり
C 言語が強いちゃあ強い。
Python な、そういう環境の上に乗っかっていて、
ユーザ・インタフェース関連に関しては強い。
どこに注力するかという話にはなるけども
数値計算とか言語処理系とかいった方面に
興味のある人もすくないからなぁ。
0790デフォルトの名無しさん垢版2021/10/16(土) 18:43:13.79ID:BO6yK2Ly
もしもDecimalが二進法だったら!?
Binaryが10進に!?
0791Mb垢版2021/10/16(土) 19:30:44.09ID:w/Mr+3XW
>>790
もちつけ。
昔は「二進化十進」というのがあって、
8 ビットを 4 ビット+4 ビットに分けて
処理していたりするのだよ。
Intel の 4004 も、もともとは電卓用の
チップだったので、そのあたりの命令語が
あった。
MicroSoft の MurtiPlan だったか EXCEL だったかで、
「速度向上のため」かなんかで内部表現を二進十進
から二進法に変えたら、会計計算の勘定が合わなくなって
えらいことになったという一件があった。まぁ、マスコミは
押さえこまれていた(NHK も押さえこみに協力していたように
思う)のであまり知られていないが、
金融とか証券とかの世界では、小数点以下の数値を扱うときは、
「二進化十進」というのがデフォルトなんだ。
「十進数で、小数点以下二桁の値を、小数点以下三桁まで計算して
四捨五入しろ」とかいったら大変だろ?
COBOL はそこをクリアしていて、Java はそこに追いついている。
0792デフォルトの名無しさん垢版2021/10/16(土) 20:05:43.91ID:/3ZoG9kt
>>791
実際には18歳(&B10010)でも2進化十進で書くと12歳となってしまうことで大変なことが起こってしまうのですね
0793デフォルトの名無しさん垢版2021/10/17(日) 09:11:52.07ID:4v/vMdLL
確かにCOBOLの演算がある意味最強なんだってね。
長年、技術者試験の課題を勤めた言語だもんな。
0794デフォルトの名無しさん垢版2021/10/17(日) 11:04:31.93ID:Gktvple1
>>2
Javaが出来ればGoも出来るが
Goが出来てもJavaは出来ないから
0795デフォルトの名無しさん垢版2021/10/17(日) 12:20:34.40ID:QqhGhKAl
あわしろ氏がお勧めするHaskell。
0796Mb垢版2021/10/17(日) 13:23:36.93ID:We9UySAG
>>793
> COBOLの演算がある意味最強
アメリカ海軍の准将だったグレース・ホッパーさんは、
「COBOL」の開発主任だったわけだが、
「BUG」という語を「虫(害虫)」の意味で
広めた人でもある。
ダイクストラ大先生は、「『バグ』と呼ぶな! 『間違い(error)』と
呼べ!」と主張していらっしゃった。
足場は固めておかないと、「砂上の楼閣」になってしまうので、
それぞれの言語の素性については身体検査はしていおいた方がいい。
0797デフォルトの名無しさん垢版2021/10/17(日) 14:23:54.96ID:6j2makCm
ある意味最強ってどういう意味?
省略しないで書いてほしい
2進10進とかビッグデジマルとか
試しに採用してみただけだと思うが
本当に長所があるのだったら
その後の言語でも採用されていたはず
整数型のバイト数が大きくなって
内部表現と人間に見せる表現が分離されて
もう採用されていないはず
0798Mb垢版2021/10/17(日) 17:49:33.49ID:We9UySAG
>>797 へ。
>>793
> 確かにCOBOLの演算がある意味最強なんだってね。
に全面的は賛同できないが、当時のコンピュータ環境に
おいて、COBOL は「コボラー」という言葉を生むくらいには
重要なプログラミング言語だった。
現代の(大雑把な話だが)電算処理というのはどうなって
いるのかという実体は分らないが、「事務処理計算」
「科学技術計算」「その他」と(業界では)云われていて、
「事務処理計算=COBOL」「科学技術計算=Fortran」
という時代があったのだ。
事務計算は二進化十進、科学技術計算は IEEE の倍精度、
とかいった断絶があるので、「多倍長十進」というのは
わりと特殊な世界なのだ。
すまん。所要があるので、ちょっと席を外す。
0799Mb垢版2021/10/17(日) 20:34:27.14ID:We9UySAG
> 2進10進とかビッグデジマルとか
> 試しに採用してみただけだと思うが
> 本当に長所があるのだったら
> その後の言語でも採用されていたはず
60 進小数なんていうのは、千年以上
使われていたという歴史がある。
現代でも、一日は二十四時間で一時間は
六十分、一分は六十秒で、秒以下は十進数、
ということになっている。
「小数点以下何桁」とかいった場合、
これは常識的にいうと十進数の話の話な
わけだが、本来ならコンピュータの中では
二進法が使われているので、コンピュータの
内部表現と人間の認識のあいだには解離がある。
プログラマは十六進法とか八進法とか二進法とか
いろいろ使っているわけだが、多くの
日本人は「五・二進法」というのを使っていて、
通貨もそうなっている。
三千八百年くらい昔は
> 内部表現と人間に見せる表現が分離されて
を頑張っていた(つーても十進法と六十進法の
混在)のだが、「やっぱダメだわ」というので、
現在のようになったという経緯がある。
0800デフォルトの名無しさん垢版2021/10/17(日) 21:14:21.49ID:QqhGhKAl
Decimalと書いてあるのに二進にすべきか十進にすべきか悩んでたのか。
0802デフォルトの名無しさん垢版2021/10/17(日) 22:40:53.73ID:eRzMNhJh
Javaのクラス型って、参照を使って実現してるんだな
ってことではCでもポインタを遣えばクラスやオブジェクト指向を
実現できるんじゃないか?
0803デフォルトの名無しさん垢版2021/10/17(日) 22:57:26.23ID:QqhGhKAl
>>802
X11がそういうことしてる。
0804デフォルトの名無しさん垢版2021/10/17(日) 23:00:07.42ID:QqhGhKAl
思春期に悩んだ分だけ年取ってから禿るのではないか。
0805802垢版2021/10/17(日) 23:58:27.66ID:eRzMNhJh
しかしフィールドはそれで良くても、メソッドのアドレスって
どう表記すればいいんだろ??

>>803
ありがとう
0806デフォルトの名無しさん垢版2021/10/18(月) 00:14:08.43ID:U4M03mzh
XLibは関数へのポインタを構造体に格納してる。
0807デフォルトの名無しさん垢版2021/10/18(月) 05:22:35.82ID:ufi33ePc
>>802
初期のC++はCへのトランスレータとして実装されてから記述が面倒だけどC++でできることはCでもできる
0808デフォルトの名無しさん垢版2021/10/18(月) 07:43:09.42ID:fbqw181K
>>1
YouTuberが過去に配信した動画すべてをダウンロードする方法
配信者のアイコンをクリック
アイコン下の「ホーム 動画 再生リスト チャンネル 概要」のうち"動画"をクリック
開いたページのurlをコピー
yt-dlp "コピーしたurl"

チャンネル内にある動画のサムネイルをすべて取得する方法
youtube-dl --skip-download --write-thumbnail -o "%(uploader)s/%(upload_date)s - %(title)s - %(uploader)s - %(id)s.%(ext)s" -i "コピーしたurl"
0809デフォルトの名無しさん垢版2021/10/18(月) 09:22:56.28ID:/nnehLgj
次スレはワッチョイ付きで立てたほうがいいかもね
ずーっと荒らされてるやんここ
0810デフォルトの名無しさん垢版2021/10/18(月) 15:39:02.45ID:r9t2S6+p
ありとあらゆるスレが荒れている
0814デフォルトの名無しさん垢版2021/10/18(月) 18:51:37.80ID:48un5MBo
VBAで小数点が整数になるまで10掛けて計算後に同じだけ割ってやれば解決。
1/3とか?そんなのjavaやcobolでもおかしくなるから無問題。
0815デフォルトの名無しさん垢版2021/10/18(月) 19:26:37.91ID:578ljV9d
変なのって何だよ。
0816デフォルトの名無しさん垢版2021/10/18(月) 19:36:49.83ID:Ewq4zdJx
>>1 から >>816 みたいの
0817デフォルトの名無しさん垢版2021/10/18(月) 19:38:54.88ID:578ljV9d
じゃあ別にイイやん。
0819Mb垢版2021/10/18(月) 22:52:19.08ID:adwTjD9q
「プログラム技術板」
https://mevius.5ch.net/tech/
というのは、真面目なひとが多いので、
プログラミングのことが解っていない
奴でも、荒らしやすいのだと思う。
>>811 の、
> ここは特に荒れてもなくない?
という評価は適切だと思うが、
荒らしにナーバスな初心者を排除するのには
かなり強力だと思う。
「いじめ」というのはその手の行為を謂うわけで、
「始めるのにいい言語って何?」とは関係がないというか、
プログラミング言語どころかコンピュータのことすら
理解していない奴が荒らしにきているわけだ。
初心者はもちろん歓迎するのだが、

邪魔する奴は全力でツブす

という、怖ろしい連中がいることを肝に銘じてほしい。」
0823デフォルトの名無しさん垢版2021/10/19(火) 17:56:27.35ID:PhVKbnh6
>>818
このスレの大半のレスが雑談だろうがw
同じようなスレも他にあるしスレタイに沿った流れになったことなんかあるのか
0824デフォルトの名無しさん垢版2021/10/19(火) 18:36:16.80ID:8pYZM1g+
↑こういうクズのためにム板とマ板を分けてるんだけどクズはそういうのお構いなしだからなぁ
だからワッチョイとかの話になるんだが…
0825デフォルトの名無しさん垢版2021/10/20(水) 01:21:52.92ID:VLQwVQRS
ゴミみたいな言語だけど
スタンダードなオブジェクト指向を学ぶならJavaなんだろうな
その後はKotlinなりPythonなりSwiftなりGoなりTypeScriptなり
好きにすればいい
0827デフォルトの名無しさん垢版2021/10/20(水) 04:43:32.69ID:tjBtBq8J
スタンダードなオブジェクト指向ω
SmallTalk
Objective-C
やろ
0828デフォルトの名無しさん垢版2021/10/20(水) 08:34:34.89ID:Xg9GVCJ3
シンガポールもカンボジアも、ワクチン接種前は死亡者数低かったのに
打ち始めてからガンガン死んでる
それが事実だ

モンタニエ博士はイベルメクチンを推奨してる
MS系ワクチンは使うなと言ってる
0829Mb垢版2021/10/20(水) 20:38:17.74ID:OPeFaCeo
>>825
> ゴミみたいな言語だけど
> スタンダードなオブジェクト指向を学ぶならJavaなんだろうな
いや、Java は昔からあったコンセプトやらレガシーコードとやらを
拾おうと思って現在の形になったわけで、IDE の Eclipse なんかも、
もともとは IBM が開発したものを公開した、という経緯がある。
「ゴミみたいな言語」というより、「既存の言語の寄集め」的な
言語ではあるけれど、ほどよく纏まりのいい言語ではあると思う。
(もちろん過不足はあると感じるけれども)
それを、「オブジェクト志向」という形でパッケージして、
使いやすい形で配布した、というのが Java の功績だと思う。
0831デフォルトの名無しさん垢版2021/10/20(水) 21:14:23.97ID:VyYhhIkP
>>830
もの凄くきれいだよ。
普通に読めるはず。
0832デフォルトの名無しさん垢版2021/10/20(水) 21:20:02.19ID:/AGeD0jz
>>831

そうなんだ…

25年くらい前に独学でオブジェクト指向勉強して、「関数へのポインタ」使いまくって
可読性ゼロのプログラム組んだから、絶対読みにくいという先入観があった。

サンクス
0835Mb垢版2021/10/21(木) 13:07:17.34ID:JKBkOCuC
>>834
とても面白かった。全体として間違っている点も、
ほぼなかった。
強いて言うと、「第一世代の言語」以降の「世代」という
視点に重きがおかれていなくて、「低級言語」「高級言語」
という区分をしているところをみると、作者は六十五歳
以上の方かと思う。
とはいえ、フォートランに関しては、最初にリリースされたのが
FORTRAN 60 という、かなり危なっかしい言語
(「大文字のフォートラン」と、後に云われている)だったのに対し、
Fortran 77 は、いちおう「高級言語」の扱いになっていたり
するあたりに言及されていないのがちょっと不満足。
もうひとつ、C 言語は「ALGOL 系」に位置づけられて
いて、PL/I の後継というよりは BCPL の変種、と
みなすほうがいいんじゃない?とかいろいろツッコミどころは
あるんだけど、大雑把な流れを示すのには悪くない
コンテンツではあると思う。
0836Mb垢版2021/10/21(木) 13:18:07.54ID:JKBkOCuC
>>832
> 可読性ゼロのプログラム組んだから、絶対読みにくいという先入観があった。
おれなんか、「トリックプログラム」といって、「可読性がマイナス」という
プログラムを書いていた(笑)。
フロッピーディスクが主流だった時代は、コピープロテクトのために
イニシャルローダがややこしいことになっていて、「とりあえず
ゲーム発売から一ヶ月耐えればヨシ」みたいなトリックプログラムを
書く職人がいた。
ちなみに、うちらの上司はジャンプ命令とコール命令をごっちゃに
使って「八人の女王」プログラムを書いて、「ナノピコ教室」の
「藝術的プログラムを求む」で、竹内郁夫さんの「Tarai 函数」と
同時掲載されたという業績がある。
0837Mb垢版2021/10/21(木) 14:10:52.49ID:JKBkOCuC
>>814
「分数型」とかを定義して、演算子をオーバーロードすると
読みやすくなるという利点はある。
エウクレイデス(ユークリッド)の互除法はそれほど遅い
アルゴリズムではないし、昨今の言語は可変長記憶領域の
管理も行届いているから、そんなに遅くはないと思う。
円周率πとかオイラー数eとかが出てくるとややこしいことに
なってくるが、そのあたりは「近似小数」として表示する
際の問題だから、むしろ「人間にとって、何がわかりやすいか」
という出力の問題だと考える。
0840Mb垢版2021/10/21(木) 21:10:45.91ID:JKBkOCuC
>>838
>>839
夏目 金之助さんより後輩で(日比谷公園あたりに
キャンパスがあったらしい)、
「プログラミング・レクリエーション」有澤 誠さんよりも
後輩(永田町)だと言っておきましょう。
8ビットコンピュータの記憶がある時点で、
かなり頭の中は古いと思う。
0841デフォルトの名無しさん垢版2021/10/21(木) 21:14:29.37ID:FJXuwcva
年齢は関係なくて
今どきのプログラミング言語を一つもわからないダメプログラマーなところが
0842Mb垢版2021/10/21(木) 21:33:29.79ID:JKBkOCuC
>>841 は、
>>834 から学んでほしい。
つーか、こんなにマイナーなスレッドを荒して、
何が愉しいのかがわからない。
なにかしら有効なことを言ってほしいと思う。
0843デフォルトの名無しさん垢版2021/10/21(木) 22:06:49.40ID:FJXuwcva
>>842
勘違いと嘘で全く役に立たなかった
手続き型プログラミング言語しか登場していない時点で底の浅さがわかる
0844Mb垢版2021/10/21(木) 22:17:34.56ID:JKBkOCuC
>>843
> 手続き型プログラミング言語しか登場していない時点で底の浅さがわかる
私は Java プログラマーだが何か?
0845デフォルトの名無しさん垢版2021/10/21(木) 22:23:36.49ID:iEfZmYr3
勝手にスレタイ改変したあげく元鞘に居座ってる人が居るんだけど
どうしたらいい?
0846デフォルトの名無しさん垢版2021/10/21(木) 22:27:41.42ID:FJXuwcva
>>844
Javaは手続き型言語の一種
非手続き型言語は例えば関数型言語のLISPや論理型言語のPrologなどのように手続きを書かない言語だがその動画にはなぜか出てこない
0848デフォルトの名無しさん垢版2021/10/22(金) 07:50:50.37ID:ox1wDt8h
最初のスレ立てた人もここまで続くとは思ってなかっただろうな。勢い順で言えばこの板のトップ常連だし
0850Mb垢版2021/10/22(金) 14:27:26.82ID:ti2XTd85
>>489
オブジェクト名がカブると、けっこうややこしい話にはなる。
普通の小規模のアプリケーション開発なら問題はないと思うが、
大規模(つーても六十人とか百二十人とか)のプロジェクトだと、
たまにカブツてややこしいことになったりする。
そのあたり、けっこうややこしいぞ。
0851デフォルトの名無しさん垢版2021/10/22(金) 16:43:53.57ID:DsjZYzXm
>>848
馬鹿でも参加できるスレは延びる
0852デフォルトの名無しさん垢版2021/10/23(土) 18:49:34.28ID:lOAUVXHK
勝手に派生スレ立てときながら結局両方のスレに書き込んでるし、この板はヤバいやつに乗っ取られたな
0853デフォルトの名無しさん垢版2021/10/24(日) 07:56:29.10ID:Fq3bQmnn
>>486
流れ読まずに、C++は[]演算子、例えばどれが引けるか運営様次第のガチャ仕様にだってできるぞ。
0854Mb垢版2021/10/24(日) 12:42:38.14ID:XB+g3pLb
>>852
一、今カラデモ遲クナイカラ原隊ヘ歸レ
二、抵抗スル者ハ全部逆賊デアルカラ射殺スル
三、オ前達ノ父母兄弟ハ國賊トナルノデ皆泣イテオルゾ
0856Mb垢版2021/10/25(月) 16:34:36.58ID:KAqnC0Vx
>>855
> なんでそんなに発音にこだわるの?
このスレの主旨からいうと、それは不適切な話だとおもう。
プログラミング言語というのは、数式と同じように、
「発音されることを想定していない言語」だからだ。
0857デフォルトの名無しさん垢版2021/10/25(月) 22:35:11.49ID:FJnU1XkF
言語として微妙かも知れないしWindows環境限定だけどPowershellはダメ?
環境構築不要でインタプリタで覚えやすかったんだけど
0858Mb垢版2021/10/25(月) 23:03:09.89ID:KAqnC0Vx
>>857
いいんじゃない?
N88-BASIC の例もあれば、
OS/2 の Rexx の例もあるし。
むしろ、コマンドライン環境で
プログラミング言語が使えないというのが
寂しく思う。
0861デフォルトの名無しさん垢版2021/10/26(火) 09:27:57.33ID:kuMvZjk2
>>860
linux版は標準レポジトリにないディストリビューションがあるし標準シェルでは無いから若干敷居が上がる
「始めるのにいい言語」としては一旦除外した
0862デフォルトの名無しさん垢版2021/10/26(火) 10:49:10.73ID:S9ZXNzZY
ぶっちゃけpowershellとVBAは良いと思う
型とか少しずつ覚えていけるし
何か動かすのも前提となる環境が突出して少ない
0864デフォルトの名無しさん垢版2021/10/26(火) 12:40:51.52ID:oBHFdgn1
VBAちゃんは美人ではないし運動神経もよくないけど、面倒な仕事を嫌がらずに手伝ってくれるうえにどこに何を入れればいいのかわからないような初心者にも優しく手ほどきをしてくれる良い娘
しかし嫌なことがあってもオブジェクトが違います!を連呼するだけなので泣き止むまでいろんなことを試してあげないといけない
0865デフォルトの名無しさん垢版2021/10/26(火) 14:45:57.20ID:nH/QWLAm
powershellかー
俺が苦手だから偏見ありそうだけど、他の軽量言語の方が良い気がするけどな
例えばツール的なスクリプト書いたとして一緒に仕事する人間もpowershellできないとメンテできないし
0866Mb垢版2021/10/26(火) 15:03:50.12ID:UowPCWvP
>>864
わかるわかる。
なんか、いたいけな感じがするよな。
0867デフォルトの名無しさん垢版2021/10/26(火) 15:28:28.39ID:FFD0WZHe
Javascript が一番いい気がする。ガンガン新しい構文できているけれど、今から始めるなら問題ないでしょ
0868デフォルトの名無しさん垢版2021/10/26(火) 19:18:21.38ID:Xmr65n+o
Javascriptもchromeの開発者ツールでコマンド簡単に試せるからいいな
そいやedgeでもいけるのかな、盲点だったけどいけるならJavascriptもインストールなしで使えることになるな
0869デフォルトの名無しさん垢版2021/10/29(金) 12:01:53.82ID:oZT8Y9JH
ブラウザだけじゃなくNodeでもいけるしな。
0870デフォルトの名無しさん垢版2021/10/29(金) 14:19:35.59ID:K1fOwQ7F
二十年選手だがNodeは楽だけどすごい勢いでバグるし、そもそもウェブのバックエンドとか初心者には無理やで
0873デフォルトの名無しさん垢版2021/10/29(金) 16:29:13.74ID:ub+o24EA
Webのバックエンドは仕事にするならAWSかGCPを使いこなせることが必須だから、モノになるまでが長いと思う
Webならまずは古典的なフルスタックフレームワークから入るのが結局近道
0875デフォルトの名無しさん垢版2021/10/29(金) 17:23:07.53ID:oZT8Y9JH
組み込みとか以外ならJavascript (node含む)で結構なんとかなるし、とっかかりとしていいと思うんだよなぁ。
フロントエンドも昔みたいに旧環境に縛られなくなってきているし

何よりスクリプト系言語の中ではダントツで金かかっているので速いし
0876デフォルトの名無しさん垢版2021/10/29(金) 17:25:12.13ID:oZT8Y9JH
組み込みとか以外ならJavascript (node含む)で結構なんとかなるし、とっかかりとしていいと思うんだよなぁ。
フロントエンドも昔みたいに旧環境に縛られなくなってきているし

何よりスクリプト系言語の中ではダントツで金かかっているので速いし
0878デフォルトの名無しさん垢版2021/10/29(金) 20:41:37.14ID:3TpWSL4x
ぶっちゃけNode.jsが何をしてくれるものなのか知らない
なんとなくしか知らない
0880デフォルトの名無しさん垢版2021/10/30(土) 00:27:24.64ID:z8LGC696
>>878
Node.jsはJavaScriptの(ブラウザ外での)実行環境
つまりPythonでのpythonコマンド+αやRubyでのrubyコマンド+αと同じ相当
逆に言えば+α部分を除いたNode.jsはOS上で動くJavaScriptのインタプリタに過ぎないが+α部分が強力
あとはNode.jsでも使われているJavaScriptエンジンV8はGoogleが開発資金投入して高性能なためメジャーなスクリプト言語の中でも最高速
0881デフォルトの名無しさん垢版2021/10/30(土) 06:50:17.87ID:sKnxmCWF
Node.js、Javascript の強みは他にライブラリの多さだな。

ゴミみたいなのも多いけれど、npmのライブラリ登録数は桁違い

「こういうのないのか欲しいな」と思ったら大抵npmパッケージ
探せば見つかる
0883デフォルトの名無しさん垢版2021/10/30(土) 08:35:20.94ID:TbPnXAJy
なんか明確にこれという言語がないな
シェア上位の大体の言語には、初学者を取り込む窓口がある

Rust …… nullセーフティのある組み込み言語
C/C++ …… 初学者用の日本語ドキュメントやsampleコードはRustより充実している
Python …… 初学者には書きやすい
java …… オブジェクト指向言語。初学者用のドキュメントやsampleコードが最も充実している
C# …… コンポーネント指向言語。ゲーム開発に向いている。初学者の作りたいという熱意とリンクしやすい。シェア拡大中
dart, kotlin, etc …… スマホアプリ開発用の言語。作りたいアプリのアイディアがあるならオススメ
0886デフォルトの名無しさん垢版2021/10/30(土) 17:46:03.18ID:Z/aFYujO
>>885
再利用性の高い部品を組み合わせてソフトウェアを構成する開発手法
C#はオブジェクト指向言語だが別にオブジェクト指向言語を作りたかったわけではなくて、あくまでコンポーネント指向を実装するための方法としてオブジェクト指向が採用されたに過ぎない
0888デフォルトの名無しさん垢版2021/10/30(土) 19:35:11.37ID:T/9SdpTC
プログラミングて最初は何を学ぶんやろな
何をさせるんやろか
そのときどんな言語だったらつまずかないかって観点がええのかな
0891Mb垢版2021/10/30(土) 21:23:02.07ID:weWqDpIj
ところで、FEP(フロント・エンド・プロセッサ)の
開発に適した言語ってねぇのかな?
0892デフォルトの名無しさん垢版2021/10/30(土) 22:46:43.26ID:TbPnXAJy
クラスがクラスの機能の一部として、他のクラスのインスタンスを所持する設計をコンポーネント指向という
C#の設計思想の中核はコンポーネント指向
継承より委譲を重視していて、それが言語の設計思想になっている点が、java的なオブジェクト指向言語との差別化になっている
0894デフォルトの名無しさん垢版2021/10/30(土) 22:59:57.37ID:4m+F11LP
>>892
> 継承より委譲を重視していて、それが言語の設計思想になっている
具体的にどういう機能がその思想で出来てるのか書いてみ
0895デフォルトの名無しさん垢版2021/10/30(土) 23:07:47.38ID:kUXQFtIi
>>892
composition over inheritanceのこと?
言語機能的には拡張メソッドがちょっとその思想を後押ししてるかなとは思うけど
基本的にはJavaと変わらないんじゃないかね
ライブラリの話にしてもWPFの継承ツリーなんかひどいもんだし
0896デフォルトの名無しさん垢版2021/10/30(土) 23:11:21.05ID:fF4OSUNs
> 他のクラスのインスタンスを所持する設計をコンポーネント指向という

コンポジションのことを言いたいのかな?
0897デフォルトの名無しさん垢版2021/10/31(日) 01:48:27.78ID:hGI7wBpw
バックエンドは、YouTube で有名な、雑食系エンジニア・KENTA のRuby on Rails のサロン。
有料なのに、3千人が入っている。
Vue.js の日本ユーザー会と同数だから、
有料のサロン1つで、いかにすごい人数かわかる

Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript も入る

だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!

バックエンドのキャリアパスは、Rails → Go だけ。
それ以外のNode.js, Laravel, Django などは不要

Rails以外のポートフォリオを作っても、誰も見ないので、転職できない。
PHP も一生やる必要ない。
新規案件が無く、保守のみだから低給料となる
0898デフォルトの名無しさん垢版2021/10/31(日) 14:30:11.94ID:Un7M+y/X
Railsの新規案件なんて日本限定にしてもあえて強調する程ないし、高級w?というイメージも全くないけれど。
0900デフォルトの名無しさん垢版2021/10/31(日) 22:40:12.12ID:CEq1n28F
言語は参加者が多いことが大切
日本人しか参加しない言語があったとすれば
そんな言語はそうそうに終わる

世界の新鋭プログラマがどんな言語を学んでいるか
だよね
0901デフォルトの名無しさん垢版2021/11/02(火) 12:42:19.53ID:wmrd1k9N
MVCのフルスタックが崩れつつあって局所的な用途になってきてるからな
今はフロントにReactバックにapi言語のマイクロサービスが主流
だから付加価値としてRailsしかないRubyをいまから初学者が学ぶのは
エンジニアとしてキャリアパス組む上でかなり遠回りにならざるをえない

まずMVCでいくとwordpressで使われるPHPで使えるlaravel
機械学習などで人気のpythonのdjango
ほかのapi言語としてはnode,kotlin,javaが主流、たまにgoだけど
ここにrubyが割り込んでるところはみたことがない
Railsはたいていnodeリプレースがおおいイメージ
java資産使いながら安全にリプレースできるkotlinは意外にもapi言語として人気がたかい

ケンタのあげてる言語って実は軒並み落ち目で
案件の質、量ともに減少傾向と言わざるをえない…
0902デフォルトの名無しさん垢版2021/11/02(火) 13:17:28.11ID:VJommKrT
Railsは量産型Webサイト制作の分野でPHPからシェアを奪えたらよかったんだけど、変に意識高い空気が残ってるせいで底辺層がついてこなくて結局ダメだったね
Webサービス系は完全にSPAに奪われ、もうどうしようもない
0903デフォルトの名無しさん垢版2021/11/02(火) 19:44:48.67ID:Li6MRima
資本形成の質と量×参入者の質と量×技術革新

産業分野の価値は、この方程式に準じる
ずいぶん古い経済学者の定理だけど
いまだにそこそこ真実だったりする

言語は参入障壁が低いので
参入者の質と量と言語自体の革新性に言語価値が依存する
底辺参加者へのフォローの少なく
離脱率の高い言語は早々に廃れるのは自明
0906デフォルトの名無しさん垢版2021/11/02(火) 22:05:30.52ID:hJCPBB4c
文系orF欄→PHPからやれ仕事はある、他の言語は挫折するぞ
非CS理系→Pythonからやれ仕事はある、微理系マウントでいけ
CS系無能→日本語からやれコミュ力つけばなんとかなる、CS系大好きさんもたくさんいる
CS系有能→すきにすれ
0907デフォルトの名無しさん垢版2021/11/03(水) 08:14:48.06ID:SOJC6f3T
簡単の方、HTMLから始めた方が良くね
0909デフォルトの名無しさん垢版2021/11/03(水) 09:39:26.06ID:QT9R4mJ0
HTMLがマークアップ言語だってことすら知らない人は
HTML+CSSから初めた方がいいかもね
でもサイト作りたいとかじゃなきゃ挫折しそう
0911デフォルトの名無しさん垢版2021/11/04(木) 14:13:49.96ID:TP3QQdxs
>>911
そうでもないぞ。
少なくともキーボードの練習はできるしエディタの使い方も
覚えられる。
そこから JS なり JSP や Java に向かう方向性もある。
0912デフォルトの名無しさん垢版2021/11/04(木) 18:43:15.94ID:uDU2x8+h
>>912
その言語の学習環境(プログラムとは何か、マナーはどんなのか、命名規則は、正規表現のひな型が整理されてるとかetc)とか
その言語でしか使わない文法が少ないとか
最初に学ぶのはそういうんで選ぶべきだと思うけどな
0914デフォルトの名無しさん垢版2021/11/05(金) 09:46:47.60ID:FU02tMLh
>>914
作りたいものがある - > その分野で必要なライブラリが充実してる言語(web系、apr系、AI系、ゲーム系、基幹系、化学数学系、etc)
作りたいものはない - > ネット、書籍が豊富(基礎、初級、中級、上級、プログラム一般、言語特有の学習が少なく、世界的に参加人口が増加(python、java、c#、perl、etc)
0915デフォルトの名無しさん垢版2021/11/05(金) 10:52:55.71ID:GxXpeOYb
マイクロサービスだったり、インスタンスポコポコ生やす前提、APIベースならnode.js(JS)はとても強い。
小さいものを組み合わせて作るので、覚えておくと他にも移りやすいと思う。

それ以外だと仕事と考えるとなんだかんだでPHP(Laravel)は強いなと思う。初学としてそんなに悪くない。


なんでかはわからないけれど、Pythonは機械学習というよりなんか普通にDjango(とFlask)案件が増えとる気がする。昔のRailsぐらいの勢い。
違うのは大学でも教えているって所なので流れは続くかも
0916デフォルトの名無しさん垢版2021/11/05(金) 12:16:24.15ID:bB3TtMEF
>>915
まさにマイクロサービス化で一番使いやすい、すぐ形になるのがFlaskだから
上にもあげたとおり、go, java, kotlin, nodeとか競合相手ではあるけど
どれも手探り段階だったり準備に手間取ったり、プラクティスが未発達なのが多い
FlaskはそれこそRails全盛期からすでに存在して
細々とながら使われ続けてきた実績とノウハウがある
0918Mb垢版2021/11/05(金) 15:40:14.99ID:th59gptp
>>914
言いたいことは理解できるのだが、
アンカーが狂っているのは訂正しておいたほうが
いいと思う。
「AE35 が故障です」的な話になるから(笑)。
0921デフォルトの名無しさん垢版2021/11/05(金) 22:24:05.67ID:th59gptp
スレの流れとは全然関係ないのでスルーしてくれ。
「二〇〇一年早わかり唄」(曲は「鉄道唱歌」)

地球を離れてディスカバリー
木星軌道を目指します
コンピューターの HAL が呼ぶ
「AE 35 が故障です」

「HAL よ、お前はおかしいぞ」
気づいたブールが殺される
メモリーバンクを引っこぬき
「デイジー、デイジー、教えてよ」

HAL の声は、キア・デュリアより、FM の「音の本棚」の
田島令子さん(「バイオニック・ジェミー」)のほうが
好きだな。
0926Mb垢版2021/11/06(土) 15:10:29.72ID:annn/Sq7
製造系ではモジュール制禦が複数化したり、
インターネットが普及したりしている現在では、
「どんなプログラミング上のパラダイムが、
将来のトレンドになるか?」というのがわからんのだよ。
オブジェクト志向言語ひとつにしても、静的なオブジェクト
の中で対応しているのと、動的なオブジェクトとして
機能しているのとでは、いろいろと方向性が違うのだ。
事務系のシステムを運用して業務を廻すのと、
スーパーコンピュータを使って有限要素法系の
アルゴリズムをぶん回すのと、
数値演算パッケージを作るのでは、コンセプトも
違えば使用する言語だって違うのだ。
まぁ、Java はわりとしょぼくれた言語ではあるものの、
他の言語への入口としては環境や文法としても
悪くないと思う。
0928デフォルトの名無しさん垢版2021/11/06(土) 20:27:21.30ID:0u7rbJb7
Mbはハードに近いところの経験が多いのはわかるしまあ面白く聞いてるが
今はJavaだと言ってさらにJavaはしょぼいとかいうのにマイクロサービスの
設計とか抽象性が高い話は全くしないのでその辺の説得力がないのだよ
0929デフォルトの名無しさん垢版2021/11/06(土) 20:31:23.00ID:4Qu4Zh/R
始めるのにいい言語ってどんな言語で
その言語は、他の言語に比べて、何処が、何故いいのか
ってスレなんでない?
0930Mb垢版2021/11/06(土) 20:52:07.97ID:annn/Sq7
「誰にでも向いてるプログラミング言語」なんてものは
存在しないので、純 LISP とか Prolog とか SIMPLE とか
BCPL とか Pascal とか True BASIC とか FORTRAN 60 とか
MASM とかニモニック(ニモウニク)とか ON-OFF とか、
プログラミング言語なんて北半球で見える三等星以上の
星の数くらいはあると思う。
「ぶっちゃけ最初に買えばいい乗用車の車種って何?」
程度の話じゃねぇかと思うんだが。
0931デフォルトの名無しさん垢版2021/11/06(土) 20:52:53.28ID:0u7rbJb7
そもそもプログラミングと言ったって幅が広すぎだからなあ

趣味の仲間で半導体製造機器のプログラマがいるがWeb系バックエンドの
俺とは全然話が通じない

一応Z80のマシン語から始めててもその状態
0932デフォルトの名無しさん垢版2021/11/06(土) 20:56:39.58ID:4Qu4Zh/R
高市さんとの対談も見た

国債を無限に発行するのと無限に円をするのとはいっしょなんだけど
デフォルトすることは技術的にないかもしれないけど
円の通貨価値は将来において無限に棄損することを理解したほうがいい
将来の増税と同じ意味がある

国債発行や円の増刷は
GDPを成長させる要因(インフラ、労働力の質、量、技術革新)に投じることが絶対条件
そのリターンが1.2倍とするのなら
社会福祉は0.2内に抑えないとならない

三橋は頭いいからちゃんと理解してほしい
0934デフォルトの名無しさん垢版2021/11/06(土) 21:01:37.87ID:0u7rbJb7
まあとりあえず現状で仕事を見据えてならJavaかJSが圧倒的に使われてるけど
JSは言語がOOPとか教えてくれないのでフロントやりたいのでなければJava
0935デフォルトの名無しさん垢版2021/11/07(日) 12:47:09.19ID:txObEGbW
TSをやるために先にJSをやらないとと思い
JSを始めるとなんでこんなんやらんとあかんのやと思いそこで毎回やめてしまう
0936Mb垢版2021/11/07(日) 14:53:33.07ID:qB4jONuy
若者は年寄りの愚痴を聞くのも修行のうちではあるのだが、
嫌気がさして業界から去られても後進が育たないので、
(いちばん俺が愚痴ってはいるわけだが(^_^!))
塩梅(あんばい)をすることをお互い気につけよう。
0937デフォルトの名無しさん垢版2021/11/07(日) 19:22:14.56ID:X7KoY/El
そもそもTypescriptなんてやらなくていいぞ
こんなの消えるやろw
javascriptは消えることはないしどっちにしても覚えて損はない
javaもKotlinなんてゴミがあるけどこんなの覚えてもなぁ
0942デフォルトの名無しさん垢版2021/11/07(日) 20:39:55.55ID:Ynl2Ul77
もう継続スレここに立てんなよ。完全に雑談スレじゃん
どうしてもやりたいのならマ板に立てろ。ここに立てるのは板の荒らしだ
0943デフォルトの名無しさん垢版2021/11/07(日) 22:32:08.92ID:Kr3G/nEt
>>934
JSってクラスとか導入されるから、

・手続き的に書くやつ
・OOPで書くやつ
・関数型で書くやつ

が、相互に「同じ言語で同じ仕様なのに理解不能」
みたいなカオス起きるかもしれないと思う。
0945デフォルトの名無しさん垢版2021/11/08(月) 00:01:26.01ID:Chf4/Vgn
>>944
俺もそんな思いつかないけど例えば?
0948デフォルトの名無しさん垢版2021/11/08(月) 12:37:06.78ID:QzkUvy+x
jsやphpはこの板には要らん
VBは糞だが板の目的に照らせばまだマシ
0949デフォルトの名無しさん垢版2021/11/08(月) 18:23:45.52ID:OEt9xka0
意味がわからない。LLはダメって事か?板的に
そんな化石脳の老害がまだ生き残っていたんだな。
0950デフォルトの名無しさん垢版2021/11/08(月) 21:07:06.15ID:FodJ9ckx
>>942
だってマ板で言語限定の話をしてると
「ム板へ逝け」って言われるんだもん ……
0952デフォルトの名無しさん垢版2021/11/08(月) 22:02:31.84ID:qfk8tjFH
>>950
ム板で雑談やるのは板違い、マ板で言語の話するのは板違いじゃない
お前は文句言われたらそれに従うのか?
じゃあマ板に行けw
0953デフォルトの名無しさん垢版2021/11/08(月) 22:30:03.89ID:z0OF5mcm
pascalってまだ生きてるの?
0954デフォルトの名無しさん垢版2021/11/08(月) 22:51:52.08ID:46TrNb/m
ブレーズ・パスカル
亡日: 1662年8月19日, フランス パリ
0959デフォルトの名無しさん垢版2021/11/09(火) 11:43:04.85ID:JLiNtnwO
Delphiはpascalだけどそういえばなんで名前変えたんだろうな
0960デフォルトの名無しさん垢版2021/11/09(火) 11:53:40.59ID:62tluvJG
ターボパスカルだったのでオブジェクト指向でオブジェクトパスカルにしたんだ
でも当時は統合開発環境が全盛だからデルファイのほうが有名になってしまい
デルファイいうねん
ちなみにターボパスカルの頃は、マイクロソフト製にはクイックシーとか、
ターボシーとかあったねん
0964デフォルトの名無しさん垢版2021/11/09(火) 16:24:47.99ID:UPGUwSOi
>>962
> むしろEmbarcadero Technologiesのほうが、DelphiやC++ BuilderなどBorland時代の名残を残した製品がきちんと維持されている。
当たり前だろツール部門はEmbarcaderoに売られたんだから

>>963
会社はMicro Focusに買収されて消滅したけど、その前にツール部門はEmbarcaderoに買われたからそこで売ってるよ
https://www.embarcadero.com/jp/products/delphi
0965デフォルトの名無しさん垢版2021/11/09(火) 16:29:42.82ID:wQDfaqIT
950 を越したけど、次スレ立てる?立てない?
「【C?】最初の言語に何を選ぶか【Haskell?】」とかで
いっぺん休憩するのもアリかとも思う。
次スレ誘導の問題もあるし。
0968デフォルトの名無しさん垢版2021/11/09(火) 18:43:47.31ID:8kpY2GOq
>>967
+1
0969デフォルトの名無しさん垢版2021/11/09(火) 21:21:42.35ID:UYSemNO8
本人が悲しく哀れな誘導をかけてるが
だーれも糞スレに来なくて残念やな
俺もこのクソコテに荒らされてないスレにだけ行きたいわ
0971デフォルトの名無しさん垢版2021/11/09(火) 21:50:13.03ID:UYSemNO8
野糞といっしょなんだよ
みんなが顔をしかめるが
犬には何も分かってないのよ
いいことしたと思って糞してんのよ多分
0975Mb垢版2021/11/10(水) 14:51:23.47ID:Wl5lGLAU
>>973
> 日本語、英語、ビジネス用語
> 中学生とかでないならこのへんからやればよい
あぁ、「中学時代に やられちゃったクチ」だな?
英語(英会話)の定型文は憶えておくと
とりあえずそこそこ役には立つが、高校に入って
漢文とか古文とか英文法とかを学びはじめると、
かなり違和感を受けることがある。
で、中学二年以上で学ぶ(高校入試問題に出ない)
現代国語の国文法というのは、間違いだらけだ。
ところが、学校文法ができてから三十年以上、
日本語処理が可能なパーソナルコンピュータ環境
というのは整備されてなかったんだよね。
だもんだから、文語文法の研究者から、「いまの
現代語の国文法は、おかしい」という批判が
あったんだ。
そういう意味では、「中学生のころから、『世界的・国際的に
見て、「日本語とはどういう言語か?」』というのを
おぼろげながらにも理解してほしい」というのが、
プログラマとしての意見だ。
0976Mb垢版2021/11/10(水) 15:01:06.28ID:Wl5lGLAU
>>974
> アルファベットて何個ですか
アルファからオメガまでで五個くらい。
その他の子音がニ十個くらい。
J とか y とか w とか、母音か子音か
よくわかんないのもある。
…… と、ルイス・キャロルは謂っていた。
フツーのプログラミング言語だと、
アルファベット+特殊文字だから、もうちょい
字数が増える。とはいえ APL とかだと、
ギリシャ文字のアルファベットが入ってくるから、
まぁ、百二十八文字前後かなぁ?
0977デフォルトの名無しさん垢版2021/11/11(木) 00:33:22.33ID:/rams80+
あわしろ氏がお勧めする数学志向言語Haskell。
0979デフォルトの名無しさん垢版2021/11/11(木) 19:08:10.05ID:VusLz3bn
>>974
バーコードならcode39個
0983デフォルトの名無しさん垢版2021/11/12(金) 10:50:17.24ID:uCoii1J0
αとβやろ
0986デフォルトの名無しさん垢版2021/11/13(土) 17:54:13.41ID:vJfZgOKN
TeX
0988Mb垢版2021/11/13(土) 22:38:12.60ID:uj+O3oiq
>>987
あれは「タウ・イプシロン・カイ」なので、
「テフ」とか「テック」とか発音するのが通。
喉の奥から「カッ!」と出す「咽喉破裂音」と
いうのが正式な発音。
0989デフォルトの名無しさん垢版2021/11/14(日) 00:12:32.61ID:kQlcc7ZY
TeXはよなくなんねーかな
0990デフォルトの名無しさん垢版2021/11/14(日) 00:52:55.25ID:nLCz7RQY
あわしろ氏がお勧めする数学志向言語Haskell。
0997デフォルトの名無しさん垢版2021/11/14(日) 15:31:43.07ID:mFG9NQD5
外人の動画を見たら、来年もRuby on Rails でOK だって。
2億レコード・2万社でも、全く問題ない

巨大企業・Shopify も使っているし
0998デフォルトの名無しさん垢版2021/11/14(日) 16:58:44.53ID:tkHjD9h1
0999デフォルトの名無しさん垢版2021/11/14(日) 16:59:02.33ID:tkHjD9h1
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 63日 4時間 3分 9秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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