Command Line vs. GUI on Linux


  • Banned

    @gurth said in Command Line vs. GUI on Linux:

    @gąska said in Command Line vs. GUI on Linux:

    Because there's actually very few analogues that actually work. Case in point: thread. In real life, a string that you wrap around thousands of times to make clothes. In computing, a single set of instructions to execute in order along with allocated memory specific to this thread.

    Or maybe, the word “thread” in programming derives from analogy to “the thread of this conversation”.

    Maybe. It doesn't help that the latter is very metaphorical itself. And the meaning doesn't quite match either.

    Window: a glass separator between the inside and the outside or between two rooms, or a working space for a program to draw its GUI in that can be moved around or resized.

    What does it say? I can't read it since it's all covered in GDPR popup. But if it says what I think it says, then yes, it's kinda, sorta similar to the use in computing - but also very metaphorical, and also a bit of a stretch from its meaning in computing. Windows don't let you peek into an application - they ARE the application.

    Yes, like ROUNDDOWN() and SUM().

    You mean "floor" and "aggregate"? I said IT, not Excel.

    We’re talking about different things, that comment made me realise. I’m talking about computer use in general, and specifically spreadsheet formulas, and you’re talking about programming languages.

    It's funny how you put it - I'm talking about programming languages and specifically spreadsheet formulas, while you talk about everything but programming languages, but you talk specifically about spreadsheet formulas. We don't really talk about different things - we talk about the same, but view it differently.

    Yes, spreadsheet formulas are a programming language of kinds, but the important difference that you don’t seem to want to recognise is that they are intended to be (and are) used by people who are not programmers.

    And the bit YOU aren't seeing is that being a programming language is a very important characteristic, because it completely changes the rules of what makes it usable and easy to learn.

    By making the keywords more like normal language (whichever one), the chances of someone stumbling across the right one are greater, if you ask me. “I want to get the sum of the values in these cells …” They’re more likely to think of trying, or looking for, SUM() than for AGGREGATE().

    I disagree. There are four ways they can find out the correct function - reading some tutorial, browsing through function list (all with textual description), looking up what formula Excel puts in when using UI button "sum up" (or whatever it's called in English), or blind guess. The last one doesn't work, and the rest are equal in difficulty regardless of function name. Memorizing might be a bit harder - but I don't think it matters in long run; everything can be memorized if used often enough.

    This problem only gets worse if they have to do it in another language

    Or does it? I believe it doesn't matter what language the word is in for memorization purposes. You don't need to know the word's original meaning to learn its meaning in context of Excel formulas.



  • @gąska said in Command Line vs. GUI on Linux:

    Or does it? I believe it doesn't matter what language the word is in for memorization purposes. You don't need to know the word's original meaning to learn its meaning in context of Excel formulas.

    And quite frequently, knowing the "original" meaning can be misleading. If I stand unmoving, with a weight held at arms length for 10 minutes, have I done any work? Common meaning, yes. Physics meaning, no.

    The technical term for this is "term of art." Law is full of them. Sciences are even fuller of them. Programming is fullest of them, being almost entirely terms of art that mean something akin, but completely different from (or different from in critical ways) their common-language meaning.



  • My answer is the same for both Windows and Linux.

    For work I prefer CLI, as I'll save the command for major change to the server. This makes every steps that I made verifiable and replayable(So that I can just copy and paste if I need to do the exactly same task in future).

    For personal use I use whatever sucks less. :P



  • you don't see that regular people can be put off by having to interact with words in another language

    At this point I must ask if these are the same people that might be put off by an idea that a Jew might be living on their very street...



  • @gąska said in Command Line vs. GUI on Linux:

    What does it say? I can't read it since it's all covered in GDPR popup.

    I just inspected that and deleted the relevant HTML to see the page (however, since I didn’t get the popup this time, it seems this to the site implies acceptance of their cookies when I specifically did so to not signal my acceptance). The relevant bit:

    a window on/onto/into something - definition and synonyms
    PHRASE
    something that shows you what something else is really like
    Is the play an accurate window on the world?
    This traditional art form provides a fascinating window into another culture.

    Windows don't let you peek into an application - they ARE the application.

    They let you peek at the data the application needs/uses/requires, though.

    Memorizing might be a bit harder - but I don't think it matters in long run; everything can be memorized if used often enough.

    It’s a lot quicker and will cause a lot less thinking and looking stuff up if it’s something that’s easy to remember, though. Extreme example: BASIC vs. Brainfuck. I’d say PRINT is easier to remember as the magic word that puts something on screen than . is, especially since all the other keywords in Brainfuck are so similar to it. (Though I do wonder at Microsoft’s decision to allow abbreviation of PRINT to ? when that seems to much more appropriate as shorthand for INPUT. Anyway …)

    Or does it? I believe it doesn't matter what language the word is in for memorization purposes.

    It most definitely does. I can remember Dutch, English and German words much more easily than I can Italian, Polish or Finnish ones for the simple reason that I actually speak those first three languages but not the other three.

    You don't need to know the word's original meaning to learn its meaning in context of Excel formulas.

    In which case Brainfuck should be just as easy to learn and read as any other programming language. Is it?


  • Banned

    @gurth said in Command Line vs. GUI on Linux:

    @gąska said in Command Line vs. GUI on Linux:

    What does it say? I can't read it since it's all covered in GDPR popup.

    I just inspected that and deleted the relevant HTML to see the page (however, since I didn’t get the popup this time, it seems this to the site implies acceptance of their cookies when I specifically did so to not signal my acceptance). The relevant bit:

    a window on/onto/into something - definition and synonyms
    PHRASE
    something that shows you what something else is really like
    Is the play an accurate window on the world?
    This traditional art form provides a fascinating window into another culture.

    So it's even more different from the meaning in computing than I thought.

    Windows don't let you peek into an application - they ARE the application.

    They let you peek at the data the application needs/uses/requires, though.

    If the application exposes some non-UI interface to extract the data, and the window program is developed independently of the application providing the data, then yes. Otherwise, it's just the application using the window to show data. You only "peek" into data in a very methaphorical way. If you need a metaphor to explain your metaphor of an established metaphor, it's hardly an analogy to real world.

    Memorizing might be a bit harder - but I don't think it matters in long run; everything can be memorized if used often enough.

    It’s a lot quicker and will cause a lot less thinking and looking stuff up if it’s something that’s easy to remember, though.

    Yes, some things are easier to remember and others require more time - but it doesn't matter in the long run. If you use something five time a day, every workday, it means about 105 uses every month, or 1260 uses every year. No matter how hard the word is, you WILL memorize it after typing it for 105th time. And if it's a word you type rarely enough you don't get to automatically memorize it just by doing your job, there's a good chance looking it up every time doesn't save you enough time for memorizing to be important.

    Or does it? I believe it doesn't matter what language the word is in for memorization purposes.

    It most definitely does. I can remember Dutch, English and German words much more easily than I can Italian, Polish or Finnish ones for the simple reason that I actually speak those first three languages but not the other three.

    What about words that you use on regular basis despite not using the language they come from at all? Did they take significantly longer time to memorize too?

    You don't need to know the word's original meaning to learn its meaning in context of Excel formulas.

    In which case Brainfuck should be just as easy to learn and read as any other programming language. Is it?

    Let's replace symbols with some common, memorable words. [->+<] becomes Forward Minus Right Plus Left Back. Did it get any easier to learn or read? The problem isn't lack of words, the problem is Brainfuck.


  • ♿ (Parody)

    @gąska said in Command Line vs. GUI on Linux:

    @gurth said in Command Line vs. GUI on Linux:

    @gąska said in Command Line vs. GUI on Linux:

    What does it say? I can't read it since it's all covered in GDPR popup.

    I just inspected that and deleted the relevant HTML to see the page (however, since I didn’t get the popup this time, it seems this to the site implies acceptance of their cookies when I specifically did so to not signal my acceptance). The relevant bit:

    a window on/onto/into something - definition and synonyms
    PHRASE
    something that shows you what something else is really like
    Is the play an accurate window on the world?
    This traditional art form provides a fascinating window into another culture.

    So it's even more different from the meaning in computing than I thought.

    Windows don't let you peek into an application - they ARE the application.

    They let you peek at the data the application needs/uses/requires, though.

    If the application exposes some non-UI interface to extract the data, and the window program is developed independently of the application providing the data, then yes. Otherwise, it's just the application using the window to show data. You only "peek" into data in a very methaphorical way. If you need a metaphor to explain your metaphor of an established metaphor, it's hardly an analogy to real world.

    BEEP BOOP. Um, actually, the window is drawn by the window manager / operating system at the request of the application. BOOP BEEP.


  • Java Dev

    @gurth said in Command Line vs. GUI on Linux:

    In which case Brainfuck should be just as easy to learn and read as any other programming language. Is it?

    APL might be a better example?



  • @admiral_p said in Command Line vs. GUI on Linux:

    (I reject the notion that it's simply all hard work, it's reactionary, Calvinist drivel that serves to morally justify those at the top).

    Not a Calvinist, but as I understand Calvinism, it's deterministic (denies free will). God has selected those to be saved from time immemorial, and there's nothing you can do about it. So the opposite of what you're saying here. (A Calvinist might be able to straighten me out on this.)


  • Resident Tankie ☭

    @tharpa as I understand it, it's both. The rich and successful have been hand-picked by God (but us humans are not privy to his choice), and the rich and successful embody the Calvinist virtues of hard work and dedication. If you are lazy and poor it's because God chose for you to be a lazy slob, or something like that.



  • @gąska said in Command Line vs. GUI on Linux:

    Let's replace symbols with some common, memorable words. [->+<] becomes Forward Minus Right Plus Left Back. Did it get any easier to learn or read? The problem isn't lack of words, the problem is Brainfuck.

    No, the problem here is the keywords, whether they’re symbols or your descriptions of them. If you were to replace [->+<] by START_LOOP DECREMENT_CURRENT_BYTE NEXT_BYTE INCREMENT_CURRENT_BYTE PREVIOUS_BYTE GOTO_START it’s suddenly a lot clearer what the program does.



  • @pie_flavor said in Command Line vs. GUI on Linux:

    I like my methods named foo.GetBarData() and not foo.Gbdat().

    I hate how here we mix these conventions like "get" and "set" with our own language. To make things worse, we don't have anything that sounds good as a replacement for those. Same with suffixes like "xxxBuilder", "xxxAdapter", "xxxActivity".


  • Considered Harmful

    @sockpuppet7 That's why good languages reimplement patterns as language constructs. In C# it'd just be foo.BarData.



  • @pie_flavor But there is no replacement for a suffixes like Builder. Instead of ThingBuilder it would have to be something as BuilderOfThings to make sense after translation. Or we just mix the "Builder" suffix with our own words and ignore the weirdness of it all.


  • Considered Harmful

    @sockpuppet7 House builder vs builder of houses? Sounds right to me.
    Meanwhile, C#'s initializer block and Kotlin's receiver lambdas can do the same thing as builders. Like I said: Patterns reimplemented as programming constructs.



  • This post is deleted!

  • Banned

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    @pie_flavor said in Command Line vs. GUI on Linux:

    I like my methods named foo.GetBarData() and not foo.Gbdat().

    I hate how here we mix these conventions like "get" and "set" with our own language. To make things worse, we don't have anything that sounds good as a replacement for those. Same with suffixes like "xxxBuilder", "xxxAdapter", "xxxActivity".

    I don't quite see the problem. Is there something wrong with having standarized naming conventions for standarized patterns?


  • Banned

    @pie_flavor said in Command Line vs. GUI on Linux:

    Meanwhile, C#'s initializer block and Kotlin's receiver lambdas can do the same thing as builders.

    Dunno about Kotlin, but C#'s initializer blocks only work in the simple case where builder is there just to set some properties, so if you have any sort of non-trivial construction logic, you can't use it? Also, it forces all your "builder" properties to have public setters, right?


  • Considered Harmful

    @gąska Well, you could also have a builder class (where everything is handled by properties in the initializer block), which implicitly converts to the built class.



  • @gąska said in Command Line vs. GUI on Linux:

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    @pie_flavor said in Command Line vs. GUI on Linux:

    I like my methods named foo.GetBarData() and not foo.Gbdat().

    I hate how here we mix these conventions like "get" and "set" with our own language. To make things worse, we don't have anything that sounds good as a replacement for those. Same with suffixes like "xxxBuilder", "xxxAdapter", "xxxActivity".

    I don't quite see the problem. Is there something wrong with having standarized naming conventions for standarized patterns?

    Doesn't something like getSamochod seems weird for you? (used google translate, Samochod is supposed to be polish for car)


  • Banned

    @pie_flavor said in Command Line vs. GUI on Linux:

    implicitly converts

    0_1530082895551_do-not-want-dog.jpg

    But jokes aside. You have to make the builder class anyway. What's the benefit of using initializer block over method chain?


  • Banned

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    @gąska said in Command Line vs. GUI on Linux:

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    @pie_flavor said in Command Line vs. GUI on Linux:

    I like my methods named foo.GetBarData() and not foo.Gbdat().

    I hate how here we mix these conventions like "get" and "set" with our own language. To make things worse, we don't have anything that sounds good as a replacement for those. Same with suffixes like "xxxBuilder", "xxxAdapter", "xxxActivity".

    I don't quite see the problem. Is there something wrong with having standarized naming conventions for standarized patterns?

    Doesn't something like getSamochod seems weird for you? (used google translate, Samochod is supposed to be polish for car)

    Oh, you mean other languages. Well, I'm pretty sure that as soon as significant number of programmers start writing in Polish, we'll figure out Polish versions of those words. pobierzSamochod and ustawSamochod, for example.



  • @admiral_p said in Command Line vs. GUI on Linux:

    @wft that's a very minor setback. It's not as if it is impossible to work around this. (Like, at all).

    If you've ever had to provide tech support for a large amount of wild excel sheets, it's not a very minor setback but rather a huge fucking black hole in the finances.


  • kills Dumbledore

    @tharpa said in Command Line vs. GUI on Linux:

    A Calvinist might be able to straighten me out on this

    Only if they're already preordained to



  • @gąska said in Command Line vs. GUI on Linux:

    Oh, you mean other languages. Well, I'm pretty sure that as soon as significant number of programmers start writing in Polish, we'll figure out Polish versions of those words. pobierzSamochod and ustawSamochod, for example.

    My complain is that some of these conventions don't work that well in my own language.


  • Discourse touched me in a no-no place

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    My complain is that some of these conventions don't work that well in my own language.

    So make your own naming conventions, with blackjack and hookers…


  • kills Dumbledore

    @dkf said in Command Line vs. GUI on Linux:

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    My complain is that some of these conventions don't work that well in my own language.

    So make your own naming conventions, with blackjack and hookers…

    public hooker BlackJack;


  • Banned

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    @gąska said in Command Line vs. GUI on Linux:

    Oh, you mean other languages. Well, I'm pretty sure that as soon as significant number of programmers start writing in Polish, we'll figure out Polish versions of those words. pobierzSamochod and ustawSamochod, for example.

    My complain is that some of these conventions don't work that well in my own language.

    Then other conventions would be made up that do make sense in your language. If you can say it, you can write it down as valid identifier if you strip whitespace and punctuation. The only possible proble would be if your language's writing was exclusively vertical, but I don't think there are any such languages left.


  • Discourse touched me in a no-no place

    @gąska said in Command Line vs. GUI on Linux:

    The only possible proble would be if your language's writing was exclusively vertical, but I don't think there are any such languages left.

    IIRC, Mongolian might be the only remaining vertical writing system of any particular significance…



  • @gąska ...and then you translate it back as downloadCar and setUpCar...


  • Banned


  • Banned

    @wft fun fact: for some time, the calculator app shipped with Polish edition of Ubuntu had two buttons labeled "PAŹ" and "GRU".



  • @gąska said in Command Line vs. GUI on Linux:

    What's the benefit of using initializer block over method chain?

    I spot a hidden business opportunity!

    throws $250,000 in funding at you



  • @dkf said in Command Line vs. GUI on Linux:

    So make your own naming conventions, with blackjack and hookers…

    @gąska said in Command Line vs. GUI on Linux:

    Then other conventions would be made up that do make sense in your language. If you can say it, you can write it down as valid identifier if you strip whitespace and punctuation. The only possible proble would be if your language's writing was exclusively vertical, but I don't think there are any such languages left.

    There are many problems when we create our own conventions to avoid that, a few in my head:

    • you'll have different conventions for your code, the language framework, and 3rd party libraries
    • java and c# conventions are only so consistent because the framework designers proposed it. look at the variety of different styles that exists for C, we have different teams using different styles, and when we share code everything is inconsistent.
    • most teams are not as good at creating conventions as the creators of these frameworks
    • get and set are just three letters, any alternative in my language seems worse.
    • "Builder"-like suffixes looks better at the end - because when things are sorted alphabetically in code completion and etc, the grouping makes more sense. but it doesn't work like that in my own language, it gets weird..

  • Banned

    @sockpuppet7 are you saying using non-English languages for code is terrible idea? Because all the problems you mentioned will always exist in non-English code.

    For the record, that's also my own opinion that using non-English languages for code is terrible idea.


  • Considered Harmful

    @gąska Using English for code is a similarly horrible idea. I much prefer C# or Rust.


  • Banned

    @pie_flavor [||{&()}]



  • @gąska said in Command Line vs. GUI on Linux:

    @sockpuppet7 are you saying using non-English languages for code is terrible idea? Because all the problems you mentioned will always exist in non-English code.

    For the record, that's also my own opinion that using non-English languages for code is terrible idea.

    I can't say I agree. I think coding in our local language is less terrible, because if you force english on people you get horrible broken english. And there are words that doesn't have a translation at all, for lots of stuff in our banking system that doesn't exist out there.


  • Banned

    @sockpuppet7 but then you have all the problems you've mentioned earlier. Are you saying that those problems aren't that big and you can totally live with them?



  • @gąska said in Command Line vs. GUI on Linux:

    @sockpuppet7 but then you have all the problems you've mentioned earlier. Are you saying that those problems aren't that big and you can totally live with them?

    I think I'm slightly less annoyed with those problems, I don't think there is a good solution for that.


  • Discourse touched me in a no-no place

    @sockpuppet7 said in Command Line vs. GUI on Linux:

    And there are words that doesn't have a translation at all, for lots of stuff in our banking system that doesn't exist out there.

    Specialist technical words from a particular field are always tricky to translate because they're incredibly specific to a specific area and have a lot of connotations that aren't immediately obvious. I'm pretty sure the special terms from our software at work would thoroughly confuse most English-speaking programmers, and a language barrier wouldn't make it significantly worse (and might help; it'd avoid some of the misleading options that a native speaker would be plagued by).



  • The command line, mostly. It doesn't make me angry as much as most Linux GUIs.


  • Banned

    @nabru you must've never used find or tar.


  • Discourse touched me in a no-no place

    @gąska Or cpio or dd.


  • kills Dumbledore

    @dkf or bash or cmd


  • ♿ (Parody)

    @tharpa said in Command Line vs. GUI on Linux:

    @admiral_p said in Command Line vs. GUI on Linux:

    (I reject the notion that it's simply all hard work, it's reactionary, Calvinist drivel that serves to morally justify those at the top).

    Not a Calvinist, but as I understand Calvinism, it's deterministic (denies free will). God has selected those to be saved from time immemorial, and there's nothing you can do about it. So the opposite of what you're saying here. (A Calvinist might be able to straighten me out on this.)



  • @jaloopa fdisk is the worse


  • Considered Harmful

    @dkf or git


  • Discourse touched me in a no-no place

    @pie_flavor I still think that dd is about the worst, as it has a thoroughly weird syntax in the first place, options that look extremely similar to each other, and is used in places where getting anything wrong will destroy the contents of your hard disk irreparably. It's true “put an echo in front of it first to make sure you don't fire it off before you're 100% sure it says what it should” territory.


  • kills Dumbledore

    @dkf said in Command Line vs. GUI on Linux:

    dd

    Is that the one that uses if and of for source and destination? One of the most common pair of mutually typoed words ever


Log in to reply