X



将来性ないプログラミング言語。Delphi含まれず安心
0003デフォルトの名無しさん2019/08/08(木) 00:40:38.25ID:vEtBDp2D
毎日終わってるな
0004デフォルトの名無しさん2019/08/08(木) 01:24:10.03ID:6RDlsEn9
Objctive-Cはさすがに役目を終えつつあるしな
Rubyは意外に流行らなかったな
Haskellは・・どちらかといえばOcamlの方がやばいと思うんだが
R シラネ
perlはさすがにもうないな
0005デフォルトの名無しさん2019/08/08(木) 08:48:34.52ID:47HmOZq4
ただ、PythonとRubyなら、後者の方が見やすいと思う。
Pythonはブロックの終わりが分かりにくいことが間違いの原因に
成り易い。上の方のどこかのブロックの中に入っているのか、
それとも関数の基底の部分で書いているのかの判別にとても時間が
かかることがある。特に他の人が作ったソースの場合。
0007デフォルトの名無しさん2019/08/08(木) 08:50:46.83ID:kZ+216R/
C/C++ や Ruby なら、} や end の個数が一目瞭然なので、余りネストが
深くなければ、今見ている行がどのブロックに入っているのか分かりやすいが、
Pythonだとネストが浅くてもどのブロックに入っているのか分からないこと
がある。
0008デフォルトの名無しさん2019/08/08(木) 08:54:26.39ID:kZ+216R/
>>6
Pythonで内部関数(?)を大量に書かれているソースの場合は特に、
親の関数の中なのか、内部関数の中なのか側から無いのでかなり
判読に時間がかかる。しかも間違ってもエラーが出ない。
宣言しなくても変数が使えてしまう事と相まって、処理系に
間違いを検出して貰える確率がとても低くなってしまっている。
バグを防ごうと思ったら、結局、ブロックの終わりをコメントで
明示しないといけなくなって、なら最初から { } 方式の方が
記述効率が良い。
0009デフォルトの名無しさん2019/08/08(木) 08:55:44.55ID:kZ+216R/
>>8
誤:親の関数の中なのか、内部関数の中なのか側から無いのでかなり
正:親の関数の中なのか、内部関数の中なのかが分から無いのでかなり
0010デフォルトの名無しさん2019/08/08(木) 08:58:06.81ID:l7k6B2kQ
大丈夫。25行程度なら、ひと目で
どこがどこに対応してるかぐらいわかるだろう
0011デフォルトの名無しさん2019/08/08(木) 09:10:11.93ID:kZ+216R/
>>10
現実のソースは1関数が何百行になっていることが多い。
自分で書いたソースではない。
0013デフォルトの名無しさん2019/08/08(木) 16:04:52.28ID:YYsAu0ua
>>2
Dのことか
0014デフォルトの名無しさん2019/08/08(木) 16:16:12.06ID:PTwvjoI/
バイオインフォマティクスでは Bioconductor のおかげで
R もよく使われてる
0020デフォルトの名無しさん2019/08/09(金) 19:09:56.58ID:xLAwVgGE
> 関数と関数の間は〜2行開けるとか、

なぜPythonはそれを強制しなかったのか?
書く人によってばらばらになって読みにくいではないか(笑)


「インデントでブロックを表すという文法」というだけなら
(書きづらいの別として)そういう文法ってだけでいいんだが

「インデントでブロックを表すからコードが統一され可読性が上がるうんぬん」は眉唾
言語で矯正されないとインデントできないレベルのやつがインデントが統一された程度で
コードの可読性が上がるわけ無いだろう
0021デフォルトの名無しさん2019/08/09(金) 23:53:24.02ID:MQT8Emar
>なぜPythonはそれを強制しなかったのか?

強制ってわけじゃないけどpep8ベースのリンターでチェックしてくれるからそれで十分じゃね
0022デフォルトの名無しさん2019/08/10(土) 14:01:57.44ID:wCTxBlts
emacsでもブロックを可視化してくれるけど
そこに頼らないといけない時点で問題あるわな
clispなんかは必須だけど
0024デフォルトの名無しさん2019/08/10(土) 20:56:39.92ID:3XzNpwZg
ギド・ヴァン・ロッスムなんて無名の雑魚が設計し、名前もキモすぎる杜撰言語Pythonが
何でこんなに流行しているのか。

ロブ・パイクとケン・トンプソンという大物が入念に設計したGo言語がインタプリタでも
提供されれば、Pythonは終わるだろ。
0025デフォルトの名無しさん2019/08/10(土) 22:24:48.39ID:6d2gRK68
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        J
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0026デフォルトの名無しさん2019/08/11(日) 10:22:49.42ID:ADOQsQhs
松本ひろゆき
0027デフォルトの名無しさん2019/08/11(日) 15:27:08.58ID:LNlz7QeX
>>19
Pythonの場合、空行があると余計に分かりにくくなる。
何か文字がないてないと上の行のindentと同じが違うかの
区別が人間は勘違いしやすく、むしろ詰めた方がまだ分かりやすい。
だから、C++などで空行を空けて分かりやすくすることに慣れた人には
困った言語だと思う。
0028デフォルトの名無しさん2019/08/11(日) 15:27:49.46ID:LNlz7QeX
>>27
誤:何か文字がないてないと上の行のindentと同じが違うかの
正:何か文字が書いてないと上の行のindentと同じか違うかの
0029デフォルトの名無しさん2019/08/11(日) 15:30:22.31ID:LNlz7QeX
    aaa
    bbb
↑だと同じインデントに書いてあるとすぐ分かるが、
     ddd
    aaa


    bbb
   ccc
↑こんなふうになっていると間違うことがある。
0030デフォルトの名無しさん2019/08/11(日) 15:34:30.55ID:LNlz7QeX
というか、ここに書いても多分、伝わらない。
実際の他人が書いたPythonのプログラムはブロックの範囲が分かりにくくて
とても困るんだが、実際のソースを提示しないと分かって貰えないと思う。
これに関しては想像と実際で結構違うと思う。想像力の限界というか。
0031デフォルトの名無しさん2019/08/11(日) 15:39:47.36ID:LNlz7QeX
あと、自分で書いたコードでも、他の場所からコピペして少し修正して
使いたいようなことが良くあるが、その時にインデントの問題が出てきそうだ。
コピペしている途中に、ペースト先の以前のコードのブロックの範囲がどこだった
か非常に混乱してしまいそう。実はC/C++でもペーストした後、ブロックの範囲が
インデントを整え終えるまでの間は、ブロックの範囲の混乱が起きることが多い。
でも { や } の位置を頼りによく見て対処するしかない。

ところが Python の場合は、{や}がなくてインデントだけが頼りなので、
より危険度が増すと思う。
0032デフォルトの名無しさん2019/08/11(日) 15:54:56.70ID:ADOQsQhs
(一時的な)コピペでインデント変えたくない時は
if True:
使え
0033デフォルトの名無しさん2019/08/11(日) 15:57:25.10ID:Zz62J71g
そもそもコピペしまくる香具師はセンス無いわ
剥いてないから辞めた方が良いマジで邪魔
0034デフォルトの名無しさん2019/08/11(日) 16:01:31.54ID:LNlz7QeX
>>33
いや、現実世界では、オイラのプログラミングの能力は物凄く高いと
評されているのであしからず。
0035デフォルトの名無しさん2019/08/11(日) 16:09:54.77ID:2JPwQqrg
皮肉だろうね
0037デフォルトの名無しさん2019/08/11(日) 16:14:20.52ID:IA19FhdQ
何で必死な人沸いてるん
0039デフォルトの名無しさん2019/08/11(日) 17:32:41.71ID:iQakK3S3
>>34
類は友を呼ぶから、お前の周りもお前同様にレベル低いんだよ
ドカタ世界で王様気取りウケるw
0040デフォルトの名無しさん2019/08/11(日) 17:55:29.67ID:LNlz7QeX
>>39
その会社のその部署には(日本の中で)上辺の非常に一握りの人たちだけがいると
言われていたよ。別の会社からやってきた社長も最高レベルの人材が
集まってきていると言っていた。
0041デフォルトの名無しさん2019/08/11(日) 18:12:11.41ID:R4xFOxfj
まこなり社長が「とりあえずRubyやっとけ」とか言ってたの笑ってしまうw
0043デフォルトの名無しさん2019/08/11(日) 19:22:29.54ID:/8B9qyHy
インデントが違ったらブロックのレベルが違うで十分だと思うけど
画面内に{}やendが見えててもインデントがむちゃくちゃみたいなプログラムのほうがよほどわかりにくい
他人が書いたJavaScriptとかいややわ〜
0044デフォルトの名無しさん2019/08/12(月) 01:05:53.80ID:noRgsanp
Ruby の新しい本が、一杯出てる。
独習シリーズも、Rails 本に参入した

WEB+DB でも、RubyVM の作者、Cookpad の笹田耕一の連載が始まった

WEB+DB Vol.111 号では、Rails 6・Julia の特集

