6 ms·
If you design chips, you might wonder how anyone gets by without an FPGA. If you develop a kernel, you might wonder how anyone gets by without remote debugging.
by jballanc 15y ago
If you design chips, you might wonder how anyone gets by without an FPGA. If you develop a kernel, you might wonder how anyone gets by without remote debugging. If you develop drivers, you might wonder how anyone gets by without a C compiler or assembler.
The problem with your critique is that you're thinking at the wrong level of abstraction. If (and, yes, this is a big if) you are developing a web app on a platform where all of the low-level concerns are taken care of for you, then the final point is completely valid. I'd even go so far as to strike the text editor from that list. Already today, you could (in theory) develop a Rails or Node app in Cloud9, store the code on Github, and deploy to Heroku with little more than a ChromeBook.
Ok, we're not quite there yet, but I hope you get my point... That said, there are still chip designers, kernel programmers, and driver developers. And there will always be "backend engineers" (though I think we need a better term) who need debuggers, benchmark utilities, packet analyzers, etc.
- wulczer 15y agoYour point is valid, of course - developing specialized software requires a specialized platform. But what I wanted to say is that even developing a web app (and that's what I do these days) I sometimes need to use Wireshark. Sure, there was that guy that used an iPad, a wireless keyboard and a Linode as his PC so it's viable. But I think that's an exceptional case and it's more common to need quite a lot of supporting tools to develop things. And of course, you know, our designer can work with just a notebook (as in: a paper notebook) :)
- SomeCallMeTim 15y agoI develop mobile game software (Android/iOS), but what kills me (and keeps me on Windows, unfortunately) is the fact that I can't find an editor that keeps me as productive as the one I use on Windows (Visual SlickEdit). It's honestly not perfect, but for C++ and Lua it's unequaled in getting references and autocompletion correct. And since I also have a Windows target, I can take full advantage of the very clean debugger that Microsoft Developer Studio provides (for the cross-platform code). I spent a year with Linux on my desktop, trying every debugger tool available, and nothing comes close to working as well. Yes, I've tried vim and emacs. I even use vim when I need to edit over an ssh link to a server. And I could imagine getting my fingers used to the many-more keys I'd need to hit to do everything I do in SlickEdit in vim, but vim is STILL is missing two of the most important features I use (the cross-referencing/smart completion I mentioned above, and an auto-completion from the same file that I get by hitting shift-ctrl-< or ->). The features vim does support require more keys -- and keeping track of editing "modes", which is something else I don't want to have to do. And since I can write code much faster using those features (and fewer keypresses), I can't imagine switching. I used SlickEdit on Linux for the year I was there, but it's based on X, and doesn't integrate with modern desktops as well as a result. It even has a built-in gdb wrapper, but unfortunately it can't do as much as Developer Studio on Windows. :(
- botker 15y ago:h new-omni-completion :h compl-omni :h compl-generic
- SomeCallMeTim 15y agoThanks, I'll try it.
- dekz 15y agoYou don't really need to keep track of the vim mode, you start typing text and either your text is entered or you now have half of you code all in capital letters. But seriously, as with everything it has a learning curve which is quite minor when you use it as your main editor. It becomes quite essential when you have the need to ssh into different machines on different platforms for distributed testing etc.
- SomeCallMeTim 15y agoI use vim when I ssh into machines for doing quick-and-dirty edits. I know how to use it. It's pretty well established that forcing a user to keep track of mode is just bad UI design. I actually use vi relatively frequently, to the point of having internalized the mode concept, and I STILL occasionally make mistakes. If you've got vi in six different shells, how CAN you remember what mode they're all in? You can't. You need to look. Which interrupts the flow of development, at least for me. And I can't forgive the extra characters you need to type to do just about anything. I was just using gvim on Linux, for example, and to paste from the system clipboard took 4? 5? character presses. You simply can't defend that as reasonable. For serious development I would NEVER switch to vim/gvim, at least without some major keyboard remapping to, well, the defaults that you'd find in any modern editor. It's more than getting used to it--more keys means slower development, period. Just now I was able to select the previous sentence with about 3 keypresses. Copy and paste would be a standard ctrl-c/ctrl-v. No worrying about mode, or counting characters -- and I'm in the edit window in Chrome. It shouldn't take me more characters and a completely different set of finger reflexes to do the same thing in my programming editor.