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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/03/03(火) 17:17:13.89ID:VgWTKanI
ぶっちゃけていいよ
98デフォルトの名無しさん
垢版 |
2020/03/10(火) 19:16:05.31ID:VBOOk+mK
>>89
アルゴリズムを狭く捉えすぎ。
目的を達成する為のコード全般アルゴリズムと言える。
本にもあるだろ?
プログラミング=アルゴリズム+データ構造って。
画像処理のプログラムを作るには、画像処理のアルゴリズムだけでも不足で、処理する画像フォーマットの構造を理解しないといけない。
2020/03/10(火) 19:21:10.03ID:3BlP5Izm
>>89
PythonやRubyは
もう十分短く書ける構文あるからな!
関数型かというと微妙な気もするけど

それこそプログラミングとアルゴリズムの違いだな
初学者は快適にプログラミングできればいいからな
2020/03/10(火) 20:07:45.01ID:5TWhqkXt
>>97
再帰で書ける言語はすべて
2020/03/10(火) 21:51:52.74ID:eonxFH18
>>98
プログラミング初心者が最初に理解しなきゃいけないのはそこじゃないんだよね
明確な目的もなく漠然とプログラミングを学びたいと言ってるようなやつは特に

初心者に「プログラミング=アルゴリズム+データ構造」って捉え方を押し付けるのは
将棋にたとえると駒の動かし方やルールすら身についてないのに
特定戦法の定石を教え込もうとするようなもん
2020/03/10(火) 22:39:27.22ID:7t0MtDjq
>>101
×特定戦法の定石
◎特定戦法の定跡
103デフォルトの名無しさん
垢版 |
2020/03/10(火) 23:10:27.66ID:YCA0GKqZ
天下のGoogleがディープラーニングの成果のベンチマークに用いたのは囲碁だから定石。
2020/03/10(火) 23:50:53.73ID:3BlP5Izm
>>95
>>100
いや末尾再帰の最適化でないとダメなんじゃ?
2020/03/10(火) 23:51:27.87ID:3BlP5Izm
>>102
囲碁は定石なので
間違いではない
106デフォルトの名無しさん
垢版 |
2020/03/10(火) 23:56:38.51ID:3ZOnmqiJ
>>88
Haskellでフィボナッチ数列と言えば、分かりにくくてキモいと言われているこのコードだろ。

fibs = 1:1:zipWith (+) fibs (tail fibs)
main = do print $ take 100 fibs
2020/03/11(水) 01:07:21.72ID:Hurmt80k
>>102
QZは朝鮮人だから分からないんだよ
108デフォルトの名無しさん
垢版 |
2020/03/11(水) 03:10:13.56ID:cObZd09Z
Rubyでfib
def fib(n)
  a = [0, 1]
  n.times{a = [a.last, a.sum]}
  a.last
end
2020/03/11(水) 19:56:53.35ID:WxBAX/dn
>>105
囲碁に特定戦法とかありますか?
110デフォルトの名無しさん
垢版 |
2020/03/11(水) 20:01:24.30ID:vu1i9ieU
鶴翼の陣とかミニ中国流とかいろいろあんだろ
2020/03/11(水) 20:50:27.07ID:WxBAX/dn
>>110
私は三連星とかをよく打ちますが、でも戦法って気はしないんですよ…
112デフォルトの名無しさん
垢版 |
2020/03/11(水) 22:32:30.35ID:vu1i9ieU
そんなこと言ったら将棋だって居飛車や穴熊とかの戦法と定跡は別じゃね?
同じってんならもういいや。
2020/03/11(水) 23:10:24.07ID:WxBAX/dn
>>112
>>110-111 とかは、そのものずばり「布石」という別の言葉がありますよね、そして布石と定石とはちょっと違う概念でしょう
であれば、たしかに将棋の戦法と定跡もちょっと違う概念ですね

