X



将来性ないプログラミング言語。Delphi含まれず安心

■ このスレッドは過去ログ倉庫に格納されています
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
あいまいではないな。
仕様どおりだ。
仕様が変だという話かな。
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全盛期じゃん
そりゃ動的型の方が良いってなるよ
今と比べちゃいかんでしょ
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とかテキストベースの無駄構造データ受け渡しを流行らせた糞も反省汁
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が単独で頑張ってるだけ
0212デフォルトの名無しさん
垢版 |
2019/09/07(土) 22:49:30.48ID:YkzKoIuV
ニンテンドーゲームキューブの開発コードネームやぞ
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。
0225デフォルトの名無しさん
垢版 |
2019/09/10(火) 12:39:22.71ID:xH1RefQr
勝手に変換はタチが悪い
tclでファイル読み込んでデータを加工して出力してると連続のはずのデータがたまに飛ぶ
??と思ってよく見ると、データがたまたま整数になってると整数の割り算になって結果が狂うということがあった。
これを避けるには結局明示的な変換が必要でだったら最初からそういう仕様でよい
■ このスレッドは過去ログ倉庫に格納されています

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