4 ms·
Some of those exact tools you mentioned might not exist on Windows, but comparable tools absolutely do exist. You might even have to pay for them, but I bet in
by WorldWideWayne 11y ago
Some of those exact tools you mentioned might not exist on Windows, but comparable tools absolutely do exist. You might even have to pay for them, but I bet in those cases, you at least get a nice UI as compared to none.
- uxcn 11y agoThere are some similar tools on Windows (e.g. Sysinternals). UIs generally aren't scriptable, which is a serious limitation for me.
- WorldWideWayne 11y agoThe fact that UIs aren't generally scriptable doesn't mean that the dev tools I'm referring to aren't scriptable or otherwise able to be automated. There are a lot of trade-offs that I think Unix-centric devs don't realize, for the simple fact that they don't venture outside of their own ecosystem for various reasons. One of those trade-offs in my opinion is a certain lack of polish that seems to pervade the Unix-dev-tools landscape. There are thousands of instances of this, but one that I recently encountered was that Vim just can't do code folding very well. You can make it fold on syntax or on markers, but not both. AutoFold tries to remedy this, but as you add plugins to make Vim do things that Visual Studio does well, performance goes down. Another things that annoys me when I'm working on nix systems is that I feel like I always have to cobble together my kit before I can begin any real work. I'll take a well thought out, professional dev-kit from a big name company any day over a disparate set of single-purpose bins and libs that I have to string together.
- uxcn 11y agoThe difference for me is largely flexibility. Windows tools tend to be monolithic, which is okay for certain things, but it's generally difficult to extend. As a developer, modularity is important to me. Even GCC I can't use to build any development tools since it's monolithic. LLVM is extremely modular though and even provides an intuitive API to interface with the AST, which makes building any new tools simpler (ycm is based on it). I disagree on the well thought out IDE. A lot of people I know are more productive with them, but the functionality tends to actually slow me down. The interfaces are generally point and click oriented, which I prefer to avoid. Another issue is that non-typical functionality tends to be hidden behind deep, unintuitive menus. Doing simple things often means digging through documentation, searching the web, or even manually digging through menus which wastes a lot of time for me. For example, building a static LUT with 255 entries. With vim (nvim), all I need to do is... qqILUT[<c-r>=i<cr>] = y;<cr><esc>:let i+=1<cr>q254@q. I'd be skeptical there's a way to do that in an IDE. I personally haven't had any issues using syntax based or explicit code folding in vim (nvim), but it's rare that I actually need it. Normally I can navigate by searching, code reference, generated documentation, or a code search and cross-reference tool though.
- WorldWideWayne 11y agoI think the scripting example is a little contrived, but yes that is someting you'd need a plugin for in most IDEs. There are certainly features of IDEs that vim doesn't provide out of the box too. Personally I just use SQL for generating sets.