そして
「特定戦法の定セキ」と書いたときに、これが囲碁のことである可能性よりも将棋である可能性の方が高いのではないでしょうか?
したがって >>102
114デフォルトの名無しさん
垢版 |
2020/03/11(水) 23:20:52.69ID:vu1i9ieU
特定の布石へのよくある相手の対応から始まる定石はあると思うけど?
それとは違うわけ?
「特定戦法の定セキ」の定義ってどっかにあるの?URL教えてほしい。
2020/03/12(木) 00:35:50.68ID:6A84lKNn
>>114
だから「特定戦法の定セキ」という言い回しは囲碁的というよりは将棋的、ということなのでは?
2020/03/12(木) 00:58:00.31ID:/YIFSAvr
>>101
見返すとたしかに将棋にたとえてるので
定石は違和感があって定跡の方が自然だ

>>102
しかし囲碁だと定石なので
○×式で片付けるのも違和感がある


で、結論としては別にどうでもいいな?

>>101は喩えで使ってるだけで
レスの主旨はアルゴリズムの学習は
後回しでいいというものだから
2020/03/12(木) 04:12:42.99ID:aVRNVO+6
企業でも、戦略・戦術がある。
大小・長短期間・抽象具体的

囲碁の武宮は、中央に大模様を作る、厚み重視の棋風の「宇宙流」は、戦法かな?
一方、ナダレ定石などは、定石

範囲の大小
118デフォルトの名無しさん
垢版 |
2020/03/12(木) 05:05:54.66ID:tL8L8UhJ
>>101が駒の動かし方〜とか将棋にたとえてるので文脈から定跡のほうが自然という、ただそれだけのことであって、
それがなぜ「特定戦法の定セキ」という言い回しは囲碁的というよりは将棋的である、と一般化されるのか分からない。飛躍に過ぎるのでは。晒されていない前提があるとか…
2020/03/12(木) 07:45:50.89ID:m823ByL8
ガチでやるならやっぱCからかな。
プログラムのプだけ分かれば良いならpython一択
2020/03/12(木) 09:38:31.40ID:lmegWXlF
凡人はpythonできまりかな できるこはCと同じだしね
難しいことは頭いい人にまかせて、実装にだけ集中できるしね
しかし、みんなこれやっちゃうとライブラリ作る人いなくなっちゃうよな
頭いい人は正直pythonしないでほしい
2020/03/12(木) 10:26:27.33ID:GMdtUib2
Tcl/Tkがいいと思う
2020/03/12(木) 10:35:04.83ID:/OMGyDgX
Linux、Web系は避ける
VB.NETがいいぞ
2020/03/12(木) 10:54:45.91ID:2DPQopCV
>>120
大丈夫
頭のいい人は数時間でCをマスターしてpythonのライブラリを書き始めるから
2020/03/12(木) 16:51:27.39ID:vezPl66A
>>104
だよね
>>95が正しかったら
末尾再帰の存在意義がないことになる
2020/03/12(木) 17:41:00.35ID:cdl9Dqe3
結局スタック領域や関数コールのメモリイメージを持つことが大事だと。
ならやっぱcやるしかないな。
2020/03/13(金) 07:44:47.16ID:8Bv78q2K
>>123
そんな人口の1%もいないような特殊人種の話しても仕方がない
2020/03/13(金) 12:49:31.87ID:TiAfCKui
マジレスするとC#
128デフォルトの名無しさん
垢版 |
2020/03/13(金) 13:14:39.45ID:1BdG/sXQ
C#も継ぎ足しまみれの秘伝の仕様になってるしな…
2020/03/13(金) 15:09:41.27ID:He1z41Wp
>>128
どこが?
2020/03/13(金) 15:51:07.68ID:E78OiRzT
>>129
え?
2020/03/13(金) 16:15:21.47ID:YqqN4LBM
>>130
ん?
2020/03/13(金) 18:35:24.03ID:SdgZi2lA
フリーランスで月100万稼ぐ人が、初心者は(何でもいいんだけど)文法が簡単だから
とりあえずRubyで、と言ってたからRubyでいいんじゃないかな
要はC++とかじゃなければいいのではないか
2020/03/13(金) 18:53:34.93ID:w4o2y8Hi
将来性の無い言語5選に選ばれたRubyは無い
今から始めるならPythonがベスト
134デフォルトの名無しさん
垢版 |
2020/03/13(金) 19:54:56.80ID:1BdG/sXQ
フリーランスで月100万って本当に大したことないぞ?やってみりゃ分かるけども。
サラリーマン換算で月30万台じゃないか?ボーナスは含まず。
これで月毎に変動だぞ。
2020/03/13(金) 20:34:06.86ID:yORqQ+vG
Ruby は可読性が高いから、紛れがない。
Python, JavaScript は、Ruby の3倍掛かる!