科学技術計算用のJulia は、Ruby に似てる。
Python から、Julia に流れそう
0045デフォルトの名無しさん2019/08/12(月) 06:39:55.53ID:pLksDzhG
>>43
ブロックを識別するのにインデントと{}は、両方必要。
どちらが欠けても駄目。
0046デフォルトの名無しさん2019/08/12(月) 13:41:34.78ID:DfuTdZZ8
len(a)
0047デフォルトの名無しさん2019/08/12(月) 21:50:36.79ID:55hAY7YH
>>43
{}やendは機械的に正否判定できるけど、インデントだと無理じゃね?
ide支援が拡充していく現在の状況では弱点だと思う
0049デフォルトの名無しさん2019/08/12(月) 23:58:17.91ID:FEiQT6YL
機械的に成否判断できないから、Pythonにはインデント整形ツールがないんだろ

の間違いでは?
0050デフォルトの名無しさん2019/08/13(火) 00:11:30.02ID:+uxvNwqI
インデントだけでも機械には判断できても、人間は間違いやすい。
0051デフォルトの名無しさん2019/08/13(火) 09:45:33.43ID:/tYhWlnk
まあ、人並みの知能があれば間違えないけど、こればっかりは地頭の差がでるからねぇ

あ、もしかして、Pythonが知能の高いAIやってる連中に流行ってて
底辺ドカタにいまいち人気が無いのは、インデントの所為?
0053デフォルトの名無しさん2019/08/13(火) 10:19:25.70ID:/tYhWlnk
>>52
ライブラリを作る側の地頭が良い連中は気にしないから
ライブラリがどんどんリッチになって行くんですね、分かります
0055デフォルトの名無しさん2019/08/13(火) 10:26:26.63ID:sNnRKo7d
そんなもんやで

ライブラリやフレームワークが有るからその言語を使う。
Rubyを使うのはRailsがあるからやし、
Pythonを使うのはAI関連のライブラリが有るからやし。
Unityとか.NETとか、ウェブで使えるのはJavaScriptしかないとか

言語の良し悪しで決めることなんて無いんやで
0056デフォルトの名無しさん2019/08/13(火) 10:44:21.79ID:oXPAD0KH
サーバーサイドでjs使いたがるやつの気が知れん
0057デフォルトの名無しさん2019/08/13(火) 12:16:05.80ID:rjuNmU8i
>>51
一応、メンサ会員になれる程度を遥かに超えるIQは持っていますが、Python
のブロックの記法は間違いやすいと思っています。
0059デフォルトの名無しさん2019/08/13(火) 12:45:19.35ID:evPHQM6+
>>55
Pythonなんて今のAIブーム来るずっと前からシステム周りのツールで使われてるやん
0060デフォルトの名無しさん2019/08/13(火) 16:56:34.41ID:UcHcEb9y
JSのインデントというかブロックがわかりにくいのは、コールバック関数を多用するからだと思う
0062デフォルトの名無しさん2019/08/13(火) 18:02:48.03ID:UcHcEb9y
JSはコードのフォーマット次第でコールバック関数のインデントがずれる
0066デフォルトの名無しさん2019/08/14(水) 15:40:39.64ID:meO8Vw3B
普通、C/C++などで関数呼び出しで引数が多くなったりすると、二行に
書くことになる。
そういった場合、Pythonのインデントの問題がトラブルの原因になったり
しないのだろうか。

少なくとも、関数の中に内部関数を定義すると、物凄くPythonは読みにくく
なることを他人のソースで経験した。
0067デフォルトの名無しさん2019/08/14(水) 16:03:46.80ID:cbEBER6Y
>>66
そうか?
その辺の読みにくさはJavaの方が酷いぞ
0069デフォルトの名無しさん2019/08/14(水) 16:17:27.37ID:Ic9mkGye
>>67
Javaでブロック範囲が分からないと思った事は一度も無い。

Pythonだと関数やブロックが立て続けに終了した場合、見た目で
訳が分からなくなり、解読に間違いが入り込みやすい。
ある命令が子関数の中に対するものだと思っていたら、親関数の
中だったり、逆だったりする。
ループのブロック、ifのブロックとの混乱も生じる。
ifブロックの中だと思っていたら、既にそれは終わっていたりする。
また、もうifブロックは終わっていると思っていたら、まだ
続いていたりする。
ifブロックの中に、さらに入れ子に何らかのブロックが入って、
それらも何個かが続けて「終了」した場合も、非常に混乱して
他人のソースの解読が難しくなる。
0070デフォルトの名無しさん2019/08/14(水) 16:21:09.06ID:meO8Vw3B
忘れたけど、実際にはもっと空行が入っていたり、命令数も多かったり、
内部関数も何段にも入っていたりするが、以下を見れば分かりにくさが分かって
もらえるかもしれません:

  if ・・・


   
   
   if ・・・
    

    for ・・・

   aaa


  bbb


   ccc
0071デフォルトの名無しさん2019/08/14(水) 16:23:50.76ID:meO8Vw3B
>>70
実際には、もっと行数が多くて if や for 命令が画面内には表示
できなくて、エディタでは(見えない)画面の上の方にある。
上記の例だとまだ画面内に表示されているので良く見ると分かるが、
画面外にあるとずっと解読が難しくなる。

ロジック以前にブロックの範囲の読み間違えが生じてしまう。
0072デフォルトの名無しさん2019/08/14(水) 16:27:57.58ID:meO8Vw3B
C/C++ だと、画面範囲より上の方に if や for の始まりの部分があっても、例えば
   }
  }
  aaa();
  ・・・
 }
 bbb();

のようになってくれるので、aaa(); という命令がどのブロックに入っているのかは
分かりやすい。ところが、Pythonだと、以下の様にようになる。



  aaa();


 bbb();




これでは、ブロックが何回「終了」したのかも分かりにくい。
0075デフォルトの名無しさん2019/08/14(水) 16:33:28.98ID:ezZjqxdH
Python信者「関数が長いと見にくいので次第に短い関数を書くようになるから教育的に優れている」
0076デフォルトの名無しさん2019/08/14(水) 16:38:26.11ID:meO8Vw3B
C/C++ の場合、三回ブロックが終わった後に aaa が書いてあると分かる:
     }
    }
   }
   aaa;

Pythonの場合、以下の様になっていて、画面上のaaaの先頭に「定規」でも付けて
エディタで上にスクロールして、ifやforや内部関数定義の冒頭(defかな?)などを見つけて
どこと一致してるか確認してから、下にスクロールして意味を考えないといけない。


   aaa;
0077デフォルトの名無しさん2019/08/14(水) 16:41:00.61ID:meO8Vw3B
>>74
でも同じロジックでも、C/C++やC#やJavaやRubyで書いてあれば
ブロックの範囲で悩むことは無かった。だから書き方の問題ではなく、
言語そのものの設計の問題だと考えられる。
0078デフォルトの名無しさん2019/08/14(水) 16:44:35.53ID:meO8Vw3B
他人のプログラムのロジックの難しさで悩むのはしょうがない。
しかし、ブロックの範囲がそもそも分からなくて悩むのはPython特有で
今までの言語では無かった悩みどころが入ってしまった。
0079デフォルトの名無しさん2019/08/14(水) 17:06:08.30ID:cbEBER6Y
定規とかアホすぎ

上下移動でカーソル位置は横に移動しないエディタとか
縦に補助線引けるエディタとか使えよ
(もちろんそこまでしなくても読めるが馬鹿には必要な機能なんだろ)
0081デフォルトの名無しさん2019/08/14(水) 17:19:59.38ID:q3KPXJei
まず、
if
if
for
の入れ子とかおかしいからな
こんな作り方しないよ
0082デフォルトの名無しさん2019/08/14(水) 17:21:47.62ID:meO8Vw3B
>>81
そんなことないです。
その位は普通に有りますし、悪いプログラムでも汚いプログラムでもは有りません。
問題はソースの方にあるのではなく、Pythonの設計の方にあります。
0083デフォルトの名無しさん2019/08/14(水) 17:22:35.87ID:q3KPXJei
ないない。悪手すぎる
0086デフォルトの名無しさん2019/08/14(水) 18:29:24.84ID:ZtJY0HPZ
他のメジャーな言語はだいたいカッコか、そうでなければendとかfiとかキーワードでブロック作るもんな
Pythonだけじゃん
0091デフォルトの名無しさん2019/08/14(水) 19:44:50.26ID:2bLbN+Zf
>>1で将来性のないプログラミング言語筆頭にRubyが挙げられてることから目を逸らしたい幼稚な工作でしょwww
0092デフォルトの名無しさん2019/08/14(水) 20:00:32.73ID:b9KU5kMe
Rubyの未来は
ウォウウォウウォウウォウ

世界が羨む
パイパイPython
0094442019/08/14(水) 23:54:58.98ID:ms62dfnn
VSCode の拡張機能、Bracket Pair Colorizer, indent-rainbow などで、対応関係がわかる

WEB+DBのJulia特集を読んだ
http://medfreak.info/?p=4850

漏れも、同じ意見

Python ではプログラミングしづらいけど、
Julia は、do 〜 end など、Ruby に似てるから、プログラミングしやすい

やっぱり、外人も同じように思ったから、Julia, Elixir などが作られた!

Juliaは、Pythonのライブラリも呼べる

