On Saturday, 19 May 2012 at 01:28:32 UTC, H. S. Teoh wrote:
You must be using Emacs with a GUI.

No, I told you I hate Emacs. :P
I've seen *other* people do it, and it's horribly slow.


GUI-intensive apps aren't even on my radar. I don't do GUI.

okay... maybe National Instruments's LabView wasn't a good example for when we're talking about programming lol.


Which is what I mean. GUI's are useless across an SSH connection.

Ah, ok. That makes more sense than "GUIs are slow over an internet connection". Yes, SSH wasn't designed for GUIs (or the converse), so of course it's slow.

Trying to force GUIs onto *nix systems is like trying to force a command-line tool on Windows... doesn't exactly work the way it's supposed to, and it gives you the wrong impression.


Although I'd argue that somebody silly enough to actually design an API with methods called "getValue" deserves the pain of manually renaming every instance of it. :-P

LOL
How about "payload", where have I seen that before? lol



Oh? It's called "rename the method and recompile, get 50 pages of compile errors, pipe it to a grep command that extracts the filenames and line numbers, use sed to transform that into a sed command that automatically substitutes every instance of the matching identifier on the given files/line numbers".

See, I told you I was a command-line freak. :-)



Yes, that's clever. :P **EXCEPT**:

1. Compilers (cough, DMD?) generally limit their output to a few dozen errors, so your '50 pages' is kinda off. :P But yea, you could just loop until it works.


2. Okay, so that's clever. :P Now tell me what you do when you have dozens of lines in your source file like

        @property auto length() { return _range.length; }

and you want to rename the field 'length'? How do you prevent the second one from getting renamed?


Or say you have

        @property auto back() { ... }
@property moveBack() { assert(0, "Cannot move an element from the back!"); }
        auto popBack() { }    // Remove an element from the back

and you change the name of the property 'back' to 'last':

        @property auto back() { ... }
@property moveBack() { assert(0, "Cannot move an element from the last!"); }
        auto popBack() { }    // Remove an element from the last

Notice something funny?

Worse yet, no way in hell that a command-line tool would tell you your documentation is messed up. :P


Well, I _did_ demonstrate how to do it above, given the proper tools and shell support. :-) It's a bit clunky, but hey, it works. And if you get further compile errors, just look those up (using suitable combinations of grep/sed) and undo the wrong substitutions. Just two steps, and you're done.


You're done? Or so you think.
See above.



My IDE is called vim. :-P *runs and hides*

Better than Emacs loll :-P  *also runs and hides*


You're missing the point. My point was that you can do this with *arbitrarily complex sequences of operations*. Yes search and replace with regex is a specific command that's supported by your IDE, but what about "move one line down, one word over, increment the number by 1 repeated 50 times to repair a table of numbers that had some miscalculations"?

Visual Studio has a "Record Macro" feature, to record keystrokes and such, but I haven't used it, so I don't know if it does what you want -- but yeah, if it doesn't, I can see why you'd choose Vim/Emacs/whatever.


It was just for illustrative purposes. It doesn't have to be "repeat n times"; what about "apply operation X,Y,Z until the end of the enclosing block"?

Uhm, just highlight it and apply the operation to the highlighted block...



It sucks to have to open 15 different apps and waste time switching between them when I could do everything without my fingers leaving the keyboard for 1 second (and without focus-distracting cycling through windows).

My hands don't leave the keyboard too often either... even the basics Alt-Tab/Ctrl-Tab/F8/PageUp/PageDown/etc. get the job done fairly well, and the mnemonics (e.g. Alt-O to hit the button with "O" underlined) make it 10x better.



Your example went over my head, 'cos I haven't used windows in any serious way for at least 15 years. :-P

lol ok. If you get the chance sometime, might wanna give Windows 7 a try. :P Last time I used Linux was a few days ago (Ubuntu) so I guess I'd naturally have more to say about it haha.



Stop right there. Project settings, eh? lol...

Better than configure.in/configure/makefile.in/makefile/all that crap. :P



For me, an SConscript does my project management way better than any IDE project settings could ever do.
[...]
Now try writing an IDE that can do all of _that_ in one go. :-P

I gotta use SCons, haven't used it before :)



XML is the spawn of evil, next in evilness only to Javascript, but I digress. :-P Seriously though, you could just use xmlstar (google for it) if you really have to. XML is not meant for human consumption. Only machines can process that horribly tedious stuff without its brain turning into a pretzel.

Haha okay well if you claim the entire STACK of tools is evil then I guess I can't help you there lol.



You don't know what you're missing. No, really. Trust me, I know, because I used to hate them too. I hated them so much, that I wrote (well, tried to write) my own editor just so that I didn't have to use them, when pico just didn't cut it anymore for doing serious work. And then my supervisor at my first job made me learn vim. Which made me hate it all the more. Until one day, after investing lots of time (and venting lots of frustration) into learning how to use it properly, it suddenly all *clicked*. Try it sometime. You might find yourself liking what you thought was impossible not to hate, ever. :-)


Haha I definitely will. I actually never thought they were /bad/ (they're just hard to learn and unintuitive, and so I hate them) but I definitely agree, I could certainly give them another chance and perhaps like them. Will give them another try when I get the chance. :)

Reply via email to