フレームワーク・Rails を使って、アプリを仕上げる。
アプリ製作の全工程を、Rubyで覚えるのが基本!
2020/03/13(金) 21:45:01.15ID:1gFsIjGl
初心者がすぐにRailsに飛びつくのは勧められないが
Rubyから始めるのと学習効率が高いのは間違いない

20近くの言語を学んできたが
初心者に戻ってどの言語から学びたいかと聞かれれば
迷うことなくRubyって答える
137135
垢版 |
2020/03/13(金) 22:05:48.22ID:yORqQ+vG
YouTube の雑食系エンジニア、KENTA も言ってる

将来、AI などを始めたいからと言って、Python から始めるのは間違いです!
初心者は、Ruby でプログラミングを覚えるべき

初心者は、言語の文法よりも、プログラミング自体を学ばなければならないから、
できる限り、可読性が高く、紛れがない言語を選ぶべき

そこでプログラミングのデザインパターンを覚えてから、他言語へ行くと、
他言語の文法だけに集中できる

アプリの作り方は、どれも同じだから
2020/03/13(金) 23:45:45.66ID:+lO8Um7K
>>137
キミすぐKENTAもーだよね
あの人の無感情トークキモくて無理
2020/03/13(金) 23:58:13.45ID:1gFsIjGl
HTML/CSSをすでに理解してる人は
ブラウザでJavaScriptから学ぶのもいいと思う

JavaScriptでもNode.jsから始めるのは
Ruby/Pythonに比べると少しハードル高い
140デフォルトの名無しさん
垢版 |
2020/03/14(土) 00:05:42.63ID:3en8SRmI
>>133
日本のプログラミング言語界の重鎮の発言

江添亮 2019年8月5日
「未来がない言語、私はPythonだと思っている。」
https://twitter.com/EzoeRyou/status/1158338266237526016
https://twitter.com/5chan_nel (5ch newer account)
141132
垢版 |
2020/03/14(土) 00:05:52.43ID:PZhKPfiu
>>133
その人は別にPythonを否定してはいないよ
RubyでPaizaの課題をやったら後は自分の都合に合わせて選んでね、というニュアンス
2020/03/14(土) 00:45:19.95ID:Rm16y0UE
江添亮さんって職質食らって切れて裁判起こした人でしょ(笑)
人格的に問題抱えてそうな人の発言はちょっと微妙
2020/03/14(土) 06:10:53.18ID:gV6D4u67
>>1
Scratchだな
その目の前のブラウザさえあれば、何もインストールしなくても始められる
2020/03/14(土) 07:17:40.31ID:wiK5yt+U
>>140
C++の方がよっぽど未来がない
2020/03/14(土) 07:40:54.22ID:JKHuUiBu
>>140
江添の10年後のがよっぽど心配だわw
2020/03/14(土) 09:37:30.40ID:o8m3ZWoY
>>142
他人の話を聞かずに独善的なタイプに見えるな。まあ人格と純粋な技術的な部分は切り離して、著書の中でもそいつの主観に関わらないところは参考にしていいと思ってる。
2020/03/14(土) 10:08:30.75ID:SWe9uEe5
>>138
ケンタとやらは知らないけど、いろんなスレで迷惑かけて非難されまくってるのにまったく変わらない>>137はキモイと思う
2020/03/14(土) 11:44:49.94ID:gV6D4u67
>>144
競合する言語がないからC++は安泰だろ
2020/03/14(土) 12:06:04.26ID:AOabs0cu
C++はRustでええやんってならないの?
150デフォルトの名無しさん
垢版 |
2020/03/14(土) 12:19:35.62ID:ZeKcOEI3
結局自分がやってる言語は将来があると思いたくなるけど、何も確かなことはないんだから、言語そのものの仕組みを勉強して新しい言語学ぶハードル下げたほうがいいよね
2020/03/14(土) 14:05:37.69ID:JKHuUiBu
しょうもないシンタックスを覚えるくらいならそう。
2020/03/14(土) 16:32:32.18ID:ILPzjwAA
>>40をブレイクダウンして
初心者向き言語に求められる特性を上げるとこんな感じ
将来性とかは正直どうでもいいと思う

