True! No, false! No, true!



  • Code snippet of the week, or maybe month. This developer gives VB6 a bad name. He does it all:

    • Random indentation. Why should things look consistent?
    • Commented-out code. You never know when you'll need some wrong code again.
    • Obscure and haphazard names. Consistency is for dweebs!
    • This developer uses a coding technique I call "beating the code into submission."
    • And (almost) True, False, FileNotFound.

    All demonstrated in this code snippet that drove me to submit to TDWTF:

    Private Sub lblExpChange()

       If lblexp.Tag = "-" Then lblScDtl1.Visible = False

       lblScdtl2.Visible = False

       Picture3.Visible = True <FONT color=green>'False 'True </FONT>



  • I agree with most of your assessment, but I don't think you are correct on the indenting issue.  Three spaces is a weird indent, but it is consistent and correct.



  • @Jaime said:

    I agree with most of your assessment, but I don't think you are correct on the indenting issue.  Three spaces is a weird indent, but it is consistent and correct.

    He didn't say the indenting problem was evidenced in this particular snippet, more in his overall work output.



  • @Flatline said:

    @Jaime said:

    I agree with most of your assessment, but I don't think you are correct on the indenting issue.  Three spaces is a weird indent, but it is consistent and correct.

    He didn't say the indenting problem was evidenced in this particular snippet

     

    @D-Coder said:

    All demonstrated in this code snippet



  • @bstorer said:

    @Flatline said:

    @Jaime said:

    I agree with most of your assessment, but I don't think you are correct on the indenting issue.  Three spaces is a weird indent, but it is consistent and correct.

    He didn't say the indenting problem was evidenced in this particular snippet

     

    @D-Coder said:

    All demonstrated in this code snippet

    Ah, OK, then I guess he did.



  • @D-Coder said:

    This developer VB6 gives VB6 a bad name.

     

     

    FTFY.



  • @Flatline said:

    @bstorer said:

    @Flatline said:

    @Jaime said:

    I agree with most of your assessment, but I don't think you are correct on the indenting issue.  Three spaces is a weird indent, but it is consistent and correct.

    He didn't say the indenting problem was evidenced in this particular snippet

     

    @D-Coder said:

    All demonstrated in this code snippet

    Ah, OK, then I guess he did.

    My bad. The indentation in the snippet was in fact okay (unless I mangled it into correctness along the way). But if you hit yourself in the head repeatedly with a dense object, you can imagine what the indenting in several hundred other lines of code was like.



  •  Yes. 'No.'Yes.



  • @Jaime said:

    Three spaces is a weird indent, but it is consistent and correct.

     

    Oh no - three spaces (5 or 7 also work) indenting is perfect for proving that you should really use tabs instead. It goes like this:

    - (tab person) We could use tabs and everyone can just see whatever they like.
    - (spaces person) No we need to use spaces! Spaces FTW!!!
    - (tab person) Ok, 3 spaces it is.



  • @viraptor said:

    @Jaime said:

    Three spaces is a weird indent, but it is consistent and correct.

     

    Oh no - three spaces (5 or 7 also work) indenting is perfect for proving that you should really use tabs instead. It goes like this:

    - (tab person) We could use tabs and everyone can just see whatever they like.
    - (spaces person) No we need to use spaces! Spaces FTW!!!
    - (tab person) Ok, 3 spaces it is.

    Speaking of WTFs at work, I inherited a large code base with mixtures of tabs and spaces.  I don't mean normal things like older code from developer x has tabs and newer code from developer y has spaces.  I means a typical line might be:

    <tab><tab><space><tab><space><space><space><space>code

    When I open the source files in Notepad++ with whitespace annotations turned on, my eyeballs almost explode.  My favorite problem is when holding down the delete key, deleting radically accelerates because the beginnings of lines are typically tab heavy.  I usually end up deleting part of the previous line before I realize I've entered a "tab zone".



  • Another good VB6 one that I'm sure you have is inconsistent capitalization.  This is one of the hallmarks of really bad VB6 code because one of the best ways to make it is to do a lot of typing after making the code unparsable by the IDE.  For me, as soon as intellisense stops working, I go and fix whatever broke it.  I don't understand why these people type hundreds of lines of code without intellisense.



  • @viraptor said:

    @Jaime said:

    Three spaces is a weird indent, but it is consistent and correct.

     

    Oh no - three spaces (5 or 7 also work) indenting is perfect for proving that you should really use tabs instead. It goes like this:

    - (tab person) We could use tabs and everyone can just see whatever they like.
    - (spaces person) No we need to use spaces! Spaces FTW!!!
    - (tab person) Ok, 3 spaces it is.

    My first style guideline is "don't fight the defaults".  Visual Studio has been converting tabs to spaces for as long as I've used it (16 years).



  • @Jaime said:

    My first style guideline is "don't fight the defaults".  Visual Studio has been converting tabs to spaces for as long as I've used it (16 years).

     

    I wouldn't mind spaces, except if you accidentally tab too far, you have to hit backspace *4* times to correct your mistake. That's weird, and doesn't work with my brain-- in my brain, one keypress = 1 backspace.

    So yeah, that's the first default I change. It doesn't matter since I don't work with anybody whose opinion I respect.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    I wouldn't mind spaces, except if you accidentally tab too far, you have to hit backspace 4 times to correct your mistake. That's weird, and doesn't work with my brain--
    Have you ever used Community Server? It doesn't seem to suffer from that problem...



  • @blakeyrat said:

    I wouldn't mind spaces, except if you accidentally tab too far, you have to hit backspace *4* times to correct your mistake.

    Try Shift+Tab instead.



  • @blakeyrat said:

    @Jaime said:

    My first style guideline is "don't fight the defaults".  Visual Studio has been converting tabs to spaces for as long as I've used it (16 years).

     

    I wouldn't mind spaces, except if you accidentally tab too far, you have to hit backspace *4* times to correct your mistake. That's weird, and doesn't work with my brain-- in my brain, one keypress = 1 backspace.

    So yeah, that's the first default I change. It doesn't matter since I don't work with anybody whose opinion I respect.

    Try backspace in VB6.  The most likely explanation for the random indenting in the OPs code is VB6's backspace handling.  For example, if you leave the indenting setting at the default of four, you can indent to any distance you want and not even notice the four until you hit backspace.  It works like this:

    1.  Type beginning of block statement, hit enter.
    2.  IDE doesn't indent.  Hit space twice, type next line.
    3.  IDE aligns next line indented at two spaces (yes, even with indenting set to four spaces).
    4.  After the last statement of the block, hit enter and backspace to unindent.  Freakin' IDE will unindent four spaces, not aligning the beginning and end of the block.

    It will, however, fix your backspace problem if you indent with the tab key.  It will convert the tabs to spaces when you hit tab and actually eat four spaces at a time when you backspace.  All this screwyness is due to VB6 not having block-completion and the IDE trying to avoid guessing block endings.



  • @fatbull said:

    @blakeyrat said:

    I wouldn't mind spaces, except if you accidentally tab too far, you have to hit backspace *4* times to correct your mistake.

    Try Shift+Tab instead.

     

    I'm with you, but that's not how I delete accidental presses of the other 104 keys on the keyboard.

    1 keypress -> 1 character in the file -> 1 backspace to get rid of

    Anything else is just confusing. I don't like confusing.



  • @blakeyrat said:

    @fatbull said:

    @blakeyrat said:

    I wouldn't mind spaces, except if you accidentally tab too far, you have to hit backspace 4 times to correct your mistake.

    Try Shift+Tab instead.

     

    I'm with you, but that's not how I delete accidental presses of the other 104 keys on the keyboard.

    1 keypress -> 1 character in the file -> 1 backspace to get rid of

    Anything else is just confusing. I don't like confusing.

    On embedded irish girls, more than just one key will confuse things if you try and undo it by pressing backspace. It's a sad thing to see a grown man struggle with caps lock.



  • @PJH said:

    @blakeyrat said:
    I wouldn't mind spaces, except if you accidentally tab too far, you have to hit backspace *4* times to correct your mistake. That's weird, and doesn't work with my brain--
    Have you ever used Community Server? It doesn't seem to suffer from that problem...
    But you still have to press Bacspace twice



  • @blakeyrat said:

    I don't work with anybody whose opinion I respect.

    And he's self-employed, folks!

    *ba-ba-damm-tishhh!*




  • @blakeyrat said:

    Anything else is just confusing. I don't like confusing.

    Math used to be confusing. Then I learned how it worked. Now I use it every day.

    A career in IT will be challenging indeed if you're unable to learn new ways to do things.



  • @th30519 said:

    @blakeyrat said:

    Anything else is just confusing. I don't like confusing.

    Math used to be confusing. Then I learned how it worked. Now I use it every day.

    A career in IT will be challenging indeed if you're unable to learn new ways to do things.

     

    Well, there's also the fact that "the new way" offers zero benefit over "the old way."

    And I started out programming C and PASCAL on Mac Classic, where the Tab character was firmly established, so habit's a factor.

    Either way, consistency = good. Inconsistency = bad.



  • @blakeyrat said:

    Either way, consistency = good. Inconsistency = bad.

    I tried to come up with an argument for this, but I can't.  I agree completely that inconsistency is bad.

    Perhaps the breakdown is the over simplification of the "1 keypress -> 1 character in the file -> 1 backspace to get rid of" paradigm.  Clearly, there are other functions that keypresses perform. Most editors have macros that affect multiple lines (like commenting out a block of code), where a series of keypresses does not equate to an equal number of "characters in the file".

    But I think over-simplification and failing to adapt our mental models can cause problems just as much as inconsistency. Not that I mind that you use Tab when I prefer spaces.  That's not the point.

    Diff'rent (key)strokes for diff'rent folks.



  • @blakeyrat said:

    Inconsistency = bad.
    Except when it's good.



  • @th30519 said:

    @blakeyrat said:

    Either way, consistency = good. Inconsistency = bad.

    I tried to come up with an argument for this, but I can't.  I agree completely that inconsistency is bad.

    Perhaps the breakdown is the over simplification of the "1 keypress -> 1 character in the file -> 1 backspace to get rid of" paradigm.  Clearly, there are other functions that keypresses perform. Most editors have macros that affect multiple lines (like commenting out a block of code), where a series of keypresses does not equate to an equal number of "characters in the file".

    But I think over-simplification and failing to adapt our mental models can cause problems just as much as inconsistency. Not that I mind that you use Tab when I prefer spaces.  That's not the point.

    Diff'rent (key)strokes for diff'rent folks.

     

    Yup.

    I can't use CLI systems very well, for two reasons:

    1) I "grew up" in GUIs. I never bothered to learn much DOS, for example, because our house always had Macintoshes.

    2) CLI systems always make me feel like I have to change *myself* to talk to a machine. I have to memorize obscure commands, memorize directory structures (or constantly look then up), memorize common parameters... I suck at memorizing stuff!

    It doesn't help that most CLI interfaces suck, even if you're agnostic about the CLI/GUI issue... for example, Bash employs all the latest usability innovations from 1980... wow. Even for text-based UIs, we can do better guys!! Of course, the only people who really care about CLIs are Linux users, and if you *gasp* changed something they might lose a bit of their muscle-memory, and that one script they wrote in 1978 might stop working, even if the change was obviously superior. So there's no chance of improvement, it's frozen in time. Ironically, Microsoft has done more to improve the CLI interface by introducing PowerShell than anybody who makes a living working with CLI interfaces.

    Anyway, with GUIs, I feel like the system and I are on the same page more often than not, and I don't have to memorize a bunch of stuff to do basic tasks. I'd be happier if there were any OSes with a spatial GUI left*, but... you can't have everything I guess.

    With the GUI, my mental model is really small and it doesn't matter if details in it change-- and most of it is visible on the screen while I work. CLI users have a huge mental model, and the tiniest change seems to rattle them. Generalizing here, sorry.

    And obviously not every one of those 105 keys can be trivially reversed with backspace, but if you use Tab as intended, more of them can than if you don't use Tab as intended.

    *) Yes, yes, I know Ubuntu has one. Sorry, still not gonna use it.



  • @blakeyrat said:

    we can do better guys!!
     

    What's wrong with the guys you're doing now?


  • @Someone You Know said:

    @blakeyrat said:

    we can do better guys!!
     

    What's wrong with the guys you're doing now?
    God bless you.


  • @th30519 said:

    Perhaps the breakdown is the over simplification of the "1 keypress -> 1 character in the file -> 1 backspace to get rid of" paradigm.  Clearly, there are other functions that keypresses perform. Most editors have macros that affect multiple lines (like commenting out a block of code), where a series of keypresses does not equate to an equal number of "characters in the file".
    I'm with blakeyrat on this one. Tabbing is a low-level brain operation, closer to typing than other operations.

    If you used tabs instead of spaces you would understand. It's effing annoying when the editor doesn't translate backspace to unindent. It just doesn't feel right.



  • @Zecc said:

    @th30519 said:

    Perhaps the breakdown is the over simplification of the "1 keypress -> 1 character in the file -> 1 backspace to get rid of" paradigm.  Clearly, there are other functions that keypresses perform. Most editors have macros that affect multiple lines (like commenting out a block of code), where a series of keypresses does not equate to an equal number of "characters in the file".
    I'm with blakeyrat on this one. Tabbing is a low-level brain operation, closer to typing than other operations.

    If you used tabs instead of spaces you would understand. It's effing annoying when the editor doesn't translate backspace to unindent. It just doesn't feel right.

     

    BTW, on this note, some people mentioned above that VS works the same way whether you're using tabs or spaces-- that is, when you have it set to spaces, it backspaces 4-at-a-time.

    I spent some time this morning fiddling with it. Guess what? That's true for some languages, and not others. Since I work in CSS, HTML, JavaScript, and C# all day, the backspace behavior would only be correct half the time... ugh, that's actually worse than never being correct.

    Edit: Actually it's even weirder. If you have VS set to spaces, backspace will work correct sometimes and incorrectly others. For example, if you type a line, hit enter, then hit backspace it'll correctly backspace 4 spaces. However, if you hit tab on a new line, then hit backspace it'll only delete 1 space. This behavior (now that I've figured it out) is actually consistent in C++, C#, CSS, HTML and JavaScript files.



  • @blakeyrat said:

    Microsoft has done more to improve the CLI interface by introducing PowerShell than anybody who makes a living working with CLIs interfaces.

    FTFY.

    Well, barring the obviousness that most people who work with a CLI don't write their own, I'll bite - how has MS advanced and/or revolutionized the CLI?



  • @rad131304 said:

    Well, barring the obviousness that most people who work with a CLI don't write their own

     

    Most people who use an IDE don't write their own, either. But IDE's have improved leaps and bounds in the last 15 years... do you remember what (say) C++ Builder looked like 15 years ago? Has there been any significant change to Bash in 15 years? I don't see how this "obviousness" is relevant to the discussion.

    @rad131304 said:

    I'll bite - how has MS advanced and/or revolutionized the CLI?

    Before we start, have you ever used PowerShell? Because if you haven't, this is just going to be PowerShell 101.



  • @blakeyrat said:

    @rad131304 said:

    Well, barring the obviousness that most people who work with a CLI don't write their own

     

    Most people who use an IDE don't write their own, either. But IDE's have improved leaps and bounds in the last 15 years... do you remember what (say) C++ Builder looked like 15 years ago? Has there been any significant change to Bash in 15 years? I don't see how this "obviousness" is relevant to the discussion.

    Because the set of all people who write code generally do more to advance programs than the set of all people who use programs? I thought it was rather obvious as one is a subset of the other. Basic set theory.

    @blakeyrat said:

    @rad131304 said:

    I'll bite - how has MS advanced and/or revolutionized the CLI?

    Before we start, have you ever used PowerShell? Because if you haven't, this is just going to be PowerShell 101.

    So, if I have never used PS, you aren't going to tell me how it's better? This isn't an add on package to SDSS is it?



  • @rad131304 said:

    Because the set of all people who write code generally do more to advance programs than the set of all people who use programs? I thought it was rather obvious as one is a subset of the other. Basic set theory.

    I mean I guess I get what you're saying, but I still don't see how it's relevant.

    Look, IDEs have a ton of users who write code, have advanced leaps and bounds over the years.

    Bash/other Linux CLIs have a ton of users who write code, have advanced not at all over the years.

    So I don't see how "having a ton of users who write code" says anything about the platform evolving.

    @rad131304 said:

    So, if I have never used PS, you aren't going to tell me how it's better?

    Well, there's two problems:

    1) There's no point in turning this thread into PowerScript 101. You can read up on it at your leisure and determine for yourself whether the way it works is superior to Bash or not.

    2) Even if you think it's not superior, at the very least the fact that Microsoft has released a new CLI language in the last 10 years means they're at least trying.

    It's like the Office Ribbon thing-- some people think it's better, some do not, but at leas they're trying to shake things up and change the world, they're not just resting on their ass and writing the same old GUI over and over and over again. That's the way I see it at least.



  • @blakeyrat said:

    2) CLI systems always make me feel like I have to change *myself* to talk to a machine.

    Right, because pointing, clicking, double-clicking and drop-down menus are just innate instinctive skills that mankind has possessed since we were sitting around in caves picking lice off each other?(*)   I think any kind of computer interface involves changing yourself to do things that don't come naturally, and it's only an ease-of-learning thing - a difference in quantity, not quality - of the kind of unnatural shapes you have to bend your mind into to wrap it round a bunch of new concepts.

     

     

    (*) - last thursday 



  • Thus my use of the word "feel." I know emotion is a hard concept, but try to bear with me. I'm not saying GUIs are objectively better, I'm saying they make me feel better while I'm using them.

    That said, I do believe spatial interfaces are better for exactly the reason you bring up: in the real world, when you place something down, it stays where you put it. Our minds have adapted to that, and thus have a great deal of memory available for remembering where stuff is.



  • @rad131304 said:

    @blakeyrat said:

    Microsoft has done more to improve the CLI interface by introducing PowerShell than anybody who makes a living working with CLIs interfaces.

    FTFY.

    Well, barring the obviousness that most people who work with a CLI don't write their own, I'll bite - how has MS advanced and/or revolutionized the CLI?

    PowerShell is pretty cool, but error handling is utterly atrocious in 1.0.  It's bash meets UNIX pipes meets Object Oriented Programming.  In the Windows world where everything isn't a command line program, it allows us to script things that would otherwise be difficult to script using object oriented interfaces exposed from the system or from third party software.  It will also allow piping to and from command line programs, but that is only a small subset of what it does.



  • @blakeyrat said:

    @rad131304 said:

    So, if I have never used PS, you aren't going to tell me how it's better?

    Well, there's two problems:

    1) There's no point in turning this thread into PowerScript 101. You can read up on it at your leisure and determine for yourself whether the way it works is superior to Bash or not.

    2) Even if you think it's not superior, at the very least the fact that Microsoft has released a new CLI language in the last 10 years means they're at least trying.

    It's like the Office Ribbon thing-- some people think it's better, some do not, but at leas they're trying to shake things up and change the world, they're not just resting on their ass and writing the same old GUI over and over and over again. That's the way I see it at least.

    Good - we are getting somewhere; PowerShell is better because it can do PowerScripts. Can you explain what you can do in PowerScripts that you can't do in bash?

    Participation awards were invented by the parents of losers; I don't want one, and Microsoft shouldn't want one either. Go for the fucking W.

    This nothing like the "Office Ribbon thing" - take some ADHD meds and stay on topic.


  • Discourse touched me in a no-no place

    @rad131304 said:

    Good - we are getting somewhere; PowerShell is better because it can do
    PowerScripts. Can you explain what you can do in PowerScripts that you can't do
    in bash?

    Being late to this DSW.. What is the difference between the two? (The only thing I use bash for at home (excluding work) is to reboot the tempremental twattish excuse for a WiFi point.

    Sorry.. What can PowerShell siting on top of (I presume) DOS do better than, say, bash, sh, ash, or any other random shell that the perpetrator deems unworthy of their OS?



  • @blakeyrat said:

    Edit: Actually it's even weirder. If you have VS set to spaces, backspace will work correct sometimes and incorrectly others. For example, if you type a line, hit enter, then hit backspace it'll correctly backspace 4 spaces. However, if you hit tab on a new line, then hit backspace it'll only delete 1 space. This behavior (now that I've figured it out) is actually consistent in C++, C#, CSS, HTML and JavaScript files.

     

    After a new line, VS automatically indents, but it does not insert spaces until you actually type something. Backspace acts as if there were tabs in this case. I usually have "View White Space" turned on so I can see what I'm deleting.



  • @PJH said:

    What can PowerShell siting on top of (I presume) DOS do better than, say, bash, sh, ash, or any other random shell that the perpetrator deems unworthy of their OS?
    Unix handles piping a few (generally one) streams of bytes, usually in text. PowerShell handles piping an arbitrary number of .NET objects, in an arbitrary number of channels. That is all.



  • @DaveK said:

    @blakeyrat said:

    2) CLI systems always make me feel like I have to change myself to talk to a machine.

    Right, because pointing, clicking, double-clicking and drop-down menus are just innate instinctive skills that mankind has possessed since we were sitting around in caves picking lice off each other?()   I think any kind of computer interface involves changing yourself to do things that don't come naturally, and it's only an ease-of-learning thing - a difference in quantity, not quality - of the kind of unnatural shapes you have to bend your mind into to wrap it round a bunch of new concepts.

     

     

    () - last thursday 

    You appear to be confusing how things are with how they should be, which seems to be the point wossname is trying to make here. It's a bit like saying that fast processors draw lots of power and output lots of heat: it's a limitation we currently work with, but we're trying to work towards removing it.



  • @blakeyrat said:

    @Zecc said:

    @th30519 said:

    Perhaps the breakdown is the over simplification of the "1 keypress -> 1 character in the file -> 1 backspace to get rid of" paradigm.  Clearly, there are other functions that keypresses perform. Most editors have macros that affect multiple lines (like commenting out a block of code), where a series of keypresses does not equate to an equal number of "characters in the file".
    I'm with blakeyrat on this one. Tabbing is a low-level brain operation, closer to typing than other operations.

    If you used tabs instead of spaces you would understand. It's effing annoying when the editor doesn't translate backspace to unindent. It just doesn't feel right.

     

    BTW, on this note, some people mentioned above that VS works the same way whether you're using tabs or spaces-- that is, when you have it set to spaces, it backspaces 4-at-a-time.

    I spent some time this morning fiddling with it. Guess what? That's true for some languages, and not others. Since I work in CSS, HTML, JavaScript, and C# all day, the backspace behavior would only be correct half the time... ugh, that's actually worse than never being correct.

    Edit: Actually it's even weirder. If you have VS set to spaces, backspace will work correct sometimes and incorrectly others. For example, if you type a line, hit enter, then hit backspace it'll correctly backspace 4 spaces. However, if you hit tab on a new line, then hit backspace it'll only delete 1 space. This behavior (now that I've figured it out) is actually consistent in C++, C#, CSS, HTML and JavaScript files.

    I'm so glad I use vim with softtabs.



  •  @PJH said:

    @rad131304 said:

    Good - we are getting somewhere; PowerShell is better because it can do PowerScripts. Can you explain what you can do in PowerScripts that you can't do in bash?

    Being late to this DSW.. What is the difference between the two? (The only thing I use bash for at home (*excluding work*) is to reboot the tempremental twattish excuse for a WiFi point.
    Sorry.. What can PowerShell siting on top of (I presume) DOS do better than, say, bash, sh, ash, or any other random shell that the perpetrator deems unworthy of their OS?

    Well, since XP, the CLI in Windows isn't really DOS, it just looks and acts almost identical.

    From my limited readng, PowerShell appears to be ths CLI + .NET + UNIX pipes extended to cover said .NET objects + the single/double quoted string paridigm from PHP + the Verilog Modules concept.

    I can see this making for some powerful scripts (excuse the pun) - but I'm not convinced that this is as magical as blakeyrat makes it sound. IMO, it sounds like MS has built a decent basis for an ITE sans error handling (I feel like that's a major contradiction but w/e), but only insofar as it relates to .NET unit testing. Those developing in C and VHDL probably won't care. 



  • @blakeyrat said:

    Thus my use of the word "feel." I know emotion is a hard concept, but try to bear with me. I'm not saying GUIs are objectively better, I'm saying they make me feel better while I'm using them.

    Ahem.  If you're going to criticise me for social skills, try not to do it by jumping down my throat on a misunderstanding.  I never contradicted your feelings about it; I was just trying to suggest a theory about how there wasn't actually a qualitative difference between the two, only a quantitative one; I don't see that that's in any way incompatible with what you told me about how the two make you feel.  I *was* listening.

    @blakeyrat said:

    That said, I do believe spatial interfaces are better for exactly the reason you bring up: in the real world, when you place something down, it stays where you put it. Our minds have adapted to that, and thus have a great deal of memory available for remembering where stuff is.

    Yes yes; the spatial metaphor is certainly a good thing, but a desktop with a bunch of folders that may contain files or other folders is not really a different construct when you access it via a GUI or a CLI, it's the exact same kind of tree structure that you have to understand, hence my theory that you're learning the same kind of underlying conceptual structure in either case, and the two are different means to more or less the same ends.  Is that perhaps a bit more reasonable than you think I was being?

    It's a really interesting yet at the same time not straightforward subject, how we build abstract concepts out of physical components and metaphors.  Have you ever noticed, how in very many languages, the future is conceived as a destination, a place to which you are travelling - hence future tenses are all "I am going to X" - while the past is conceived as a solid, substantial thing, like something that you could hold in your hand or possess - hence past tenses contain "I have X"?  It seems obvious, at first, that these abstract concepts are grounded in the basic physical concepts we had to learn to deal with back when we were swinging from tree to tree; yet it's not a universal constant across cultures either, some cultures use entirely different ways to refer to past and future that don't refer to simple physical metaphors at all. 

     



  • @davedavenotdavemaybedave said:

    You appear to be confusing how things are with how they should be

    I don't think I was; I thought I was pointing out that there were similarities between two "ways that things currently are", despite their seemingly-different outward forms; I was suggesting that what we learn from both these different ways of presenting the same underlying structure to us must be fundamentally the same thing, regardless of the metaphor by which we have come to learn it.

     



  • @rad131304 said:

    the single/double quoted string paridigm from PHP

    PHP got it from Perl.  Perl got it from shell scripting.



  • @DaveK said:

    @blakeyrat said:

    Thus my use of the word "feel." I know emotion is a hard concept, but try to bear with me. I'm not saying GUIs are objectively better, I'm saying they make me feel better while I'm using them.

    Ahem.  If you're going to criticise me for social skills, try not to do it by jumping down my throat on a misunderstanding.  I never contradicted your feelings about it; I was just trying to suggest a theory about how there wasn't actually a qualitative difference between the two, only a quantitative one; I don't see that that's in any way incompatible with what you told me about how the two make you feel.  I *was* listening.

    Thanks, guys; this is the gayest thing I have read all day.



  • @morbiuswilters said:

    @rad131304 said:

    the single/double quoted string paridigm from PHP

    PHP got it from Perl.  Perl got it from shell scripting.

    … and we all agree it must have been Louise who gave it to him …



  • @DaveK said:

    Yes yes; the spatial metaphor is certainly a good thing, but a desktop with a bunch of folders that may contain files or other folders is not really a different construct when you access it via a GUI or a CLI, it's the exact same kind of tree structure that you have to understand, hence my theory that you're learning the same kind of underlying conceptual structure in either case, and the two are different means to more or less the same ends.  Is that perhaps a bit more reasonable than you think I was being?
     

    Yes, but I don't buy that the two are equivalent. Except for a tiny sub-set of Linux developers and other various geeks, people have vastly, vastly more spatial memory (remembering what contains what, where the file icon lives, based on visual clues) than they do rote memory (remembering the names of directories and files).

    In a truly spatial system, and there haven't been any since about Mac OS 9 so bear with me here, you can navigate your filesystem by "feel". You never need to think about the names of files, or even look at the names of files most of the time, since you know what icon the file icon is in, and what icon it's in, waaay back in the back of your brain. This works, because the file browser doesn't re-sort or move or otherwise fuck-up your "mental geography" of the desktop space.

    Now if you're the type of person who is better at rote memorization than spatial memorization, well... you're in good company here, since for some reason the computer world is dominated by these types of people, and you've successfully turned the brilliant spatial file system of Mac Classic into a distant memory.

    Anyway, sorry for being a jerk. It's hard not to when the forum's full of jerks.



  • @blakeyrat said:

    Except for a tiny sub-set of Linux developers and other various geeks, people have vastly, vastly more spatial memory (remembering what contains what, where the file icon lives, based on visual clues) than they do rote memory (remembering the names of directories and files).
    I think system is more important than either memory. For example, I remember neither layout nor content of any directory except for maybe my desktop and a few other exceptions. I don't need to remember because my file manager will tell me.

    When I'm looking for something, I try to guess where I might have saved it. I don't remember the exact path, rather I rebuild it on the fly. For instance, when I need a specific document, I might start at my home folder. I see that I can choose between family pictures, mp3, and work stuff. I select work. Now I can choose between some projects and tax data. I select tax. Now I can choose between years 2005 to 2009 and select one. If my file is there, I'm happy. If it's not, I use a search engine. Icons and other visual clues can help in this process, but until I actually remember their meaning, names are more useful.

    In my opinion, the major difference between CLI and GUI is not how to access files, but how to accomplish something. A GUI offers suggestions what I can do in a certain situation, e.g., in a context menu, whereas in a CLI I have to remember everything myself. Auto-completion helps somewhat, but I still have to remember every single command and its parameters I'm going to use. A CLI is certainly more flexible and powerful this way, but a GUI is usually more user-friendly and intuitive in the general case.

    I think the "spatial" argument applies very well to GUI layout. The general window layout and menu structure of an application seldom change and are usually consistent across different software versions and computers. For example, most applications use a similar toolbar icon for their Save command and also have it at the same place inside the File menu.

Log in to reply