Visual Basicが25周年を迎える 105
ストーリー by headless
記念 部門より
記念 部門より
MicrosoftのVisual Basic (VB) が20日で25周年を迎えたそうだ(.NET Blogの記事、
WinBetaの記事)。
25周年を記念して.NET Blogでは、VB 1.0からVB6、.NETベースになった最初のVB.NETからVB 2015にいたる14のリリースについて、それぞれの時代を振り返る特集記事を今週から連載する。記事では当時の関係者などのインタビュー映像や、VBをテーマにしたさまざまな内容が盛り込まれるとのこと。過去を振り返るだけでなく、VB「15」以降で計画されている新機能なども紹介されるようだ。
スラドの皆さんは思い出に残るVBのバージョン、気に入っているVBのバージョンはあるだろうか。苦心談などもあればお聞かせ願いたい。
25周年を記念して.NET Blogでは、VB 1.0からVB6、.NETベースになった最初のVB.NETからVB 2015にいたる14のリリースについて、それぞれの時代を振り返る特集記事を今週から連載する。記事では当時の関係者などのインタビュー映像や、VBをテーマにしたさまざまな内容が盛り込まれるとのこと。過去を振り返るだけでなく、VB「15」以降で計画されている新機能なども紹介されるようだ。
スラドの皆さんは思い出に残るVBのバージョン、気に入っているVBのバージョンはあるだろうか。苦心談などもあればお聞かせ願いたい。
Visual Basicの最大の問題点 (スコア:5, すばらしい洞察)
どう考えても、こんな奴にプログラムやらせたらダメだろレベルにでも
プログラムができるようにしたこと。おかげで尻拭いが大変。
clausemitz
Re:Visual Basicの最大の問題点 (スコア:1)
>Visual Basicの最大の問題点は、
VBの問題じゃないよね… と思ったけど、今はそうなの?
#私は永遠の素人
Re: (スコア:0)
市場及び雇用が開拓されたのですね
Re:Visual Basicの最大の問題点 (スコア:2)
一方ビャーネ・ストロヴストルップ氏は雇用を守るためにC++をお作りになった。
http://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html [rim.or.jp]
## mozcで変換候補に出てきたんだけど氏の名前はこれで良いのだろうか...。
Re:Visual Basicの最大の問題点 (スコア:1)
Bjarne Stroustrup 本人による発音 [stroustrup.com]を再生したところ、だいたいそう聞えたからよいのではないだろうか?
Re:Visual Basicの最大の問題点 (スコア:5, おもしろおかしい)
一時期のWikipedia日本語版には「本人による発音は『びょーん・すっぽすっぽ』に近い」とか書いてあって吹いた記憶が。
いつの間にか修正されちゃったけど(当然か)
Re:Visual Basicの最大の問題点 (スコア:1)
https://ja.wikipedia.org/w/index.php?title=%E3%83%93%E3%83%A3%E3%83%BC... [wikipedia.org]
なるほど。
Re:おしりからミミズが出てきたYO (スコア:0)
いやいや、素人から玄人まで分け隔てなくアプリケーション開発をできるようにした
VisualStudioなどのツールを手がけたマイクロソフトはすごいとおもう。
>>おかげで尻拭いが大変。
これよく上から目線で勘違いしている人がいるけど
結局そういったソースなどの管理以上にプロジェクト
管理ができない人や部署、会社がいうせりふなんだ。
きつい言葉でいうと管理ができない無能なんです
Re: (スコア:0)
VC++の面倒くさい前処理後処理イベント処理のコードを見えないようにして誰でも簡単にWindowプログラムを作れるようにしたのは本当に素晴らしいと思います。
VBぐらいのシンプルな言語・動作環境があれば業務の7割ぐらいはそれで回せるので、VB* [microsoft.com]はとても期待しています。
Re:おしりからミミズが出てきたYO (スコア:1)
そうそう
で、フック必要な仕様がボコボコ着いててあれ?となる。
特に多かったのはEnterキーで項目移動。
なにせ基礎となるOSの仕様完全無視の、汎用機/コボラー源流のクソ仕様。
そして今はブラウザアプリがその犠牲者。
Re:おしりからミミズが出てきたYO (スコア:4, 参考になる)
作らされる立場だとそう思うんですけど、現場の熟練オペレータさんたちの作業を見ると結構見方が変わるもので
やっぱり Enter キー遷移は必要なんだなあ、と。
あの人たち、画面も手元も見ないでひたすら脇の伝票をめくりながら信じがたい速度で入力していくのですよ。
左手は伝票をめくるので入力は右手だけで、テンキーの数字と Enter しか押さない。
Enter キー遷移なしで同じ作業を同じ効率でやってみてね、と言われたら正直ごめんなさいとしか言えません。
手書きの紙の伝票だの帳票だの申請書だの FAX だのといったやつらを絶滅させるか、
画像認識・OCR の技術が飛躍的に進まない限り、Enter キー遷移はなくせないでしょう。
# というか、むしろそういった高スループットの作業にブラウザアプリは適していないので
# そういう作業用にレガシーな入力端末を残すシステム設計をするほうが良いのではないかと。
Re:おしりからミミズが出てきたYO (スコア:1)
「ある業務」を「プログラム化する」ことを考えた場合、通常、「その業務の専門家で、プログラミングの素人」と「その業務の素人で、プログラミングの専門家」が組むことになります。
従来の方法というか今でも「プログラミングの専門家が、業務の専門家に聞き取り調査を行い、仕様策定し開発する」というのが一般的な開発工程ですけど、その方法だと「業務として必要なものを過不足無くプログラム化」するのが非常に難しいんですよね。
#いわゆる「顧客が本当に必要だったもの」
それよりも、「業務の専門家が、直接プログラミング」した方が、ちゃんと「顧客が本当に必要だった物」が出来ます。
「できあがったプログラムがクソコードになる」かもしれませんが、それよりも「正しい要望通りのプログラムになる」方が非常に重要。
#業務側が「当たり前だと思って言及していない」ことを、プログラム側が「言及されていないので実装しない」というのが非常にありがち。
そういう「プログラミングの素人な、業務の専門家が、自前でプログラムを作ることができる」という点で、VBなどのRADツールは非常に強力というかエポックメイキングなプロダクトだったんですよ。
「業務の素人で、プログラミングの専門家」なハズのソフトメーカー側でだけ見るとクソコード量産機というデメリットしかない代物になっちゃうわけですが…
Re: (スコア:0)
体感的には、問題はVBをメンテさせられる事よりもVBで作らされる事にシフトしている。
くそコードのメンテは、実際に爆弾を抱えさせられた一部以外は、被害者の絶対数は少ないのではないか。
VB.NETであればC#で書けばいいし、VBA/VBSなら他の解決法を採用するのが長期的には良いのだが、
往々にしてそれを良しとしない人/環境がある。
VB.NETは今やハードルの低い言語では無いと思うが、今敢えて採用するメリットはどのようなものがあるだろうか。
Re:Visual Basicの最大の問題点 (スコア:1)
まぁ、スラドでAnonymous Cowardで発言する人がどういう意図で書いてるかわからんけど
ひょっとして、ご自身のことを書いてるのかな?
だったら、ご自身が辞めればよろしいよ。私みたいに。
clausemitz
Re: (スコア:0)
> 異業種に転職してますが何か?
そりゃよかった。おめでとうございます。
なら何でそんなにカチンと来てるのかちょっと不思議だけど。
Re: (スコア:0)
別ACだけど一度でも低能の尻拭いしたらなぜか分かるよ。
Re: (スコア:0)
どこの業界に行っても尻拭いの仕事はある罠
Re:Visual Basicの最大の問題点 (スコア:3, おもしろおかしい)
どこの業界に行っても尻拭いしか回ってこない
#まわるまわるよカルマはまわるorz
Re: (スコア:0)
尻拭い以外をやらせると、その尻拭いをさせられますから。
Re:Visual Basicの最大の問題点 (スコア:2)
尻ぬぐいのウロボロスみたいですねw
Re:Visual Basicの最大の問題点 (スコア:1)
まあ最近はSIerに「尻ぬぐいが大変なコードもある」ことを認識してる人もそれなりに出てきたので
保守や移植案件で「元のコードが酷くて保守の難易度高いのでステップ数あたりの単価上げますね」って言えるようになってきたからいいかな
アレだ、老人介護の仕事みたいなモノだと思えば悪くないよ、給料に見合ってるうちは
# 移植案件のためにVB6で作られたソースを解析してるのでAC
Re: (スコア:0)
そりゃ嫌だと思ったやつは転職すりゃいいが、結局
誰かが尻拭いさせられることには変わらんだろ
VBの免罪にはならんよ
Re:Visual Basicの最大の問題点 (スコア:2)
居るか居ないかで言えばどの言語でも必ず居る。
居ない確率が低いとか居てもキズが浅いとかで収まるかどうかが言語仕様の差。
Re:Visual Basicの最大の問題点 (スコア:1)
おそらく、ことの本質は、Windowsプログラミング(もしくはもっと根源的にGUIプログラミング)は問題が起きやすいということなんだろうと思う。
その問題が起きやすい部分をどのように隠蔽・自動化・簡略化するかが、各処理系の個性なんだと思う。
そもそもが複雑なので、それをいくら隠蔽しても、複雑な内部構造に対する洞察がなければ思わぬところで落とし穴に陥ってしまう。
GUIプログラミングをサポートしない処理系なら、問題が起きにくいのは当然のこと。
VBで育った (スコア:5, 興味深い)
Windows で初めに出会った言語が Visual Basic 6.0 だった。
誰でも使えて、なんでもできる。仕様をコンパクトに抑えたおかげだろう。
設計時の思想は「VB での実現方法を考えて、数分後に思いつかなければ、それはできないのだ」
でも、だからこそ奥が深い。
簡単な使い方を習ってからは毎日コードに没頭した。
書き捨てコードや新しいアイデアはすぐ書いてその場で実行、使い物になったらファイルに保存するというやり方で資産をためていった。
IDE で完結していて、設定が複雑でないのもよかった。
他人の書いたコードをたくさん見て、たくさん改修した。
思わずうなるような思想が見えるコード、副作用が予測できない黒魔術みたいなコード、実験的に模索した痕跡がわかるコード、20年以上生き延びた古い記法のコード。
自分でも一から書いてみて、いいコード・悪いコードを覚えていった。
自分でもいろいろやった。
遅いから高速化をつきつめるために、配列の境界チェックを外すところから、配列やユーザ定義型のメモリ配置を調べてパスを最適化したり、CPU のキャッシュに収まる・収まらない場合の影響でパラメータを決めたり。
マシン語を手組みして API のコールバックから呼び出させる方法は cdecl の DLL でスタック操作するときにも役に立った。
個人で買えなかったころは VB5CCE の存在も大きかった。
実行ファイルこそ作れないが、全言語機能が無料で使えた。ありがたかった。
今では起動する頻度も減ってしまったが、私のキャリアの礎には間違いなく VB がいる。
アレゲなニュースと雑談サイト
VBで学んだ (スコア:3, 興味深い)
学校の卒業制作のプログラム作成に買ったのだけど
・自宅(Win3.1)と学校(Win95)でプロジェクトがそのまま使えて作業が捗った
・学生はアカデミックパックで安かった
と、色々な意味で助かったし遊べました。
ド素人だった当時はWindowsアプリの基本的な動きとか考え方とか、基本的な事を知るのに役に立ちました。
他の環境や言語を知った今ではVBはもう触りたいとは思わないけど、学び始めに敷居が低い環境の存在は大きいなぁとは今でも思います。
Re:VBで育った (スコア:1)
80年代に「NHK趣味講座 マイコン入門」で入門(笑)、その後、大学でCとPascalしかやってなかった状態から就職。
就職先で初めてVisual Basic 5.0に触れ、電気系の仕事を主として来た上司が
テストツールをぺたぺた&カリカリ書いてさくっと作るのを見て感動した記憶が今も。
その後自分もシステムアプリのメンテから入り、Deborah Kurataさんの「Visual Basic 5.0
オブジェクト指向プログラミング」で勉強してガリガリとVBを使うようになりました。
https://books.google.co.jp/books/about/Visual_Basic_5_0%E3%82%AA%E3%83... [google.co.jp]
なんだかんだ言って私も土台はBasicですね。
まるでミトコンドリアDNAのように生き残るVB6ランタイム (スコア:2)
なんとWindows10でも生き残った。
Re:まるでミトコンドリアDNAのように生き残るVB6ランタイム (スコア:2)
ある条件を満たした未来のCPUアーキテクチャで、覚醒したVB6ランタイムがWindowsOSから独立して反乱を起こすSFホラーなのですね。
// なお、対抗するためのプログラムがテープドライブに入っている。
Re:まるでミトコンドリアDNAのように生き残るVB6ランタイム (スコア:1)
Windows10が最後のWindowsなら、VB6で動いている現状のシステムを他の言語に移植する必要はもうずっと無いんじゃないかな。
とも思ってる。
Re: (スコア:0)
Windowsの後方互換性凄いですね。
Re:まるでミトコンドリアDNAのように生き残るVB6ランタイム (スコア:1)
# 今のアップルがこの方向に舵を切る事は無いんだろうなぁ。
Re: (スコア:0)
品質とか機能とかいぜんに、Apple のソフトウェアに関する保証規定やポリシー確認したら MacOS 採用できないけど。
Re: (スコア:0)
ランタイムが残っているだけでコードの修正が必要なことに代わりはない。
移植よりは楽か。
Re:まるでミトコンドリアDNAのように生き残るVB6ランタイム (スコア:1)
Program FilesとかDocument and Settingsとかハードコーディングしてるのは結構多い
# この辺はVB6の頃は取得するにもAPI使って一手間必要だったから手抜きされたのは仕方がない部分もある
# 強いて言えば設定ファイルを使うべきところではあるだろうが
あとびっしりオブジェクト配置してるとWin8あたりから重なって表示されて一部見えなくなるとかね
Re: (スコア:0)
VB4も動いてますよ。
いっそ動かなくなれば、システム更新の予算つくのに…
Visual Basic for Application (スコア:2)
MS Officeのマクロ用言語として、VBAという曲者が居座り続けていますが。
いつになれば他言語でマクロが書けるようになるのでしょうか・・・・
(もちろん、今でも、COMの参照なりの方法を使えば、他言語から全く使えないわけじゃないのですが)
1を聞いて0を知れ!
Re:Visual Basic for Application (スコア:1)
MS OfficeはCOMだかねぇ。
どうしたってVBになるわな。
今更COM対応な言語なんて作らんだろうし。
.NETのmanagedな世界からCOMを触るって悲惨なことなるし。
そういう意味ではMS Officeも前.NET時代の遺物なんだろうね。
Re:Visual Basic for Application (スコア:1)
VBAが捨てられるとOffice側の互換性が破綻するので当分消えることはなさそうで…その割にはバージョンごとの非互換トラブルもしょっちゅうですが。
でもってCOMと.NETの相性の悪さが厄介なので.NETから扱いづらいですよねぇ。
一応サポートライブラリがあるとはいえ、VBA(COM)がアンマネージドメモリ前提なので互換性を維持しながら.NETネイティブのアプリケーション制御スクリプトエンジンを搭載するのは難しそうで。
うじゃうじゃ
VB1.0使ってました (スコア:2, 興味深い)
VB1.0の良かったのはあのバカ高いSDKを買わなくてもWindowsアプリが組めたという事。
当時VBは直輸入で4万ぐらいだ? SDKが10万越え(15万ぐらいだっけ?)したような気がする。
もちろんSDK以外にMS-Cも必要だったから趣味で使うには結構痛い金額になってたorz
# さらに開発環境を動かす為8MBぐらいメモリを増設するのにン万したからなぁ・・・
MS-CからVBに浮気した後、Delphiに浮気してるのでAC
オープンソースの古典? (スコア:1)
slashdotorg-feed [srad.jp]による転載なんだが、
Microsoft Urged to Open Source Classic Visual Basic - Slashdot [slashdot.org]
クラシックと言われても異論ないが、オープンソースと言っている?
クラシック Visual Basic をオープンソース化する/させる (スコア:1)
誤訳指摘ご教示多謝。
そうすると、もういろいろやってきたから今後は classic Visual Basic
をマイクロソフトから放り出してもういっさい手を貸さないようにする
…的な意味合いなのかなあ?
VBとVB.NETは別物 (スコア:0)
言語的にもランタイム的にも。
一緒にしたらダメだと思うのだが。
Re: (スコア:0)
確かに、.netが出た頃に、VBでそのまま開発できるんだ、と思ってコーディングしたら、なんかすごいVBじゃない感じがありました。
VB.NETでコーディングしていると「無理やりBASICを.NETに合わせている」という感じがしました。
.NETはC#ありきなんでしょうか。
今ではC#のほうが言語的に使いやすいと思っています。
あと、VB 6.0からVB.NETへの改修(移植)がかなりコストがかかるので、今でもVB 6.0のexeがそのまま動いているところもかなりあります。
VB 6.0のソースコードを.NETに変換するツールがVisual Studio(確か2005?)に組み込まれているので簡単に移植できるだろ、と思
Re: (スコア:0)
>大抵のお仕事は地雷案件です。
言語自体が地雷なのではないかと。
できることが増えて言語自体がお手軽言語から厳密な言語になったにもかかわらず、コンパイラーの警告が弱いので動かしてみてミスに気づいて修正に時間がかかるなんてこともざらだし。
Visual StudioのサポートもC#と比べて弱い時期が続いたし。
中途半端にMSのサポートがあるのでユーザーが何とかしようという文化もないし。
個人的には、もはやVB.NETはBasicを名乗るべきではないと思います。
Re: (スコア:0)
そこは「Visual Basic.NETはそれが言語名であってBasicではない」と思うべきじゃないかな
そもそもで言ってしまえば.NETの前(Visual Basic)の時点で「BASICなのか」と言われたら違うと言わざるを得ない内容だった。行番号とかないし。
その前身のQuick Basicが辛うじて一般的なBASICの範疇に入るかは入らないか怪しいぐらいだったように記憶している。
なので「Visual Basic」という固有名称であって「VisualなBasic」ではない、というところからスタートしてるんだと思うよ、実質的には
#ところで個人的にはVB6.0は「ちゃんと使えば」ポテンシャル高い言語なので続行して欲しかった
#VBAはメンテされ続けてるんだからそっちとマージすりゃいけるんじゃねーの?と思うわけだが
Re:VBとVB.NETは別物 (スコア:1)
あれ?VBAでWindowsAPIは叩けましたよね。
そういうことではなく?
1.0 (DOS) (スコア:0)
MS-DOSでGUI作れちゃうのすげーって思ったけど
Windows (3.X) に比べると見劣りしすぎて
結局GUIはほぼ使わず、文字主体のソフトしか作らなかった
Re:1.0 (DOS) (スコア:1)
組込系のデバッグ用に簡易ロギング用のアプリとか作ってましたが
サンプリングタイムがDOSのシステムタイマ(55msだったよな)刻みでしか設定できないので、
無理くりタイマをいじくってたようなおぼえがあります。(アレはVBじゃなかったかも)
Win95以降は、マルチメディアタイマで割込発生させるAPI使えば割と簡単に細かいタイマ割込が作れるようになりました。
Re:1.0 (DOS) (スコア:1)
うぅーんと、
QBはコンパイラとして使って、エディタはお好みのものを使って頂ければ。
それでも気に入らないのは否定できませんが…