1. 初心者がプログラミングとはどういうものなのかを効率よく理解するために必要な特性
- 初心者にとっての言語仕様の理解しやすさ
- チュートリアルのわかりやすさ
- リファレンスのわかりやすさ・探しやすさ
- 良質な情報の豊富さ、定番サイト/書籍の有無
- コーディング時の思考ノイズの少なさ・目的の達成しやすさ
- 付随して学ぶ必要がある知識エリアの少なさ
- コミュニティ/ユーザーフォーラムの親切さ

2. 自分にとって役に立つ小さなプログラムを繰り返し作って形式知を暗黙知化するために必要な特性
- 導入/環境構築のしやすさ
- REPLやパッケージマネージャなどの開発道具の使いやすさ/わかりやすさ
- エラーメッセージのわかりやすさ
- 特定のエラーに対する対応策の見つけやすさ
- デバッグのやりやすさ・テストのしやすさ
- コンパイル/ビルドの速さと容易さ
- 初心者が試すべき基本機能の使いやすさ(テキスト処理/コレクション処理/ファイルIO/Webアクセス等)
2020/03/14(土) 16:57:01.08ID:ILPzjwAA
今日Pythonスレであった例だけど

v=[1,2,3]
[c=c+1 for c in v if c==1]

↑これを実行すると↓このエラーが出る

File "script.py", line 12
[c=c+1 for c in v if c==1]
 ^
SyntaxError: invalid syntax

文法エラーなのは分かるけどエラーメッセージからは
なんでinvalidなのかどう対処したらいいのかわからない
これだと初心者はリファレンスのどこを調べたらいいかわからないだろうし
エラーメッセージでググっても同じ原因でエラーになってるものを見つけるのも難しいと思われる

エラーメッセージの親切さは初心者じゃなくても重要なんだけど
特に初心者にとっては学習効率を左右する大きな要素なので
最初に学ぶ言語を選ぶ時はよく見極めたほうがよい
2020/03/14(土) 17:34:21.62ID:JKHuUiBu
まず既存のコードのメンテでそういう間違いのコードを見る機会はない
自分で書いたなら自分でそれくらいデバッグできんでどうすんの(「リスト内包」でググるくらいしろ)
自分で書いて急ぐ必要があるならfor文で書き直すことを考えろ
で、話は終わりだ
2020/03/14(土) 17:48:47.55ID:C6o8FCtt
たとえばエラーメッセージが親切な言語ってどんなのがあるん?
2020/03/14(土) 17:55:52.61ID:o8m3ZWoY
>>153
その質問、質問者自信は内包表記に代入がかけないことは分かった上でこういうことはできないの?って質問だったな。
この例では構文エラーの位置を具体的に示してくれてるんだからエラーメッセージとしては十分分かりやすい方だろう。ユーザーの意図を正しく解釈して適切なメッセージを提示するのは限界がある。
C++のテンプレート絡みのエラーやかなりひどいが、それ以外ならどのメジャーな言語も大差ないんじゃね。
2020/03/14(土) 18:59:15.28ID:ILPzjwAA
>>154
初心者が初級者になろうとして学習してる時に試行錯誤してるコードの話だよ

