Post by Michael AppleWin Debugger DevPost by Kent DickeyThe Apple II is archaic garbage, yet here we are emulating it.
Apples and Oranges comparison.
First, IF that was true we wouldn't be writing emulators for it.
Second, the design of the Apple 2 is pretty damn elegant.
Third, while the Apple 2 is primitive it STILL has better input latency
then many modern systems. Not bad for an "archaic system"! --
https://www.extremetech.com/computing/261148-modern-computers-struggle-match-input-latency-apple-iie
Fourth, there are STILL much software (such as many original games) on
these old systems that are not available on a modern system.
Sure, from a performance POV old 8-bit computers are "archaic" but that
doesn't make them garbage. You are not going to be editing 4K video on
an Apple 2. The hardware can only do what the hardware can do.
A VCS has ONE job: To keep an accurate history of changes.
The design of RCS is archaic garbage because it doesn't meet the needs of
modern developers. There is a reason git and Perforce have become de
facto standards amongst professionals -- the biggest being scalability.
Git makes common operations, such as branching and checkout, trivial. RCS does not.
Post by Kent DickeyVi is archaic garbage, and I happily use it every day.
No. It's design of using modes is far superior for many tasks -- which
makes it trivial to repeat almost any command. Something completely lost
on modern text editors. While Vi is getting a little long in the tooth
Vim builds upon that good foundation.
Post by Kent DickeyThese arguments seem to mostly be insulting me.
Did you COMPLETELY miss the part where I said?
"If a 1st-gen VCS if works for you more power to you"
Post by Kent DickeyYou know, it's possible to write a version control system that
worked exactly like Git in terms of interface and commands, and yet had RCS
underneath it (hidden in the .git directories).
BWAHAHA.
1. You are not understanding the features of a distributed VCS let alone modern work-flow.
2. That would STILL be a garbage design AND implementation -- things such
as performance, scalability, and size (of the repro.) matter. For
example, the Windows source code is 450 GB. That is just to checkout
"head". Good LUCK trying to have RCS dealing with THAT.
Why is that a problem? With RCS the older the checkout revision the
longer the checkout takes since an increasing number of deltas need to be
calculated. In git this is O(1) since it is a matter of just updating a
pointer. While this time may not matter for small repos, for large repos
this certainly does matter. Why not just use a VCS that is designed
better right from the start to handle scalability and won't run into
performance issues until LONG down the road?
Post by Kent DickeyAnd wasn't CVS built on top of RCS at the file level, too?
When you build upon a crap foundation you end with a shaky building --
which is all the more reason to avoid CVS as well.
Post by Kent DickeyCVS's problems were not RCS, they were in
how they used RCS and it's general overall features.
Doesn't change the fact that CVS is garbage too. Did they _finally_ fix
the inability to rename a file AND keep the revision history? Can you
rename a directory AND keep the revision history? The CVS FAQ says this
isn't possible. This is idiotic. The _contents_ of the file didn't
change, only the meta-data did. What the hell is the point of using a
(broken) VCS if it can't even track basic changes???
The problem with CVS, and RCS, and why their design is fundamentally
broken is that history is tracked on a per-file basis. History of people
using VCSs has shown that this is bad design. Modern VCSs take a
snapshot of the entire project which is the revision.
Linus (of Linux fame) has discussed to death some of the problems with
Tech Talk: Linus Torvalds on git
http://youtu.be/4XpnKHJAok8
The world has moved on from crap like RCS and CVS for over 15+ years now.
Not just for 1 reason but for MANY reasons: Functionality, Performance,
Security, Size, etc.
If you want to keep using an archaic VCS such as RCS then no one is going
to stop you -- but you are selling yourself extremely short by not using
a more modern VCS. Almost no one is going to submit RCS patches to you.
With git it is _almost_ trivial to merge a PR. I have submitted a few
* git clone foo
* edit file
* git add -p bar
* git commit "Fixed bar"
* git push
* Hit the PR button on GitHub
Compared to other VCSs git isn't THAT hard to learn. It doesn't suffer
from the same dumbs designs that others do. As they say hindsight is
20/20 and git has benefitted very much from that. Git, ironically,
literally owes its existence to the closed source proprietary BitKeeper.
EVERY VCS sucks. Knowing what they are good at, and what they are bad
at, helps you pick and use tools that are easier, faster, etc.
Personally I think Vim sucks too. I find it utterly retarded that in
2021 you STILL can't bind CAPS, Ctrl-1, Ctrl-Shift-1 because it is stuck
in 1970's thinking. However, I find Vim sucks _least_ compared to other
editors. Ditto for git. Git's lack of handling binary files without
blowing up the repository is a major deal breaker with games. For the
longest time git couldn't handle large files so you have hacks/extensions
like Git LFS (Large File Storage). But for what git was designed to do
it does a damn good job, far, far better then other VCSs.
If you feel insulted that I called RCS "archaic garbage" then you would
know it is not just my opinion that RCS and CVS are hot garbage. It
would behoove you to learn WHY many professional developers have switched
to git and Perforce. (Having used Perforce I'm not a fan of it either --
it feels extremely clunky.) I'd rather listen to the guy who not only
made his own Operating System, has it running on 100% of the Top 500
supercomputers in the world, along with over 2 Billion mobile devices,
AND wrote a better designed VCS that puts most of them to shame because,
chances are, he is smarter than me then to some "nobody" that wrote a
piece of software decades ago that almost NO ONE uses anymore because the
broken design never got tossed out, nor did it kept evolving to deal with
handling modern problems.
People have used Vi to edit LARGE text files over dial-up. THAT is a
good design that stands up reasonably well today -- not archaic --
because it is performant.
RCS / CVS is like having a hammer. You may think it is OK if all you
need to do pound a few nails in but when you need to eventually drill
holes, use a screwdriver for screws (go figure), etc. you will want to
expand the proverbial toolbox with power tools that can not scale up but
scale down as well. RCS / CVS doesn't scale up hence why it is a
complete joke amongst professional developers.
1. Use what you know. Take the blue pill and remain happy in your ignorance.
2. Or take the red pill and don't be surprised when people offer better
alternatives based on years of experience of having attempted to solve
the same problems year in, year out.
We now return to your favorite emulator discussion ...
m.
Michael, I understand that you are a happy git user—great. But surely you
doing things another way that works well for them.
which ultimately resolve to “there’s no disputing tastes”.