ぶっちゃけ始めるのにいい言語て何 part3
■ このスレッドは過去ログ倉庫に格納されています
5chで曖昧に質問された前提で答えるならJS おま環を避けつつGUI可のお試しプレイ(jsfiddleとか)を紹介出来るので後が楽 勧めるだけの無責任野郎にはなりたくないが かといってネット越で環境構築のフォローとかストレスしかない >>124 速度以外は言語としては良いとこ採りで間違いない。 注目集めた当時、モナディウスと言うシューティングゲーム作られたりと実用面も問題は無い。 Haskell信者がGUIライブラリが関数型っぽくないとか言って作っては飽きてを繰り返すのでライブラリやフレームワークが揃わないのが問題。 そう言う仕様の普通の言語として普通に使えば良いだけ何だけど・・・。 鯖アプリとかHTMLを加工して返す様なのは得意だからWeb系に本来は強くて、Haskellで仕事してるプログラマーの記事を読んだ事あるけど、 何から何まで自分で作る覚悟があれば作ってしまえばすごく使い易い言語との事。 言語ではなく、コミュニティの問題なのよね・・・。 >>126 これまで見てきたhaskellを推す人の論調って、下手な営業のセールストークみたいに勢いと雰囲気だけで自分の論を押してくるだけで、相手の疑問を解消して良さを理解してもらおうと言う視点が欠けてる人ばかりだったから、未だに理解しがたいなと思う。 良いとこ採りというけれど、具体的にどこがいいのだろうか。都合のいいところだけを見て良いとこ採りできてると思い込み、その裏では多くのデメリットもあるんでないの?そして一般の人にとってはそちらこそ無視できない重要な差異なのではないだろうか。思うぞ。 普通の言語として普通に使えばというが、その普通が困難なことだと言うことに気づいてみなやめてしまうのではないの?けして飽きっぽいからやめてしまうと言う訳ではないと思う。 確かにhaskellで書きやすいパターンの利用例はあるだろうが、別のケースでは他の言語で簡単に書けるのに何でhaskellではこんな面倒なことしなければならないのと言う場面も頻繁にあるのではないの? ダラダラかいてきたけど、言いたいことは、安易に良いとこ採りだなんて言えるような代物ではないのではないか、ということ。 >>113 カッコの開きと閉じとかセミコロンとかダブルクォートを 似せてるだけじゃね? 俺程度の頭じゃよくわからんけど、perl なんか言語に 詳しい人が見ると LISP そっくりらしいし、たぶん見た目を Cに似せてるだけで、中身は違うと思う。 >>123 Haskellって結構速いという話だったような気がするけど、LL言語よりちょっと速い程度なのか。 最適化が最大限利いたらどこら辺までいけるのかな。 C/C++並は無理にしても、Rustに迫るくらいのパフォーマンスは出るん? 関数型なら、Ruby 風のElixir で良いだろ。 パイプラインで、メソッドチェーンできる 処理A |> 処理B |> 処理C 今までメソッドチェーン出来なかったの? え?できてた? じゃあ出来てるものを何故パイプラインでやるの? え?流行りだから? あっ、そうやって意味もなく無節操になんでもかんでも流行りを適当に取り入れてって収拾つかなくなる文化の言語でしたねwww >>130 exlixirのは関数型言語のパイプラインと違って、シンタックス的にはUFCSと同じ 「メソッドチェーン」でしかないよな。 パイプライン演算子じゃなくて普通にドットにしておけばよかったのに。 c言語の動きはその後どんな言語使っても結局意識する部分多いし、やって損にはならんもんだと思うがな。 >>134 プログラマになるならどこかでやるべき言語なのは間違いないけど 入門向けではないと思う >>132 Ruby君といつもの粘着君だからスルーしとけ 特に粘着君は知ったかバレしてすぐ荒らすから >>127 うーん・・・。 言語としてのデメリットはコンパイラ言語にしては遅いくらいなんだけど、 純粋関数型言語って言うのに拘り過ぎてライブラリを既存のGtk2hsやWinAPIを使いたがらないとか、 フレームワークを関数型言語に相応しく!ってなかなか開発が進まない事かな。 純粋関数型言語ってネーミングに振り回されなければ、バグを良く洗い出してくれるしテストし易い、コンパイラ言語なのにLL並に型を書かなくて良い、良い言語だよ。 まあ、遅いのと周辺ツールが揃ってないってだけで致命的だけど・・・。 実用重視のユーザー(プログラマー)が増えれば変わると思うんだが・・・。 確かにまだ理論先行な言語ではある。 でも、言語としては後は最適化だけだから使わなくとも気にはしてて欲しい。 >>129 マルチスレッドし易い(容易にシングルスレッドのコードをマルチスレッドに書き換えられる)から、同じコード量でって意味なら速い。 (昔はここも遅延評価が邪魔してたけど、ライブラリ側で解決) ハードに近い処理もライブラリ駆使すれば出来なくは無いから、シングルスレッドでも本気出せば嘘では無い。 ただシングルスレッドの場合、HaskellでそこまでするならCで良い。 シングルスレッドの最適化が解決すれば、高級言語最強になれるし、理論上はそれが出来るから追いかけてる。 >>116 そのくせ新入社員には何の意味もない雑用や営業からやらせる 使い捨ての営業はそれはそれで別口で雇う こんなスレでガチで布教しようとしても無駄なんだけどな やる気のある人は自分で調べて始めるし、やる気も調べる気もない人は何見ても始めたところで続かない そんなところで「これは素晴らしい言語」とか「初心者に最適」って言っても受けとる側から見たらみんな詐欺みたいなもの >>140 そうは言っても初心者向け=学習用だろう。 覚える概念が少ないHaskellはその点では評価出来る。 高級言語の目指すべき姿に一番近いと思う。 (高級言語が登場して何十年も経つのに、何故、未だに人間様がコンピュータの仕組みを気にせにゃならんのだ?) ぶっちゃけ、スクリプトが初心者向けって言われてるけど、型を書かないで良いとか、リストみたいな構造を持った値を直接表示出来ないとか、 後はメモリのある限り大きな数を扱える多倍長整数は自分でライブラリ用意(自作orどっかから持って来る)しないと使えないとか、 コンパイラ言語とスクリプト言語の違いってその程度。 (Haskellはコンパイラ言語なのに、これらの問題は無い) その程度で使い方自体はコンパイラ言語でも変わらんし。 だったら、やりたい事に向いた言語に始めから取り組めよって思う。 そう言う意味じゃ、上で出たC#が安杯じゃないか? Pythonでもpipやらanacondaでライブラリ入れようとして失敗します。どうしたら良いでしょう?的な質問良く見るし、 ライブラリ全部入りのC#は文法は初心者向けじゃ無いけど、バランス良い。 >141じゃ無いけど一票入れよう。 windowsならC#が一番環境構築が楽かもな。次にjavascript pipに失敗するのはプロキシとかじゃない? 学校や職場でやると失敗するやつ。 C#は様々なパラダイムを内包しているから、プログラマーにはオススメしたいけど、初心者には難しい気がする。 いきなり、クラスとオブジェクト指向の本質を理解できるか疑問。 C言語やPythonみたいにクラスを使わずに手続きを記述できないという点が気になる。 俺らだったら難なく覚えられるだろうけどさ。 pipは成功したけどimportして使おうとしたらエラーになりますってのもかなり頻繁に見かける 他の言語ではなかなか見られない現象 >>145 初心者には環境の構築とか、すぐ動くものを作れる方が重要だろ その点、C#だとVSにしろunityにしろ、インストールするだけでビルドやデバッグの環境ができるし プロジェクトを作るだけでビルドできる雛形が出来る ファイルひとつではできずプロジェクト作らないといけないの? ビルドしないと動かない? インストールも必要なの? javaみたいにブラウザでF12押してすぐ動かせないの? F12押せばすぐJavaを実行できるブラウザがあるのか 珍しいブラウザだな >>147 俺のC#だとクラスを使わないとコンパイルエラーになるんですが。 C#Scriptでもない限り、文法的に無理じゃね? >>151 Java11で廃止されてるからオススメできぬ。 htmlファイルひとつで動くJavaScriptの間違いじや >>154 C#Scriptを動かすためにはC#Scriptを動かすためのプログラムをC#で書かないといけないんですが。 そもそも、C#Scriptって有名か? 自分の製品に組み込む用途以外で見かけないのだが...俺が知らないだけで何らかの業界で使われている可能性は否めないけどさ。 Unityググってみたけど、なるほど。 そこで使われているのか。 自分はフリーのゲーム開発フレームワークが充実していなかった時代に同人ゲーム作ってたが...良い時代になったな...。 自分はゲーム開発に興味を持って、その流れでアプリ開発技術者になったけど、やっぱり始まりはそこなのかな? そういう意味ではゲーム開発に強い言語を教えるのも手なのかもな。 Azure Functionsでもサポートされてるよ まったく初心者向けではないけど >>157 ゲームを作るにはプログラミングの総合力が要るからやるべきなんだけど 今やスマホゲームなんて美麗で機能テンコ盛りで無料でダウンロードして遊べてしまうので 個人でのゲーム開発はモチベーションが続かない >>109 にも書いたけど、 ただし、Unity は、AWS でも採用しているように、スマホアプリで使う。 今後、iOS, Android のネイティブ開発と、Unity のシェアがどうなるか? まあでも、初心者向けではない Unityは初心者向けだと思うがなぁ Youtubeとかに上がってるのを単純に真似するだけで、簡単なゲームができてしまう 俺はこれより簡単な開発環境を知らん >>161 それはプログラミング言語ではなくツールじゃないの? そうだな。Unityの分はC#に合算しとけばいいだろう。 >>145 クラスやオブジェクト指向の本質は、ライブラリ使ってる内にライブラリ設計者の思想を読み取って自然と身につくと思うんだけど、 入門書が猫クラスと犬クラス、その共通の親クラスとして動物クラスとか書くから変なのが量産されるのがね・・・。 オブジェクト指向に限らず、機能毎に分類するものなんだけど。 Haskellの型クラスはオブジェクト指向のクラスと違う概念だけど、機能で分けるのは共通で、犬猫クラスみたいな変な例がないからクラス設計の参考になるよ。 あと、C#やJavaがmain(またはMain)をクラスで包むのはオブジェクト指向言語として、よりオブジェクト指向プログラミングを取り入れた結果。 C++みたいにどんなにオブジェクト指向で作ってもmainだけはクラスに属さないのは再利用性に限界がある。 C#やJavaはmainを含む完成したプログラムもクラスとして再利用出来る。 (新しいプログラムのmainを起動させて、クラスとして利用するプログラムのmainは起動させないと言う使い方) とは言え、main起動させないならC++とどう再利用性で違いが有るのよ?って言う、思想的な拘り先行で終わった感は否めない。 そう言えばC#6でCのHello Worldより長いのが許せないって短い書き方出来る様になってなかったっけ? Haskellの型クラスに近いC#/Javaの概念はインターフェースだろ? そのインターフェースも分類はクラスとやり方は一緒でしょ? でも、Haskellの型クラスはインターフェースとも違う。想像だけど、群論や圏論の同型とかの概念使って メソッド(関数や演算子)の書き方もこの型クラスのインスタンスはこう言う書き方って決まってるのか、自動化出来る。 (こういうのはオブジェクト指向でみた事ない。Lispのマクロとかでは有るみたいだけど、オブジェクト指向じゃない) また、インターフェースと違ってメソッドにデフォルトの定義があって、例えばEq型クラスは==か/=のどちらかを定義し直せば他の(Eqが提供する)メソッドは書かなくても動く。 (どうしても自力で書く場合でも、全部は書かなくて済む。こう言うのってオブジェクト指向だと抽象クラスとかだよね) Haskellの型クラスはオブジェクト指向のクラスやインターフェースと違って、自作の型にderivingで既存の型クラスが備えるメソッドを自動で作ってくれる。 オブジェクト指向のtoStringに相当するshow関数をいちいち書かなくて良い。 data List a = Empty | Cons a (List a) deriving (Show) main = (putStrLn.show) (Cons 1 (Cons 2 Empty)) out: (Cons 1 (Cons 2 Empty)) derivingしない場合はオブジェクト指向言語と同様、自分で書く。 例はShow型クラスと同じ機能のMyShow型クラスを自作して、Bool型に関数を書いてる。 (自作リストみたいな構造を自力で文字列にするとかだと大変だよね・・・) class MyShow a where myshow :: a -> String instance MyShow Bool where myshow True = "True" myshow False = "False" こういう難しい所は言語にお任せ出来るから、Haskellは周辺環境はともかく、言語としては初心者向け。 >>161 のレスでUnity+C#ならゲームが簡単に作れるってのが言及されているが他の言語は具体的に何ができるか書けないの? 「自分の紹介する言語は機能的に優れている」とかより「言語ですぐに何ができるか」の方が理由づけとしてはるかに大きいのに 初心者はWindowsだろ。WindowsはC++製だろ。Windowsでなんでも出来るから、C++最強! Unityバカが言ってるのはこういうこと〜 >>109 に書いた YouTube で有名な雑食系エンジニア・KENTA が、初心者はRuby から始めろって言ってる。 それで、全ての学校は、Ruby on Rails ばっかり マコなりの所が80万円とか、 1週間のイナズマコースは、20万円とか 東京フリーランスのとだこうきが、デイトラで10万円とか、価格破壊を起こした HTML5でJavaScriptするならインストール不要。 ローカルストレージでデータベースや canvasタグを使ってお絵描きから3Dゲームまで 書こうと思えばメモ帳でも始められます。 >>171 メモ帳で3Dゲームをすぐ作れる初心者なんていないと思うが >>172 別にスレタイも初代>>1 主も初心者とは書かれてないからね (ソロバンやろうと思う)ぶっちゃけ始めるのにいい言語て何? (ピアノ演奏させてみたい)ぶっちゃけ始めるのにいい言語て何? (webアプリ作ろうとしたら)ぶっちゃけ始めるのにいい言語て何? (お絵描きしたいんだけど)ぶっちゃけ始めるのにいい言語て何? (3Dゲームで遊びたいんだが)ぶっちゃけ始めるのにいい言語て何? なんだって当て嵌まるだろう? >>176 言語よりライブラリだな。 もしくはプログラマーがデータ(構造)の規格書に金払えるか。(8-10万超) または自力で解析するハッキング能力があるか。 プログラミング能力とは別種の能力。(人脈だったり検索能力だったりの、必要な情報に辿り着く能力) ビットマップでの画像処理は入門書にもあるが、jpegやgifで画像処理する入門書はほぼ無い。 表示するだけなら出来るが。 承認欲求じゃねえよ 「意見が違う人同士と対話する能力」がこうも軟弱な人間ばかりで ウンザリしてんだわ 日本オワッテル 俺もこの辺にしとく 板で見かけるほとんどの言語はいずれ使われなくなる。 しかし、C/C++はそうではない。 ISOだから。 ISOのサザエをアチチチッペンっ パっナッポーアッポーぺっ・・ワイルドだろお >>183 そうそうModula-2やBASICもISOだから使われなくなったりしてないもんねー 残念ながらそういう嫌味は素で通じない連中しかここにはおらん。 >>183 C/C++が使われ続けるのは同意だけど、ISOだからじゃ無いよ^^; 言語とライブラリがはっきりと分離されてて、言語単体でメモリ弄れるから。 OS作る時とか、printfも使えなくなる。 でもRAMやVRAMに直で書き込めるから、ハード知ってれば問題無い。 他の言語と違って、ライブラリ無いと何も出来ませんって言語じゃ無いから廃れない。 メンテしていく意思もないならISO規格になんてするなよな、ruby。 実装と規格の乖離が大きすぎて役に立たない。 JavaScriptはISOじゃなくてECMAだから全然使われてないよな! どの言語をやるべきかは何をやりたいかによるって言われても、 今の段階ではそれは決められないしなぁ だから、何すれば分からないならHaskellだって。 データ構造やアルゴリズムの勉強にこれ以上分かり易い言語は無い。 Haskell でクイックソート qsort [] = [] qsort [x] = [x] qsort (x:xs) = qsort [s | s <- xs, s < x] ++ [x] ++ qsort [b | b <- xs, x <= b] 例: qsort [3,5,1,4,2] = qsort [1,2] ++ [3] ++ qsort [5,4] = qsort [1] ++ [2] ++ qsort [] ++ [3] ++ qsort [4] ++ [5] ++ qsort [] = [1] ++ [2] ++ [] ++ [3] ++ [4] ++ [5] ++ [] = [1,2,3,4,5] アルゴリズムの動きが分かりさえすれば、その上で普通の言語は配列だから・・・と、 考えて行く方がいきなり普通の言語でアルゴリズム学ぶより挫折し難い。 >>195 世の中の実用的なプログラミング言語のほとんどが手続き型、オブジェクト指向なことを考えたら、プログラマを目指す初心者がhaskellから入っても「変な癖」を身に付けるか、早々に挫折するだけだと思うぞ。 変な癖というのはhaskellが悪いものだといってるのではなく、現実で直面する手続き型でのプログラミングで大きなギャップに苦労するだろうということ。 現時点ではhaskellは、数学的論理的思考をする際の道具か、好事家のオモチャの側面が強いと思うぞ。 世の中に初心者向けの情報や身近な教えてくれる人がほとんどないhaskellが、初心者に適切だということは現時点ではあり得ないと思う。 ただ、数学好きの人の論理的思考のオモチャとしては向いていると思う。実用的な目的でプログラミングを習得したいという一般人に向けて勧めるようなものではない。 Pythonが首位維持--IEEE Spectrumプログラミング言語ランキング 2019-09-13 https://japan.zdnet.com/article/35142590/ IEEE Spectrumが発表した最新のプログラミング言語人気ランキング2019年版では、Pythonが引き続き首位となり、その座を盤石のものにした。 こうしたランキングは、ほかのプログラマーがどんな言語を使っているのかを知ることが難しい中、開発者が各言語の人気について理解するのを手助けすることを目的としたものだ。 略 米国時間9月10日に発表されたIEEE Spectrumの年次ランキングでは、Pythonの100のスコアに対して、2位のJavaのスコアは96.3で、その差は広がっていた。3位のCは94.4だった。C++は87.5のスコアで4位にランクダウンし、5位にスコア81.5で統計処理用の言語である「R」が入った。 >>194 何をやりたいか決められないなら なぜプログラミングを学びたいのか?という問いに答えられればいいよ 中国雑技団に対抗できる日本の団体って、じつはチアリーディングなんですよね。 アメリカの競技のような印象もあるのですが、日本の女子高生が熱を入れすぎ捻じ曲げた結果、もはや往年の面影は有りません。 近年では、成人競技に自衛隊が関わることもあり、格闘技の様相を呈しています。 スタンツと呼ばれる人間ロケットでは10Mを超えて上空にぶっ飛ばすこともあるそうです。 この競技にもはや芸術性は無く、技と力の応酬です。 そういうわけなんで、私はあえてC++をお勧めしたいですね。 て、C++やるくらいならJavaでいいってなる C++はWindowsのフレーム操作が難しすぎる 女子高生が空に打ち上げられる様は、まさに忍者と言えます。 C++は面白いので、飽きっぽい僕でも、50年続いています。 >>196 アルゴリズムなんて論理的思考そのものだが・・・。 むしろアルゴリズムと普通の言語のギャップを埋める緩衝材になるんだが・・・。 関数型言語にかぶれるのは危険だが、言語各々の文化を尊重する様にすれば変な癖は付かないよ。 むしろ正しい手続き型言語のプログラムは数式に置き換えられるのを実感出来る。 (チューリング等価だから当たり前と言えば当たり前なんだが、動かせる数学と言って良いHaskellに変換出来るなら、数式にも変換出来る) 変換出来ないという事はバグがある。 最強言語ランキング Python>C♯>JavaScript>C/C++>>>TypeScript こんな感じだろ 他の言語はゴミ マシン語は他言語と比較にならないくらい偉大なので、 敢えて書かなかったのだろう webassembly が普及してくればJava の存在価値は無くなるだろうな。 >>208 高級マシン語 WebAssembly 多分どんなコンパイラからもWebassemblyのバイナリを吐き出せるようになる。 実行すればJavascriptやJavaよりも早くなる。 ブラウザさえあれば、クライアントのマシン環境に依存しないで全てブラウザが吸収する。 PythonインタプリタですらWebAssembly で動いてる。 クライアント環境に何もインストールすることはない。 Intel , Arm ... どんなCPUでも動く。 レールは続く】 Ruby on Rails Part21 【これからも https://medaka.5ch.net/test/read.cgi/php/1545146635/118 米国の平均年収では、 Ruby on Rails が、125,000 ドルでトップ! Node.js が、90,000ドルで最下位 ただし、Railsの求人は、Node.jsの半分しかない。 Railsは、GitHub, Airbnb, Shopify など、巨大企業が多いから、年収が高いのかも >>194 YouTube で有名な雑食系エンジニア・KENTA は、 初心者が進む道を、サーバー側言語のRuby → Go を王道としてる 「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則 https://www.youtube.com/watch?v=dRSsdsw0-r8 Pythonから始めても、初心者は仕事が取れないから無意味 PythonがJavaに迫る--TIOBE最新プログラミング言語ランキング 2020-10-13 https://japan.zdnet.com/article/35160679/ TIOBEの最新のプログラミング言語人気ランキングによれば、Javaの人気は10月も引き続き低下し、世界で2番目に人気があるプログラミング言語の座をPythonに奪われそうになっている。 もしPythonがJavaを抜けば、2001年にTIOBEがプログラミング言語人気インデックスの発表をから始めてから、初めてJavaが3位以下に落ちることになる。 TIOBEの最高経営責任者(CEO)Paul Jansen氏が述べているように、このランキングの1位と2位は、20年に渡って常にC言語とJavaが占めてきた。しかし、生まれてから25年になるJavaの人気は「過去最低」に近づいており、2019年10月に比べ評価が4.32パーセントポイント下落している。 Jansen氏は9月にも、Javaの人気は前年比で3.81%下落しており、「大きな問題」にぶつかっていると述べている。Pythonが生まれたのは1991年だが、最近では、データサイエンティストによる利用が増えたことや、機械学習の普及によって人気が上昇している。 TIOBEの人気インデックスは、複数の種類の検索エンジンで、各言語に関して検索したときのヒット数を元に算出されている。 プログラミング言語の人気ランキングは、IEEE Spectrum、RedMonk、GitHub、Stack Overflowなどからも発表されており、TIOBEのランキングはその中の1つだ。インデックスの算出方法はそれぞれ異なっているため、ランキングの結果も必ずしも一致しているわけではない。 PythonってAIなんかの豊富なライブラリが強みなんだよな でも実行速度は超遅いし記述スタイルは癖が強すぎるし、あまりこういうのに普及してもらいたくない もうJavaやC#にAIライブラリを補強して再浮上してもらいたい ・Pythonには永続的なスコープの混乱があります。 私の知る限り、これはvan Rossumが最初は字句スコープを理解していなかったため、間違っていたためです。(これはPythonに固有の問題ではありません。初期バージョンのスクリプト言語ではかなり一般的なようです。) 元々、Pythonは動的にスコープされていましたが、RMS以外の誰もが間違っていることに同意します。 その後、動的スコープを廃止しましたが、内部スコープが外部スコープからの変数を認識できないようにしました。 これは、おそらくブロック構造化言語では奇妙なことです。 これで、内部スコープは外部スコープを見ることができますが、それらを変更することはできません。 これは、おそらくオブジェクト指向言語では奇妙なことです。 これは機能であると主張する人もいるかもしれませんが、それは実装の偶然です。 彼がそれを修正するとき、彼は何か他のものを壊すだろうと私は確信しています。 ・David Parnasは、30年以上前に情報隠蔽を発明しましたが、それは「非Pythonic」であるため、PythonはおそらくFORTRAN2以降のプログラミングにおける最大の進歩を欠いています。 ・eval アルファ等価性を破ります—つまり、変数の名前を任意に変更することはできません。 これは、一部の変数の出現が文字列に隠れて、Pythonのバインディング構造が決定不能になる可能性があるためです。 ・Pythonは型指定されていません。 つまり、事前に簡単に検出できる大量のエラーは、発生するまでPythonでは検出されません。 一部の人々はそのやり方を好み—そして多くの労力を注ぎますが— しかし、それが特定のアプリケーションにとって誤った機能であるかどうかを常に検討する価値があります。 ・構文上の空白は便利ですが、コード生成が必要以上に難しくなります。 これは解決するのが難しい問題ではありません。 Haskellでは、構文上の空白、または中括弧とセミコロンを含む同等の構文を使用できます。 1つは人に、もう1つはメタプログラミングに適していますが、両方をサポートしない理由はありません。 人々がこれを要求したとき、Pythonの実装者がそれについて本当に気が狂っていたのは助けにはなりません。 (from __future__ import braces を試してみてください) ・lambdaの本体をステートメントではなく式に制限することは恣意的で面倒です。 変数の宣言と割り当てが式ではなくステートメントであるということは、恣意的で煩わしいことです。 ステートメント/式の区別は恣意的で煩わしいものです。 ・「[ハッシュテーブル]は完全なデータ構造です。」 Pythonは、他のテーブルベースの言語と同様に、積和(代数的)データ型がより適切である多くのことに「マッピング」を使用することを勧めています。 これは非効率的ですが、さらに重要なことに、エラーが発生しやすくなります。 冒頭のPerlisの引用を続けると、「プログラマーは、彼らの創意工夫と論理によってではなく、彼らの事例分析の完全性によって評価されるべきです。」 Pythonが適切なデータ構造をサポートしていないため、ケース分析を隠すプログラム構造が促進されます。 訂正:Andrew Cookeは、名前付きタプル(http://docs.python.org/library/collections.html#namedtuple-factory-function-for-tuples-with-named-fields )がこの問題の一部に対処していると指摘しています。 そうは言っても、私はまだPHPよりもPythonを使用したいと思っています。 しかし、それは私がマクドナルドよりもジャック・イン・ザ・ボックスを食べたいと言っているようなものです。 少し味が良いかもしれませんが、それでもかなり悪いです。 >>221 lambda問題に関しては、対案出したけど潰されちゃったんだよね >>220 >>・lambdaの本体をステートメントではなく式に制限することは恣意的で面倒です。 >>変数の宣言と割り当てが式ではなくステートメントであるということは、恣意的で煩わしいことです。 >>ステートメント/式の区別は恣意的で煩わしいものです。 「クロージャって何がいいの?」スレから引用するよ http://mevius.5ch.net/test/read.cgi/tech/1415419907/197 >そして、この問題を解決すべく数多くの提案が出された >それら提案の中には、Ruby のブロックを真似しよう(similar to Ruby's blocks)、というものまであった >しかし残念ながら、これ以上続けても収束しそうもないから議論は打ち切り、とGuido氏が宣言(強権発動?)して終わった >この顛末をGuido氏は「複数行のラムダは解けないパズル(unsolvable puzzle)」と語っている なぁに、これら問題(>>218-220 )はすべて次世代の Python4 で解決されるから、心配する必要はない え、後方互換性?、他の言語ならいざ知らず、こと Python に限れば Python3 で「後方互換性の断絶」を経験してる 優秀なPythonコミュニティであれば乗り越えられるよ、全然問題ナッシンんぐ!! Pythonはレガシーでも役に立つからそれでいいんだよ モダンな言語だと勘違いしさえしなければいい シェルスクリプトやVBA、Vim Scriptみたいなもの >>217 Python はプロトタイピング用の言語だと割り切るんだよ。 プログラムが決まってスピードが必要になったら、必要な部分だけCで書き直したりすれば良い。 Jit も使えるし。 しかし、研究用では日常的に実験の連続だから簡単に書き換えてテストできる言語が最適。 だからこそPythonが普及した。 事務の現場でも同じだろ、しょっちゅう法律は変わるし会社内の制度も変わる。 その都度書き換えるのは簡単に越したことはない。 アメリカでは採用条件にPythonができることという会社が増えてきてるらしい。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる