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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2021/03/13(土) 14:15:45.21ID:a+miF64E
前スレ

ぶっちゃけ始めるのにいい言語て何 part3
https://mevius.5ch.net/test/read.cgi/tech/1599110613/
96デフォルトの名無しさん
垢版 |
2021/03/28(日) 00:37:58.65ID:w6XGrPa9
小学生向け入門書の存在につられて、試しにC言語に取り組んでみてるんだけど、予定どおりというか噂どおり難関とされる配列、ポインタで、さっそく挫折した。(同じく難関とされる構造体は、その入門書ではまだ出て来てない)
配列は1次元でも複雑怪奇なのに二次元配列なんて出て来て即アウト。ポインタにいたっては最初から何もかもチンプンカンプンな有り様。
プログラミング言語ほぼ初心者で、どの言語がいいか5〜6言語、とりあえず入門〜初級レベルあたりの学習を、それぞれ試してみるつもりなんだけど、とりあえずC言語の学習を初めちゃったし学習書も買っちゃったから、わからないところは考えても時間のムダだろうから、ここはアッサリ飛ばすことにして、とにかく先へ先へと突き進む方法で学習を続けてみるつもり。

以上、いちおう複数言語のお試し学習法を実践し始めての、経過報告。良い子はこの学習法をマネしないほうがいいと思います。
2021/03/28(日) 00:52:46.40ID:Ah6uwjvI
>>95
data-firstとdata-lastはそれぞれ良し悪しあるから
伝統的な関数型言語にdata-lastが多いという一面だけしか見てないと損するぞ
2021/03/28(日) 01:02:39.14ID:A0lj2cxG
>>96
ポインタが理解できないのは最初は仕方ない
コンピュータの仕組みをまずは理解しないとね
2021/03/28(日) 01:09:36.03ID:A+i84gxc
>>97
Clojureはどっちにも対応できるようにそれぞれマクロが用意されてる
Lisp最強
100デフォルトの名無しさん
垢版 |
2021/03/28(日) 02:47:52.21ID:w6XGrPa9
>>98
過去にPCを自作したことがある程度じゃ、ぜんぜん歯が立たないんだね、C言語は。PC組立やOSセットアップなんて、プラモデルよりはるかに簡単らしいしね。
いずれPCの仕組み、概略についての本でも読んでみますね、プログラミング言語の理解の助けにするために。
101デフォルトの名無しさん
垢版 |
2021/03/28(日) 07:59:11.93ID:8EbBoM3p
再帰とポインタの重要性

Javaスクールの危険 - The Joel on Software Translation Project
https://web.archive.org/web/20190506042839/http://local.joelonsoftware.com/wiki/Javaスクールの危険
2021/03/28(日) 09:09:08.12ID:by6LSv0L
>>97
data-firstとdata-lastってそれ自身には優劣はなくて、他の構文と組み合わせる場合に
どちらが便利かという話じゃないかね。
で多くの関数型言語はカリー化などがあるからdata-lastが便利という順序であって
data-firstとdata-lastのどちらが良いかという議論が先にあるわけじゃないと思うが。

>>99
Clojureについては知らなかった。
本来の構文ではなくてマクロで実現しているのは仕方のないところだけど、これは
data-lastになっていない既存の関数のための救済措置という印象。
103デフォルトの名無しさん
垢版 |
2021/03/28(日) 10:05:57.80ID:8EbBoM3p
Elixir知らないけど
f(a)←aを部分適用した
f(b)←aを適用して、bを待ってる
こゆこと?(あるいは逆?)
2021/03/28(日) 10:40:40.27ID:by6LSv0L
f(a) は f(a, b) に a を部分適用したもので、パイプから渡された b を適用することで f(a, b) の結果を得られる関数。
f(b) はパイプから a が渡されると f(a, b) の結果を得られる何か。
2021/03/28(日) 11:27:41.06ID:8EbBoM3p
それだったら全然違和感ないけどな
数学と同じだよね
2021/03/28(日) 12:34:20.69ID:ptSax1Ky
f(a, b)で考えるからf(b)渡すのは変だと感じるんでしょ

パイプで使う関数はf(s, a)やg(s, a, b) なので
s |> f(a) |> g(a, b) になる
引数の捉え方が違う

F#ならf(a, s)やg(a, b, s)だから
s |> f a |> g a b になる
2021/03/28(日) 12:41:52.83ID:ptSax1Ky
f(s, a) -> s やg(s, a, b) -> s って書いたら分かりやすいかな?
2021/03/28(日) 12:48:00.98ID:by6LSv0L
>>106
後者の f a は関数になるけど前者の f(a) はそれだけを取り出した場合に関数でもなんでもないのが違和感あるところ。
あえて言えば s.f(a).g(a, b) というUFCSの一部分かなあと。
2021/03/28(日) 13:15:25.50ID:IES6ITrg
ポインタそんなに難しいかなあ?
メモリを直接扱うイメージで図解しているサイトが
どっかにあると思うが
2021/03/28(日) 13:48:00.04ID:NjmNZXxg
>>96
NHK Eテレなどに出てる、Ruby の女神・池澤あやかが言ってる

彼女は慶応卒だけど、学生がプログラミングを嫌いになるのは、
学校で、C から教えるので皆挫折する

だから、この教育方法が悪いって

彼女は、山陰地方のRuby on Rails 合宿で、Railsを学んで、
ウェブサイトを作り始めた
2021/03/28(日) 13:56:14.24ID:A0lj2cxG
>>110
Rubyガイジは書き込むなよカス
2021/03/28(日) 15:05:46.29ID:IW8C5n0X
>>102
Clojureは関数を定義するdefnみたいなコアな機能もマクロ
マクロなので扱いが格下ということはないよ

>>108
カリー化や部分適用の第一義的な目的は関数合成のためにあるわけで
それらを使わずに簡単に関数合成できるのならカリー化や部分適用してるかどうかはそれほど重要じゃない
113デフォルトの名無しさん
垢版 |
2021/03/28(日) 16:28:16.03ID:yHCir1no
Haskellを学ぶのが良いよ。
2021/03/28(日) 17:44:09.60ID:y14RHouV
継続とcall/ccに比べればポインタなんてカス
115デフォルトの名無しさん
垢版 |
2021/03/28(日) 17:57:41.98ID:9PsPoXVn
>>113
Rubyよりない
116デフォルトの名無しさん
垢版 |
2021/03/28(日) 19:28:33.61ID:yHCir1no
一位Ruby、二位Haskellとして、三番目に学ぶべき言語はCではなかろうか?
2021/03/28(日) 21:16:53.96ID:4HRS4SBE
いや!Cの前にPascalだ。というかCを書いてるときでも心の中でPascalを書いてるつもりで書け。
118デフォルトの名無しさん
垢版 |
2021/03/28(日) 22:27:58.88ID:xWbueQYI
>>110の池澤あやかは>>101の著者に真っ向から反対の意見なんだね。
119110
垢版 |
2021/03/29(月) 03:55:51.05ID:64Cowzta
池澤あやかなどの女は、現実派。
課題を解決したいだけ。Solution

車の運転だけを学びたい。
別に、車の構造を学びたいわけじゃない

アプリを作りたいだけ。
別に、コンピューターの構造を学びたいわけじゃない

転職用のポートフォリオと同じ。
A さんは、すごい時間を掛けて、HTML, CSS を使って、自分でデザインしました。
HTML, CSSのプロです

B さんは、Bootstrap を使って、短時間でコピペして作ったので、
HTML, CSSも、よく知りません

転職できるのは、課題を解決した人。
技術自慢をした人じゃない

特に、Apple はそう。
平凡な部品をコピペして、組み合わせて販売する。
技術力じゃなく、課題解決型

ビジネスのほとんどは、これ
2021/03/29(月) 12:12:05.20ID:Bo1D2IkS
Cから教えるのが悪いというのは良いとして
だからコピペして見かけ何かやったように見せられればオッケーなんだ
それを目指せ
という結論にはならないだろ
池澤とかいう人もそんなこと言ってるわけではないと思う
2021/03/29(月) 12:59:16.67ID:CCRIIQEW
アプリを作りたいだけでもコンピューターの仕組みを全然知らないよりは知ってた方がいいしな
車の運転もそう
作り方だけ知っていても結局駄目なんだよ
そういう奴は簡単な仕事しかさせてもらえない
2021/03/29(月) 13:35:10.64ID:VNl0vNYk
「ディフェレンシャルギア」とか「ロータリーエンジン」の
仕組みまで理解しておくと、運転の時に役に立つか?
2021/03/29(月) 14:40:22.40ID:Bo1D2IkS
喩えがおかしい
運転はアプリのユーザだ
開発者は不具合に対応しなきゃならない
2021/03/29(月) 14:50:40.80ID:FXjqyr6T
仕組みを理解してない人が汎用の部品組み合わせて作った車とかは乗りたくないな
2021/03/29(月) 14:54:05.64ID:CCRIIQEW
>>122
それCPUの設計知らないとぐらいの例えで頭悪すぎる
126デフォルトの名無しさん
垢版 |
2021/03/29(月) 14:54:18.18ID:756sReck
アメリカというより世界でトップクラスの難関一流大学と、希望者大学全入時代に突入してから久しい日本でトップクラスの難関一流大学。>>101>>110の対比からもわかるように、その双方でのプログラミング言語教育に対する見解が真逆というのが興味深いな。
2021/03/29(月) 15:13:00.20ID:HJyOoWgy
それはUSのコンピュータサイエンス学科と環境情報の違いだろ
学ぶ目的が違うんだから方法が違って当然