NumPy がいらない。
ベクトル演算・行列積・線形代数・統計処理などが標準装備

LLVM のJIT だから速い

今後は皆、Pythonから、Juliaに流れそう
0095デフォルトの名無しさん2019/08/15(木) 00:09:10.03ID:LnTn26jl
>>94
>VSCode の拡張機能、Bracket Pair Colorizer, indent-rainbow などで、対応関係がわかる

解決策ありがとです
0096デフォルトの名無しさん2019/08/15(木) 00:52:59.28ID:lTp6Ihus
>>94
漏れも、同じ、意見。
Rubyは、廃れる!
0098デフォルトの名無しさん2019/08/17(土) 14:25:07.96ID:1NsbgTmC
>>43 その通りだな。 インデントが無茶苦茶でも通るからロジックのまとまりがどうなってるかわかりづらい。 仕方なく自分でインデントを整理するが。

ま、どんな言語でも作ってるやつがクソならクソなプログラムになってる。 時々イラっときて作り直した方が早い。
0100デフォルトの名無しさん2019/08/17(土) 14:36:34.50ID:1NsbgTmC
>>86 あのさ、そんな些細な事より、{} で括るとか、
if
fi
とかの方が余程コーディングの手間が多いぞ。
1タッチでも少ない方が良い。

そもそも、Python はスクリプト言語だと言うことを無視して話してる。
その都度実行されないといけないんだぞ。
間違えるわけがない。
0101デフォルトの名無しさん2019/08/17(土) 14:42:26.89ID:9WAlKegR
書くのは一回、読むのは数十回
たった一回書くのが楽なことよりも
何十回も読むのが楽な方を選ぶ
0102デフォルトの名無しさん2019/08/17(土) 14:42:48.46ID:Ei4AHYpx
Perlに依存してるパッケージが減りつつあるような気がしないでもない
0107デフォルトの名無しさん2019/08/17(土) 15:54:01.44ID:ljAxaRgk
うちもそうだけど知ってる範囲じゃperlはもう書かせない会社ばっかりだな
0108デフォルトの名無しさん2019/08/17(土) 17:23:42.10ID:uIV5R7Aj
知ったかぶりバカ「perlの開発者は日本人」
0113デフォルトの名無しさん2019/08/18(日) 12:43:58.17ID:qCb+YBvS
弱小うんこwebドカタ仕事専用のRoRのシェアが落ちてきたって本当ですか?
0114デフォルトの名無しさん2019/08/18(日) 16:14:37.05ID:Rnl9Ujwd
まぁ一番将来性無いのは勉強止めた奴だけどな。派閥抗争ごっこする位なら新しい言語の一つでも覚えりゃいい。
0115デフォルトの名無しさん2019/08/18(日) 22:38:17.85ID:+YUWcM9d
保守はしたくないけどプロトタイピングにはいまでも有用
なんだかんだ文句いいながらも使えるひとが多い
0116デフォルトの名無しさん2019/08/19(月) 03:04:40.78ID:32wORggh
pythonのインデントでブロック作るのホント嫌い
ちょっとした入力ミスでインデントがズレると死ぬ

あれのせいでワンライナーを半ば強制されてるようなもので
チューニングはしづらいし、可読性は下がる
0117デフォルトの名無しさん2019/08/19(月) 03:38:01.34ID:ZZoimR+D
>>116に対する反論。
俺の会社の奴らはインデント矯正されないと
インデントめちゃくちゃにする。
可読性はもっと下がる。誰のせいか?
0118デフォルトの名無しさん2019/08/19(月) 04:14:11.27ID:yIThGu8W
普通のプログラミング言語なら push 時にインデントチェックして拒否したり自動整形するようにできる
python みたいなインデントでブロック作る言語はダメね
0119デフォルトの名無しさん2019/08/19(月) 12:15:27.59ID:sIPdGD0o
>>117
フォーマッタ使えばよくね???

インデントが狂っても静的チェックでエラー出ないからバグの温床になるし
長くなったコードを改行するときにもインデントが必要になるから区別がつけづらいし
ラムダ式書く場合も内容が複数行に渡る場合は関数内関数を定義する必要が出てきてこれがまた書き難いし読み辛い

インデントブロックは俺も最初は見やすくていいじゃん!って思ってたけど
使い込むうちに不便な側面の方が強くなってきたわ
0120デフォルトの名無しさん2019/08/19(月) 12:20:48.74ID:W/U4wDij
インデントでブロックを作るやつはデバッグとか
動作検証したいだけってときに面倒だよね

自分で手書きするときはインデントするし
最終的には綺麗にするんだけど、

一部のコードをコメントアウトしたり
動きがわからんから、一部分抜き出して動きを見たりとか
そういう作業中のじゃまになる。
0121デフォルトの名無しさん2019/08/19(月) 15:53:43.94ID:Kn9dUhI/
>>117
emacsならC-c C-qでもいいし他のエディタも整形機能ついてるのあるんじゃないの
pythonはエディタが特化してないとどうしようもない
インデントだけで管理しなきゃいけないってのは悪手だ
0123デフォルトの名無しさん2019/08/20(火) 17:19:24.55ID:0DHPUJts
経験上、インデント面倒臭いというやつのコードは汚い
0124デフォルトの名無しさん2019/08/20(火) 17:26:59.88ID:OyLrpvkx
何が経験だ当たり前の話じゃねーかw
0125デフォルトの名無しさん2019/08/20(火) 17:36:59.00ID:kykP5Tm6
>>123
(上級者は)インデントするのが面倒くさいって言ってるんじゃないからな。
デバッグや動作検証などの一時的なコードまでインデントするのが面倒くさいって言ってるんだからな。
すぐ消すようなコードまでインデントする必要ないし
後で消すときに目立つようにあえてインデントを崩してる。
0126デフォルトの名無しさん2019/08/20(火) 19:53:51.24ID:aOYKq+L4
インデントと論理構造の一致が不要という人もいるだろうし
コードはすべて大文字で書くべきという人もいるだろう
コーディング規約の一貫性は不要だという人もいれば
レビューは工数の無駄だという人もいるだろう
そういうレベルのお話よね
0127デフォルトの名無しさん2019/08/20(火) 21:02:08.67ID:QsJJjC9V
インデントとカッコで同じ情報を表してるんだから冗長なのは事実
知能が高いと冗長さは単純に無駄だが、低脳ドカタには冗長さも必要ってことだよ
0128デフォルトの名無しさん2019/08/20(火) 21:25:25.48ID:ar+OimNr
インデントとカッコが同じ情報だと思ったことがPythonの敗因だろうね
インデントっていうのはスペースと同じなんだよ。

コンピュータからすれば意味はなくて、
人間が見やすくなるように人間のためのもの

意味がある情報だけで言えば、スペースは要らない
カンマや演算子の前後にスペースは要らない
関数の引数だって,のみスペースは禁止にしたってよかったはずだ。

でもそうしなかったのは関数の引数を区切るカンマと
見やすくするためのスペースは別物だから

Pythonは見やすくするためのインデントを意味と共通化してしまったから
見やすい記述に制限ができてしまった。
0130デフォルトの名無しさん2019/08/20(火) 21:45:07.95ID:lOKfo+mN
>>128
それに、ブロックの終了の記号が何にも無いのは明確さがなく、
ケアレスミスの元となる。レイアウト的なものは、空行を入れたり
少し違う業や関数からコピーして来たりするときにずれ易い。
ずれたときにブロックの終了記号があると助かる。

>>127
逆に助長性は安全性に繋がりやすい。例えば、C/C++の最後のセミコロン";"
は無くてもコンパイラがその都度推定できる可能性はあるが、
有った方が確実だから有る。Rubyなんかは無くても分かるときはなくて良い
仕様ではあるが、大規模プログラムではそれが見つけにくいバグの原因に
なる可能性がある。
0131デフォルトの名無しさん2019/08/20(火) 21:47:25.12ID:aHZAynoR
>>127
文系の人は、lexical(字面)的な読解力が頭の良さだと勘違いしやすいが、
そうではない。字面ではなく本質的なところが重要。字面的な判別能力
を自慢にしてる人は、短いが見にくい変な書き方をして結局本人も間違う。
0132デフォルトの名無しさん2019/08/20(火) 21:50:09.95ID:aHZAynoR
>>127
ちなみにおいらは、客観的に見て低脳ドカタではない。
高IQ、高学歴、高実績で評価は高い。
0133デフォルトの名無しさん2019/08/20(火) 21:50:17.64ID:Y189B2BT
理系の短いは実行する行が少ない(定義文や空行は含めない)
文系の短いは書く量が少ない
0134デフォルトの名無しさん2019/08/20(火) 21:58:55.64ID:aHZAynoR
>>128
C/C++において、関数の引数を二行以上に渡って書きたいような時、
インデントと意味は、有る意味ではずれる。しかし、それぞれの引数の後ろに
一つずつコメントを書きたいようなときにはそのの書き方は見やすい :
func(
  aaa,   // これこれこういう意味。
  bbb,  // TYPE *pXxxx
);

