5 ms·
Unix isn’t integrated enough. You can’t go very far with just throwing strings around (or bytes). You can’t safely refactor, say, Java code like you can do in
by Privacy846 6y ago
Unix isn’t integrated enough. You can’t go very far with just throwing strings around (or bytes). You can’t safely refactor, say, Java code like you can do in Intellij.
Maybe you can piece something together manually that does the same thing, eventually. But if you have to do all of that work yourself then I wouldn’t call it integrated.
- jackyinger 6y agoI think the point is that with *nix you aren’t just stuck with what some product manager at JetBrains thought was a cool feature. And when you want to brew something up from scratch, or do the same task for the nth time, you don’t have learn how on earth this IDE implemented it, or learn a whole new API. Take for instance an IDE’s find usages function, often a simple grey -r from a judiciously chosen directory gets you the same thing, but faster and more flexible (if your mind is wired that way, I suppose). Edited to complete fragment...
- throwaway744678 6y agoAny sane IDE 'find usage' is miles above your simple grep: just try that on any sypbol with a name common enough, and compare the results...
- hansvm 6y agoThis winds up not being a big deal if you use grep a lot because you'll tend toward greppable names. More importantly though, in a codebase big/complicated enough to need "find references" functionality beyond what you get from grep, do you not also have comments, reflection, and all manner of other garbage that you need to search for via some mechanism anyway? For a few languages (more on the way) you also have semgrep as a way to add something a bit more powerful than "find references" into a normal shell workflow.
- Privacy846 6y agoI have used `grep -r` a ton on our codebase and purpose-specific tools like “find usages” are always more to the point while `grep -r` can easily be misleading. Also you can’t just tend toward greppable names (whatever that means) if you share a codebase with developers who are on Windows and wouldn’t be able to tell grep from sudo.
- Privacy846 6y ago> I think the point is that with [Unix] you aren’t just stuck with what some product manager at JetBrains thought was a cool feature. But you see that’s exactly what you are, because you can’t refactor Java code with what you call “Unix tools”. So your only option is to install actual IDEs on Unix. And “find usages” finds... actual usages (e.g. method calls), not simple text matches which can end up being 80% noise. For `grep -r` you might try `Ctrl+Shift+f` instead.
- cracksmoka420 6y ago> But you see that’s exactly what you are, because you can’t refactor Java code with what you call “Unix tools”. "refactoring java code" is really not an exceptional task that vim (or emacs) cannot handle. In situations where grep -r is too stupid, ctags exists.
- cyberdelica 6y agoAs well as ctags, one can also use the GNU "idutils" suite of programs.
- DangitBobby 6y agoFortunately there's a terminal window baked right in there if you find yourself needing other tools.