1 :
デフォルトの名無しさん:
Python等インデント強要する言語に対して。
まず、インデントは簡単です。
誰にでもできることです。
できない人もいるという反論があるでしょうが、
それができない人は、プログラミング全般出来ません。
プログラミングがある程度出来るようになったら、
インデントぐらいできるようになってます。
だから、言語仕様としてインデントを強制する理由は存在しません。
プログラマの自由を奪うだけの意味が無い行為です。
変数名の先頭が大文字か小文字かで、定数かそうでないかを決める
どっかのスクリプト言語よりゃ、インデントは必ずやるから害はないな
手紙書くのにインデントする人は少ない。
>>2 インデント強制は害があるよ。
そもそもインデントの目的は見やすくするため。
見やすくするためという目的が達成できるのなら
変則的なインデントでも良い。
それに開発中、コードの順番を入れ替えて
正しく動かくか少し試すなんてときに
強制は邪魔だし、
あとですぐに削除するデバッグ用のコードを目立つように
わざとインデントしないこともある。
一体誰のための、強制ギブスなのか全くわからない。
仕様書の文章書く時は
段落が変わったら字下げしないと駄目だよっていわれた
後、てにおはに赤ペンで修正されてた。
それがインデントとなんの関係が?
>>6 インデントというのは自然言語に対する敗北宣言なのだ。
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
で、具体的に何を求めてスレ立てたの?
できればコテハンやトリップ付けて発言して欲しいな
Pythonはゴミ言語
11 :
デフォルトの名無しさん:2012/08/04(土) 20:38:04.71
IDEのフォーマッタ使えよ
Pythonは、閉じ括弧不要とインデントが深くなるコードを抑制する効果があった
> あとですぐに削除するデバッグ用のコードを目立つように
Pythonの場合だけど、
if __debug__:
# debug code
最適化オプション付きで実行すると、コンパイル時に取り除かれるので
実行時のパフォーマンスに影響しないから削除不要。削除するなら __debug__ で該当箇所を検索できる。
13 :
デフォルトの名無しさん:2012/08/05(日) 09:48:23.72
インデントを強制する言語では自由なインデントができなくなる
一箇所処理を書き入れただけなのに全体のインデント修正が必要になるって非効率的にもほどがある
>>12 > Pythonは、閉じ括弧不要とインデントが深くなるコードを抑制する効果があった
インデントを浅く保つってことは、プログラミング技術の中で、
難易度が高いことなのか?
インデントが深くなるような奴=初心者プログラマは
どっちにしろ汚いコードになるし、
それなりのプログラマ = インデント深くならない だろ?
なんの効果も出てないよ。
Python以外にはどんなのがあるの?
>インデントが深くなるコードを抑制する効果があった
ブロックが深くなると読みづらくなるのはインデントだろうが{}だろうがendだろうが変わらんのじゃ?
インデントがブロックを表す言語だとそうじゃない言語よりブロックが深くなった時により回避したい気持ちが強くなるん?
それって可読性が悪いってことを暗に言ってるように聞こえるが。
暑いねー
馬鹿には無理
ヒント:インタプリタ
: さえなくなれば良言語
インデント最初に見たときは、読み難くかったな。PascalかAlgolかどちらだか忘れたけど。
ブロックがbegin〜endの言語よりはマシだな
いや、そっちのがマシ
end end end
使ってれば分かるけど
{ } うつよりも
do end タイプするほうが速い
>>26 不器用なんだね。
ワンライナー書いてるとスペース不要な括弧のが便利。
shift押すのめんどくさいんだよな
小指の無い人かも
まぁrubyはどっちでもかけるんだし
好きなほう使えばとしか
入力補完動くし。
Pythonってネストが深くなるかどうかより
ソースが1個か2個でもネストしたまま長くなると
それだけで読みづらいと思うんだけど
初心者向きではない
なでしこ
全角半角スペースTAB問わずインデント可能で混乱を招きやすいあたり実は中級者向け
スペース書いてしまったMakefileを思い出す。
コンパイラがチェックしてくれるなら意味はある
コーディング規則みたいな中途半端な強制が一番うざい
38 :
uy:2012/08/09(木) 08:09:32.94
インデントの強制って
"アルゴリズム" とは無関係のことに対して気をつけなければならないってこと
完成し終わったソースは、字数が少なく綺麗でも
それは関数型と似ていて、途中思考をしていくのは苦手な言語
Pythonでゼロからアルゴリズムを思考してかいて、複雑なものを作ろうとしたら
インデントに気をつけながらIFやFORをコメントアウトしながら
デバッグしていく効率の悪いバカですよ
endの代わりにpassやreturnをつければいい
40 :
uy:2012/08/10(金) 09:17:05.92
endは邪魔
41 :
uy:2012/08/10(金) 09:18:37.04
訂正 end は { } よりはマシであるが、邪魔
でもなくなると読みづらい
ではどうすればよいかというと
結局ソースコードを書く時間を減らせばいい
思考をまとめてから開始し、エディタ、pcと向かい合う時間を最低限にする事が
一番ストレスたまらない
begin〜endを{}と比較するとか池沼レベルの発想
どっちでも大差ないしむしろタイプ数が増える分begin〜endの方が英単語書きたい系中二病の疑いが高い
43 :
uy:2012/08/12(日) 13:32:19.11
> begin〜endを{}と比較するとか池沼レベルの発想
>どっちでも大差ないし
えっ えっ_
IDEが勝手にインデント付けするならアリだけど
インデントしてないと実行時エラーはやりすぎだと思う。
Pythonは知らんけど。
45 :
デフォルトの名無しさん:2012/08/12(日) 16:49:55.72
何の言語それ
46 :
デフォルトの名無しさん:2012/08/12(日) 17:05:17.22
どこの誤爆それ
勝手にIDEでインデントうんぬんは変だと思うけど…
書きたいコードと違うものが出来上がる場合だってあるし
明確にそれしか解釈しようがないなら自動でいいけどな
と思ったけどそれも変だな…
制御構造を大幅に変更する途中で勝手にインデントを書き換えられても困るな
50 :
デフォルトの名無しさん:2012/08/13(月) 20:37:24.79
Pythonは使える奴を選ぶ言語
誰でもは使えない
51 :
デフォルトの名無しさん:2012/08/13(月) 21:17:17.43
Wordの文章のインデントを揃えられれば既に立派なSEです
ごめん俺SEじゃなかったみたいだ
Wordはテンプレートを作るのが楽しいよねw
そりゃ、インターネットは24時間接続しっぱなしだものw
インデントを揃えるのは
衛生面の教育が高度に普及している日本人にぴったり
57 :
uY:2012/08/17(金) 03:58:34.79
ちょっとPython実際にやってみてわかったけど
やりにくいよこれ
使える奴を選ぶ言語だ
プログラム言語は所詮道具、手段みたいな奴には良いかもしれないけど
一行に詰め込めない自由度の低さが半端ない
そしてrubyになれてると括弧が鬱陶しい
>>57 > 使える奴を選ぶ言語だ
同意。
お前は二度と来るな。
今日も俺はrubyで発狂コードを書きまくってたけど
Pythonでも方法はあるんだろうけどさぁ
Pythonに乗り換えるとしたら
Pythonのありとあらゆる機能を調べないと
いま自分がrubyで書いてるコードは絶対Pythonに移植とか出来ない
class,if,for イテレータとか、その程度だけじゃどうにもならない
1言語を極めるって凄い重要だなと思った
60 :
uY ◆4g.xmLCL/2 :2012/08/18(土) 15:05:18.66
てs
___
/| |
||. |∧_∧|
||. (´・ω・| うわっ、クソスレに来てしまった。
||oと. U|
|| |(__)J|
||/ ̄ ̄
___
| |
| |
| o|
| |
| |
彡 ̄ ̄ パタン、
62 :
デフォルトの名無しさん:2012/08/18(土) 21:22:57.36
あ
63 :
デフォルトの名無しさん:2012/08/19(日) 01:52:32.31
rubyさいきょう
Python結構いいと思えてきた
紙グラミングするときにはendなんて書かないし
Pythonは、タイプ数こそは少ないけど
みててつまらない言語である
しかしオブジェクトの操作は多分rubyのほうが数段優秀だ
けどその優秀さは、実は多くのプログラミングでは必要としない優秀さであって
ハッカーが趣味でキチガイみたいなコードを書く為の楽しみとして使われる機能だと思う
rubyにある変な機能は、使いまくっていったら可読性のかけらもないが
自分にしか読めなくてもいいから、とりあえず考え付く限りの最高のコードを書く為だけにあるような気がする
Pythonは、当たり前のことを普通にやっていく言語
あくまで言語は道具であり手段って奴には向いているのかもしれない
rubyのendは冗長だよ、でもそこは冗長でいい事もある、そのendがPythonと違って可読性の助けになるから
所詮プログラミング言語は、存在自体が冗長で、なんらかの目的に特化するために
言語上で言語を作る事が一番良い結論付いた
つまり、プログラミング言語を作りやすいプログラミング言語が最強 ruby最強
お前らどんなソフト作ってるの?
もしかして、2ちゃんねるで語ってるだけじゃなかろうな?
66 :
uY:2012/08/20(月) 15:27:32.34
67 :
uY:2012/08/20(月) 15:29:19.77
プログラミングすら出来ない初心者死ね
プログラミングすら出来ないPC初心者死ね
プログラミングすら出来ない人生初心者死ね
プログラミングすら出来ない人間死ね
プログラミングすら出来ない生き物死ね
少子化どころかゼロ赤子時代がくるな…
z
70 :
デフォルトの名無しさん:2012/08/23(木) 00:25:49.98
>>64 言語つくるならぱいぱいが楽チンでいいよ
ぼくがかんがえたさいきょうのrubyも簡単に作れる
同じ動作をするコードは誰が書いても同じコードになる。
(勿論、複雑になるとそう簡単には行かないが)
Pythonはその思想に基づいてるはず。
rubyは逆。同じ動作でも好きに書けた方が良い、という思想。
前者は大規模開発におけるコードの均質化に貢献する。
後者はごく少人数の少数精鋭の開発、趣味的コーディングの心地よさに貢献する。
言語の差があるから一長一短。
インデントを強制しても綺麗にならないとしても
綺麗なコードはインデントしているのは確かな事実。
72 :
uY:2012/08/23(木) 01:48:00.99
>>70 じゃあ作ってみて 何日で作れる?
逃げんなよ
>>71 > 同じ動作をするコードは誰が書いても同じコードになる。
ありえない。もしそうなら著作権が発生しないことになる。
> インデントを強制しても綺麗にならないとしても
> 綺麗なコードはインデントしているのは確かな事実。
もしコーディング技術のレベルを最低0から最高10で表すとしたら
レベル1でインデントできるようになっている。
つまりインデントを強制することで得られるのはレベル0が1になる程度。
それが意味がある程度の人間が書いたコードは、どっちみち汚い。
74 :
uY:2012/08/23(木) 02:34:11.78
初心者がC言語で書いたソースを
そのままPythonにしたら発狂すると思う
その時にインデント構文である事を後悔する
こういう癖のある言語は腕が良くないと使えない
C→パイスンなんて移植は普通誰もやらないから心配する必要はない
76 :
uy:2012/08/23(木) 10:10:51.15
初心者がパイソンをさわったらってはなしだよ
とてもインデントが面白いことになると思う
俺初心者の頃に7重ループとか書いたことある
イフエルセ節を全部forで書き換えた
ループは展開できる
豆な
78 :
uy:2012/08/23(木) 19:23:01.54
イフエルセのエルセ節はforでなくせる
エルスって読んでた。
イフエルセでググっても1件しか出てこない
もとから無かったというオチ
82 :
デフォルトの名無しさん:2012/08/23(木) 20:14:21.66
インデント強制なしで{ }を使わずに書く方法を編み出してから言え。
つdo-end
ここから
ここまで
<寝言は>
</寝て言え>
line 2: ERROR: タグが終了していません
[ -z "$a" ] && echo T || echo F
88 :
82:2012/08/24(金) 18:13:37.42
>83以降
{ }より長い文字数のは却下。タイピング数が増える。
begin end以外認めない。{ }とかシフト押すし小指疲れるからやだ。
ruby以外は嫌だ。使いこなせないから。てことか。
(if a t nil)
言語のふつくしさで言ったらlispだな。
可読性?なにそれおいしいの?
92 :
88:2012/08/24(金) 23:33:59.28
結局パイソンのインデント方式が、余計な記号もいらないし、早くて楽なんだよ。はい論破
エディタによっては勝手にインデント調節しちゃうのもあるんだよな。
そうするとパイソンのソースコードは一瞬で破壊されてしまう。
94 :
デフォルトの名無しさん:2012/08/25(土) 01:08:58.26
なんだってー!
beginは5文字なのにendが3文字なのが気に入らない
>>92 Ctrl+A→Shift+Tab連打→Ctrl+S はい論破
PythonはPython用のIDEじゃないとまともに使えないよね
ある意味JAVAとかよりもIDE依存の言語
98 :
デフォルトの名無しさん:2012/08/25(土) 03:04:18.63
>>89 { }(カッコ)の一方にカーソルをおいて、
Ctrl + Q
をすれば、対応するカッコにジャンプする
Ctrl + Q
するたびに相手にジャンプする。便利な機能だ
>>92 お前には改行記号とタブ記号が見えないのか。
Rubyでいい
101 :
92:2012/08/25(土) 14:47:19.18
>99
だからCもJavaもfor文とかではどっちみちタブでずらずじゃん。
それに加えて中括弧やビギンエンドを打たないといけない。パイソンに比べると二度手間なんだよ。
中括弧やbeginを打つ速度はどれくらい?
プロジェクトの中でそれらの文字が
何個含まれているかを数えれば
どれくらい時間がかかるのか
わかるよね。
俺はbeginを打つのに1秒ぐらいかかっている。
一日にかける行数を1000行として、
10行に1個beginが存在すると仮定する。
100秒だ。つまり一日で1分半の差が出る。
こんなくだらない話をしているのかい?
>>102 大昔の BASIC じゃあるまいし、今時ワンライナーって…
>>104 今は、ワンライナーの代わりに
何を使ってるの?
>>4 >それに開発中、コードの順番を入れ替えて
>正しく動かくか少し試すなんてときに
>強制は邪魔だし、
偶発的プログラミングをしてはいけません
偶発的プログラミングとは、内容を理解せずに偶然の幸運を頼ってあてずっぽうにプログラミングすることです
> 少し試す
日本語不自由だと苦労するね。
休日に3週間前のレスの言葉尻だけを捉えて教師面とかマジ尊敬するわ
ああアンカーつけないと
>>109 みたいに誤解するか…
>>4 へのレスじゃなくて、
>>107 へのレスだ。
ちょっと試すことと、プログラミングすることを一緒にするなよ、ということ。
114 :
右翼 ◆gXFLM6waxs :2012/08/26(日) 02:45:34.88
こういうコミュ障と俺どっちがマシ?
115 :
右翼 ◆gXFLM6waxs :2012/08/27(月) 09:56:36.02
>>4 インデント強制が見やすくするためなのであれば
その反面でその場限りのスクリプトをかくときの開発効率が落ちるというのは当たり前な気がする
タイプ数よりもインデント強制があるほうが思考の邪魔だよ閉じ括弧とかはその気になればエディタに補完させる手もいくらでもある
だからperlのほうが流行ってたんだろう
今はrubyが流行ってるよ
{ }かbegin endで効率に差が出るとは思えんな
心底どうでもいい話だ
118 :
uy:2012/08/27(月) 23:55:37.12
rubyが流行った
流行りが去った
120 :
デフォルトの名無しさん:2012/08/28(火) 01:53:28.18
rubyの流行は凄いよな
LLだと現状これ以外の選択肢がないほどに成長した
rubyが使えるホスティングサービスの割合を見ればわかることだな。
122 :
デフォルトの名無しさん:2012/08/28(火) 05:06:37.81
バージョンごとにかきかえが必要な言語は、不利だ
123 :
デフォルトの名無しさん:2012/08/28(火) 07:10:47.85
ruby流行りすぎだけど必然だと思うよ
124 :
デフォルトの名無しさん:2012/08/28(火) 07:28:56.70
冷静に考えてみるとrubyって凄いよな
仕様変更が相次いで見放されてもおかしくないのにこの人気だからな
125 :
デフォルトの名無しさん:2012/08/28(火) 07:34:50.44
ruby以外の言語が哀れに思えてくるよな
126 :
デフォルトの名無しさん:2012/08/28(火) 08:39:17.92
rubyって凄いんだな
uyきもい
Rubyなんてマイナー言語見たことも聞いたことも無いんだが
どこで使われてんだよっていうくらいのレベル
129 :
デフォルトの名無しさん:2012/08/28(火) 14:53:12.82
Rubyすげーな
uy乙
131 :
デフォルトの名無しさん:2012/08/28(火) 15:59:58.87
お、なんか面白そうだ
rubyやってみようかな
132 :
デフォルトの名無しさん:2012/08/28(火) 16:01:41.57
ruby凄いのかもしれんけど、もっと凄い言語がこの世の中には10個は存在する。
133 :
デフォルトの名無しさん:2012/08/28(火) 16:27:47.66
rubyよさそうだしちょっとやってみるかな
ステマ言語
135 :
デフォルトの名無しさん:2012/08/29(水) 01:57:13.69
ruby結構いいかんじ?
136 :
デフォルトの名無しさん:2012/08/29(水) 03:40:22.33
いいとおもうよ
やってみ
オレも昨日から勉強中w
uy自演乙
138 :
デフォルトの名無しさん:2012/08/29(水) 06:02:56.32
145 :デフォルトの名無しさん:2012/08/29(水) 01:58:59.91
ruby2.0がかなりすごいらしい
139 :
デフォルトの名無しさん:2012/08/29(水) 09:45:03.35
rubyってツクールの言語だったか
道理で厨が多いはずだ
140 :
デフォルトの名無しさん:2012/08/29(水) 16:43:09.00
さてrubyやってみるか
141 :
デフォルトの名無しさん:2012/08/29(水) 17:03:25.41
今やってる
もう飽きた
143 :
デフォルトの名無しさん:2012/08/30(木) 01:08:19.25
ruby
144 :
デフォルトの名無しさん:2012/08/30(木) 12:19:18.07
半角スペースは消されるから
インデントは倍角スペースで書き直してから貼れよな
2chで
半角インデント
行頭の半角空白が無視される。
連続している半角空白が1個になる。
も1個の空白になる。
半角空白の代わりに を使用
&nbsp;
&#160;
&は、&にかえてかきこみます
&もエスケープすれば全角にする必要ないよ
と書くには &nbsp;
& と書くには &amp;
end
end
end
end
end
begin
begin
begin
endall
え、インポテンツが何だってかへ?
なんでこんなアホがいるんだろう
156 :
デフォルトの名無しさん:2012/09/03(月) 20:02:19.47
死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwゴミゴミゴミwwwwww
ゴミwwwwwwゴミゴミゴミwwwwwwゴミゴミゴミッカスwwwwwwwwwwwwゴミゴミゴミッカスwwwwwwwwwwww
とりあえず「荒れたスレを見つけて韓国のネガティヴな情報を流す」
という簡単な仕事があるのは間違いなさそうだ。ロムニーが勝ったら
東アジア有事を煽るだろうからね。
158 :
デフォルトの名無しさん:2012/10/14(日) 16:55:13.06
インデントを言語で強制するとか頭が悪いとしか思えない。
そんなのを統一した所で、糞コードは直らない。
ちゃんとしたコードを書ける人は、インデントもきちんとかけている。
そもそもインデントはコードを見やすくするためのもので
正解なんてものはないんだよ。
159 :
デフォルトの名無しさん:2012/10/14(日) 16:57:24.51
FSF のインデントはきもい
「遊ぼう」っていうと
「デモしよう」っていう
「おまえがやれ」っていうと
返事が来ない
「馬鹿」っていうと
「チョン」っていう
「もう遊ばない」っていうと
「国交断絶せよ!」っていう
そうしてあとでさみしくなって
「ごめんね」っていうと
「謝罪するな!」っていう
ネトウヨでしょうか
いいえコミュ障
「もう遊ばない」っていうと
「ごめんね」っていう
「謝罪ニダ!」っていうと
「ごめんね」っていう
「賠償アル!」っていうと
「ごめんね」っていう
「上陸する」っていうと
「波風立てるな」っていう
そうしてあとでさみしくなって
「買う」っていうと
「買う」っていう
コミュ障でしょうか
いいえ害務省
GNUスタイル
リチャード・ストールマンが広めたスタイル
字下げスタイル - Wikipedia
リチャード・ストールマン
Free Software Foundation を創設
Free Software Foundation, 略称FSF
フリーソフトウェア財団 - Wikipedia
俺が村田だ!
if分のネストってどこまでが許容範囲?
3回ネストしたくらいで発狂するの
ネストの深さより行末の折り返しの方が気になる
>>163 それよりも行数かな。行自体は1行しかなくて5つくらいネストしているラッパ型はOK。ifと閉じ含めて11行ってことな。
ネストしなくても40行とかあるとNG。
若い頃リスト用紙2ページ分くらいのif条件を書いたことがあったな
あのころはコンパイラがリストに
┌ if
├ then
├ else
└ fi
みたいなのつけてくれたから平気だった
(sh使ってたわけじゃないよ)
こうすればいいの?w
if (A) {
}
if (A) {
}
if (A) {
}
if (A) {
} else {
}
168 :
デフォルトの名無しさん:2014/11/10(月) 21:25:37.81 ID:tVi0pfE8
>>163 許容範囲とかないけど、無意味なネストは嫌だな。
ややこしいネストなら適度なところで別関数にしてそこで続きやれって思う。
169 :
デフォルトの名無しさん:2014/11/11(火) 13:51:02.33 ID:2dKIQrD1
int kansu( int x ){
if ( x == 0 ){
/* 100行 */
}{
/* 100行 */
}
return 0;
}
100行もあるなら関数にまとめて他所でやれ。
170 :
デフォルトの名無しさん:2014/11/11(火) 14:15:24.71 ID:2dKIQrD1
elseが抜けた。
interface X{
static X getInstance(int x){
x==0 ? new Xfalse() : new Xtrue()
}
}
class Xfalse:X{
int kansu(){}
}
class Xtrue:X{
int kansu(){}
}
とか書いちゃう()