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

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

ぶっちゃけ始めるのにいい言語て何 part5
https://mevius.5ch.net/test/read.cgi/tech/1622766330/
2021/08/27(金) 15:17:53.21ID:7qiVyN8a
頼むから「ぶっちゃけ始める」のにいい言語の話をしろ
599デフォルトの名無しさん
垢版 |
2021/08/27(金) 15:27:04.79ID:TeiUhzzT
>>594
昔は「ファイル渡し」が標準的で(ジョブコンとか
unix のフィルタとか awk とか)入力もファイルで出力も
ファイルだった(『ソフトウェア作法』とかの時代だな)。
現在は GUI が全盛なのでイベント駆動が主流だ。
入出力という観点からいうと、(プログラミング言語ではなく
マークアップ言語なのだが)HTML と CSS から入って、
そこから JavaScript とかに入ってゆくというアプローチも
あると思う。
もっとも、言語処理系(コンパイラとかインタプリタとかいった、
自然言語処理系ではないシステム)の需要はそれなりにあるので、
そっち方面もアリかと思う。
600デフォルトの名無しさん
垢版 |
2021/08/27(金) 15:36:01.74ID:TeiUhzzT
>>598
JavaScript(+HTML+CSS)
EXCEL マクロ
Java

0 から始めたいんだったら、
純 LISP とか仮想機械のアセンブラとか。
そういう世界を知っている年寄りが
まだ現役でやってらっしゃったりするのだが、
「昨今の言語はつまらん!」とか思っていらっしゃったりする。
新型コロナも長引きそうなので、門を敲(たた)いたら
入門させてくれるかも知れんぞ?
2021/08/27(金) 15:46:01.85ID:+wfLaYar
>>592
エディタとコンパイラってのがシンプルでいいんよね
最近じゃあideoneみたいなオンラインコンパイラ?も便利で
あれだとブラウザだけで済むからもっともっとシンプル
2021/08/27(金) 15:54:24.60ID:B8clkCSU
>>601
Codespaces
2021/08/27(金) 15:58:00.43ID:6epxU4jC
初心者は混乱を防ぐためにもIDEを使わないのがベストかもね
シンプルにIDEを使わなくてもプログラム作成も実行もできることをまずは会得
その方が混乱せずに済むね
604デフォルトの名無しさん
垢版 |
2021/08/27(金) 16:45:34.80ID:JsPbXdtm
>>598
>>597は触れてはいけない部類
2021/08/27(金) 17:04:35.35ID:JRRUhTVP
おめーらに聞きたいなだが
ぶっちゃけ関数型言語ってどうよ?
流行りそう?
おすすめある?
2021/08/27(金) 18:03:51.58ID:gmwg56Qq
全世界絶賛大人気爆発中のJavaScriptはfunctionの固まりでんがな
2021/08/27(金) 18:08:15.24ID:2exhmgn5
JavaScriptとかPHPとかよくおすすめされるから勉強したことあるけど、あれ使ってやりたいことなんてないから全然続かんかったわw
ウェブサイト作れますとか言われても、そもそもウェブサイトなんか作らんし、WordPress改造出来ますとか言われてもデフォでええやんとか思うし
あの辺の言語はウェブ系の仕事出来るようになりたいやつじゃないと意味ないよね?
2021/08/27(金) 18:13:52.21ID:gmwg56Qq
>>607
んで?何がやりたかったんですか?
2021/08/27(金) 18:23:38.99ID:6epxU4jC
>>607
例えばJavaScriptにはElectronというデスクトップフレームワークもあって
ウェブではなくデスクトップ(WindowsやMacやLinuxなど)上のアプリも作ることが出来ます
具体的には最も人気の開発者環境ツールであるVSCodeもこのElectronによりJavaScriptで出来ています
2021/08/27(金) 18:27:40.19ID:VBYO8CeP
最近PHPおすすめされる事なんてあるか?
2021/08/27(金) 18:28:20.30ID:iUIyzu4p
>>603
> シンプルにIDEを使わなくてもプログラム作成も実行もできることをまずは会得
> その方が混乱せずに済むね
こんなんエラーばっかりで何の指摘もなく、どのようなメソッドがあるのかもわからんし
面倒だから2日ぐらいで諦めちゃうだろ