また、ターゲット別に #if #endif などでコードを変えたいような場合は、
インデントの関係がどうしても崩れる場合があるし、その場その場で
マクロに対するインデントを重視するか、C/C++言語に対するインデントを
重視するか、どちらがいいかは一概には決まらない。

#if xxx
TYPE aaa;
・・・
#else
・・・
#endif

↑TYPE aaa; の部分に、#if ブロックのインデントを付けた方がいい場合と、むしろ、その場の
C/C++ のブロック宣言としてのインデントの位置を維持した方が分かりやすい場合とが有り、
どちらも優劣付けがたい。
0135デフォルトの名無しさん2019/08/20(火) 22:01:08.71ID:aHZAynoR
>>133
文系の人は、文章そのものの雰囲気的な美しさに美学を見出す傾向がある。
芥川龍之介の「表現技巧(?)」が素晴らしいとか、○○氏の詩的表現は
真似できないとか。

しかし、それをプログラミングに持ち込んで欲しくない。ここでもそういう
表面的な美しさばかりにとらわれている人が多い気がする。
0136デフォルトの名無しさん2019/08/20(火) 22:03:19.33ID:Y189B2BT
上級者はコードの書き方に拘って
見やすいように、意味が伝わりやすいよに書くんだが

低級者は無意味に見づらく書く(本人は見づらいことがわかってない。そこまで気が回らない)


そういう低級者にインデントのみ、書き方を押し付けることが出来るが
どちらにしろ低級者なので、クソコードにしかならない
低級者には補助輪程度の役目にしかならず、上級者には足かせとなる
0137デフォルトの名無しさん2019/08/20(火) 22:25:28.11ID:lOKfo+mN
そういえば、プログラミングにおいても>>134の場合のように、関数の
引数を折り返して書く場合、どの程度引数の前に空白やタブを入れるべきかは
人間が見たときの「見易さ」で決まる。それは関数名 func 部分の長さに
よっても変化し得る。そして、何が美しいかは「美学」「美術」の領域に
入ってきてしまう可能性がある。だからプログラミングは芸術とも言われる。

その意味で、インデントに論理的な意味を与えすぎると、芸術的な
美しさが得られなくなってしまう可能性は高い。
0139デフォルトの名無しさん2019/08/21(水) 03:52:34.88ID:jDiMObB6
ここでやる話じゃないな
0140デフォルトの名無しさん2019/08/21(水) 08:31:45.31ID:DZT6aay9
まるで自分が将来性が無いって言われてるように感じてしまって必死なんよ
0143デフォルトの名無しさん2019/08/21(水) 15:30:57.62ID:zqKd/4GT
インデントで話を散らかしてRubyの将来性>>1から意識を逸らしたいだけw
0144デフォルトの名無しさん2019/08/21(水) 21:17:39.84ID:6KJaGV9b
デルファイは言語じゃ無くて、IMEの名前じゃね?
あれ、中身言語はpascalだよな?
0148デフォルトの名無しさん2019/08/22(木) 18:29:20.75ID:k0K3XsJW
pythonはインデントガーとか言ってる人ってメモ帳でソースでも書いてるの?w
0149デフォルトの名無しさん2019/08/22(木) 18:37:54.75ID:jM8tCXZ0
メモ帳以外で書いたら、勝手にインデント揃えてくれるんか?
例えば、他から持ってきた複数行のコードをコピペしたときに

インデント=ブロック構造というコードの意味になってるんだから
勝手に整形してくれるわけないな
0153デフォルトの名無しさん2019/08/22(木) 20:46:16.23ID:UjFyi9ja
>>150
無理だろ?

例えばこういうコードに

def repeat_msg(msg, repeat=3):
  for i in range(repeat):
    print msg

他のコードで使われてる、インデントが異なるこの2行をコピペして

      print foo
      print bar

def repeat_msg(msg, repeat=3):
  for i in range(repeat):
    print msg
  print foo
  print bar

に勝手にインデント揃えてくれるエディタなんて思いつかん

そもそも実現可能なのか?やる方法があるにしても、どこからコピペを
開始して、どこに移動してから貼り付けるとかパッと出てくる?
0154デフォルトの名無しさん2019/08/22(木) 20:57:13.82ID:oZbspsSs
コピー先の最初の行のインデントの深さだけ決めてコピーしたら
残りの行のインデントも自動的に揃えられるだろ
0156デフォルトの名無しさん2019/08/22(木) 21:21:37.03ID:UjFyi9ja
>>154
残念ながらそれは無理。


def repeat_msg(msg, repeat=3):
  for i in range(repeat):
    print msg
  | ここで貼り付けをすると

こうなる。

def repeat_msg(msg, repeat=3):
  for i in range(repeat):
    print msg
        print foo
        print bar
0158デフォルトの名無しさん2019/08/22(木) 22:42:18.87ID:6Stfv2pG
>>153>>156
ここでPythonのインデント云々って言ってる人はこんなレベルだったの?
0159デフォルトの名無しさん2019/08/22(木) 22:57:39.80ID:bojKrn/j
WEB+DB vol.111 は、Ruby on Rails 6, Julia 特集だけど、
Python から、Julia へ流れそう

Julia は、do 〜 end が使えて、Ruby風に改良されてる!
Jupyter Notebook(JN)でも使える

Windows で、RubyをJNで使っている人は、日本語でバグらないの?
irb では、バグるけど

RubyをVSCode で使っているけど、JNでも日本語でバグらないかどうか、知りたい
0160デフォルトの名無しさん2019/08/22(木) 23:13:01.91ID:6ipmKUpK
>>156
自分の周りにコピペプログラマーがいないからちょっとびっくりなんだけど
こういうレベルの人が世の中に結構いたりするの?!
0161デフォルトの名無しさん2019/08/22(木) 23:16:34.88ID:427lMmCu
>>156
しかもそれ他の言語でも同じだよね例えばcならこうなるけどカッコで対応とれてるからってそのままこういう風に書き続けるのかキミは?w

void repeat_msg(char *msg, int repeat){
  for (int i = 0; i < repeat; i++){
    printf("%s\n", msg)
  }
        printf("%s\n", foo)
        printf("%s\n", bar)
        printf("end.\n")
        }
0164デフォルトの名無しさん2019/08/23(金) 16:14:51.02ID:Zx6EO+xk
敢えてやるなら
def repeat_msg(msg, repeat=3):
  for i in range(repeat):
    print msg
  if True:
   print foo
   print bar
こんな感じ
コピペの方がインデント浅い時とか長い時は別関数造って呼ぶ
0165デフォルトの名無しさん2019/08/23(金) 19:10:11.80ID:T9lcDaB4
とりあえずpythonで書き慣れると他の言語が鬱陶しくて仕方ないねインデントに限らず
プログラミング言語の完成形に近いと思うわ
恒常的に動くシステムのソフトとかでもない限りpython一択だと思うわ
あ、GUIアプリは知らん
0167デフォルトの名無しさん2019/08/23(金) 23:11:02.04ID:LHN2h0YB
pythonの何が完成系なんだよ。
変数のスコープがあいまいだし、
参照かコピーかあいまいだし、
ライブラリと同じ名前のファイル名つけたら悲惨だし

結局あいまいだからちょっと複雑なものを作るとうんざりする。
完成されたライブラリにちょっとパラメータ変えて流すには便利ってだけの代物
0169デフォルトの名無しさん2019/08/23(金) 23:27:33.46ID:DZMYtvox
>>167
ちょっと複雑なものなんてお前には作れないだろ
モッサリ鈍重ウンコwebサイトは複雑でもなんでもないからね?
0170デフォルトの名無しさん2019/08/24(土) 01:31:25.28ID:dr4oD/Ll
あいまいではないな。
仕様どおりだ。
仕様が変だという話かな。
0173デフォルトの名無しさん2019/08/24(土) 03:26:11.93ID:dA7WdXyV
Python, Ruby っぽい、Julia

