1件のコメント

 
GN⁺ 2024-11-12
Hacker News のコメント
  • Figma に UI の動作まで付けられるなら、まさにこんな感じになりそう。Web はここ数年ずっと逆行しているように感じるし、Flash を失って HTML5 に移行したものの、創造的な人たちがいろいろ作っていた流れは尻すぼみになってしまった
    以前は Visual Basic、Delphi、Borland JBuilder のような IDE に簡単なアプリケーションビルダーがあり、Eclipse にも一時期、簡単な Swing UI ビルダーがあった。Web 側にも Dreamweaver、FrontPage などがあった
    そうしたツールが完璧だったという意味ではないが、まともな代替が出てこなかったし、今は Figma で「デザイン」した後、開発チームがほとんど最初から実装し直す形なので、ひどく無駄が多いように見える

    • 実際にどれほど無駄なのかはよく分からない。重なる部分はあるが、経験上それほど多くはなく、フロントエンドの時間の大半はコンポーネントの裏側の動作、デバイスとの相互作用、セキュリティ、API 呼び出しに使われる
    • ビジュアル UI ビルダーが進むべき道だったとは思わない。静的 UI には合うが、動的な制約を表現しようとした瞬間に破綻する
      Figma もそれを示している。素早いプロトタイプでは要素を絶対位置に置いてシンボルを使うのが有用だが、autolayout を持ち込んだ途端、CSS flexbox と grid で経験する問題をほぼそのまま抱えることになる。ただし、バージョン管理、リファクタリングツール、ChatGPT のない、はるかに劣ったシステム上でそれに直面するという違いがある
      主観的にも、特定のコンポーネントを選ぶために 15 個のグループをダブルクリックしたり cmd クリックで掘り下げたりしてからテキスト形式のプロパティを編集するより、XML 構造を直接扱うほうがずっと簡単だ。だから Apple と Android はインターフェイスビルダーを DSL の方向へ押しやったのだと思う
  • VB6 は、今すぐ成果物を作らなければならない人にとって、間違いなく最高の IDE だった
    2000 年代半ばに PC ベースの CCTV システムを設置していた頃、レストランの顧客に PC をデモしている最中に Pandora の音楽サービスを見せたところ、店内スピーカーで聴けるかと聞かれた。車にあった 3.5mm-RCA-BNC ケーブルでアンプにつないであげると、顧客は 21 世紀に入った気分だと言ってとても喜んだ
    続いて、音楽を一時停止して客にアナウンスできるかと聞かれたので、デスクトップに sndvol32.exe のサウンドミキサーへのショートカットを作ってあげた。従業員に事務所ではなくカウンターで操作させたいと言われたので、クリップ 1 個と 30 分だけくれと言った
    車から単線ではない Cat 5 ケーブルと古いベージュ色の IBM 2 ボタンマウスを持ってきて、事務所から受付カウンターまで配線し、Cat 5 の 1 ペアを左クリックのスイッチにはんだ付けしたうえで、マウス本体に石膏ボード用のネジを打ち込み、剥製の鹿の頭のように壁に取り付けた。事務所側では DB-25 を持ち歩いていなかったので、クリップにリード線をはんだ付けして PC の LPT ポートに安定して接続した
    その後は簡単だった。「VB6 Volume Mixer」を検索してダウンロードし、stereo mix のミュートチェックボックスを開いて 1 行分をタイマーにコピーし、100ms 間隔で LPT ピンがショートしているか確認して、ショートしていれば stereo mix をミュートし、マイクのミュートを解除するようにした
    事前計画なしに現場で作ったもので、その顧客は今も顧客のままだ。何でも屋タイプの作業者には本当に素晴らしいツールだった

    • 数年前 Reddit で、レストランの従業員が壁に付いたマウスを押してアナウンスしているのを見た、というコメントを読んだ気がする。注文の準備完了通知だったと思うが、かなり独特な構成なので、おそらくこの事例だった可能性が高い
    • VB6 も好きだが、これは VB6 が 10%、MacGyver が 90% に見える。Phoenix Foundation にぜひ必要な人材だ
    • 「VB6 が最高の IDE」ではなく 2 位だった。最高は Delphi で、今ならもしかすると Lazarus かもしれない
  • 本当によくできていて、次に Delphi まで出てくれば、開発環境の状態にまた満足できそうだ
    ソースコード: https://github.com/BAndysc/AvaloniaVisualBasic6
    Lazarus を教えてくれていたコメントが削除されたので補足すると、Lazarus は知っているし、古いプロジェクトで使っている。ただ、ブラウザ内でも動くモダンなバージョンが欲しく、この事例のように .NET はその用途によさそうに見える。もしかすると https://pascalabc.net/en/ ベースでもよいかもしれない
    冗談ではなく、Pascal/Lazarus と Common Lisp でのプログラミングは、最近のツールより今でもずっと楽しく、不安感はなく、楽しさと生産性だけがある

    • クライアントやブラウザ内で .NET ベースの技術を使えるからといって、必ず使うべきというわけではない。こうしたフレームワークにはたいてい大きな妥協があり、いったん使い始めるとすぐに依存してしまう
      例えば MVC から MVC へ移行するのは、webforms から blazor/avaloniaui/dotvvm へ移行するよりずっと簡単だ
    • Turbo Pascal/C++ がもっと必要だ
  • 90 年代末から 2000 年代初頭にかけて、VB5/6 では本当に生産的だった。あらゆる小さな問題を解決するユーティリティアプリをたくさん作ったし、組み立てるように作れるのがとても簡単だった。vb.net に移行しようとしたが、同じ感覚ではなかった

    • ここにある VB6 Winforms ビルダーは、今日リリースされた最新の Visual Studio 2022 の Winforms ビルダーとほぼ 100% 同じだ
      毎日何時間も使っているが、フォームにコンポーネントをいくつかドラッグ&ドロップして少しロジックを付けるだけで、数分で小さなデスクトップアプリが動く
      2021 年からはサポートがさらに良くなったので、残念ながら C# でコーディングしているが、コードの可読性のためには正直 VB.NET のほうが優れていたと思う
    • その感覚は分かる。大学時代、GPIB、UART、RS422 などの機器のテスト自動化を書くVB6 担当者で、電気工学科の大学院生としてかなり稼いだ。TA の仕事を辞めたところ機器担当者として代替され、修士課程の学費も大半はそれで賄った
  • 当時最高のプログラミングツールの一つを思い出す。BASICからVisual Basicへ移ったときは衝撃的だった。現代にもああいうツールが恋しいし、最近のいわゆるノーコードやローコードのツールはかなり違う仕組みで動いている。今でも最高のローコードはVBがやっていた方式だと思う

    • 恋しがる必要はない。似た方式で動くツールはまだある: https://www.lazarus-ide.org/
    • 正直、リアクティブプログラミングのアプローチなら、IDEにもそれに関連したユーザー体験を付けるのはそれほど難しくなさそうだ
      ほとんどのフレームワーク開発者は、生産性を重要指標として忘れているように思う。多少不公平な言い方かもしれないが、ビジュアルツールが足りないのは残念だ
  • わあ、VB6は子どもの頃にソフトウェア開発へ入門させてくれたまさにそのツールだった。今日まさに必要だった懐古だ

    • 同じ経験だ。ただ若気の至りで、BASICは役に立たない言語だと断じて、MS Visual C++ 6へ移るまでに長くはかからなかった
      C++とMFCは別の理由でもっとひどかったが、その後Linuxを見つけ、あとは皆が知る流れだ
      それでもVB6のRADほど強力なものはまだ見つけられていない。最近は完全に原始人のように、UIを手で配置したりXMLを書いたりして作っている
    • 自分も同じだ。VB6の海賊版と、使い方をかなりうまく紹介してくれていたWebサイトからのダウンロードで始めた
      Win32 APIで画像にDMAをかけて、スプライト間のピクセル単位の衝突判定を作るようなこともしていたのを覚えている。楽しい時代だった
    • 性能の良いDLLは**Visual C++**で作り、それをVBから使うとき、VBは完璧なバランス地点だった
  • 作者のGitHubを見て回ったら、クラシックなWin9xのルック&フィール向けUIライブラリもメンテしているようだ: https://github.com/BAndysc/Classic.Avalonia
    気に入ったので、これを使って自分でアプリを作ってみたくなった

    • そのライブラリだけでも、VB6再現と同じくらい別途投稿する価値があると思う。ディテールが素晴らしく、Avaloniaをまた掘り下げてみたくなる
  • あの時代が恋しい。すべてのIDEに行単位デバッガがあった
    今のAngular/Reactアプリケーションには何年たってもそういうものがなく、いまだに構文にも混乱する

    • そう考えたことはなかったが、その通りだ。Reactにはそこそこ良いブラウザプラグインのツールがあるが、IDEに戻す過程はいまだにつらい
    • 書いたものと実際に実行されるものがあまりに違うので、シングルページアプリは別の言語だと見たほうがいい。Firefoxには良いJavaScriptデバッガがあり、ビルドツールの出力がsourcemapを出していればうまく動く
  • 良い。小さなバグ報告がある
    ボタンを追加してダブルクリックし、コードウィンドウを開き、MsgBox "Hello"のような簡単なコードを入れたあと、コードウィンドウ右上のxを押した
    コードが保存されなかった。コードを更新するには、プロジェクトを「Save」するか「Run」する必要がある。昔のVB IDEは入力したものをすべて覚えていたので、この点が違う

    • ボタンコントロールでは動くが、ラベルコントロールはいくらやってもClickイベントを発生させないようだ
  • 90年代には、多くの小さな会社がVBとAccessで回っていた記憶がある。非プログラマーに本当に大きな力を与えていた
    Webにも似たものがあるといい。一部のローコードソリューションは見た目は似ているが、VBが違っていたのは、途中で乗り換えなくても完全なアプリへ成長できた点だ。最近のWeb CRUDアプリを開発してデプロイする複雑さにはいつも驚かされる

    • Webはアプリプラットフォームとして本当にひどい。人気がある理由は二つある
      第一に、インストールが不要で、OSのパッケージングを扱わなくていい。あらゆるOSのパッケージングがひどいからだ
      第二に、SaaSはDRMだ。ソフトウェアをクラウドにホストすれば違法コピーされず、月額サブスクリプション料金を簡単に取れる
      第三を挙げるなら、コラボレーション機能を作りやすくなる点だが、これは一部のソフトウェアにだけ当てはまる
    • PowerAppsがある。Office365に組み込まれている