C#でtextboxとbutton設置して、入力したボタンおしたらalertでその文字が表示されるぐらいの
アクロバチックなことさせて興味を満たせてから、四則演算だよ
なんもわかってないな
2021/08/27(金) 18:37:36.24ID:N7Nd5eWX
>>610
バックエンド初心者向けのXAMPP経由での勧めになるんじゃなかろか
2021/08/27(金) 18:49:50.29ID:ov+03h9m
>>607
やりたいこととズレてるアドバイスを受けると迷惑だよね
2021/08/27(金) 18:52:16.14ID:+wfLaYar
そもそもやりたいことあるやつは勝手にそれをやれというw
2021/08/27(金) 19:04:46.52ID:wZ/s0fRN
先に言えよとしか
2021/08/27(金) 19:06:16.84ID:JRRUhTVP
>>606
そういうことじゃなくて
HaskellとかScalaとかLISPのことを言ってんだよ
おぬぬめある?
2021/08/27(金) 19:23:40.56ID:Q47YKSur
ボケたのに参照透過性がピンボケた
2021/08/27(金) 19:33:28.63ID:yde2MthE
>>607
Windowsでフリーソフト作りたいならC#かVB.NETだろ
ここにいる奴らはネットワークサービスを提供したい奴らばっかなのか?
2021/08/27(金) 19:34:40.67ID:6epxU4jC
純粋関数型言語ではないけど
HaskellとScalaから色々なものを受け継いでいるRustはオススメ
2021/08/27(金) 19:34:43.03ID:bOFxQvj+
>>607
PHPはともかくJavaScriptはWebを作るときだけじゃなくWebを利用するときにも使う
Webを利用しないやつなんていないからJS分からないやつはプログラマー的には中学英語できないやつと同じ扱い
2021/08/27(金) 19:40:57.48ID:yde2MthE
>>620
IT土方だらけだから仕方ないのだろうがネットワークしか頭にないのか
音楽プレイヤーとかゲームとかいろいろあるだろうに
2021/08/27(金) 19:41:11.71ID:RddKoclu
>>616
海の向こうではElixirが静かに盛り上がってきてるが全体から見れば少数派

関数型の概念的なところが学びたいだけならとりあえずHaskellのすごい本がいいんじゃね
2021/08/27(金) 19:45:52.93ID:l1P4PIT1
>>621
おまえ大丈夫か?
誰もネットワークの話なんてしてないぞ?
2021/08/27(金) 19:48:32.05ID:yde2MthE
>>623
>607
>620
2021/08/27(金) 19:50:48.59ID:wZ/s0fRN
JSでネットワークもデスクトップも幅広く対応出来る
気に入らないなら先にヒントをくれ
2021/08/27(金) 19:57:22.48ID:JRRUhTVP
>>622
thx
概念自体は多少勉強してるし
どうせなら流行りそうな言語をマスターしたいと思ったけど
純粋関数型はまぁ流行らんよな
それ考えるとJavaですら関数型の要素は取り入れられてきてるし
あえてやらんでもいいか
Rustみたいなのに挑戦すべきなのかね
2021/08/27(金) 20:04:54.14ID:fJXZA34I
>>624
ワロタ
さすがにJavaScriptを理解してないだけあるなww
組み込みならともかく音楽プレーヤーやゲーム作るならJSの読み書きくらいはできないと相手にされないぞ
2021/08/27(金) 20:54:31.29ID:TSUnCuu+
結局プログラミングやりたいなーなんて言う奴はゲームかスマホアプリ作りたいんだからC#かJavaでいいんだよ
2021/08/27(金) 20:57:19.62ID:PzRhQXZy
初心者は走り書きスクリプト言語でよし
2021/08/27(金) 21:03:03.82ID:wZ/s0fRN
>>628
言語の優劣なんかよりこういう考察がよほど重要だと思うわ
俺はこの辺の感覚がよく分からんのでJSで思考停止してるってだけ
2021/08/27(金) 21:04:47.25ID:JRRUhTVP
スマホアプリならKotlinかSwiftちゃうん?
けどそれくらいでしか使われてない言語ってなんかお得感がなくてやりたくないよな
ベストプラクティスとは言わないがJavascriptでもスマホアプリ作れるんだしどうなんだろうな
あまりフレームワークに依存したくないというのもある
2021/08/27(金) 21:08:58.92ID:cnVRceR9
KotlinはJavaと言ってもいいだろう
2021/08/27(金) 21:13:00.97ID:osG/Eo9L
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
2021/08/27(金) 21:15:59.25ID:6epxU4jC
>>631
スマホアプリの大半は同じことをPWA(プログレッシブウェブアプリ)で実現できる
しかもPWAにするとスマホだけでなくデスクトップでも動く
PWA作りで必要なプログラミング言語はJavaScript
2021/08/27(金) 21:31:39.61ID:zamqxwg9
>>628
JSならゲームもスマホアプリも問題なし
各プラットフォーム独自のフレームワークを習得する必要もない