関数型なら、
Haskell っぽい、Elm。
Ruby っぽい、Elixir
0174デフォルトの名無しさん2019/08/24(土) 09:22:56.58ID:+nNIwdjo
>>167
まあ無能な奴は厳しい規則設けて檻に入れとくしか飼いならす方法ないもんなあ
プログラミング言語も同じで草
0175デフォルトの名無しさん2019/08/24(土) 11:08:29.62ID:Xzjcg9me
Pythonは30行以内でささっと書くスクリプトには向いている。
それより長大なプログラムを書くには苦行でしかない。
0176デフォルトの名無しさん2019/08/24(土) 16:27:38.27ID:UCGlm4uz
年収3000万以上の開発者がPythonでAIを書き(もちろん30行以上ある)、
年収300万以下の低脳ドカタは世界の片隅で30行しか書けないとブツブツ言っている
0178デフォルトの名無しさん2019/08/25(日) 09:20:51.79ID:X4RuV2IV
10年くらい前、Lightweight languageとかって盛り上がってた時は型に縛られはないから、早く楽しくプログラミングできるとか言ってたのにのね
0179デフォルトの名無しさん2019/08/25(日) 10:37:56.39ID:mHrxK1Ru
>>178
まあ間違いじゃない。問題は歴史が浅く、大規模のアプリが作られてなかったことによる
結局大規模になって、作った人じゃない人がメンテナンスするようになると
途端に、型がないと大変ということに気づく。
0180デフォルトの名無しさん2019/08/25(日) 13:11:06.11ID:7aRWz3XD
先人の智慧や蓄積を無視して
若いのが俺カッケーした結果がこれか
0181デフォルトの名無しさん2019/08/25(日) 17:01:15.19ID:Pi5/biNH
10年前の静的型といえばJava全盛期じゃん
そりゃ動的型の方が良いってなるよ
今と比べちゃいかんでしょ
0182デフォルトの名無しさん2019/08/25(日) 17:16:09.82ID:90IJS4ej
C++もいちいち型指定するのめんどくさいってことでauto乱発だしな
0183デフォルトの名無しさん2019/08/25(日) 17:42:45.70ID:ZgHIB80V
>>180
知恵や蓄積の結果生まれたpythonの方が優位なのは明らかなのに先人様がそれを認めない結果がこれなんやで
0184デフォルトの名無しさん2019/08/25(日) 19:26:07.76ID:eKl51C89
結局、ケースバイケースなんだよな
Javaが向いてるケースがあれば、Rubyが向いてるケースもある
それ理解せずLL最高とか言ってたのが10年前のはてなブックマークのホットエントリー
0186デフォルトの名無しさん2019/08/26(月) 14:28:40.88ID:T0vtMl8v
XMLとかJSONとかテキストベースの無駄構造データ受け渡しを流行らせた糞も反省汁
0188デフォルトの名無しさん2019/08/26(月) 15:17:30.43ID:NWn2YSWg
バイナリでバッチリ敷き詰めて
更に圧縮したら効率がいいだろ!
0189デフォルトの名無しさん2019/08/28(水) 20:35:03.80ID:MglkklAk
SwiftはObjective-Cよりも先に死ぬよ
0190デフォルトの名無しさん2019/08/28(水) 20:37:38.22ID:D19a7vMP
さすがにそれは無理がある
SwiftUI出てきたあたりで切り離してもおかしくない頃合い
依存してる領域もあるけどなんとかするだろ
0191デフォルトの名無しさん2019/08/31(土) 12:30:17.20ID:Fb8dqZh5
>>144
俺はObjectPascal言語の開発環境の名前がDelphiだと思ってるけど
違うかな
0192デフォルトの名無しさん2019/08/31(土) 13:16:35.92ID:bRBeXa4d
もともとObjectPascalという言語だったが
魔改造し過ぎでもはやObjectPascalとは呼べなくなったから、
これからはDelphi言語だーって公式が言ったけど、
やっぱObjectPascalに戻すわーって言ったのがDelphiが使われなくなった頃
0193デフォルトの名無しさん2019/09/01(日) 00:58:31.40ID:sYwYgS29
>>191
IMEじゃなくてIDEな
わざとだろうけど
0194デフォルトの名無しさん2019/09/01(日) 00:59:58.12ID:sYwYgS29
>>192
Delphiと呼ばれる前の
ObjectPascalのIDEは
Paradoxとか言ってなかったか
0195デフォルトの名無しさん2019/09/01(日) 18:21:44.99ID:e9O8VIl4
誰かPHPは安泰だと言ってください
0198デフォルトの名無しさん2019/09/01(日) 23:22:15.91ID:gzRpR9B4
>>167
python のスコープなんてもっとも単純だろうよ。
>ライブラリと同じ名前のファイル名つけたら悲惨だし
こんなバカなことで困る輩はいない。

コピーと参照のあいまいさはまあわかるが。
0199デフォルトの名無しさん2019/09/02(月) 19:50:56.03ID:bydNTO5I
Paradoxはデスクトップデータベース
Accessみたいなもん
0201デフォルトの名無しさん2019/09/03(火) 10:05:46.27ID:gWEsYspA
ParadoxはObjectPAL
ObjectPascalの前身かこれ?
0202デフォルトの名無しさん2019/09/03(火) 14:54:44.93ID:hL9URkRE
>>195
言えない・・
0203デフォルトの名無しさん2019/09/03(火) 19:06:57.77ID:eG/i1B9Q
>>201
ObjectPALとObjectPascalは別物だと思うよ
0204デフォルトの名無しさん2019/09/04(水) 10:41:25.21ID:Z0seKSTe
Access - VBA
Paradox - ObjectPAL
Filemaker - こいつのスクリプトって名前なんていうの?
0205デフォルトの名無しさん2019/09/06(金) 15:45:24.50ID:w2Tc9TX1
>>195
まああと少しの間は大丈夫だろうからすぐに他の言語を覚えた方がいい
とりあえずJavascriptならもう少し延命できると思う
0206デフォルトの名無しさん2019/09/06(金) 15:59:49.77ID:iRaWooFH
もう少しどころか立ち位置的にCOBOL越え確実だと思う。wasm関連技術では完全代替はまだまだまだまだ難しい。
別に好きだと言ってるわけじゃないので変な勘違いしないでよね!
0207デフォルトの名無しさん2019/09/06(金) 16:01:01.15ID:iRaWooFH
あ、phpじゃなくてjsのことだぞ。phpはまぁ…頑張れ
0209デフォルトの名無しさん2019/09/07(土) 04:02:36.77ID:e8g0g+yh
そういう意味ではCOBOLの方が現役バリバリ
0210デフォルトの名無しさん2019/09/07(土) 14:30:36.59ID:p0CVe2Rl
Pascal自体は死んで久しい
Delphiが単独で頑張ってるだけ
0211デフォルトの名無しさん2019/09/07(土) 22:45:55.12ID:WyEtFyU9
dolphinてなんや、、excelのイルカを出す、あのプログラム言語のことか、、
0212デフォルトの名無しさん2019/09/07(土) 22:49:30.48ID:YkzKoIuV
ニンテンドーゲームキューブの開発コードネームやぞ
0214デフォルトの名無しさん2019/09/08(日) 00:35:22.71ID:YJFKqEOh
>>211
>Dolphin(ドルフィン)は、KDEデスクトップ環境で動作するファイルマネージャーである。
0216デフォルトの名無しさん2019/09/08(日) 19:46:49.92ID:A4Cyhqig
haskellが入ってるのは絶対おかしい
俺がこれから使おうとしてるのにありえない
この記事はフェイクニュース
0217デフォルトの名無しさん2019/09/08(日) 23:22:52.79ID:Xfe/g7x6
現場のリーダーはJavaはセキュリティの事故で将来性はないと言っていた。大手の金融プロジェクトでも不採用の方向なんだと。
もしアプリローンとかでJava使っているところがあったら、問題おきてニュースになってもおかしくないだろう。
0218デフォルトの名無しさん2019/09/09(月) 02:29:02.78ID:Eoe/XXAT
Perlは個人でちょっとしたものを書くのに最高なんだけどな。

数値と文字列を雑に扱いたいときもよしなに対応してくれるし、
厳密にコントロールしたけりゃそういう書きかたもできる。

Pythonで書くときみたいにstr()とかint()とかちまちましたくないんよ。
0219デフォルトの名無しさん2019/09/09(月) 10:50:04.56ID:FLVXg6p/
よしなにってのがクセモノなんだぜ

きっちりエラー出してそれ以上先へ逝かせてくれないpythonマゾ大好き
0221デフォルトの名無しさん2019/09/09(月) 12:26:14.53ID:FLVXg6p/
perl糞つかえねぇω → strict ルールで縛る
結局毎回ルール適用なら最初からpython使えよωωω
0223デフォルトの名無しさん2019/09/09(月) 23:59:33.69ID:Eoe/XXAT
strictは必ず使っているので変数宣言についてはPythonと同程度の手間が
かかってもいいんだけど、一番違いを感じるのは文字/数値変換なんだよね。

