Posix vs. Windows

Mehrdad wfunction at hotmail.com
Fri May 18 19:10:29 PDT 2012


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. :)


More information about the Digitalmars-d mailing list