ぶっちゃけ言語よりもGUIフレームワークを習得する方が時間がかかるから
2021/08/27(金) 21:35:52.65ID:zamqxwg9
ネイティブでやりたくなる頃にはプログラミングがどういうものかやGUIフレームワークがどういうものかを経験済みなので
全くの初心者だった頃よりも新しい言語やフレームワークを効率よく学べる
2021/08/27(金) 21:50:07.25ID:kJPpYKj7
目的もなく素養を育てたいならMakeCode推す
こどもはScratchより食い付きよかった
Swicthのやつもあり
2021/08/27(金) 21:54:56.62ID:4V5h68O4
JAVAかC#、ブラウザで表示したいならJS、手軽で綺麗にかけてプログラミングそのものが学びたいとかファイル処理が多いとかならPythonとか
情報系の学生とかハードに近い部分を学びたいならCとかアッセンブラ

RustとかHaskellとかScalaとかは知らん
2021/08/27(金) 22:16:15.57ID:TaK2b46x
Rustが流行りつつある一番の理由はメモリ安全性と速度の両立だけど
cargoやrustupなどの標準ツールが使いやすいのも大きい
パッケージマネージャもバージョンマネージャも標準ツールだけて済む言語は稀

Rustを初心者に勧めるわけではないが開発時に必須なツール類の使い勝手は
初心者が言語を選ぶ時にも重要なポイント
2021/08/27(金) 22:57:08.51ID:ZaAl6awg
>>611
先生!出来ました
【使用言語】JavaScript
【エディタ】メモ帳
【実行環境】WindowsブラウザChrome
【ソースコード】〈a.html 〉
https://dpaste.com/8NJFJNAWB#

<input type = "text" id = "t" value = "0 + 1-2×3÷4 =" />
< input type = "button" value = "クリック" id = "b" onクリック = "func()" />
< div id = "d" > </ div >
<スクリプト>
関数 func (){
var txt = document .getElementById ("t" ).value;
d 。innerText + = TXT + (0 + 1 - 2 * 3 / 4 )+ "\ n" 。
アラート(txt );
}
</スクリプト>
2021/08/27(金) 23:06:46.65ID:Qjub7wPt
>>640
Cloudflareのチェックを通すための涙ぐましい努力が見えるな
2021/08/27(金) 23:10:23.48ID:fvnuyojg
うんめんどくせー頑張った、
写経で動くか動かないかの勉強にもなりました
2021/08/27(金) 23:19:02.39ID:cMIVTei2
スクリプトタグを、5ch に書けない