Perlの場合変数の型ではなく演算子で演算を区別してるから
Pythonのようにいちいち型変換する必要もないし、
JavaScriptのように演算の中身を知るために変数の型を確認する必要もない。
ちょっとした調べものとか計算ごとをするのに最高だよPerl。
0224デフォルトの名無しさん2019/09/10(火) 01:04:16.58ID:Z4anlymy
そういうのをやりたいときはVisualWorks使ってる
納品物以外は全部これ
0225デフォルトの名無しさん2019/09/10(火) 12:39:22.71ID:xH1RefQr
勝手に変換はタチが悪い
tclでファイル読み込んでデータを加工して出力してると連続のはずのデータがたまに飛ぶ
??と思ってよく見ると、データがたまたま整数になってると整数の割り算になって結果が狂うということがあった。
これを避けるには結局明示的な変換が必要でだったら最初からそういう仕様でよい
0226デフォルトの名無しさん2019/09/10(火) 13:55:58.79ID:lKNyd4my
a = "1" + 2; // 12
b = 1 + "2"; // 3
0227デフォルトの名無しさん2019/09/13(金) 19:21:23.44ID:KWIEIpY7
機械学習の前処理でPerl使ってるわ
正規表現でユニコードなどを雑に扱えるのってこの言語くらい
他の言語はマジでやってられん書き方強要される
0228デフォルトの名無しさん2019/09/13(金) 21:47:39.40ID:nXGcyiFU
Perlを使ってると、雰囲気でそれっぽく動くけど
実際バグだらけのコードを書く癖がついて、
プログラミングの才能が破壊されて
まともな言語では書けなくなるというよね
0229デフォルトの名無しさん2019/09/14(土) 02:53:15.49ID:WW6HtS4x
初学者なら当てはまるけど作法守ればそうでもない
ただコードが野暮ったくなるから利点は消える
0230デフォルトの名無しさん2019/09/14(土) 11:59:10.57ID:NwEptffo
>>228
その通り
VB > Perl > php >>> 越えられない壁 >>> ruby >>> 越えられない壁 >>> python
0231デフォルトの名無しさん2019/09/14(土) 14:39:19.85ID:XDqZ+X/5
Perl、Ruby、Python、JSは、どれも型がないので間違いがあっても気付かない事が
あるのが困る。Perlは関数の引数が番号式で、なおかつ、参照型引数の仕様が
引数の「型」が複雑な場合に、C/C++、Javaに比べてテキトーで思ったように
動かないことがあったので困った。
Pythonはブロックの終了が分かりにくいところが最悪。Rubyはブロックの終わり
をendと長く書く必要があるのが最悪。
0232デフォルトの名無しさん2019/09/14(土) 15:32:44.73ID:QmGbPwvY
ありなしの話で言うと全部型はあるな。
本当に型がないというのはPrologとかだろ。
0233デフォルトの名無しさん2019/09/14(土) 16:05:43.73ID:tdzCu94K
ないのは型じゃなくて定義時の型情報

定義時に型情報がないから、実行時にしか判断できない
しかし一部の例外を除き、コードは特定の型(もしくは特定のインターフェース)を
前提としてたコードになってる。

特定の型でしか動かないのに、動かない方を渡すことが出来てしまう。
だから書いているコードの矛盾を検出できない
0234デフォルトの名無しさん2019/09/14(土) 16:21:14.63ID:3A0uyiN1
使い分けしないアホが悪い
そんなに型に神経質なコードをpythonで書く阿呆がおるか
0235デフォルトの名無しさん2019/09/14(土) 16:35:05.69ID:tdzCu94K
× 型に神経質
○ バグなしに神経質

正しく動くコードを書くのに
神経質になって何が悪い?
0236デフォルトの名無しさん2019/09/14(土) 17:14:56.13ID:QWAtjnDR
そうだ!裸になって何が悪い!
0238デフォルトの名無しさん2019/09/14(土) 18:38:24.84ID:1/nRt8hl
Rustなら兎も角、JavaやC#みたいなユルユルなドカタ言語なら
スクリプト言語と変わらんわ
0239デフォルトの名無しさん2019/09/14(土) 19:06:37.07ID:XDqZ+X/5
Javaは型については、スクリプト言語よりかなりちゃんとしているし、
いろいろな意味において曖昧さが少ない言語の1つ。Pythonには間違いやすさ
がある。特にブロックの範囲について。
0240デフォルトの名無しさん2019/09/14(土) 20:29:00.13ID:nEO5MM+y
>>238
Java, C#がユルユルとか意味わからん
またvar(型推論)とvariantの違いを理解できない老害が来てるのか?w
0241デフォルトの名無しさん2019/09/14(土) 20:58:53.98ID:KmV3vhTN
Java is not a safe language
https://lemire.me/blog/2019/03/28/java-is-not-a-safe-language/
・Javaはオーバーフローをトラップしません(RustやSwiftなどの言語はします)
・Javaはデータの競合を許可します(Rustなどの言語ではデータの競合は許可されません)
・Javaにはnull安全性がありません(SwiftまたはKotlinでは言語の一部として安全な呼び出しまたはoptionalがあります)
・Javaには名前付き引数がありません(現代の多くのプログラミング言語には名前付き引数があります)
0242デフォルトの名無しさん2019/09/14(土) 21:02:01.03ID:KmV3vhTN
https://www.net.in.tum.de/fileadmin/bibtex/publications/papers/the-case-for-writing-network-drivers-in-high-level-languages.pdf

The Case for Writing Network Drivers in High-Level Languages

Table 5: Size of our implementations stripped down to the core feature set
Lang.   Lines of code Lines of C code
C          831       831
Rust        961        0
Go         1640        0
C#         1266        34
Java        2885       188
OCaml       1177        28
Haskell      1001        0
Swift       1506        0
JavaScript     1004       262
Python       1242   (Cython) 77

Javaワロタwwww
0244デフォルトの名無しさん2019/09/15(日) 17:19:31.74ID:LFq5agje
問題ないなら、さっさと初期値を入れてしまえば
型の心配はしないで済むね
0248デフォルトの名無しさん2019/09/16(月) 17:52:24.64ID:+LXKkUCe
>・Javaには名前付き引数がありません(現代の多くのプログラミング言語には名前付き引数があります)
VBAがいまだに使われてる理由として名前付き引数があると思う
0249デフォルトの名無しさん2019/09/18(水) 00:45:57.32ID:DHfEOS3k
VBAが存続してんのはExcel操作のためだろ
Excel使わなければこんなクソ言語使わん
0250デフォルトの名無しさん2019/09/18(水) 03:47:11.91ID:VBe5jsL9
名前付き引数を持ってる言語が
ドカタの知ってる範囲ではVBAしか無かったんじゃない?
0255デフォルトの名無しさん2019/09/19(木) 16:50:53.40ID:yDRAJBlg
>>1
「将来性ないプログラミング言語」
この表現は厳密な表現をかなり省略しているものであって
じっさいには暗に色々な前提を含んでいることに注意しなればならない
たとえば現代において「使用できない硬貨一覧」という表現があるとき
そのリストに巨大な石の硬貨は書いてないが、だからといって石の通貨を
使えるという話ではないのは明らかだ
それは現代ではもはやそれは流通していないのは誰の目にも明らかなので
敢えてリストに書く必要がないからである
0258デフォルトの名無しさん2019/09/19(木) 19:55:20.41ID:piYhTFwa
VisualPythonだろ。略してVP
0259デフォルトの名無しさん2019/09/19(木) 21:26:23.21ID:3azBc8nY
Visual Basicは昔のBASICとは違って構造化と型宣言に関して矯正されているから、
Pythonよりはまともな言語だよ。Cよりも優れている点もいくつかある。例えば、

・Cのswitch文ではcaseに1つの値しか指定できないが、VBのselect文では範囲を指定できる。
・Cではfor, if, whileの制御ブロックの終わりはどれも}だが、VBではnext, end if, wendで
 書き分けられ、構造を把握しやすい。
・Cでは同じ構造体(クラスを含む)変数のメンバにアクセスする文が続くとき、構造体変数名を
 いちいち書かなければならないが、VBではPascalのようにwith文で括り出せる。

だから、Pythonのような駄言語をExcelが採用する利点はないし、Pythonなんてキモい名前の
言語を商用ビジネスソフトに採用するはずがない。もしどうしても採り入れるなら、言語仕様の
大幅な矯正を施して、別の名前、例えばPythagorasにするだろうな。
0260デフォルトの名無しさん2019/09/19(木) 23:08:19.30ID:yCvdPLl+
pythonに勝てる点を絞り出した結果が型宣言の矯正とか悲しすぎるw
0261デフォルトの名無しさん2019/09/19(木) 23:11:15.98ID:3nUAGH1U
そういやswitch相当の構造にラムダ式を書いたらわかりにくいからやめろって言われたことある
0262デフォルトの名無しさん2019/09/19(木) 23:25:17.69ID:opj0BFMU
Julia、将来性しか無くてつれぇわ…w
0265デフォルトの名無しさん2019/09/21(土) 13:57:17.76ID:rdJr7AnP
Excel単体でEXEとか作れるようになったら助かる
ランタイム必須にしてもソースをバージョン管理できたりするとファイル管理しやすくなるから
類似や派生のxlsxが増えすぎてやってられない
0268デフォルトの名無しさん2019/09/22(日) 13:01:35.28ID:aP0HRBTF
https://qiita.com/yniji/items/b38bc312e860027108ac

11月6日にreditの 'ask me anything' にマイクロソフトの Excel チームが登場して、
「いつExcelにPythonが搭載されるのか?」という質問に対して以下のように回答しています。

要するに、マイクロソフトが Excel に搭載するのは JavaScript であって、
Python を使いたいのであれば PyXLL か xlwings を使えということのようです。
0269デフォルトの名無しさん2019/09/22(日) 15:04:32.77ID:OEThTvH6
またjsが勝ってしまったか。すまんな
0270デフォルトの名無しさん2019/09/22(日) 15:59:55.40ID:e12439sw
いつの記事だよ
んで、jsexcelに入ったの?
すまんそれopenpyxlでよくね
0271デフォルトの名無しさん2019/09/22(日) 16:03:18.14ID:OEThTvH6
今はcodelabアドインがいるね。おそらくそれを標準に取り込むんだろう。
0272デフォルトの名無しさん2019/09/22(日) 16:53:05.49ID:aP0HRBTF
Excelはブラウザでも動くわけだから
JavaScriptを採用するのは当然だろうな
0273デフォルトの名無しさん2019/09/22(日) 23:26:31.04ID:3n2e6qf5
>>272
そのWebブラウザが画面を表示している仮想WebブラウザならJavaScriptは関係ない。
0274デフォルトの名無しさん2019/09/23(月) 02:26:48.74ID:MvK1QNKi
仮想Webブラウザ(?)なわけないじゃん

