7 ms·
> Young developers nowadays seem to mostly use dark backgrounds, which to me feels like a weird '70s throwback Everything "young developers" nowadays do seem t
by Crinus 7y ago
> Young developers nowadays seem to mostly use dark backgrounds, which to me feels like a weird '70s throwback
Everything "young developers" nowadays do seem to me a weird '70s throwback - from the proliferation of the command line (as opposed to actually trying to create advanced GUI tools for people who know what they are doing, like a lot of developers did in the late 90s/early 2000s whereas today you mainly have dumbed down GNOME 3 lookalikes), to using tiling and lightweight window managers "for performance" on "low end computers" when those low end computers have massive supercomputer abilities compared to the computers that people used -again- in the 90s with UIs that did WAY more stuff despite their limited performance, to having crude dumb TUIs that look and behave worse than what you'd get in DOS in the 80s, etc.
- VLM 7y ago"crude dumb TUI" Text is the most expressive GUI ever invented, but only for literate people.
- pjmlp 7y agoNah, that is the REPL in graphical workstations.
- pjmlp 7y agoHaving started coding in the mid-80's I really don't get it. I was thrilled when I finally had the opportunity to use graphical workstations.
- anthk 7y agoYou can have the best of both worlds, as TCL/TK did back in the day. And FVWM. You could expand your software in seconds.
- pjmlp 7y agoThe best of both worlds is having a REPL, just like the Xerox PARC and ETHZ workstations did. My first startup was an heavy Tcl shop, thanks to it I learned never again to depend on languages without support for JIT/AOT on their canonical implementations. My team was responsible for writing FFI wrappers.
- anthk 7y agoBlame Sun for focusing on Java instead of the true gem of TCL/TK.
- pard68 7y agoThe mouse is the least ergonomic input device. I have a trackball which is mildly better. Until someone develops a pointing device that doesn't cause rsi I will stick to tiling wms and terminals. I am also an order of magnitude faster at my job than my colleagues stuck in gui land,pecking away at their IDEs. Not to mention I have a greater command of the languages we use because I am not relying on an AI to guess syntax for me.
- cphoover 7y agoWhat IDE uses AI for autocomplete??? That would be interesting to read about. As an aside point taken. I feel the same way, about using VIM+Terminal for coding.
- anthk 7y agoAvoid tiling, it sucks. Switch to a keyboard drivable WM such as CWM. You can use keybindings to resize, tag, delete windows without botching the aspect ractio of your browser/80x25 TUI terminal. And it has an inline window-search menu which is really convenient, it can autocomplete window names too :D "xterm -T yourtitle -e nvi", then in my case I press super+a, I type "you<tab>", I press "intro", and my xterm raises up. No stupid tiling, no window resizing, no borked aspect ratio. To unclutter my screen, that's what are tags (almost like virtual desktops) for.
- vidarh 7y ago
- thrwayxyz 7y agoThe Unix tools don't work on guis. Piping between applications on the command line is still faster and simpler to hack together than a real solution. I don't feel the need for anything more because the desktop is pretty much dead and so are the metaphors it used. We might as well be complaint that the devs today aren't designing a touch based interface to get real work done on a phone. Me and my Bluetooth keyboard on termux are doing well enough thank you very much.
- Crinus 7y ago> The Unix tools don't work on guis. Then try to come up with better tools!
- anthk 7y agoWhy? That's ImageMagick for. You can mix GUI's and command line parameters. And it works. Current GUI's are shit in any OS. I want to automate and the less menu/icons I click, the better. But Gen Z's won't get it, you are brainrotted by smartphones. and shinny UI's.
- thrwayxyz 7y agoOther than using json there's nothing to improve on for the type of work I do. With jq and a few self written small programs in C I get on par performance with 'better' tools that have teams of hundreds working on them.
- umanwizard 7y ago> Then try to come up with better tools! Who are you addressing this to, end-users or UI designers? The debate seemed to start off asking "why do people prefer text UIs" and now seems to have morphed into "why don't OS vendors innovate in text UIs more". I don't know the answer to that, but it's not really relevant to the initial debate; text UIs, for all their lack of innovation, are still dramatically better than GUIs for many use cases, which is why I use them. I do not want to go off and spend years designing and implementing the theoretically perfect OS and toolchain before I can do other work, I just want to use the best of what exists today.
- MisterTea 7y agoYou seem to be confused, developers work with text. What more can computing power bring to text? The only thing all that CPU and GPU power brought to the desktop is useless power wasting eye candy like beryl or whatever it's called now. Plus, in this environmentally conscious time, isn't it nice that people want to do more with less? Why waste GPU cycles adding shadows and lens flares to text? I don't get it. I like using tiling WM's (dwm and Awesome) because they organize windows for me and nothing is hidden in a bar. The concept of workspaces is much nicer than shuffling windows around a screen. I can quickly jump between workspaces and immediatly see my windows and contents. What more do I need? GPU rendering of windows? Why? I along with many others enjoy doing more with less. My old i3 Thinkpad runs just fine. Plays youtube videos, streams music and edits text using OpenBSD. What more do I need? Why pointlessly throw more at a problem that doesn't need it?
- dsfyu404ed 7y ago>You seem to be confused, developers work with text. What more can computing power bring to text? The only thing all that CPU and GPU power brought to the desktop is useless power wasting eye candy like beryl or whatever it's called now. Yes, we work in text. Yes, text is quick easy and powerful. That does mean it is the right tool for every job. Not everyone works somewhere taking down all your machines in some region for 30min because you typo'd -a when you meant -s when invoking some automation script is no big deal. Some of us work places where having normal operations carry the risk of that kind of thing isn't ok. GUIs when designed at least half-assedly make it significantly harder for people to enter dumb, dangerous or erroneous inputs while working at the same speed. There's nothing preventing you from using a GUI to generate commands that will be passed as command line args and showing that to the user. In the few cases where you need to do something unsupported just invoke the command from the CLI. Tossing up a quick web UI to streamline routine tasks while making users go out of their way to do non-routine or dangerous tasks is worthwhile at all but the smallest scale. Yes, it's quicker and easier to write a CLI tool but restricting the amount of rope just laying around to hang yourself with is part of operational maturity. With a GUI people at least have to go out of their way to find the rope. Edit: Am I being down-voted because my opinion is unreasonable or just because it makes some people uncomfortable? At least tell me why I'm so wrong.
- alpaca128 7y agoI'm using Vim and i3 and not for performance, but simply because they are efficient and more flexible. Together with Vim browser plugins I can do almost everything on my PC without having to use the mouse, and with the right setup this can drastically decrease the input latency. Modern PCs being insanely fast doesn't mean we have to use software that requires insanely fast computers.
- Crinus 7y ago> Modern PCs being insanely fast doesn't mean we have to use software that requires insanely fast computers. Never claimed that, but efficient software doesn't imply 70s terminal UIs.
- rocqua 7y agoScreen, tmux, vim, emacs, ncurses. None of these are 70s products. Nor do they optimize for 70s performance limitations. They are modern terminal UIs. We pick terminal UIs because the terminal tends to expose a lot more features than a gui. This tendency is probably because it is easier to add features to a tui than to a gui. Then there is a kind of self reinforcing effect where people like working within similar paradigms, and people get used to TUIs in general. This makes those people prefer making TUIs over GUIs even more. Incidentally, it is mostly developers who tend to need the more powerful features currently only offered in a TUI.
- Crinus 7y agoThey are not 70s products but they look like 70s products. See my original comment about how those TUIs look and feel worse than programs you'd see in DOS despite having a lot more power and features available to them - even if you confine yourself to the basic colors (but many modern terminals also support -simple, yet usable- graphics, more colors and more characters). > Then there is a kind of self reinforcing effect where people like working within similar paradigms, and people get used to TUIs in general. Yes, it is basically a matter of fashion and what baffles me is that fashion. I mean, even if you consider that terminal-based applications are great, why limit yourself to what a beefed up VT100 could do? Why when typing "ls" not also have a tiny folder icon near the directories (you are already going into the hassle of adding colors anyway, a little icon would make it more obvious which are folders and which are files when you are looking at a huge list), why not having a command akin to "cat" that can decode and display image files right in the terminal, why not have an over-time graph in "perf"'s realtime TUI mode, Emacs already supports different font sizes when running as a GUI program, why not have this in terminal mode too, Clang's static analyzer can show you data flow-based errors, why not have graphical arrows superimposed over your syntax highlighted code when you run it from the terminal (Xcode already does that but it is a GUI), etc. These are just some examples from the top of my head, i'm sure i can come up with even more. I think by using only text-based UIs people get used to text-based UIs and all they can imagine is within the limitations of text-based UIs.
- bregma 7y agoGuis. Pictures. A picture is worth 1000 words. Why use 1000 words to express something when one or two will do?
- anthk 7y agoWhy use a picture when you can tell the computer what to do, such as going out to the café while the computer is either number crunching/photo editing with ImageMagick by itself?
- rocqua 7y agoBecause reflowing 1000 words is a lot simpler that designing a general method for conveying your message on any given aspect ratio, resolution and size. Because text is a lot more portable across platforms. Because interacting with text is a lot easier to automate. And extracting information from text automatically is easy whilst extracting it automatically from a picture is very difficult. GUIs are great for discoverability, and complex long ineractive sessions. But they also have downsides.
- anthk 7y agoTry guessing what an icon does over a toolbar of 20-30 objects.
- anthk 7y agoBefore Unix, W98 and it's DOS legacy were a damn joke. I lost hours discovering what an icon/menu did or what a function actually meant in an IDE/advanced suite. The Windows API was utterly nonsense. When I discovered Unix, Ksh, AWK, and TCL/TK, I was in heaven. Easy, straightforward, composable, and you could AUTOMATE stuff. Oh, about tiling/Gnome 3, I don't care. I have a FLOATING WM with virtual desktops (tags), and crontab handles everything else. With a few scripts, I get the work done. Try that with Windows.
- jodrellblank 7y agoWindows has been embracing composable shell tools, scripting and automation for over a decade with PowerShell; Microsoft Exchange management was powershell in 2010 including the GUI which also generated the cli code in case you wanted to automate what you just clicked through.
- anthk 7y agoPowerShell syntax is too verbose (That's why I hate Java and .Net). Also, UNIX' composability and parallel execution (no pun intended) wins over objects.
- Crinus 7y agoAside PowerShell already mentioned before, Windows had system-wide scripting since Windows 98 (some parts since Win95) with windows automation and active scripting that allowed any application to expose COM objects and interfaces for manipulation by other applications either directly (via COM calls) or via active scripting, which provided pluggable scripting languages so that you could use any scripting language - JScript and VBScript provided by default - to access any compatible COM server. In addition applications could also expose and host reusable controls (initially known as OLE controls, later rebranded as ActiveX controls) and some applications (such as Office and Visual Basic) were made explicitly to allow composing applications out of such reusable controls (Visual Basic since version 4 was basically a scripting environment for COM). The two main issues with the above was that because it was made to be interoperable with any native language that had support for functions and structs, it was complex to do it right and only expensive (meaning, difficult to acquire for many developers) tools could help you with that. And, really, another issue was that most developers simply didn't appreciate the flexibility and composability it offered (they still don't, see how no Linux environment provides even something like Windows 3.1's OLE, let alone something like COM).
- traverseda 7y agoWhen gnome 3 came out I had to find something else to use, so I chose one of those "light weight tiling window managers" since if I was going to be setting up something custom anyway I might as well do some research on it. I've ~yelled at~ talked to a bunch of gnome developers trying to figure out exactly what's going on. I think that they're making the weird UI decisions in the name of "inclusiveness". They believe that simpler apps, and a standard unified ecosystem, makes things easier for marginalized groups to adopt free-software. All their weird technical decisions ultimately seem to be justified by making things easier for marginalized groups.
- Draiken 7y agoOn my case, I've switched to tiling window managers because it streamlined my work and made me a lot more efficient. It has nothing to do with "performance" in the computing sense. I've tried to use the existing "containers" systems on regular desktops and they simply sucked. Not even close to what I get on i3. This idea of using the mouse to click on everything you need to do is something I cannot get around. Creating advanced GUI tools for "people who know what they are doing" sounds counter-intuitive to me. If you know what you are doing, you can use the damn command line. GUIs are normally built with less features and/or dumbed down versions for the average user, not the other way around. I suppose if we forced ourselves to build better GUIs that were super flexible, this wouldn't be true. But the reality of today (or ever?) is that normally if you know what you're doing, you're using a CLI and not a GUI.
- Crinus 7y agoYes, this is how things are nowadays and what i refer to in my message above: developers basically gave up trying to make more advanced UIs and regressed to 70s-styled terminals.
- Tharkun 7y agoIt's not regression. It's progression. Power users are more efficient and proficient on what you (incorrectly) refer to as 70s-styled terminals. It took us a while to get there. We went down the wrong path with fancy GUIs in the 90s, 00s. Things like not needing a mouse, being able to freely tie programs/commands together, being able to script every aspect of your workflow,... these are all big wins for power users. If there is an easy way to achieve the same flexibility with GUIs, then it hasn't been discovered yet.
- Shorel 7y agoMmmm there's a bit of truth there. I have to use HeidiSQL in Linux via Wine because IMO all GUI MySQL clients written for Gnome are either not powerful enough or are just memory hogs. But you will have to kill me before I use something that's not a dark theme in my code editor.