<scr@ipt>
2021/08/27(金) 23:27:47.84ID:Pcfxrq+u
ファンクションとクリックもNGワードみたいね
645デフォルトの名無しさん
垢版 |
2021/08/28(土) 07:01:29.65ID:DsNx3O0O
公式なディナーに出かけるのならCやjavaなどのコンパイル
カジュアルなディナーならpythonやruby
ハンバーガーショップですませるならjavacriptやvba
2021/08/28(土) 08:14:40.81ID:+gC0Coo9
そうじゃねーな
2021/08/28(土) 08:28:47.55ID:yCGZay/Z
当たり前だが、何したいかによって選ぶ言語を変えるべき
そして初めてプログラミングやるやつはまず何が出来るかなんて知らない
つまり、まずプログラミングで出来ることをまず羅列して教えてあげることが必要だったんだよ!
2021/08/28(土) 08:40:57.23ID:XHDMw1Xf
>>647
何が出来るかを知らなくても
何をしたいかは知ってて当然

こういう日本語能力が著しく低い人はプログラミング適性は無い
アドバイスも聞くだけ無駄
2021/08/28(土) 08:49:41.80ID:xA6zltwP
幼女と仲良くしたいけど
どのプログラミング言語が良いですか?
2021/08/28(土) 09:11:04.86ID:dS/DRspD
Javascript使うのは良いけど、
Javascript使うためにブラウザ起動するのか、
ブラウザで起動させるからJavascript使うのか。
いやまあ、どの言語でもそうかもしれないけど。
2021/08/28(土) 09:13:48.39ID:KA940OS3
プログラミング言語ってどれも「処理が実行されて〜が表示されました。」みたいな例ばっかだから、「で?」ってなって終わるやつが多い。
入門書を一冊終えてもそれで何が出来るのかが全くわからないようだ
2021/08/28(土) 09:19:32.45ID:REtSeXiC
本の分厚さによる
気軽に手に取れる軽量級の書籍じゃ限界がある
2021/08/28(土) 09:38:48.75ID:mx2u+dFv
先生「キミタチはここまでで変数、関数、制御構文を理解しました
見込みない奴「…で?
見込みある奴「なるほど、これ組み合わせたら…あれもそれもできるやん!

先生「これがクラスライブラリのAPIリファレンスです
見込みない奴「…で?
見込みある奴「うほほほい! 便利そうなもんがウジャウジャあるやんけ!
2021/08/28(土) 09:38:54.60ID:OGodEit8
モンタニエ博士はBCGとイベルメクチンを勧めてる
MS系ワクチンは打つなと言ってる
2021/08/28(土) 09:49:42.40ID:D5p3I8+4
>>649
Unityちゃん!
2021/08/28(土) 09:51:01.78ID:kUAioGod
>>653
見込みあるタイプのやつなんか1%もいねえだろw
657デフォルトの名無しさん
垢版 |
2021/08/28(土) 09:59:02.57ID:0qh8ExFA
>>588
昭和生まれの先輩に聞いた話だが、
パンチャーが電算畑の人じゃなかったので
数字の1を小文字のL、数字のゼロを大文字のオーで打たれ、
「動かん!」というので部長に泣きつかれたとか。
658デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:02:57.71ID:0qh8ExFA
>>589
まだフロッピーディスクだったころに
コピープロテクト破りに熱中していたそうだ。
2021/08/28(土) 10:04:59.63ID:U8MK4WFl
<<初心者向け学習内容(言語は問わない:疑似クラス対応ならjavascriptでもOK)
・ データ型、キャスト
・ 変数(参照、値)
・ 配列、Mapコレクションなど
・ 演算子
・ 構文(繰り返し、分岐)
・ (正規表現)
・ 関数
・ クラス(匿名、即時)
・ (インターフェイス:オブジェクト指向)