「リスト内包表記 代入」ってキーワードが思いつけば
代入はできないってことはすぐ分かるだろうが、なんでできないのかはすぐには分からないんじゃないかな
それにリファレンスを調べずにググってQiitaやブログの記事を鵜呑みにするのは
初心者に限らずダメなやつの調べ方で学習効率が低い
2020/03/14(土) 19:07:18.95ID:ILPzjwAA
>>156
エラーが出るから自分のコードが間違ってることは理解してるだろうけど
代入できないことを理解してたかどうかはわからない
少なくとも代入できない原因はわかってなかったんじゃないかな

テンプレートとかマクロ関連とかで
わかりにくいエラーメッセージしか出せない状況があるのは理解できるが
このケースはそうじゃないよね?
文法エラーでinvalid syntaxとだけしか分からない言語って
最近そうないと思うんだけど
2020/03/14(土) 19:09:25.52ID:ILPzjwAA
>>155
個人の感想で言えば
C#(その他.NET言語)、Ruby, Rust, Elm

静的言語のほうが有利な面はあると思う
160デフォルトの名無しさん
垢版 |
2020/03/14(土) 19:42:33.80ID:R7iBZnY8
python 3.8から代入式使えるぞ!
:= だ。
勉強になったな!
2020/03/14(土) 20:23:53.45ID:JKHuUiBu
>>158
いや普通代入しようと思わんだろうし、あんなエラー踏むこと自体ねーよ。
コピペでプログラムしてもああならん。
本気であれを書いてなおかつ直せないんだったらプログラムをやるべきじゃない。

所詮は脳内で考えた素人コードだわ。
2020/03/14(土) 20:41:55.30ID:eph4O7WW
脳内で考えた素朴な素人コードが動かないんなら始めるのにいい言語ではないな
2020/03/14(土) 21:00:46.67ID:EZnfjiau
RubyやPythonが簡単なのは間違いないけどだからと言ってJavaScriptを差し置いて初心者がやるべき言語とはならないだろ
特にRubyやPythonはIT初心者にとっては大事な要素であるWindowsと相性が悪いっていう致命的弱点があるからな
その点jsはブラウザさえあればすぐ動くしWindows化においてもGUIアプリ作れちゃうしな
164デフォルトの名無しさん
垢版 |
2020/03/14(土) 21:20:25.70ID:jI+WJaIx
よくわかんないけどRubyやるわ
2020/03/14(土) 21:25:27.26ID:ILPzjwAA
>>160
>>153のケースでは使えないよね
それにPythonの場合、初心者は1つ前のバージョン使うべき
2020/03/14(土) 21:54:56.83ID:QkTuPxNm
>>163
言ってることは一理ある
167デフォルトの名無しさん
垢版 |
2020/03/14(土) 23:10:31.62ID:R7iBZnY8
まあ初心者にはインストールが一番の難関だもんね…
2020/03/14(土) 23:41:05.53ID:ChiCBkOA
>>163
プログラム初心者にGUIのコーディングさせるつもりなのマジで草生えるんだが
初心者でどうしてもGUIが必要ならコーディングレス開発の一択だし
習熟目的ならCUIでやる以外の選択肢ないよ
2020/03/14(土) 23:59:50.35ID:ILPzjwAA
>>163
ブラウザのJavaScriptだと何か実用的なことをしようとすると
HTML/CSS/DOM/HTTPもほぼ必須で学ぶ必要があって
馴染みのない人にとってはそれが結構重い
逆にHTML/CSS程度はすでに理解してるという人はJavaScriptオススメ

