Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news-1.dfn.de!news.dfn.de!news.informatik.hu-berlin.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Ian Collins Newsgroups: comp.programming Subject: Re: programmer's keyboard Date: Tue, 01 Jan 2013 13:24:06 +1300 Lines: 111 Message-ID: References: <150e1c64-726a-43cc-82f9-a52c81a2e8ce@googlegroups.com> <_sWdnYhcjvIJl0LNnZ2dnUVZ8sadnZ2d@bt.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net l+mTkMoHqUMa+To/DweplQvxQfTFWgxvLawbPguCrs/U9jBccDq6WL96scismN9/ZM Cancel-Lock: sha1:QgWmyeK1hIfTIXUJMqfI3PISkQU= User-Agent: Mozilla/5.0 (X11; SunOS i86pc; rv:17.0) Gecko/17.0 Thunderbird/17.0 In-Reply-To: Xref: csiph.com comp.programming:2708 BGB wrote: > On 12/31/2012 2:05 PM, Ian Collins wrote: >> BGB wrote: >>> >>> granted, TorgoiseHg adds revert to Explorer, making the above a bit moot. >> >> As do popular IDEs such as Eclipse and Netbeans. >> > > Eclipse with C or C++ kind of sucked IME, and doesn't seem to support > using MSVC as the back-end compiler (the version I looked at only > supported GCC as a backend, and wasn't really all that configurable). > > never tried Netbeans, wasn't aware of it working with non-Java languages... I use Netbeans on various platforms for C, C++, PHP and JavaScript. It has good support (including background compilation) for all four of them. >>> the rest would come down mostly to granularity. >>> (like, if you revert, it will go back to the last commit, meaning being >>> strategic about when to commit, ...). >> >> You commit when you pass a test or refactor. >> > > this could potentially still be a fairly coarse granularity. In my case, 10 - 20 times an hour. >>> guards, however, can be finer-grained, and can be enabled/disabled at >>> will, rather than depending specifically on the immediate history. >> >> If you need lots of them, you are doing something wrong. >> > > usually, a lot is about fine-tuning the behavior or performance. > > say, a person has 2 or 3 versions of a piece of code, which may approach > the problem in slightly different ways, and the goal may be to figure > out which is faster, or has the more desirable behavior. Use branches, merge when done. >>> and, CTRL-Z is about specific edits, meaning it can undo very recent >>> changes, and go as far back (usually) as there are undo levels, or when >>> the editor was last closed and reopened (whichever was more recent). >> >> A pain in the arse if you want to undo changes in several files. > > usually, in this case (a change which would need to be reverted in > multiple places), these will be put under the control of a define: > #define MYLIB_SOMEFEATURE You still have to clean up afterwards. >>> it is much like the tradeoff between using Find/Replace and grep or sed. >>> >>> Find/Replace is often easier, because it it right there in the editor. >> >> Again, popular IDEs support project wide edits and common refactorings. > > I typically use stand-alone text-editors. > > I could use Visual Studio more often, if I wanted the IDE experience. There's plenty of choice out there. >>> the convenience balance may be partly reversed on Linux though, >> >> There are more than two operating systems.... >> > > well, there are Windows, Linux, and OSX. > > much beyond this, it is hard-pressed to find "anyone who gives a crap". > it is like, how many people use FreeBSD? not really enough to matter. If just about every ISP doesn't matter.... > other options, like Android or Chrome, don't really count, in that they > are Linux-based. There are still a lot of us working on commercial and other open source UNIX. >>> as noted before, the main killer was the long upload times, and because >>> it seemed to want nit-picky things, like creating a new version entry >>> and typing something in the changelog, before it would commit anything. >> >> Ah yes, good development practice! >> > > yes, but it doesn't save in annoyance, especially if the whole point is > that a person commits regularly. Not really, if your changes are small, so are your comments. >> The long upload times would be down to the Internet, not Mercurial. It >> will only copy changes. This can be a big advantage when you make a >> small change to a big file over a slow link. >> > > IME, it was typically uploading a lot of data each time. The best demo I used (with SVN) was to check out a big spreadsheet over a slow VPN, change one cell and commit it back. Copying over the VPN took a couple of minutes, the SVN commit took a few seconds to send the delta. -- Ian Collins