上記はどの言語でもある程度学べる
その後は作りたいシステムなどによって言語を選択
2021/08/28(土) 10:09:12.80ID:2amKhutT
プログラムっても文章の一部なのだから前後の繋がりで
100をlOOと打つやつは見込みないね
661デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:13:10.27ID:0qh8ExFA
>>605
そもそも C が関数型言語。
C を含む ALGOL 系の言語は、
用途と処理系とプログラミングスタイルと
開発環境で適当に選べばいいと思う。
662デフォルトの名無しさん
垢版 |
2021/08/28(土) 10:31:13.97ID:0qh8ExFA
「そもそもプログラミングとはどういうものか?」
みたいな哲学的な動機でプログラミングを始めるなら、
「八人の女王」とか「ハノイの塔」とか「Tic-Tac-Toe」とか
「Make 10」とかいった数理パズルをコンピュータを使って
具体的に解くことを考えて、そこから始めるという入口もある。
共立出版の『bit』というコンピュータサイエンスの専門誌
(現在休刊中)の『ナノピコ教室』なんかは、
入選すると新評論社の『数学セミナー』の『エレガントな解答を求む』
に入選したくらいのステータスだった。
なお、『bit』は電子出版企画が進行中なので、大学とか企業とかだったら
お願いすれば買ってもらえそうな気がする。
2021/08/28(土) 10:39:04.83ID:kXxEIPV2
>>662
数学で微分・積分、三角関数、組合せ3C2とか順列ZΣσやら習い始めた頃に教室が二分されたのを思い出したわ
2021/08/28(土) 10:39:38.30ID:IUXZMuuV
>>661
> そもそも C が関数型言語。
もしかしてC言語には(手続きはなくて)関数しかないからC言語は関数型言語とか思ってる?
とりあえずこの程度は読んでおいたほうが恥をかかなくて済むと思うよ
https://e-words.jp/w/%E9%96%A2%E6%95%B0%E5%9E%8B%E8%A8%80%E8%AA%9E.html
665デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:31:44.36ID:0qh8ExFA
>>664
もしかして「LISP には制禦構造がないからLISP 言語は関数型言語」
とか思ってる?
LISP の AND は「順番に評価をしていって、途中で NIL が返ってきたら
NIL を返す」、OR は「順番に評価をしていって途中で *T* が返ってきたら
*T* を返す」という意味では制禦構造なんだよ。
FORTAN が手続き的な言語とされているのは、「スタック領域が狭いから
あんまり使わないでね?」という大人の事情があって暗黙の了解なっていたから
そうなっているので、文法を拡張すれば再帰だってできるんだぞ。
2021/08/28(土) 11:37:55.32ID:mx2u+dFv
関数型言語とC言語の両方を知っていたら
口が裂けても「C言語が関数型言語」とは言わんわな

>>664
スルーしたほうがいいよソイツのことは
あたまのおかしいド素人だから
2021/08/28(土) 11:41:42.73ID:U8MK4WFl
お前らはどうしてスレタイから外れるんだ?社会行動できないADHDか?
668デフォルトの名無しさん
垢版 |
2021/08/28(土) 11:48:07.80ID:0qh8ExFA
>>663
わかるわかる(笑)
「数学の美しさ」とかに酔っている数学観に囚われている
奴は、プログラムも書けないのにプログラマを馬鹿にしていたりする。
いまどきの若手数学者はパソコンを使ってどんどん成果を生んでるん
だけどね。
コンピュータが一般化する以前は、物理数学は純粋数学よりも下の扱い
だったので、逆に物理学者は数学者をいろいろと皮肉っている。
「純粋数学の女神は純潔である。だから子を産まない」、
アルバート・アインシュタイン。
「物理数学と純粋数学の関係は、セックスとマスターベーションの
関係に似ている」、リチャード・ファインマン。
2021/08/28(土) 11:50:27.11ID:/L8RhIcg
>>665
> もしかして「LISP には制禦構造がないからLISP 言語は関数型言語」
誰もそんなことは言ってないけど頭大丈夫?w

