Thread: Linux vs Windows

  1. #106
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Elysia View Post
    Be my guest and punch hole in the application. I will fix them.
    You did not understand the arguments. I don't need to even download your application. Besides I'm using Linux and I'm pretty sure you didn't make it portable.

    Ok.. answer me this:
    Does your application concatenate 5 files, search for all occurrences of 'mario', replaces it for 'elysia' and send the results to a comma delimited file? What about to a mysql database? Or what about concatenating 4 of those files and append to the 5th? Or what about starting Apache server if the occurences of 'mario' on the 3rd file exceed 5?

    Can't you see Elysia that you would have to write 1 application for about every single thing that would be thrown at you? Just because you can do something in a GUI it doesn't mean a GUI is always the best solution; sometimes its even the slowest because you can type naturally more faster than you can manipulate the mouse?

    This is my last attempt to try and put some sense into that thick head of yours; GUIs have their uses. They are excellent choices for many tasks. But flexibility is the domain of CLIs where varied tasks from the most varied sources can be performed in one single environment at a fraction of the time and effort needed to do in a GUI. CLIs are daunting at first, but become quickly your tool of choice once you get used to them. And that is probably what you never did. You never really used a CLI past your initial irritation.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  2. #107
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Mario F. View Post
    You did not understand the arguments. I don't need to even download your application. Besides I'm using Linux and I'm pretty sure you didn't make it portable.
    The original argument was that I could not append X files into one and filter out entries by date and perhaps IP, which I can easily do with a GUI and just as fast. I have proven that with this small utility that appends all files you select and filters out entries by date.

    Can't you see Elysia that you would have to write 1 application for about every single thing that would be thrown at you? Just because you can do something in a GUI it doesn't mean a GUI is always the best solution; sometimes its even the slowest because you can type naturally more faster than you can manipulate the mouse?
    This is irrelevant. GUIs can do it, which is my point. Not that it requires writing a program to do it or not. There probably are utilities out there to do it, anyway. Or you could design one, even if it just used command lines!

    But flexibility is the domain of CLIs where varied tasks from the most varied sources can be performed in one single environment at a fraction of the time and effort needed to do in a GUI.
    Again, this is untrue. It depends on how well done the GUI application is done. CLI is NOT superior to GUI. A CLI can just as well be more daunting and poor than a GUI. It all depends on how well written it is. But you always claim otherwise.

    CLIs are daunting at first, but become quickly your tool of choice once you get used to them.
    For small, incomplex tasks, maybe. Yes, I use some short commands which means CLI but aside (and maybe an easy rename), but aside from that, I never use them. GUIs I use are far more productive and easier to use.

    And that is probably what you never did. You never really used a CLI past your initial irritation.
    You wish that were true. I have been forced to use enough CLI to get really annoyed at it.

    Besides I'm using Linux and I'm pretty sure you didn't make it portable.
    Once C++ gets a standard GUI library, I'm sure I'll be using it. But whatever does it matter - just use Wine!


    Oh and the files I used to test with. Here they are.
    Last edited by Elysia; 04-06-2008 at 08:39 AM.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  3. #108
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    No Elysia. that was not the original argument. *sigh*
    I give up on you.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  4. #109
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Whatever was the original argument, I just proved this wrong:

    Quote Originally Posted by DavidP View Post
    Anyways, tell me how and how long it would take you to do that in a GUI. What did I just do up there? I concatenated 3 server logs into one big file, the I threw out everything except for whatever occurred in Jan and Feb of 2008 and put that stuff in a new log file. After that I did searches on a specific IP address and also a specific table name in our MySQL tables to see if they came up in the server logs at all. By doing this, and some other techniques as well, I was able to quickly and easily find out exactly when, where, and how the hacker had gained access to our servers.

    Now....how would you concatenate files like that in a GUI? Honestly I don't know how.
    How would you pair down the log file and do searches on it that easily? There might be some GUI program that does it....but why bother? I did it in 30 seconds myself on the command line.
    It can be done and it's easy.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  5. #110
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    It can be done and it's easy.
    hmm... but you took more than 30 seconds to come up with the program. On the other hand, you may now save quite a few seconds each time you run your program, but DavidP could also save time in the long run by converting the commands into a shell script.

    With such anecdotal evidence, perhaps we can conclude that the difference does not matter in the long run, at least for "power users", but in the short run a CLI may be better for some tasks, but worse for others, especially where a simple point and click interface is already available.

    A normal user is probably handicapped either way, though normal users familiar with the command line may be less handicapped than those only familiar with GUIs... but then a normal user who is familiar with the command line and writing shell scripts may well cease to be a normal user.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  6. #111
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    I won't argue with that. It can be done either way. Whichever way you would like it.
    Of course, I didn't exactly hurry writing the utility. It could have been done in much less time.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  7. #112
    Reverse Engineer maxorator's Avatar
    Join Date
    Aug 2005
    Location
    Estonia
    Posts
    2,318
    Yeah, GUI can be flexible, but it almost never is. Imagine you want to do 10 different operations with one file. With CLI you just write all the commands into a shell script and you're done - every time you run that script it does all the operations (in this example the operations are done by different CLI software provided by different companies). Now imagine how you'd do it in a normal GUI application. You open the first application, you select the file, you press the DO button. Now you close that application, open a new one, repeat, repeat, repeat, ....
    "The Internet treats censorship as damage and routes around it." - John Gilmore

  8. #113
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Most don't understand how to write a good GUI either. You could say it's an art...
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  9. #114
    Malum in se abachler's Avatar
    Join Date
    Apr 2007
    Posts
    3,195
    Thats jus a matter of implementation. If you wrote the application to do all 10 things, it woudl be just as easy as using a script.

  10. #115
    Disrupting the universe Mad_guy's Avatar
    Join Date
    Jun 2005
    Posts
    258
    If you wrote the application to do all 10 things, it woudl be just as easy as using a script.
    The problem, then, in this case is what 10 things to do.


    After spending a lot of time with GUIs (I spent years doing nothing but Win32) and then moving almost cold turkey over to linux, let me offer some insight as to why a command line can be so much more flexible:

    It's commands are very composable. GUIs, eh, not so much.

    The fundamental issue is simply that with a command line and using the basic notion of pipes, it is extremely easy, dare I say dumb to compose two operations; you effectively have an infinite amount of different commands at your fingertips by composing just a small few.

    This doesn't sound like much, but it really is when you realize it, because commands are not only composable, they are orthogonal. You can pull commands out of a single command and you can add new ones in wherever you please. This gives your overall 'statements' (to speak loosely, your chain of commands) a very malleable feel. You can put commands on the end, you can take them away. You can get output in raw format or pipe it through another program to clean it up and selectively take lines you specify. You can sort in any kind of manner, you can remove duplicate entries, output them to a file in a background process. Using some basic primitives of your shell you can compose extremely powerful scripts from extremely small tools, because they are composable.

    Compare this with a GUI. There is no such analog; I think part of it is because GUI programming is a bit messy and intellectually dissatisfying, to say the least. Yes, you can have an ad-hoc form and fill some checkboxes or something. This doesn't give you a good level of compositionality of existing filters/functions, and this does not give you the level of control that can generally be necessary in some scripts and in many times, cut your effort in half; you just typed about 10 characters and your shell did everything you needed. There is no need to break out a GUI or a perl script or anything.

    This is a fundamental issue with GUIs in general, I think. There is nearly no notion of composition in GUI-based code, and in many cases, there is little notion of composition in the GUI itself. (Compare this with a functional programmer like myself who has languages that normally do put composition as a 'first class thing,' and you sort of go insane.)
    operating systems: mac os 10.6, debian 5.0, windows 7
    editor: back to emacs because it's more awesomer!!
    version control: git

    website: http://0xff.ath.cx/~as/

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. windows .dll vs. linux .so - global static objects
    By pheres in forum C++ Programming
    Replies: 11
    Last Post: 11-23-2010, 01:29 PM
  2. Thinking of upgrading to linux...
    By Yarin in forum General Discussions
    Replies: 37
    Last Post: 07-24-2009, 11:40 AM
  3. Build linux on windows
    By baash05 in forum Linux Programming
    Replies: 6
    Last Post: 02-19-2008, 10:12 PM
  4. Why can't Windows run Linux binary executables?
    By Kleid-0 in forum Tech Board
    Replies: 30
    Last Post: 12-04-2005, 11:44 PM
  5. Linux and Windows Duel Boot
    By The15th in forum A Brief History of Cprogramming.com
    Replies: 7
    Last Post: 04-26-2002, 04:59 AM