Cから教えようとするやつは教え方が悪いってのもあるけどな
2021/03/29(月) 15:31:34.00ID:dJIYpGlj
少し前のやり取りで関数型の感覚が理解出来ない人達は
その昔オブジェクト指向が理解できなかった人達と重なって見えるな

そういう人達にHaskell学べというのもあながち間違いじゃないのかも
129デフォルトの名無しさん
垢版 |
2021/03/29(月) 16:39:44.27ID:x6HQk2qx
間違いだと思う
2021/03/29(月) 16:42:55.95ID:qBtYsWXm
あわしろ氏にも一理あるな
2021/03/29(月) 16:52:06.87ID:pJGmLRGp
最初がCだからプログラミング嫌いになるって
PythonとかRubyなら嫌いにならないのかな
2021/03/29(月) 17:19:07.63ID:kAc6GSD7
言語を始めることが目的になっているのが間違いだと気づけ
就職か趣味か知らんけど本来はその先に行くためのただの入り口なんだからくぐってから考えろ
そこそこのプログラムなんか小学生でもできる
2021/03/29(月) 17:42:08.63ID:Oj3f9jrO
>>131
確率は劇的に下がるだろうな
Cなら9:1くらいなのが1:9くらいにはなるんじゃね

Cの場合は最初に意識する必要のない詳細が前面に出てくるのが良くない
コードの構造とかと同じでプログラミングの学習も段階的に詳細化していくほうが圧倒的に理解が早い
134デフォルトの名無しさん
垢版 |
2021/03/29(月) 18:14:41.92ID:1yKvh1aU
Hi-Lo mix で、 Hi は Haskell 、 Lo は Lisp で良いのでは?

この二つが出来れば当分困らないでしょう。
2021/03/29(月) 19:50:18.16ID:cKS+NgTb
俺が学生の頃はアセンブラとLispを覚えておけと言われたものだ
2021/03/29(月) 20:07:15.05ID:UEWwMFcs
ジョエル>>101はLispを学べと言ってるんだと思う
Lispといえば再帰だし、Lispってポインタだらけだからね
例えば(a b c)というS式は4つのポインタを表現してるし
プログラムもデータもS式で表され、それが思考ツールなわけだから
学ぶとプログラミングということのイメージを覆される人も多いと思う

いきなりSICPに取り組んだらキツイのは目に見えてるので
Little Schemer(「Scheme手習い」)や、日本人なら「リスト遊び」で再帰とS式とポインタについて
慣れておくのが良いと思う

でも、RMS尊師は>>67で言ってる通り、色んな言語に触れてみるべきだと考えてるようだ
E.レイモンドも同じく>>85
2021/03/29(月) 20:21:54.11ID:qEb+vJGq
>>134
その2つしか出来ない奴が普通に就職しても困ることばかりだろw
138デフォルトの名無しさん
垢版 |
2021/03/29(月) 21:54:37.45ID:ErpapNI3
ホットスーププロセッサー
139110
垢版 |
2021/03/29(月) 22:32:06.66ID:64Cowzta
池澤あやかは文系だから、C を学びたくはない。
ハーバードでも、Ruby on Rails で起業して、100億円で売却しましょう

MIT・高専なら、Cから学ぶのも分かる。
4年間、Cで無駄にしても取り返せる

文系で起業する香具師には、その時間は無駄

1人で、Heroku のRailsで起業して、
千人ぐらい会員を集めて、10億円でサイトを売却するとか、

文系の女は、そういうパターン
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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