> FORTAN が手続き的な言語とされているのは、「スタック領域が狭いから
> あんまり使わないでね?」という大人の事情があって暗黙の了解なっていたから
なんでそんな嘘書くかなぁ
当時の実行環境である汎用機にはスタックなんて無かったから再帰できない仕様にしてただけ
RECURSIVEキーワードで再帰できるコードを吐く処理系もあった

>>666
> スルーしたほうがいいよソイツのことは
> あたまのおかしいド素人だから
まあそうやね、知識が色々間違いすぎてる
2021/08/28(土) 11:56:30.01ID:4JRTwZn0
つーかこのIDを赤くしている奴はいつも張り付いているのか?
キモいし知識が古いし
典型的な老害って感じだな
2021/08/28(土) 11:59:56.78ID:3GMx01Sz
>>653
それは教わる側にも原因があるが、教える側にも同程度に原因がある

教わる側は「…で?」を解消するための質問をするべき

教える側はそれらが何の役に立つのか教わる側がイメージできるような具体例を示してやるべき
672デフォルトの名無しさん
垢版 |
2021/08/28(土) 12:03:49.29ID:0qh8ExFA
>>667
だから言ってるだろう。
「どういうプログラムが書きたい」という話がまずあって、
「だったらこういう言語が向いている」という話になるんだよ。
禁酒計算がしたいのか、円周率を千桁計算したいのか、
数理パズルが解きたいのか、ゲームを作りたいのか(アクションか
ノベルゲームかパズルか)、動的な Web ページを作りたいのか、
あるいは「関数電卓の階乗計算は、なぜ三角関数の計算より
遅いのか?」をプログラムを動かして納得したいのか、
メルセンヌ素数を実際に求めてみたいか、素因数分解に
どのくらいの手間がかかるか知りたいか、ゲーム用の
乱数を自前で生成したいかだ。
「とりあえず、こんなことがしたい」
「おれだったら、こういう経験があってこういう環境を使っているので、
こういう言語を使う」
だと答えやすかろうと思うが、どうだ。
2021/08/28(土) 12:04:51.51ID:YSLxl141
>>659
この並び順は何順?
2021/08/28(土) 12:11:17.77ID:yCGZay/Z
>>672
こういうのをひたすらリスト化して「言語選ぶ前にこっから何やりたいか選べ」ってやるのが1番いいだろ
プログラミングやったことないやつがこんなの知ってるわけないし
2021/08/28(土) 12:12:01.87ID:TLYe8gOd
「プログラミングやりたいんだけど、始めるのにいい言語て何?」
「目的によるんだけど、プログラミングをやりたい理由は何なの?」
「えーと、プログラミングって何が出来るか知らないから、分からないよ」
「(は?)………」
676672
垢版 |
2021/08/28(土) 12:14:02.93ID:0qh8ExFA
>>671
> 教える側はそれらが何の役に立つのか教わる側がイメージできるような
> 具体例を示してやるべき
ありがとう。心掛ける。

ついでながら
×禁酒計算
〇金種計算
だが、最近は給与が現金手渡しのトコなんか少ないから使わねぇか。
「極力小銭入れの中の硬貨の枚数を減らす」という「マスター・オブ・
ペイメント(支払修士)」というゲームあたりもいいんだが、
最近はプリペイドカード決済がほとんどだもんなぁ。
2021/08/28(土) 12:18:26.12ID:uaGIaWKc
>>673
一般的な各種言語入門書のページ順だろう
1.変数等の部品の書き方
2.構文等の機能のルール説明
3.関数等の組合せ方使い方
2021/08/28(土) 12:40:20.94ID:ce8zlVGx
>>675

ゲームかスマホアプリ C#かJava
WEB JS
走り書き powerscript
2021/08/28(土) 12:51:03.00ID:1FNDrQ4q
>>675
だからお前はモテないんだよ
2021/08/28(土) 12:55:34.28ID:RWdeBufS
JavaはiPhoneアプリカバー出来んやろ
2021/08/28(土) 12:58:08.37ID:njd3dgiL
>>661
>そもそも C が関数型言語。