RubyやPythonのWindows環境での使い勝手はWSL + Windows Terminalで状況変わって来てる
WSLすら難しいってレベルの人は
最初は簡単な入出力機能のあるオンラインエディタでもいいんじゃないかな
2020/03/15(日) 00:19:11.51ID:b9Qsc7j/
Python は、Guido も批判しているように、内包表記で時間を取られる。
それと、引数に、self がついてまわる

それと海外では、Julia の認知度が100% だろ

SASS もそうだった。
海外で100% だった時に、日本では、ほとんど知られてなかった。
でも今は、50% ぐらい知られている

Python, JavaScript では、偽が10種類ぐらいある。これがやっかい。
空配列・空文字列とか、色々な型で、偽となるものがあるけど、
Ruby では、nil・false の2つだけ

Python, JavaScript では、関数の外側のローカル変数が、内側に入り込む

Ruby では入らない。
関数スコープは強固だけど、ブロックスコープには入り込む。
C のように、関数・ブロックという2つのスコープを持つ

Python では、高卒プログラマーの仕事がない。
高学歴のノンプログラマーが使うイメージ

プログラミングで、どうにかなる感じではない。
Rubyでは、OS を学んで、サーバー側へ行ける。
Go へ進んでもよいし
2020/03/15(日) 00:32:40.03ID:b9Qsc7j/
Ruby でも、MSYS2/MINGW は、日本語でバグル・日本語入力できなかった。
それが、WSL では、日本語でバグらない!
WSL の登場で、次第に、Windows 版のRuby Installer は、使われなくなっていく

それに、VSCode の拡張機能、Remote WSL が出たから、
Windows 10 では、Ubuntu 18.04 が標準になる

rbenv という、Rubyのバージョンマネージャーを、Linux側にインストールする

rbenv のトップページを、Chrome で、日本語に翻訳して読む
https://github.com/rbenv/rbenv

Basic GitHub Checkout の所の、rbenv-installer のリンクから、rbenv-installer のページへ移動する
https://github.com/rbenv/rbenv-installer#rbenv-installer

rbenv-installer の説明通りに、以下を実行する

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash

このシェルスクリプト内では、Mac のHomebrew または、Windows なら、git を使っている

~/.bashrc に環境変数を追加して、
最後に、rbenv-installer のページのrbenv-doctor で、再チェックする

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
2020/03/15(日) 00:50:27.41ID:CE9w6MSu
Rubyについて5chで質問すると、ボットみたいに同じ言動を繰り返しおかしな日本語で的外れな回答する奴に絡まれるから、初心者には勧められない
2020/03/15(日) 03:11:01.73ID:xrGBHzYH
>>172
いろんなスレで「Ruby では…」って突然Rubyネタ披露する人もそうだね
なんで必死にRuby推しするのか知らないけど却ってイメージ悪くしてるよ
2020/03/15(日) 03:37:27.61ID:3o1DpNlP
大学行ってた頃、一般教養の情報の講義ではJavaを使ってた
その時は何でCをやらないんだろって思ってたけど、
今ならJavaにしてた理由がよく分かる

失礼、脱線しました
2020/03/15(日) 03:51:57.06ID:CE9w6MSu
>>173
>>172はまさにソイツのことだよ
176デフォルトの名無しさん
垢版 |
2020/03/15(日) 04:40:36.13ID:3YzLvkry
> Python, JavaScript では、偽が10種類ぐらいある

また嘘吐いてんのかrubyキチガイ。
これでrubyは理解してんのかと思いきやrubyスレで初心者も吹き出すような質問してたりするからなこのカスw
2020/03/15(日) 09:35:40.40ID:xxuRolQk
>>162
は?意味わからん。
存在しな架空の想定のために無駄な機能入れるとかクソSIerかよ。
2020/03/15(日) 11:22:27.27ID:hMIBBuyC
浅井『プログラミングの基礎』を読みながら
OCamlを学ぶ
2020/03/15(日) 11:32:13.86ID:X5C4uG55
>>174
参考までになぜCではなくてJavaでよかったのか教えてくれないか?
180174
垢版 |
2020/03/15(日) 13:12:41.28ID:3o1DpNlP
>>179
もう15年以上前の話になるけど

