アカウント名:
パスワード:
PHPが好かれて居るのと同時に嫌われて居るって多分上級プログラマと下級プログラマ双方がいるからだろう
Perlが嫌われて居るには初級者が多く回答したのかな?学習コストが高い言語程そんな気はするPerlわかりやすいと思うんですけどね
VB6も本当は似たようなものだと思うただ敷居が低すぎたせいで馬鹿がごり押ししたプログラムも成立しちゃうってだけ
まあ今見ても言語仕様としてイケてない部分は確かにあるんだけど、それを差し引いても「きちんと設計されたVB6プログラム」はわかりやすくて良いと思うよ
# 関数呼ぶ時、戻り値ありとなしで書き方が違うのとかは今見てもイケてない部分だけどね# Call Hoge(a, b) は通る# ret = Hoge(a, b) も通る# Hoge(a, b) は通らない# Hoge a, b と記載する必要がある
VB6はヘタするとWin32API呼び出しだらけで、何言語なの、ってことになったりするねぇ…。それ、VB6の必要あったの、という。
でも意外となんでもできる言語(←諸悪の根源?)だと思うし、画面絡むとVC6よりマシな気がする。せめて構造化例外があれば、もうちょい便利だったと思うのだけど。
VB派生でVBAが嫌われてるのは、Excel使いの素人が多いからでしょうね。変数や関数が日本語とか普通に見る。そしてVBScriptは話題にもならないっぽい。ASPとかでけっこう使ったもんだけどね。
VB.Netが嫌われてるのは、VB6から移行したへたくそが多いせいですかね。言語仕様的にはC#との違いなんてほぼ誤差なんだから、嫌われる理由はあまりないはずなんで。
だいたいは同意だけど
変数や関数の日本語は、数十年前は忌避されてきたけど、今ではバグを出さないシステム開発のために必要な要素とみなされてきてるよね。
これは流石にないわ。日本語使うとメンテナンス性が大幅に損なわれるし、似た変数名が並ぶと英文字以上に可読性にも悪影響になる。たとえバグを出さないためだとしてもバッドノウハウの領域。
1度作ったら修正することがないことが担保されてる、保守や改修を無視していい、という特異な案件ならそれもアリだろうけど、一般化することじゃないし、そんなのやってる奴いたら殴ってでも止めるぞ。
日本語ってこの場合、俗に言う「全角文字(2byte文字)」のことじゃないの?
法令用語や間違ったら困る用語をローマ字で表記することはあるけど、それは別にVBに限った話じゃないよね。
「日本語のコードがクソ」って、VB6でありがちな
IF 価格入力.Text < 最低額 THEN
みたいなコードのことじゃないの?
# これが保守や改修作業の効率化になるとは到底思えない# 特に最近のちょっと気が利いた開発環境なら特定の変数の使用箇所をリストアップする、ぐらいは容易だから# 検索のしやすさとか、ぱっと見てわかる、というメリットもそこまで重要ではないはずだ
変数名をローマ字にして、[shu,syu]とか[tu,tsu]が混在したり、命名者が知っている単語だけは英語にしているせいでローマ字と英語が混在したり([芸者名]が、[geishaNm]と[geisyaMei]で混在する)、英語を採用すると、例えば、[業務]という単語を[affair]と変換しさらに省略して[afr]と記述してるせいで何を示す単語がわからなくなったりするので、
少なくとも、業務では日本語で入力したほうがまだまし(効率化ではなく、難読化の予防)だと思います。#どうせなら、フラグも、何通りの意味を定義してしまうから(0:無効,1:有効,3:検討中,9:対象外とか)、使用禁止にすればいいのに
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
よくわからん (スコア:0)
PHPが好かれて居るのと同時に嫌われて居るって多分上級プログラマと下級プログラマ双方がいるからだろう
Perlが嫌われて居るには初級者が多く回答したのかな?学習コストが高い言語程そんな気はする
Perlわかりやすいと思うんですけどね
Re: (スコア:1)
VB6も本当は似たようなものだと思う
ただ敷居が低すぎたせいで馬鹿がごり押ししたプログラムも成立しちゃうってだけ
まあ今見ても言語仕様としてイケてない部分は確かにあるんだけど、それを差し引いても「きちんと設計されたVB6プログラム」はわかりやすくて良いと思うよ
# 関数呼ぶ時、戻り値ありとなしで書き方が違うのとかは今見てもイケてない部分だけどね
# Call Hoge(a, b) は通る
# ret = Hoge(a, b) も通る
# Hoge(a, b) は通らない
# Hoge a, b と記載する必要がある
Re: (スコア:0)
VB6はヘタするとWin32API呼び出しだらけで、何言語なの、ってことになったりするねぇ…。
それ、VB6の必要あったの、という。
でも意外となんでもできる言語(←諸悪の根源?)だと思うし、画面絡むとVC6よりマシな気がする。
せめて構造化例外があれば、もうちょい便利だったと思うのだけど。
VB派生でVBAが嫌われてるのは、Excel使いの素人が多いからでしょうね。変数や関数が日本語とか普通に見る。
そしてVBScriptは話題にもならないっぽい。ASPとかでけっこう使ったもんだけどね。
VB.Netが嫌われてるのは、VB6から移行したへたくそが多いせいですかね。
言語仕様的にはC#との違いなんてほぼ誤差なんだから、嫌われる理由はあまりないはずなんで。
Re: (スコア:0)
VB は VC++ で作られた OCX の 積み木でシステムを開発するためのグルー役の言語。
VB6 の中で全部やろうとするから破綻する。
コンポーネントベースの設計をやって積み木でシステムとしての組み上げ、カスタマイズも積み木を並べ変えるだけっていう設計でラスト1マイル的な使い方するなら、あれ以上にはまる言語もない。
変数や関数の日本語は、数十年前は忌避されてきたけど、今ではバグを出さないシステム開発のために必要な要素とみなされてきてるよね。
Re: (スコア:0)
だいたいは同意だけど
これは流石にないわ。日本語使うとメンテナンス性が大幅に損なわれるし、似た変数名が並ぶと英文字以上に可読性にも悪影響になる。
たとえバグを出さないためだとしてもバッドノウハウの領域。
1度作ったら修正することがないことが担保されてる、保守や改修を無視していい、という特異な案件ならそれもアリだろうけど、一般化することじゃないし、そんなのやってる奴いたら殴ってでも止めるぞ。
Re: (スコア:0)
Re: (スコア:1)
日本語ってこの場合、俗に言う「全角文字(2byte文字)」のことじゃないの?
法令用語や間違ったら困る用語をローマ字で表記することはあるけど、それは別にVBに限った話じゃないよね。
「日本語のコードがクソ」って、VB6でありがちな
みたいなコードのことじゃないの?
# これが保守や改修作業の効率化になるとは到底思えない
# 特に最近のちょっと気が利いた開発環境なら特定の変数の使用箇所をリストアップする、ぐらいは容易だから
# 検索のしやすさとか、ぱっと見てわかる、というメリットもそこまで重要ではないはずだ
Re: (スコア:0)
変数名をローマ字にして、[shu,syu]とか[tu,tsu]が混在したり、
命名者が知っている単語だけは英語にしているせいでローマ字と英語が混在したり([芸者名]が、[geishaNm]と[geisyaMei]で混在する)、
英語を採用すると、例えば、[業務]という単語を[affair]と変換しさらに省略して[afr]と記述してるせいで
何を示す単語がわからなくなったりするので、
少なくとも、業務では日本語で入力したほうがまだまし(効率化ではなく、難読化の予防)だと思います。
#どうせなら、フラグも、何通りの意味を定義してしまうから(0:無効,1:有効,3:検討中,9:対象外とか)、使用禁止にすればいいのに
Re:よくわからん (スコア:2)
{
if (記者.帰社)
汽車 += 記者;
}
こうですかわかりません