え?
2021/08/28(土) 13:14:42.43ID:CWz/r/iX
>>675
まあそういうレベルの人にはC#とかVBAでもいいからとにかくとっつきやすいの勧めておけばいいんじゃね?
あれができないこれができないと言い出したらそれができる言語を勧めればいい
真面目な話、悩んでても何も変わらないから間違い上等で走り始めた方が早い
2021/08/28(土) 13:26:30.02ID:OGodEit8
>>661
> そもそも C が関数型言語。
なわけねえだろ
684Mb
垢版 |
2021/08/28(土) 13:59:14.59ID:0qh8ExFA
>>683
記者「要するに、相対性理論というのは何ですか?
ひとことで説明してください」
アインシュタイン「あなたはパスタの作り方を知っていますか」
「小麦粉と塩と水を混ぜて ……」
「小麦粉も塩も知らない人に、パスタを説明できますか?」
EDPS とかノイマン型マシンとかを知らない人に言われてもなぁ …
中韓と政治論争をするようなもんだ。「結論は明らか」が前提なんだから、
議論する余地なんかないじゃん。
2021/08/28(土) 14:09:48.16ID:dTN9moza
反論できない指摘をされると意味不明の話をまくしたてて有耶無耶にしようとする老害。
このパターン何回か見たな。
2021/08/28(土) 14:19:34.61ID:1q7CNMox
>>684
EDPSやノイマン型コンピュータと
C言語が関数型言語という話はどう繋がってるのでしょうか
2021/08/28(土) 14:23:37.54ID:fYUv2NHv
ひとことで説明しろなんて言わないから
何十行でも何百行でも好きなだけ使って説明してくれ
688デフォルトの名無しさん
垢版 |
2021/08/28(土) 14:24:31.04ID:0qh8ExFA
>>677
> 1.変数等の部品の書き方
値渡しがいちばん安全だが、副作用を利用しようと思うと
アドレス渡し(参照渡し。Java でもプリミティブじゃなくて
オブジェクトだと使える)あたりの話は
副作用の話があるのでちゃんと説明したほうがいい。
あと、広域変数と局所変数のような変数スコープの話も重要。
> 2.構文等の機能のルール説明
> 3.関数等の組合せ方使い方
そのあたりは、マナーとかエチケットとか定跡とかの
話もあるので、「まず、実運用環境にあるコードを読んで、
それが糞コードか良コードかが判断できるレベルを目指す」と
いうのは、目標として悪くなさそうに思う。
2021/08/28(土) 14:27:58.01ID:4JRTwZn0
つかこんなんスルーしようや
最早荒らしみたいなもんやろ
690686
垢版 |
2021/08/28(土) 14:33:40.41ID:1q7CNMox
私は関数型言語について(ネットで言う)「チョットワカル」くらいですが
C言語が関数型言語というのはあまり聞かない話なので、解釈が気になります
691Mb
垢版 |
2021/08/28(土) 14:47:45.10ID:0qh8ExFA
せっかく
>>687

