世界最悪のプログラミング環境は? 103
格が違う 部門より
Hacker Newsにて「The Worst Programming Environment in the World?」(世界最悪のプログラミング環境は?)という記事が話題だ。元ネタとして挙げられているのは、BANCStarというプログラミング環境。
BANCStarは財務・金融アプリケーション向けのプログラミング言語で、元々はNational Financial Computer Services, IncのBANCStarというアプリケーションの内部言語として作られたものらしい。この言語は数字とカンマ(「,」)、マイナス記号、キャリッジリターンでのみ構成されており、これだけですべてのプログラムを記述しなければならない。元々は別の開発ツールで作成したプログラムを変換ツールでこの言語に変換して利用する、といった使われ方を想定していたようだが、その開発ツールの制限により、直接このコードを手打ちするようになってしまったという。
コードはただの数字の羅列にしか見えないのだが、たとえば「3000」は「conditional」を、「8500」は「GOTO」を意味しているらしい。また、変数と定数は合わせて2000個しか使えず、さらに画面やプリンタに出力されるデータは必ず定数として定義しなければならないという制約があったため、実際のアプリケーションでは変数がプログラムの各所で使い回されるという状態になっていたそうだ。
Hacker Newsではコメントでそのほかの「最悪な」プログラミング言語環境についても言及されており、「MUMPS」などが言及されている。/.J読者諸氏が使わされた「最悪」なプログラミング言語環境はなんだろうか。
昨日読んだ (スコア:3)
最悪のプログラミング言語、BANCStar [blogspot.jp]
日本語訳してあるから、多分読み易いハズ。
Re:昨日読んだ (スコア:2)
Re:昨日読んだ (スコア:1)
ハンドアセンブル的なコードの入力は、慣れればなんとかなる気がするけど、
利用可能な変数が少なすぎて、グローバルなワーキング変数を各所から使い回してる。
とか、
GOTOの飛び先は絶対指定で、プログラムの分量が変動したら全部見直し。
とかが怖すぎる。
Re: (スコア:0)
すげぇ、エクセルで扱えそうだ。
excelだな (スコア:2)
emacsに比べて使いにくすぎる。
これ見ると (スコア:2)
紙に穴開けて命令文つくるほうがずっとスマートに見える
真夏のタイで (スコア:1)
無いものは作れ! (スコア:1)
結果として工数削減&経費削減にむすびついたかは疑問だが・・・
今はネットで探す情熱はあってもあの頃のような情熱はないな。
copy CON autoexec.bat (スコア:1)
一行単位でしかミスを許されない
CR押してからミスったのに気が付いたら最初からやり直し。
#mifres miniしか使わない時期もあったなーgesaku
なんだ (スコア:0)
ただのハンドアセンブルか
Re: (スコア:0)
4ビットCPUでないだけ、ましだな
※RAMが128ニブルの大容量!って書いてあったので、上司に4Kバイトぐらいのデータぐらい保存できるだろと大昔いわれた
うむ (スコア:0)
Re: (スコア:0)
80年代はそういうこともあった。
8つのトグルスイッチと1つのボタンでプログラムコードを入力したこともあるな。
Re:うむ (スコア:2)
車のチューニング業界だと、今でもやっている人がいますね・・・。
新人。プログラマレベルをポケモンで言うと、コラッタぐらい
Re:うむ (スコア:1)
私も現物は見たことがないのですが, 旧電電公社のDIPS [srad.jp]の開発がそれに近いものだったらしく, オンラインターミナルでプログラミング出来るようになったのが画期的なことだったとか.(1980年代中頃の話です)
いつか通った道 (スコア:0)
>たとえば「3000」は「conditional」を、「8500」は「GOTO」を意味しているらしい。
普通にアセンブリ言語みたいだけど。
てことは、アセンブラを作りなおしてしまえばいいだけの気も。
# GOTO ならぬ BRA が $20 ってのは未だに覚えている
## $AD $9F $FB $FA なら死ぬほど見た
Re: (スコア:0)
このへんの経緯がよくわかりませんよね。
「本当にあったひどいプログラミング環境」というくくりならば、
「走り始めた紙テープのバグ修正」とかの方がきつそう。
Re: (スコア:0)
「開発ツールの制限」となっていますが、「ツールの出来が悪くてやってらんねー、直接いじるか」ということのようです
Re: いつか通った道→自分で選んだ道? (スコア:2)
茨の道を選んだようですが、元のツールの開発環境がどれだけ厳しかったのやら
短期でのリターンを求められて、選択を誤ったんでしょうか?
Re: (スコア:0)
元はコンパイル後の中間コードだったけど、コンパイラだか仮想マシンの制限に
触れないようにプログラムを作るには中間コードを直接書いた方が手っ取り早かった、
ということでは?
変数と定数は合わせて2000個までとか、許された計算機資源を全部使えるマシン語の
方がよっぽどマシな気がする。
Re: (スコア:0)
>BRA が $20
6809か6800でしょうか?
小学生のときに6809を、高校生のときにZ80を使いました。
6809のコードは、(Z80と比較すると)いろいろ高級なぶん複雑で、ハンドアセンブルはやりづらかった・・・
そういう意味で、最悪のプログラミング環境といえる?
6809の後にZ80のアセンブリ言語を覚えたときに6809の「格の違い」みたいなものをかんじましたが
ハンドアセンブルはZ80のほうが、その単純さゆえに圧倒的に楽でしたねぇ。
別に (スコア:0)
それを入力するのがトグルSWで表示がLEDアレイだったりする訳でも無いのだろ?
じゃあ別段問題ないじゃないか。
最悪のプログラミング環境 != 最悪のプログラミング言語環境 (スコア:0)
前者だと、貧乏自慢、俺寝てねー自慢。
後者だと、難解コード自慢。
前者には未来がないが、
後者にはスパーハカーの可能性がある。
うちの息子に (スコア:0)
算数の説明をするときかな…
Re: (スコア:0)
プログラムされることに抵抗する処理環境。
なだめすかしながらやらないと非行に走る……か。
最悪だ。
精神的に最悪なプログラミング環境 (スコア:0)
プログラマーの自分はPentium4とかの安いパソコンで開発してるのに、
上級エンジニアや営業はCorei7搭載の最新パソコンでエクセルとネットしか使わない仕事してる
Re:精神的に最悪なプログラミング環境 (スコア:2)
Re: (スコア:0)
SEだけど同じような状況。精神的によくないので、社内で一番いいスペックのものを自費で買って、職場に持ち込みました。
Re: (スコア:0)
> プログラマーの自分はPentium4とかの安いパソコンで開発してるのに
ビルドに数時間かかるようなら、ご愁傷様としか言いようがないが、
そうでないなら、別に問題無くね? 動作速度のチェックにもなるし。
Re: (スコア:0)
余りプログラマーに言い環境を与えると、パフォーマンスを無視したコードを書くという弊害がw
プログラマの環境では1秒で終わるものが客先では10分たっても終わらないとか。
#まぁ、多分そういう理由ではないんだろうが
Re:精神的に最悪なプログラミング環境 (スコア:1)
解像度で確認してくれと思うことはあります。社内でXGAのノートPCを使いながら「この画面、絶対
FullHDのディスプレイでしか確認してないだろ」といつもつぶやいておりますので。
内製IDE (スコア:0)
エクスプローラとアイデアツリーとVC6くらいを合体させたような内製の統合開発環境
見た目も機能も垢抜けない…
これで生産性が上がると思って設計した人、実装した人、プロジェクトに導入した人に小一時間問い詰めたい
Re: (スコア:0)
なんのスキルアップにもならなかったし
Re: (スコア:0)
独りよがりな仕様の俺様IDEなら最近俺も見たことがある
MicrochipのPICマイコン用の開発環境MPLABXが最低最悪(あくまでもX付きの話であって無印のMPLABのことではないからね)
世の中の組込開発環境のデファクトのメニュー構成や操作方法を完全無視、それなのに大規模プロジェクトのチーム開発に使うような機能はタップリ(メモリサイズ数kybeteから、たかだか256kbyte程度のマイコン開発にそんな機能が必要か?)
Re:内製IDE (スコア:1)
たとえばRenesas e2studio みたいに Eclipse のアドオンとして作れば、最低限のラインはクリアできるのになんで貧弱な物をゼロから作るのか。
そのルネサスも e2studio は海外向けで、国内向けには CubeSuite+ とかいう一人よがりIDEを使わせようとしていますが。
昔は普通だった (スコア:0)
アセンブラ買う金なかったんだよな。
コード書いて、ハンドアセンブル。
FE 8004
86 36
63 02
A7 03
といった感じね。
逆アセもなかったんで、間違えると一発で音信不通状態。
マクロアセンブラ (スコア:0)
マクロアセンブラ使ってシコシコ環境整備すればよろし
Re: (スコア:0)
>たとえば「3000」は「conditional」を、「8500」は「GOTO」を意味しているらしい。
こんなのはテキストエディタのマクロで済んじゃいますよね。
逆に言えば、多分使っている人は困って居ないのだろう。
>変数と定数は合わせて2000個しか使えず
なんてのは、組み込みなんかだとメモリ空間が2kByteしかない(それ以下)って事すら有るので特出するのもでもないし。
つか、アセンブラだと計算に使える変数なんて微々たる数しかないのが当たり前だしなあ。
富士山頂で (スコア:0)
エクストリームプログラミングかと
# 美女に囲まれてプログラミングできたら最高の環境だろうか
Re:富士山頂で (スコア:1)
プログラミングの環境としては最悪ですよ。
美女に囲まれてたら、プログラミングなんかしてられませんて。
Re:富士山頂で (スコア:1)
> オッサンに囲まれた環境だとどうだろうか?
うん。いつもの職場ですね。生産はしてます。
> 自宅でテレビ、ゲーム、同僚から監視のないネット環境に囲まれる
趣味でプログラミングしてたころならそういう環境でも開発できたけど、今は自宅で開発する気になれません ><
というわけで、答は Yes でした。
最悪というかなんというか。 (スコア:0)
とあるCPUのアセンブラでプログラムを書け(そしてエミュレータからの出力を提出しろ)、
という授業があった際、当時普通にそのCPUのアセンブラでコード書いてた私他数名が、
課題の説明途中に課題内容をコーディングして、渡されたエミュレータでその場で
動かしてみたところ、エラーがでまくる事例が発生しました。
その場で絶対にエミュレータがおかしいと言う話になり抗議したものの、課題の変更はなく。
エミュレータのバイナリの逆アセンブルからやり直しながらコーディングするはめになりました。
最終的に、バグったエミュレータ上で正しい結果を吐くコードと出力、何がバグだったかの
まとめと、正しいコードと、修正したエミュレータのコードと出力を提出してA判定をもらいました。
翌年、それを丸写しした後輩が再提出をくらっていました。
バージョン管理が非効率 (スコア:0)
バージョン管理システムは導入していてても、チェックアウトに紙ベースの申請が要るとか、コミットにも要るとか、差分はバージョン管理システムの外の別のコマンドで取って、紙に出力して蛍光ペンでチェックするとか
ラインエディタ (スコア:0)
とかいっても分かる人おらんのだろうな。
Re:ラインエディタ (スコア:2)
Re:ラインエディタ (スコア:1)
えどリン
っていうと、ゆるキャラか萌えキャラみたいだね!
Re:ラインエディタ (スコア:2)
ふつーed。
って書くと、妙な感じがするね!
Re:ラインエディタ (スコア:1)
えりりんと間違って打つこと数百回。
#ちょうどあの頃だったもんでgesaku
NECのBATOOL (スコア:0)
この業界から足を洗う直前に、NECのBATOOLというのを扱いました。
なんだか高級そうでしたが、これが私にはなんだかさっぱり分からず、もう潮時だとかんじて業界から去りました・・・
この開発ツールの一般的評価というのはどうなんでしょ?
ぐぐってみても情報が少なくて・・・
Re:てっきり、 (スコア:2)
「i386 CPU、Visual Studio」
とかそっちの話かと