ぶっちゃけ始めるのにいい言語て何?
■ このスレッドは過去ログ倉庫に格納されています
perl,ruby,python比べたらpythonが一番読みやすいだろ。 てかpythonが読めないとか馬鹿としかいいようがねーわ。 いい加減なこと言ってんなよ。 スレタイの答えは PythonかJavaScriptだろうと思うけど 個人的にはRubyの方が好き >>33 >for i in range(1, 11): print(i, "even" if i % 2 == 0 else "odd") こういう行数が少ない程良いみたいな風潮本当にクソ 行数が多少増えても読みやすい方が良いプログラムだ Pythonでモダンに宣言的に書こうとすると途端にクソになるのはしょうがない 作者がそういうのにシンパシー感じてないから >>33 このデザインパターンは一般的で、Ruby でも使う! if __FILE__ == $0 # メイン処理 end $0 は、Ruby起動時の引数に指定した、スクリプトファイル名。 「ruby script.rb」のscript.rb 一方、__FILE__ は、現在評価中のスクリプトファイル名 require 'script.rb' で呼ばれた場合には、if 内のメイン処理は実行されない つまり、このデザインパターンにより、メイン処理とrequireの、両方に対応できる! >>33 ブロックの終わりを読み違ったことはないなあ 三項演算子も普通の英文に近いからあんまり違和感ない しかし__main__については同意する、これは聳え立つクソ プログラミング初心者が初めて言語を学ぶときに最も重要なポイントは 1. プログラミングとはどういうものなのかという形式知を短期間で掴むことと 2. 実際に自分にとって役に立つ小さなプログラムを繰り返し作って形式知を暗黙知化すること プログラムを学ぶこと自体が目的化してるやつは 上の2つが効率的に実現しやすい言語なのかどうかを 標準の道具立てや公式のチュートリアルやリファレンスを見比べて 自分が気に入った言語を選択するのが一番 Python読めないやつはバカですか。 for i in range ...は分かり難いと思ったな、自分は。 index付きの配列の方が素直で理解しやすい。 ranged forのようにindexなしでやれる状況なら、mapとラムダ式(関数)の方がはるかに分かりやすい。 リスト内包表記もPython版はイミフだった。Haskell版(オリジナル)が読みやすい。 が、リスト内包表記なんぞ使わず、map、filterで繋ぐ方が素直かなって思う。 Haskell。 初心者にこそ分かりやすい。 手続き型言語覚えてからも、バグの少ないコードを書ける。 (Haskellは養成ギブス的な所がある) Haskellって趣味で触るだけのもので、実務には全く向かないんじゃ? コンパイルを通ればバグが無いことを保障される。 マルチプロセッサに自動割り付け。 実行速度がCの8.5倍高速。 欠点が見つからない。 haskellなんてパッケージ管理でバグって詰むくせにコンパイル通れば大丈夫とかよく大法螺ふけるよな。 pythonは良くも悪くも言語固有のものは少ないし、とんでもなく平凡だと思うよ。 そういう意味でよいと思うけどね。 イキッた馬鹿はもっとスペシャルなものが欲しいのかもしれんが。 pythonは3になってからなんでもかんでもイテレータ(ジェネレータ)返してきて演算効率的には理にかなってるんだろうけど2ほど直感的ではなくなった 始めるならバグ対応含め、周りに親切に教えてくれる人がいる言語だろう。 そういう人がいる前提で考えると、Haskellは英才教育っぽくて良いと思うがね。 始めにやっとけば、良い癖がつくし、後で他言語の難しい概念を楽に理解できる気がする。 ただ、実際Haskellから始めました、みたいな人は見たことないから推測の域を出ないけど。 Pythonはその点、教える人もそこから学んだ人も沢山いるんだろうね。 難しい言語から始めるのは挫折への近道! 最初はRubyやPythonやJavaScriptでいい haskellを親切に教えてくれる奴がどこにいるんですかね? そんな糞エリート意識持つくらいなら複数言語やりゃいいんだよ。 だいたいhaskellやってることが評価されるってのは構文を理解してるとかそういう点じゃない。 あの評価順序と実際のメモリ上の動作を上手くつなぎ合わせて低レイヤーで最適化できることを 見込まれての評価だぞ。 馬鹿はそういうところをこれっぽっちも理解せずにhaskellを薦めるからタチが悪い。 書籍の数とか使える環境とか考えても、やっぱPythonだろうね。 スマホでもキーボード繋いで出来るし、 スマホのちっちゃい画面でも画面分割して、 サイトや電子書籍見ながら写経してたよ。 Pythonは必修ライブラリ辿ってくとほぼCだからなぁw schemeと比べたら Pythonはほんと読みやすいわ Lispと比べたらほとんどの メジャーな言語は読みやすいだろう >>54 > 四六時中質問に答えてくれる人がいない場合は微妙 ってのが、プログラミングスクールの売り文句っぽいw 結局、初心者とプロの差が大きすぎるんだろうな。 何から聞いて良いのか、何から教えれば良いのか判らない。 >>28 本当だ 10年ぶりぐらいに見たが未だに更新されてるんだな >四六時中質問に答えてくれる人がいない場合は微妙 こんな状況でプログラムを覚えるやつなんかいねーよ。 RPG, PL/I, REXXで一生やっていけそう >>56 あまり変わらないと思う 慣れているかどうかの差でしかないと思う >>59 人よりはるかに優秀で24時間OKなGoogle先生がいるじゃないかw >>54 AIブーム以前の昔のPythonは 日本語ドキュメントが少なくて流行らなかったね 昔から日本語情報が多かったRubyを今でも読み書きしてる けど今はPythonの本がたくさん出てるから買って読めばいい マイナー言語だとドキュメントは英語のやつしかないので 英語のいい勉強になる マイナー言語を使うメリットは英語上達だな デメリットは作りたい物をサクッと作れない てか普通に英語のが汎用性あるだろ。それでいいじゃん。 Juliaはバージョン1.3と称しているが、実質的にはまだ0.xの公開β版だな。 不安定でパッケージをインストールしようとすると、長長しいエラーが表示されて 強制終了してしまうものがあり、グラフも描けない。ちょっと触ってみるには 面白いかも知れないが、実用には使えない作り込みの粗雑さ。このまま始まらずに 消えそう。 >>71 そんな公開β版でもNASAやFRBが実務で使ってるんだから、使う側の人間を選ぶだけだろ google 翻訳ぐらいでも十分に意味が分かるぞ どうしてもというところは原文を読むだけ >>71 新言語は不安定で使いにくいのに やたら持ち上げられるよな オレカッケーしたいだけで >>43 始めるのに良い言語は実用的である必要があるの? アルゴリズムの理解し易さはピカイチだと思うが。 >>46 cabalの話なら、stack使え >>49 ,51 Haskellはマイナーなので、プログラミングHaskellとかの優秀な入門書に頼る他無い。 実用的でない言語なんか 実用言語を5〜6個覚えてからでいいだろ? >>75 あるよ 当然 アルゴリズムを学ぶのとプログラミングを学ぶのを混同してるんじゃ? >>76 stackも同程度にぶっこわれるだろうが。この詐欺師が。 わかりやすい言語なら古典的には basci か pascal だけど basci はできれば使ってほしくない言語だし pascal はほぼ滅びたし プログラムのフローだけだとわかりやすいかもしれないが 型とかオブジェクト指向とか基本ないし いやbasic普通に型(class)あるし、オブジェクト指向できるだろ。(オブジェクト指向がいいとも思わんが) なんでこんなに堂々と嘘つくんだ? >>82 BASIC言語系やBASIC処理系はあってもBASICという名前の特定の言語は無いからそれだと何を指しているのかわからない ruby javascript html/css java scala これで行け。でも>>1 がもし今まで何の勉強もしてこなかったなら何のプログラムも書けないだろう。 >>80 >わかりやすい言語なら古典的には basic か pascal その後継がMSのVB(A)とC#なんだよな もちろんOOとかいろいろ新要素が入ってるけど html/css C python scheme まずはこの4つを勉強すればいい それでプログラミングの基礎が固まる html/cssってjs始めれば嫌でも身に付くでしょ そして環境構築から言語自体の難易度までどれをとってもJavaScriptが圧倒的に初心者向きだから入門はjsで良い その後にGoなりWindowsなら.NET系なりの静的型付け入ればいい >>78 まあHaskellは仮にも実用言語ではあるけどね。 マイナーだから、周辺環境が整ってない。 ただ、言語としては他人のコード読みやすいし、他人に何やってるか分かってもらうコード書きやすい。 互いに何やってるか分かるのは重要。 あとは手続き型言語でも正しく動くコードは数式やHaskellのコードに置き換えられる。 (逆に言えば、バグがあったら数学的に正しくない) 手続き型言語をやるにしても、色々得るものがある。 フィボナッチ数を求めるプログラム Python def fib(n): temp = 0 a = 0 b = 1 for i in range(n): temp = a a = b b += temp return a Haskell(末尾再帰版) fib n = fib’ n 0 1 where fib’ 0 a _ = a fib’ n a b = fib’ (n–1) b (b + a) >>88 やっぱりアルゴリズムを学ぶのとプログラミングを学ぶのを混同してるねw プログラミングは数学ではないし プログラミング初学者にとって何が大事かも理解してない def fib(n): ____curr, prev = 0, 1 ____for _ in range(n): ________curr, prev = curr + prev, curr ____return curr フィボナッチを再帰でやるのがどれだけ遅いかもわからんバカはほっとけ。 最適化に期待するのが前提なら最初からループで書けやw フィボナッチ数列を再帰で書くと書きやすいし読みやすい 再帰で書くと処理系が自動的にループに書き直してくれるので 速度は変わらない。いいですか? そのままブラックボックスの中身を信じろと。。 あ、これは事故るわ。。関わりたくない種類の輩だ。 >>89 アルゴリズムを狭く捉えすぎ。 目的を達成する為のコード全般アルゴリズムと言える。 本にもあるだろ? プログラミング=アルゴリズム+データ構造って。 画像処理のプログラムを作るには、画像処理のアルゴリズムだけでも不足で、処理する画像フォーマットの構造を理解しないといけない。 >>89 PythonやRubyは もう十分短く書ける構文あるからな! 関数型かというと微妙な気もするけど それこそプログラミングとアルゴリズムの違いだな 初学者は快適にプログラミングできればいいからな >>98 プログラミング初心者が最初に理解しなきゃいけないのはそこじゃないんだよね 明確な目的もなく漠然とプログラミングを学びたいと言ってるようなやつは特に 初心者に「プログラミング=アルゴリズム+データ構造」って捉え方を押し付けるのは 将棋にたとえると駒の動かし方やルールすら身についてないのに 特定戦法の定石を教え込もうとするようなもん 天下のGoogleがディープラーニングの成果のベンチマークに用いたのは囲碁だから定石。 >>95 >>100 いや末尾再帰の最適化でないとダメなんじゃ? >>88 Haskellでフィボナッチ数列と言えば、分かりにくくてキモいと言われているこのコードだろ。 fibs = 1:1:zipWith (+) fibs (tail fibs) main = do print $ take 100 fibs Rubyでfib def fib(n) a = [0, 1] n.times{a = [a.last, a.sum]} a.last end >>110 私は三連星とかをよく打ちますが、でも戦法って気はしないんですよ… そんなこと言ったら将棋だって居飛車や穴熊とかの戦法と定跡は別じゃね? 同じってんならもういいや。 >>112 >>110-111 とかは、そのものずばり「布石」という別の言葉がありますよね、そして布石と定石とはちょっと違う概念でしょう であれば、たしかに将棋の戦法と定跡もちょっと違う概念ですね そして 「特定戦法の定セキ」と書いたときに、これが囲碁のことである可能性よりも将棋である可能性の方が高いのではないでしょうか? したがって >>102 特定の布石へのよくある相手の対応から始まる定石はあると思うけど? それとは違うわけ? 「特定戦法の定セキ」の定義ってどっかにあるの?URL教えてほしい。 >>114 だから「特定戦法の定セキ」という言い回しは囲碁的というよりは将棋的、ということなのでは? >>101 見返すとたしかに将棋にたとえてるので 定石は違和感があって定跡の方が自然だ >>102 しかし囲碁だと定石なので ○×式で片付けるのも違和感がある で、結論としては別にどうでもいいな? >>101 は喩えで使ってるだけで レスの主旨はアルゴリズムの学習は 後回しでいいというものだから 企業でも、戦略・戦術がある。 大小・長短期間・抽象具体的 囲碁の武宮は、中央に大模様を作る、厚み重視の棋風の「宇宙流」は、戦法かな? 一方、ナダレ定石などは、定石 範囲の大小 >>101 が駒の動かし方〜とか将棋にたとえてるので文脈から定跡のほうが自然という、ただそれだけのことであって、 それがなぜ「特定戦法の定セキ」という言い回しは囲碁的というよりは将棋的である、と一般化されるのか分からない。飛躍に過ぎるのでは。晒されていない前提があるとか… ガチでやるならやっぱCからかな。 プログラムのプだけ分かれば良いならpython一択 凡人はpythonできまりかな できるこはCと同じだしね 難しいことは頭いい人にまかせて、実装にだけ集中できるしね しかし、みんなこれやっちゃうとライブラリ作る人いなくなっちゃうよな 頭いい人は正直pythonしないでほしい Linux、Web系は避ける VB.NETがいいぞ >>120 大丈夫 頭のいい人は数時間でCをマスターしてpythonのライブラリを書き始めるから >>104 だよね >>95 が正しかったら 末尾再帰の存在意義がないことになる 結局スタック領域や関数コールのメモリイメージを持つことが大事だと。 ならやっぱcやるしかないな。 >>123 そんな人口の1%もいないような特殊人種の話しても仕方がない フリーランスで月100万稼ぐ人が、初心者は(何でもいいんだけど)文法が簡単だから とりあえずRubyで、と言ってたからRubyでいいんじゃないかな 要はC++とかじゃなければいいのではないか 将来性の無い言語5選に選ばれたRubyは無い 今から始めるならPythonがベスト ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる