Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

C++ Builder > Vim > Borland C++5.5対応のコードがあったようだ | 過去の実装の除去 | Neovim

$
0
0

VimにかつてあったBorland C++対応コード

現在のWindows版Vimは、Visual C++とMinGWでビルドできるようになっていますが、かつてはBorland C++ 5.5でもできるようになっていました。しかし、Borlandを使う人がいなくなってしまい、いつの間にかビルドできなくなってしまっていました。Borland C++の後継としては、Embarcadero C++も公開されていますが、これに対応させようという人もいませんでした。そのため、Borland向けのコードをすべて削除することになりました。

過去の実装の除去

壊れた実装は不要なものである。正しい。

一方で、過去に誰かがした仕事を足掛かりとして、将来別の誰かが何かをすることもある。

Git上で消えた#ifdefは、その存在自体を最新版では気づかないことが多い。
Embarcadero C++で実装をしようとする人が現れた時は「ゼロ」からのスタートになる。
(今はC++ BuilderでClang(古いバージョン)も使えるようになっているので、そういう人が現れるか不明ではあるが)

Borland C++の実装(壊れているが)が残っていた場合、その情報を読み解き、「この部分を変更すればいいだろう」と作業が短縮されることもあるかもしれない。一方で、残ることでそれを使わない人にとっては「ソース可読性へ悪影響」でしかない。

難しいところ。

Neovim

上記のように、長い歴史を持つVimのコードの可読性や変更困難性を検討した結果生まれたプロジェクトがNeovimだと認識している。

https://neovim.io/

https://neovim.io/charter/

Neovim is a refactor, and sometimes redactor, in the tradition of Vim (which itself derives from Stevie). It is not a rewrite but a continuation and extension of Vim.

neovimはスクラッチからコードを実装する?(あるいは大規模なリファクタをする?)ことで、長い歴史を持つVimの複雑なコードをシンプルなものへと変えようとしている、と認識している。

neovimが今後どれくらい支持されるか不明であるが、そういう動きもある。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>