> 何十行でも何百行でも好きなだけ使って説明してくれ
と言ってくれたのでひとくさり。
>>686
> EDPSやノイマン型コンピュータと
> C言語が関数型言語という話はどう繋がってるのでしょうか
「EDPS」というのは、電子式データ処理システム略で、
「データ」を処理するシステムのことをいう。ところが、
JIS ではデータ・プロセシングのことを「情報処理」と呼ぶ、
と規格にしちゃったんだ。データというのは「情報をデータ化
したもの」であって、それが「入力(インプット)」なのだが、
当時は文字コードセットも数値表現も曖昧だったので、
こんなことになってしまったという事情がある。
このあたりはネットで検索してくれ。
で、ノイマン型コンピュータというのは、「CPU(中央演算装置)と
RAM(乱編成記憶装置)」からなっていて、CPU と RAM の間に
トラフィックが集中していたのだ。この「CPU と RAM の間の隘路」を
「フォン・ノイマンのボトルネック」(いや、ボトルネックは機能として
あるので、不適切な表現ではあるのだが)と呼ばれていた。
でもって、「並列処理によって、フォン・ノイマンのボトルネック」を
解消しようという声が、主に人工智能畑の人から挙がってきたのだ。
692Mb
垢版 |
2021/08/28(土) 14:58:42.76ID:0qh8ExFA
>>691
このころは、「アルゴリズム」というのは「逐次処理」を前提としていて、
シングルタスクを前提としたノイマン型コンピュータの設計思想には
まっちしていたのだが、「逐次処理(評価順序)」というものを
前提としてしまうと、並列処理というのを定義しにくいのだ。
そんなわけで、そのあたりをうまく避けようとして、
「関数として定義しよう」「渡された変数に対して副作用が起きるような
表現は避けよう」「変数スコープを厳格に定義しよう」みたいな話になったのだ。
それで、「コンカレント何とか」みたいな関数型言語が流行したわけだ。
「C 言語は手続き型言語か関数型言語か」というのは、
「ピエール・カルダンはクラシコかモードか」みたいな
宗教論争でしかないように思う。
反論歓迎。喧嘩上等。
2021/08/28(土) 14:59:34.03ID:dTN9moza
で例によってC言語も関数型言語も全然関係ないと。
みんなに総スカン食らっているのは気付いているんだろうけど、そこまでして会話の相手をしてくれる人が欲しいのかねぇ。
2021/08/28(土) 15:05:09.39ID:mx2u+dFv
> みんなに総スカン食らっているのは気付いているんだろうけど

気付いてないし、自分の実力も相手の実力も分かってないと思うw
自分が教わる立場だってのに、教えてるつもりっぽいもんw
695686
垢版 |
2021/08/28(土) 15:08:22.22ID:1q7CNMox
>>691-692
ありがとうございます
お話しの内容だと、>>692の「C言語は〜」からはそれまでの内容と繋がってないように思います

「関数型言語」という言葉をどういう定義で使っていますか?
696Mb
垢版 |
2021/08/28(土) 15:11:07.59ID:0qh8ExFA
>>691
の訂正。
×電子式データ処理システム略
〇電子式データ処理システム(エレクトロニック・データ・
プロセシング・システム)の略

×データというのは「情報をデータ化したもの」
〇データというのは「情報を(文字コードセットや数値の内部表現によって)
符号化したもの」

なお、「喧嘩上等」というのは、手拭で鉢巻をするときの結び方のひとつ。
「ねじり鉢巻」は後頭部で結び、「向こう鉢巻」は額のところに端が
ピンと立つように結ぶ。「喧嘩上等」は、髷を掴まれないように鉢を
覆い、後頭部で結んだ結び目を内側に入れて見えないようにする。
他にも「姉さん被り」「泥棒被り」などいろいろあって楽しいので
ネット検索をお奨めしたい。
なお、東京在住なら、歌舞伎座のはす向かいに手拭の老舗がある。
697Mb
垢版 |
2021/08/28(土) 15:24:46.51ID:0qh8ExFA
>>695
>「関数型言語」という言葉をどういう定義で使っていますか?
逆に質問したいが、「オブジェクト志向言語」とは
「オブジェクト型言語」なんだろうか。
Java は「オブジェクト志向言語」の代表格だが、
C や Pascal とそんなに違いはないし、for 文や while 文や do 文といった
構造化ステートメントも揃っている(業務で使っていると、
「再帰と」)。
「関数型言語」というのは「関数志向のプログラマにとって使いやすい
言語」でしかないので、「定義」という話は、「カツ丼は和食か日本料理か」
程度の話でしかないと考える。
「Prolog はホーン節の論理をベースにしているから論理型言語である」とか、
難しいことは言わなくてもいいんじゃないだろうか、的な話。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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