なんで特殊な物の話をしてんのさ、
一般的なものの話をしろ
0275デフォルトの名無しさん2019/09/23(月) 02:32:19.17ID:MvK1QNKi
ん?まさかExcelのWeb版(Excel Online)があるのを知らないってオチか?

Excel Onlineはブラウザで動くからVBAは使えない。
JavaScriptならブラウザで動くからスクリプトをサポートできる

(他の言語でもトランスレートすれば不可能じゃないけど
将来はともかく、まずJavaScript APIを作らなければいけないわけで)
0276デフォルトの名無しさん2019/09/23(月) 05:23:20.00ID:PfuJzQFj
馬鹿はWindowsのexeがブラウザで動いていると思ってるのかね?
0277デフォルトの名無しさん2019/09/23(月) 05:29:42.33ID:MvK1QNKi
Excel Onlineはウェブアプリですが?

LibreOfficeやOpenOfficeはMS Officeのライバルとして
作られたけど、クラウド対応はできなかったよな

クラウド対応はアプリを作るだけじゃ駄目
サービスとして運営しないといけない。無料ではやっていけない。

クラウドの時代になって、LibreOfficeやOpenOfficeは
MS Officeの対抗馬では無くなってしまった。
0278デフォルトの名無しさん2019/09/23(月) 10:37:04.50ID:Q2NcL8GU
Excel2016はWindowsアプリだからEXEバイナリじゃないとダメ、って言ってるようなもんだぞ
0282デフォルトの名無しさん2019/09/28(土) 18:20:04.54ID:jZaRxtII
Javaはセキュリティ問題のため、関東でSEのローン審査が不利になる理由を生み出した。
0283デフォルトの名無しさん2019/09/30(月) 11:59:41.27ID:vkIGDak2
なでなで
しこしこ
0285デフォルトの名無しさん2019/10/14(月) 04:36:09.58ID:UBJesZ2H
rubyは滅びず
0287デフォルトの名無しさん2019/10/15(火) 13:38:19.53ID:P3oSaCil
将来性の塊のF#も含まれてない
0288デフォルトの名無しさん2019/10/15(火) 22:17:51.75ID:RFgbLnzi
Delphiからのポーティング案件あったぞ
まあ人こなさそうだったけど
0290デフォルトの名無しさん2019/10/21(月) 23:44:51.92ID:iyXXtESD
kotlin本かって見てるけど、やっぱ変な記述で覚えたくないなあ
最近の言語てどんどん癖が強くなってる
0291デフォルトの名無しさん2019/10/22(火) 10:09:44.21ID:F+STirlY
>>166
やっぱりな。得意分野で見ても分かる。関数型とオブジェクト指向って結局同じ事してるよな。
0292デフォルトの名無しさん2019/10/22(火) 18:45:02.65ID:2kjib8jS
泣かした事もある 冷たくしてもなお
寄り添う気持ちがあればいいのさ
俺にしてみりゃ これが最後の逃げ
any my love so sweet

typescriptはフワッと使えるのがいいのです
原理主義者はそこが分かってない
0293デフォルトの名無しさん2019/10/23(水) 08:15:53.96ID:8F7PY61U
PythonってJava並に速度速くなったの?
初期の超鈍足さの印象があってどうも使う気になれない
0295デフォルトの名無しさん2019/10/23(水) 23:08:30.38ID:x+KExtRg
単発ものとかなら記述が簡単なのもあってコード作成時間と実行時間の総和を取れば圧勝
常用の製品とかで運用するなら無理ゲーの極み
0297デフォルトの名無しさん2019/11/05(火) 15:22:53.37ID:8w7ODMFL
海外のサイトを見ていたら、PythonでAIをやる場合、重たい処理は、
C++で書かれたライブラリを使うから、処理時間の99%は、C++のコードが
消費する、と書いている人がいた。つまり、この場合、Pythonは、C++の
AIライブラリを呼び出す司令塔的な役割をしているだけなので、Pythonの
遅さが処理時間全体に与える影響は軽微なのだそうだ。
0300デフォルトの名無しさん2019/11/06(水) 11:13:40.60ID:o3tEvZiY
C++は嫌いだけど消える心配はないから
保守考えるならなおさらC++だろうな
意識高い系の言語はすぐ廃れるω
0301デフォルトの名無しさん2019/11/06(水) 15:43:13.17ID:ZR40S1lI
Ruby でも、多次元配列・ベクトル演算用ライブラリのNArray は、C言語。
その速度は、数値計算専門言語のOctave にも匹敵する

ary[ 1 ]
たぶん、こういう、インデックスアクセスが遅いのだろう

一々、OS のAPI を使うから、遅いのだろう
0302デフォルトの名無しさん2019/11/06(水) 19:47:12.50ID:j5j2Fj2c
つまりPythonやって
必要なライブラリをC++で書けるようになればさいつよなのかな?
0303デフォルトの名無しさん2019/11/06(水) 19:50:47.71ID:o3tEvZiY
スレの主旨間違わなければ
0304デフォルトの名無しさん2019/11/06(水) 20:07:13.92ID:KOIBIZS4
PHPのようにPythonにも
endifとかendforとかendforeachとかがあればいいのにね。
0305デフォルトの名無しさん2019/11/06(水) 20:22:10.76ID:rBrZYPRi
機械学習を応用したWebアプリで、Rubyとpythonで取り合ってるような領域は
pythonがぜんぶ取るかもな
0306デフォルトの名無しさん2019/11/06(水) 20:35:36.64ID:rBrZYPRi
>>302
ライブラリの自作はGPUのこと理解しないといけないから
最難関というイメージがある。実際どうなの
0307デフォルトの名無しさん2019/11/07(木) 03:10:38.37ID:+N3PsKU8
>>306
GPUを使うならそうだし、そもそもAIの仕組みにとても詳しくなければならないので、
ニューラルネットワークの学習理論や、微分積分学(多変数関数の偏微分など)、
最急降下法、行列、ベクトルなどの数学などもしっかり理解して無いと作るのは
難しい。
0311デフォルトの名無しさん2019/11/30(土) 12:55:26.21ID:ZMc/b0Mf
>>310
GPUプログラミング考えたらPythonで有る必要性は無いな
論理プログラミングでのPythonは意味有るが
要は適材適所で言語選べって事
0317デフォルトの名無しさん2019/12/17(火) 20:11:41.18ID:yak5pbPn
バカなんでしょう
それか、Delphiが好きで好きで仕方ないんでしょう
0318デフォルトの名無しさん2019/12/17(火) 21:42:35.32ID:V5kJkNNM
これ、ずっと"デルフィー"だとおもってたんだがじつは"デルファイ"なのか??
おどろいた
0319デフォルトの名無しさん2019/12/18(水) 10:21:30.76ID:RQBBPl9v
ϕφΦ
0323デフォルトの名無しさん2019/12/21(土) 14:02:47.25ID:nc+jPEml
読みはデルファイだが、同じデルファイでもイントネーションに2通りあって、時々腹が立つことがある
0324デフォルトの名無しさん2019/12/22(日) 13:25:41.76ID:GUF926Vs
>>315
スコープ定義するのにいちいち5文字以上もタイプするのがアホらしいことがわからんのか?
0326デフォルトの名無しさん2019/12/22(日) 16:06:54.77ID:FeBaRCqK
    end
  end
end
0327デフォルトの名無しさん2019/12/22(日) 23:52:37.58ID:EH6v7Wox
>>324
近頃のエディタは補完してくれるのだから五文字も打たないだろう
シフトキーを打つのがめんどいというのはある
0328デフォルトの名無しさん2019/12/23(月) 09:03:27.91ID:et7PUQbm
だいたい「タイプ量」とか言いだすやつは
今時ピュアテキストエディタでソース打ちこんでるようなレガシーマン
0329デフォルトの名無しさん2019/12/23(月) 13:00:21.69ID:sEnpgkKc
むしろ補完機能の方が邪魔でうざいっしょ
0330デフォルトの名無しさん2019/12/23(月) 13:48:36.54ID:KYctU2Iz
近頃のは補完を無効になることができるんじゃないの?
あるいは補完のカスタマイズができるんじゃないの?
0331デフォルトの名無しさん2020/02/03(月) 01:36:11.73ID:LrelKtp/
Linux用の64ビットのアプリケーションを開発できるんだから、Delphiには将来性あるでしょう
0332デフォルトの名無しさん2020/04/07(火) 13:12:23.44ID:wt554GsP
Perlはgitで使われてるから死にはしないだろうけど、これから新しいのが出てくるか?と言われると…うん
0333デフォルトの名無しさん2021/03/03(水) 23:34:54.55ID:5PAt74zN
>>322-323
アメリカのフィラデルフィア(Phila DELPHI a)で開発されたプログラミング言語というわけじゃないんだな。
0334デフォルトの名無しさん2021/03/04(木) 07:24:43.52ID:ls8aTj6l
Ruby がオワコンだと、様々な矛盾点がある