CにはString型が無いので文字列の扱いが大変だということ、
scanfなどの入力関数の動作があぶなっかしいということ、
ポインタを使いこなすのが難しいということ、など
181デフォルトの名無しさん
垢版 |
2020/03/15(日) 18:02:14.53ID:ljKtR3CB
なんで日本語が出てこないのか?
2020/03/15(日) 18:36:54.92ID:XbDoNvCk
日本語?良い言語だよ。
一音一音はっきり発音する聞き手に優しい言語で、動詞が最後に来るっていう最高にクールな言語さ!
183デフォルトの名無しさん
垢版 |
2020/03/15(日) 19:20:26.11ID:5Duda6ao
限らないだろ最後に来るとは。
よくないよそういう決めつけ。
2020/03/18(水) 21:00:08.19ID:QnRXHgWD
どうせ始めないだろうな
2020/03/18(水) 21:55:03.05ID:P8NsVYAw
E言語を作れ
2020/03/19(木) 00:10:50.42ID:JIE5H5WB
大事なことは5ちゃんなんか見てないで
どの言語でもいいから入門書なり入門サイトなりで今すぐ勉強を始めること
2020/03/19(木) 00:20:50.50ID:6fQSvB7R
正解。
こんなとこ見てるのはやらない理由を積み上げたいだけだからな。
2020/03/19(木) 02:05:57.60ID:MilrfGsk
そうですね
先入観を捨ててCOBOLから勉強するのが良いです
189デフォルトの名無しさん
垢版 |
2020/03/19(木) 22:11:26.48ID:CIyGoh8G
html→css→JavaScript→Ruby
190デフォルトの名無しさん
垢版 |
2020/03/19(木) 22:42:05.44ID:CueowRO4
>>106
>>88と比較するならtakeでなく‼︎使え。共通点も見えてくる。
あと、1行ならdoは要らん。

main = (print.fib) 9

fib = (fibs!!)
(fib n = fib!!nをカリー化で見た目の引数を省略)

fibs = 0:1:zipWith (+) fibs (tail fibs)

output:
>34

fibsはこう動く。

fibs
= 0:1:zipWith (+) fibs (tail fibs)
= 0:1:(0 + 1):zipWith (+) [0:1:...] [1:...]
= 0:1:1:zipWith (+) [0:1:...] [1:...]
= 0:1:1:(1 + 1):zipWith (+) [1:1:...] [1:...]
= 0:1:1:2:zipWith (+) [1:2:...] [2:...]
= 0:1:1:2:(1 + 2):zipWith (+) [1:2:...] [2:...]
.
.
.
2020/03/21(土) 16:58:19.93ID:He36jL2X
Haskellはいろんな概念を学ばないといけないのもあるが
声に出して読みにくいのが致命的に初心者向きではない
192デフォルトの名無しさん
垢版 |
2020/03/21(土) 17:00:57.53ID:7CIer+Qg
学んだら眼から鱗だけど、学ばないといけない訳じゃない。
2020/03/21(土) 23:55:42.00ID:xzjK4C9v
>>188
なるほど、いいかも!
ライバルが少ないですもんね〜
2020/03/22(日) 13:45:33.56ID:ZvBqcowf
>>188
ひねくれた答えを出したかったんだろうけれど、本人にやる気があるならそれもありだよ。
ただ初心者が自発的にコボルを選ぶことはないだろう。
2020/03/22(日) 18:20:42.35ID:j6VnZvbO
でも結局やらないに1票
2020/03/23(月) 20:59:39.93ID:Lgmo/5bI
とりあえずcやろ
197デフォルトの名無しさん
垢版 |
2020/03/23(月) 23:22:05.72ID:fI4BXARU
>>196
今どきCかよ
無難なのはJavaだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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