Rubyコミュニティーの強さと、
学校・Rails チュートリアルなど、Rails 関連の売上の増加、
組み込みのmruby で宇宙開発など、制御システムの増加、

Rails製サイトの時価総額の増加、Shopify 15兆円、Airbnb 10兆円、GitHub 8千億円、
Ruby/Go の神、Vagrant の作者・Mitchell Hashimoto のHashicorp 5千億円
0335デフォルトの名無しさん2021/03/04(木) 15:45:55.67ID:880mMAm2
ruby信者は嫌われ者なのを自覚しろ
あちこち関係ないスレに書き込むゴミ
0336デフォルトの名無しさん2021/03/08(月) 05:48:29.70ID:C8XgJIOz
もうスレが伸びない言語、つまり
Ruby
Python
Swift
PHP
VB
0337デフォルトの名無しさん2021/03/08(月) 06:31:10.72ID:reZRjfV0
先駆者には布教の義務があると、あわしろ氏が言ってたな。
0338デフォルトの名無しさん2021/03/08(月) 07:52:13.06ID:5ZfU3yas
Perlはもう指と体が覚えてるからなあ
使い捨てプログラムやシステムバッチはどうしてもPerlでやってしまう
0339デフォルトの名無しさん2021/03/08(月) 16:31:39.42ID:0IhNnHF1
>>336
Swiftだけは、iOSやMacOSが世界中で使われている限り、Objective-CのようにAppleが見捨てない限り、Apple専属プログラミング言語として今後も安泰では。
0340デフォルトの名無しさん2021/03/08(月) 20:08:33.17ID:C8XgJIOz
obCで必要十分なのでは、既にflutterも完成されてるし。
0341デフォルトの名無しさん2021/03/09(火) 02:05:17.44ID:ZfAdhTVn
>>336
KENTAも同じようなこと言ってたな
0342デフォルトの名無しさん2021/03/09(火) 23:10:35.32ID:BIanm+fj
>>339
そうかな?
そもそもandroidもそうだがネイティブで作っている所はかなり減っているのではないの?
機種依存の実装は少なくとも必要だろうから全く要らないとは言わないものの
UnityとかWebViewを埋め込んでいるだけみたいなものが主流だし
勉強で覚えるならいいけど、本格的に覚えてもなぁ・・・とは思う
0343デフォルトの名無しさん2021/03/10(水) 17:20:20.51ID:/d/0kboz
>>342
現在は、というより今後も、機種依存ネイティブ依存のコンパイラ型言語より、実行環境(Unity、.NET、Javaバーチャルマシンなど)に依存した、中間コードを吐く中間言語が一般的になっていくんだったのか。了解、なるほどね。
0345デフォルトの名無しさん2021/03/12(金) 21:17:39.72ID:IfpuCZI8
>>343
スマホ対応の場合は特にゲームはiOSだけという訳にも行かないから
両方対応出来るUnityやUnrealEngine,Cocos2dxみたいなクロスプラットフォームなものを
使った方が効率は良いと言うのが大きいと思う

近頃はゲームだけじゃなくとも両対応するためにビジネス系でもUnity使う場合もあるらしいが
ビジネス系はwebviewを埋め込むwebアプリの方が良いかなと思ったりする
ただアプリとしての提供をしたいのでwebviewを埋め込み多少制御するコードを
ネイティブで書く事は良くあるのかなと思う
0346デフォルトの名無しさん2021/03/12(金) 23:06:33.64ID:On4uTfbz
>>345
PCだけじゃなくスマートフォンまで含めるとメジャーなOSやCPUの数が増えたうえ、移植の需要もあるから、とてもOSやCPUに依存したソフトウェアなんて作成していられないんだね。
Linuxなんて異なるディストリビューションでは実行ファイルに互換性がないどころか、同一ディストリビューションでさえバージョンアップなどでカーネルのバージョンが変わると、実行ファイルが動作しなくなるそうだね。だからLinuxではソースコードで配布して各自の環境でコンパイルして動作する実行ファイルを自分で作成する文化が広まった、というのを最近知った。
解説ありがとう。
0347デフォルトの名無しさん2021/03/13(土) 18:29:02.62ID:QBlwJKKa
Objectibe-CはSwiftに代わられたし、
PerlもPHP・Ruby・Python等に代わられたからそこまでは分かるんだけど、
あとの3つはまだ現役で、しばらく使われる気がするんだけどなぁ
0349デフォルトの名無しさん2021/03/14(日) 13:02:00.50ID:H8M4SK/I
>>348
えぇ…
0350デフォルトの名無しさん2021/03/14(日) 13:37:29.46ID:K2sHzkoX
アップル自体が終わって欲しいわ
iOSとかいらないし、macもいらない
0351デフォルトの名無しさん2021/03/14(日) 15:37:57.30ID:ycpqpDeI
>>348-350
じつはAppleはMicrosoft以上に安泰では?
稼ぎ頭のiPhoneは携帯電話キャリア大手三社の看板商品でもあるし。
MacのほうもYouTuberをはじめとした映像関係者、画像関係者、音楽関係者の御用達で、さり気なくYouTuberが宣伝役をも兼ねているし。
0352デフォルトの名無しさん2021/03/14(日) 20:27:49.47ID:ycpqpDeI
日本のOSシェア(2009年1月〜2020年1月) - YouTube
s://www.youtube.com/watch?v=nw3ktljBNxg
世界のOSシェアランキング - YouTube
s://www.youtube.com/watch?v=MKkzNY0hrQ0
0353デフォルトの名無しさん2021/03/14(日) 20:53:05.47ID:ycpqpDeI
>>352 続き
2020.09までのデータあり

Most Popular Operating Systems 2009-2020 人気OSの世界シェア率 - YouTube
s://www.youtube.com/watch?v=jsWkIbYL1jE

Windows一強時代は終わり群雄割拠時代へ突入したチャンスに、日本もiTRON、μiTRONなどの産業用TRONで粘るだけじゃなく、デスクトップ用途(ビジネス用、家庭用、教育用ほか)のBTRONの研究開発実用化を、もう一度復活させるよう努力、工夫、マーケティングをし、10年後20年後のソフトウェア大国を今からでも国を挙げて目指すべきじゃないかと思う。今こそチャンス中のチャンスだろ。
0354デフォルトの名無しさん2021/03/14(日) 21:04:01.62ID:ycpqpDeI
米国をしのぐIT技術 日本製OS「トロン」の世界標準化をつぶしたのは誰だ - YouTube
s://www.youtube.com/watch?v=K5Nmco6dNVk
0356デフォルトの名無しさん2021/03/15(月) 16:52:59.26ID:jTbGDrXU
>>353‐354のソフトウェア大国になるのと並行して、日本は半導体の研究開発設計大国をも、10年後20年後を見据えて今から目指し始めるべきだろう。
とくに、メモリだけじゃなくCPU、GPU、通信コントローラ、メモリコントローラ、制御チップ、一体化したSoCほか、要所要所の基幹コントロールICなども積極的に抑え、世界のトップ2かトップ3くらいは常に維持できるようになるべき。
イギリスの教育用PCの開発目的で設立されたARMが、今やモバイル機器の主力SoCに成長したことからも学ぶべき。そればかりかARM製品は、AppleのM1CPU、nVidiaのGPUの開発のベースにもなっていて、今やARMは世界中を席巻しているわけで。
台湾も昔から地道に、いろんな開発設計会社がLANやWiFiの通信コントローラを開発したり、Intel互換CPUを開発したりしてる。
モバイル機器用SoCに至っては近年では中国Huaweiや韓国Samsungも独自開発し、自社製品に採用している。

日本はソフトウェアと基幹コントロール系半導体の両方で、世界トップ級の研究開発設計大国を、ぜひ今こそ国を挙げて目指すべきだろう。
0357デフォルトの名無しさん2021/03/15(月) 16:56:23.46ID:jTbGDrXU
記号テスト
>>353‐354
>>353-354
>>353-354
0358デフォルトの名無しさん2021/03/15(月) 18:33:15.59ID:m9WM8q4q
日本の技術は世界一いいいいと、あわしろ氏が言ってたけどな。
0359デフォルトの名無しさん2021/03/15(月) 18:36:20.74ID:KRivGabW
AppleにとってiPhone本体やMacintosh本体の売上は絶大なはず。さらにiOS、Mac OSXというソフトウェアと、iPhone AppStoreやiTunesというWebサービスプラットフォームをも支配する。この三者による徹底したユーザ囲い込み戦略こそがApple躍進の原動力だと思う。
Appleが、ハードウェアのみ、ソフトウェアのみ、Webサービスのみ、のどれかに特化することは、当分の間は考えにくいのでは。
0361デフォルトの名無しさん2021/12/19(日) 14:34:21.06ID:dztrfhWF
>>356
学ぶだけでお腹いっぱいになって、そのまま寝落ちして終わるのが日本の常。
昔の武士の手習いと同じでね。
0362デフォルトの名無しさん2023/03/17(金) 01:07:17.44ID:O04jxkPS
test
レスを投稿する


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