7 ms·
When you guys think about all the developers you know, do you rather see a positive or a negative correlation between the usage of high level tools and develope
by founderling 7y ago
When you guys think about all the developers you know, do you rather see a positive or a negative correlation between the usage of high level tools and developer productivity?
In other words, is your experience that developers who use an IDE are more productive then developers who only use a text editor?
In my experience, the (very few) developers I know who only use VIM or Emacs are way more productive then those who use an IDE.
The reason seems to be that they tend to 'sit back and think' about the task at hand. And then come up with elegant solutions. While the developers who use a lot of tooling seem to hope that the tooling will kinda force them to do the right thing. But from what I witness, that never works out.
I see a similar thing happening with coders who do a lot of tests (test driven development), some tests and no tests. Developers who don't write any tests are often the most productive.
- tokyodude 7y agoI see no correlation
- not_kurt_godel 7y agoOut of the hundreds of devs I've worked with, I can think of exactly two who use(d) vim to edit code with any regularity. Both are fairly proficient above-average devs overall, but I'm pretty sure they also use IDEs heavily and only use vim for quick things. Beyond a certain level of codebase complexity, there is simply no way to do the job with a text editor, even with fancy macros. Vim is an elegant tool, but is simply outmoded for many modern development tasks in the same way that a hammer is outmoded by a nailgun. You might always need a hammer in your back pocket, but it can't compete with a nailgun for large-scale repetitive tasks.
- black-tea 7y agoIf I can't do a "modern development task" with emacs or vim and a smattering of standard Unix tools, then I question the sanity of said task. At the end of the day we're editing text. Plain text has stood the test of time exactly because you can process it with tools that everyone knows and have been around for decades. If you find yourself needing special purpose, proprietary tools to handle your code base then you should really reconsider where you're going.
- scarface74 7y agoReal coders boot up their computers and type CALL -151 ! And type 65C02 assembly. Now get off my lawn.....
- black-tea 7y agoLet me just remind you of what the GP post said: > Beyond a certain level of codebase complexity, there is simply no way to do the job with a text editor An absurd claim. How can you interpret my post as a "get off my lawn" type thing?
- scarface74 7y agoWell because it is. With a large codebase, things like navigating through a solution, automated code refactorings, intellisense, etc. can be done with IDEs. Do you all so litter your code with print statements to debug?
- black-tea 7y agoAre you just playing ignorant for fun? You must know that there are people out there hacking on the most advanced software projects we have such as the linux kernel or C compilers etc. and they don't all use IDEs.
- scarface74 7y agoAnd what percentage of developers is that? That’s about like the same bubble thinking of every developer works on the west coast making $300K a year that you see on HN. And some people also still write in assembly. I also thought that any high level language was useless. Then I thought anything more high level than C was for beginners. But I grew up and start being more concerned with making money and implementing solutions than having geek cred...
- black-tea 7y ago
- jjeaff 7y agoInteresting. From reading HN, you would think every coder worth anything is hacking away with emacs or vim on black and green terminal screens. But I suppose people that use emacs and vim are like vegans. Those that do, are definitely going to tell you about it.
- arcturus17 7y agoWhat’s with this vim vs IDE debate anyway - vim works wonderfully with the IntelliJ suite and many other IDEs. If you’ve been doing vim or emacs since the 80s then great but I’m not going to go through months of configuration hell to repurpose vim into an IDE when I can do it the other way around.
- not_kurt_godel 7y agoMy feelings exactly. Like I said, there's nothing wrong with a hammer (vim), but it's a poor use of time using one to fasten 3000 nails to frame a building. I think vim/emacs users get defensive and militant because they've invested significant time and effort into learning a specific set of skills that tie into their professional, and to an extent personal, identity. It's an understandable psychological defense mechanism to reject the notion that those skills are significantly less valuable nowadays, but it doesn't negate the fact that their judgement is being clouded.
- vp8989 7y agoThe world is jam-packed to the brim with posers, in every walk of life.
- scarface74 7y agoYou would also think that every coder lives on the west coast and makes $300K+ year....
- xfer 7y agoWould you mind being a bit more specific than using vague language and analogy? What are all these modern development tasks?
- VvR-Ox 7y ago+1 I use intellij for big projects because of the jump- and refactoring stuff but I know I could do it with VIM if I'd know it better. A good example is SpaceVim that enables people who don't want to configure everything to use VIM as an IDE that provides most of the tools you'd need for developing. E.g. it has a linter for python, mouse support and code-completion. I don't need much more to develop most of the time. VIM is awesome and I think what most people whining about it ignore is the fact it runs in a terminal (vs. some big bloated piece of sh*t).
- erpellan 7y ago* Find usages * Go to definition * Extract method * Introduce parameter * Inline variable * Rename method * Rename variable In a Jetbrains tool these are automatic / atomic operations.
- black-tea 7y agoWhat planet are you people living on? It's like you just whack the word "modern" on the front, stick your hands up and say "haha, you couldn't understand, grandad". Programmers have been doing these things since the beginning of time.
- not_kurt_godel 7y agoI programmed exclusively with text editors for a number of years. Of course you can do anything in a text editor that you can do in a modern IDE as long as you have patience. I would even go so far as to say that having the experience of using a text editor instead of an IDE is a valuable one; certain types of edits really can be done much more efficiently in vim than an IDE so it's an excellent tool to have at your disposal. But text editors simply can't match the sophistication and efficiency of a good IDE that is built to interact with your code programmatically from the ground up. For example, here is a list of refactoring operations that IDEA provides as atomic operations that can be done in a few clicks/keystrokes and instantly, safely undone with a single keystroke[0]: * Change signature * Convert Anonymous to Inner * Convert to Instance Method * Encapsulate Fields * Extract refactorings * Extract constant * Extract Field * Extract interface * Extract method * Extract Superclass * Extract variable * Extract parameter * Extract into class refactorings * Find and Replace Code Duplicates * Generify Refactoring * Inline * Invert Boolean * Make Static * Migrate * Move and Copy refactorings * Pull Members Up, Push Members Down * Remove Middleman * Rename refactorings * Replace Constructor with Builder * Replace Constructor with Factory Method * Replace Inheritance with Delegation * Replace Temp With Query * Safe delete * Type Migration * Use Interface Where Possible * Wrap Return Value Meanwhile, merely performing a simple pure-text find-replace across multiple files using vim and emacs is a chore. And better hope you don't screw it up because there's often no easy way to safely undo such a change, especially not with a single keystroke. The idea that even master-level users of vim/emacs could begin to hope to replicate the operations listed above with the depth, accuracy, and user-friendliness that IDEA offers is simply laughable. Any granddad worth his salt is perfectly capable of understanding that advancements in software have yielded tools that are by far and away objectively superior for a wide variety of development tasks. [0] https://www.jetbrains.com/help/idea/refactoring-source-code.html https://www.jetbrains.com/help/idea/refactoring-source-code....
- onion2k 7y agoDevelopers who don't write any tests are often the most productive. If you look at them in isolation, sure. If you look at the whole team you'll see that the untested code drags everyone else's productivity down because all the other developers can't modify untested code without fully understanding everything it does. They have no tests to give them any confidence that they're not breaking stuff when they change it. Developers who don't write tests are fine if they're working alone, but they're toxic to team productivity.
- useful 7y agoIn my experience this is the same for people who use a low level text editor as an IDE. The code that comes out of developers that use IDEs is normalized in a way that makes it very easy to change. Sure, if your big enough you can spend all your time inventing linting rules and creating templates to generate scaffolding and tests.
- black-tea 7y agoIn all my years of using emacs I have not once been called out on formatting. In my last job the bastion of PEP-8 was a vim user. If you're talking about actual low level text editors like nano or notepad.exe, then sure, but vim and emacs are proper tools.
- the_gipsy 7y agoJust use a formatter already and get over linter bikeshedding.
- whorleater 7y agoI honestly don't understand how people are still bickering over style guides in modern programming. Autoformatters exist in every major language. Git hooks exist. Company style guides exist. Pick one, and then it's never an issue what editor people are using, it's bizarre that this bikeshed still exists.
- eecc 7y ago
- polotics 7y agoWord! I have seen many implementations turn into ridiculous over engineered monsters because the IDE enabled bad designs to clamber into an almost-functioning states.
- m0zg 7y agoJava IDEs are famous for enabling OOP masturbation.
- sho 7y ago> do you rather see a positive or a negative correlation between the usage of high level tools and developer productivity? Absolutely none whatsoever. If anything it's negative. I have never found "speed of editing" to be remotely correlated with good code or even productivity.
- johnny22 7y agomost people here aren't talking about speed of editing, but rather speed of code navigation. That way it's easier to figure out what's going on in larger codebases, or one even just one you're not familiar with.
- CzechTech 7y ago100% agreed. Talking about the speed of editing is completely missing the point. The value added by IDEs is not in the speed of writing text.
- CzechTech 7y agoWhile I totally agree with the "speed of editing" part, I can't imagine (well, I can, and it's awful) working on a "real" project in "real" business environment (by that I mean something that puts bread on the table, has tens of thousands to hundreds of thousands of lines of code, has a lot of legacy code and was written by a dozen of programmers over the years) without an IDE. It's not even about linting or code completion, it's about being quickly able to ctrl+click to definition, peek at definition etc. Modern IDEs are so much more than just editors of text. In the age of Microsoft beginning to incorporate machine-learning assisted autocomplete people talk about emacs here... lmao, get the fuck out of here.
- m0zg 7y agoIt's a wonderful example of selection bias. Basically, vim/emacs is likely to select for people who are "good at computers" and reject everyone else. These people, in turn, are more likely than average to be excellent programmers. But I wouldn't necessarily draw the arrow of causation in this case. Not only does this not mean that IDE users are worse, it also doesn't mean that there are fewer great programmers among them in absolute terms (even though percentage wise, that's probably the case). Full disclosure: I'm a vim user.
- class4behavior 7y agoThere is no selection bias because no selection has been done. It's up to you how you interpret the aggregated anecdotes. Such queries are meant to discover notable impact, based on which you might invest in a proper evaluation.
- m0zg 7y agoBut there is selection. Most "normal" programmers can't even _exit_ Vim, let alone use it with any degree of proficiency.
- marton78 7y agoThis is not an example for selection bias, but rather that correlation does not imply causation.
- mosselman 7y agoMost of my colleagues use vim with tmux. One uses emacs and one uses atom. I myself switch around, but recently switched back to sublime due to its stability and speed over atom and vs code. I see no correlation at al.
- black-tea 7y agoI see a correlation, but I am an emacs user. One thing that rings true is how people use git. I find that the people who use IDEs to do it just want to do it the IDE way, like always merging with --no-ff, and not actually thinking about what they're doing and coming up with their own solution to the merge. > I see a similar thing happening with coders who do a lot of tests (test driven development), I mean, yes, but isn't that obvious why? In my work I can safely say I've written the most code in the shortest amount of time. This has allowed us to meet deadlines. But it's all untested. Writing tests obviously takes more time and effort, but I do think they are a good thing. Getting 100% test coverage for every project and following TDD too strictly is silly, though.
- avip 7y agoPersonally I see no correlation. I need an ide for 3 use cases: jump to definition, find all references, refactor (replace all occurrences). I’m sure vim can do that but I don’t know how and am too lazy to learn (open to consider that makes me less good a developer)
- larkeith 7y agoAnecdata: I fairly recently switched from vim to VSCode, and don't feel like there's any meaningful productivity difference. I've enjoyed using VSCode, but any difference in task overhead feels trivial - likely because I still need to spend the same time considering a given item, and whether I spend the time on overhead tasks or tabbing between files doesn't really change when I come up with the solution.
- avip 7y agoAnd possibly due to vim binding mode you don’t need to relearn keystrokes which is the main productivity killer.
- loxs 7y agoI only use Vim, currently inside WebStorm. From my anecdotal experience, people who are willing to learn vim/emacs are also willing to learn a lot more about the whole programming experience, tools and theory. They usually are more productive, but I don't think it's vim that's making them productive, it's the other way around usually.
- scruple 7y agoI learned vi originally for a job where I had to work on legacy hardware systems and it was that or nano and for whatever reason I couldn't stand nano. At the time, I was also using a small set of 3-4 different IDEs for the "regular" (RF/embedded) work. Fast forward a few years on that job, I'm finding myself utilizing a workflow that's tracking closely to ESR's TAoUP. I still have to lean on the IDEs for certain classes of problems that I might come across, but they became a tool in my toolbox instead of being the toolbox. That was all well over a decade ago. I haven't touched an IDE in my full-time work since 2013 or 2014, when I wrote my last line of C#. If I had to go back, I'm glad that VsCode has appeared on the scene in the meantime, but I wouldn't be thrilled about it. My personal opinion is that living at the layer that I live at, in a terminal with a multiplexer and doing things that leans heavily the UNIX philosophy, gives me an understanding of the systems that I create that I perhaps wouldn't get otherwise.
- __m 7y agoI don’t see a correlation there. Without autocomplete and all kinds of insights, you have to be experienced to make working with a simple editor feasible. Given the same experience, I don’t think that working with a simple editor is faster.
- chronogram 7y agoI personally am most productive when I work instead of faff about with different tools each week, so I guess whatever you’re good at is a good approach. If you used vim since the ‘90s you probably don’t waste much time with learning different editors all the time. I obviously also write more code when I don’t write tests, but the code isn’t better or more useful. I remember the times when there was much less testing so other people’s code was kind of useless a lot of the time. Personally I use Sublime most, because I’ve done that for years, but for rookies reading this, don’t go and get Sublime just to mimic me. If you’re starting out then use whatever people you can get information from use, so you can ask questions and they have less friction when helping you. So if you write C# targeting Windows, having Visual Studio proper will be a boon so you’re probably using the same thing as the Stackoverflow people. Doesn’t matter that an Internet forum user uses Sublime or vim. My comment reads like it comes off as snarky, apologies.
- meko 7y agoActually your comment was insightful. I have a bad habit of editor jumping. Went from vim (6mo) -> emacs (18mo) -> vscode (8mo) -> and have been using sublime for the last month. Keep switching because I don't feel productive in them and kept getting a grass-is-greener vibe every time I'd see someone online using it. Maybe it's because I never specialized and really got gud with one of them. Would have stuck it out with emacs but using it on windows is a big meh (way too much fiddling, generally speaking). Popped off vscode because... microsoft. although it had the most surface polish of the editors I've tried, and intellisense was nice. Sublime has been good to me so far, but the available themes leave something to be desired, and the emacs keybinds are iffy. Maybe I just haven't found 'the one' and at this point, there are too many features from each editor that I like that I may never find it. Emacs came closest, but learning to configure it was too time intensive, had to cut my losses and find something more portable and time efficient. Guess I'll just stick with sublime from now on and say that's that...
- itronitron 7y agoA think this depends on whether the code being written depends on a lot of other code (frameworks and libraries for example). People that use full-featured IDEs have a much easier time exploring large or unfamiliar codebases so can explore more paths. The best developers I have worked with, in terms of either productivity or 'ability' use high level tools all of the time. And among the worst developers I have known are people that only use vi.
- mnm1 7y agoProductivity is irrelevant if quality is low and generally, developers who don't use proper tools produce low quality code. It might be small issues, but details matter. Wrong or missing docblocks, bad formatting, no linting, unused variables, extra use statements, etc. I see it all the time from developers who don't use a proper IDE, but even from developers that do but don't know how to use their IDE. Developers who use simple editors like vim/emacs/etc. generally are the worst offenders. The attention to detail is generally not there because there are a ton of tiny details that go into making good code and paying attention to them over thousands of lines manually (vs. having an ide that will take care of them automatically) is difficult. Even things like navigating code and debugging seem to be difficult to impossible to do efficiently for these developers. We are all human and have human limitations. I'm in no way saying these developers are not good developers, but they do produce a product that's often below par, below expectations, and below what they could do with proper tools. I do not understand why they stick with substandard tools. If you want vim key bindings, they are available in any ide. Startup time is simply not a factor when it occurs at most once per day, if that. I think developers love to focus on issues of personal preference and fashion to the detriment of using the best tools available. Sure, if you can produce great code with a great attention to detail with the editor of your choice, great. Keep at it. But if you can't keep up with the attention to detail and numerous requirements that go into writing great code because your tools are inadequate, defending the tools because of personal preference and fashion is ridiculous and lessens the quality of the final product. That is unacceptable.
- yoodenvranx 7y agoI think it really depends on the type of work you are doing. - If you do low-level stuff like writing a hardware driver or a kernel module you will most likely be fine with a normal text editor because all in all it's not that much code - My friends in a large PHP shop all use PhpStorm to work on large projects. They all tell me that you are way more productive in PHP with the specialized tools that PhpStorm offers. In the whole company there is not a single person who uses emacs or vi for PHP (a lot of them use vi for everything else, but not for PHP) - I used to have a job where I had to switch between 2 dozen projects in the span of a few weeks and fix things. A proper IDE makes it much easier to navigate code you have never seen before. Without IDEs I would not have been productive in that sort of job at all
- LandR 7y agoAbsolutely this, I've worked on a project that was 450 assemblies and about 5 million lines codes split over a few thousands source files. Without an IDE that can jump between those assemblies and source files it's an absolute nightmare.
- msclrhd 7y agoI've personally found tests to be invaluable. Yes, they take longer to write than just writing the initial code, but they help save time on testing bugs in the future and ensuring that the code you have written does not regress, especially when refactoring the code. I've not necesserily always used test driven development, but something close to it, especially for non-UI code where I try and aim for high test coverage. Tests also help when writing code that implements specifications (JSON parser, XML parser, JavaScript engine, etc.) as you can have tests for each part of the specification and the various error cases.
- VvR-Ox 7y ago1. That depends on the developer 2. Dev's who use VIM/Emacs are probably already living in their computer so you can't really say if they are good because of the editor they use or the other way round 3. What do you mean by "productive"? Closing more tickets in a sprint? In the end not only individual efficiency is important but also the future of a project. With test you document stuff and ensure at least the tested things won't break (if it's mandatory the tests are executed on every build). 4. Of course tools matter. In our company there is people who still use eclipse and sometimes they just need their time to fix the IDE. My team exclusively uses intellij and I can't remember the last time we had to deal with such a mess.
- qw 7y agoIf I got a job offer and they insisted on using Eclipse, I would most likely turn it down. Once you are used to Intellij, there's no going back. I even paid for a private license that I use for my own projects. I sometimes open VS Code for small for small non-project related files, but I am much more productive with an IDE. One thing that many get wrong in the VIM vs IDE comparisons are the benefits of keyboard shortcuts. They assume that VIM has a significant advantage, but you can have that with IDEs too. The JetBrains products have keyboard shortcuts for almost anything, so you do not have to use a mouse unless you want to. I'm sure the same could be said about other IDEs as well. Many forget that when they compare against VIM.
- VvR-Ox 7y agoDon't know how I managed to trigger you here but: - I would also not use eclipse and turn that down - Maybe you are more productive. I have seen people who will be more productive than you just using their customized VIM (I'm 100% sure about that) - You say "something" has an advantage over VIM (or EMACS) in the means of keyboard as input interface? Think again or at least try to let someone show you what VIM can do with just a keyboard ;-) The difference is not only about the control with a keyboard. The true beauty of VIM etc. lies in the fact that you can use it without an X Server (so also over SSH). Then there is efficiency - VIM can do a lot more with a lot less resources. A PC that will already choke when you open up your project in a full-fledged "give me 2GB of RAM" IDE will seamlessly open up in VIM in seconds. When you're traveling and want to preserve battery, VIM also comes in handy. Not everything I do needs the refactoring features of an IDE and I also don't have to use the test runner every time I do / change something (also there is CLI tools that are totally OK to use). I think you are trying to compare something you don't really know.
- edwinjm 7y agoHaha. I've coded in plain text editors for years and now I'm using PHPStorm and I'm so much more productive with all the tooling it provides. Refactoring is so much easier, resulting is cleaner and easier to maintain code.
- Theodores 7y agoSeconded. There is no going back. Sure I can do clever things in VIM and navigating with the home row keys is great, but it is just so much quicker with phpStorm. No closing tags go missing, even English language spelling mistakes don't slip through. On first use I found there were a few frustrations and I still end up with lots of quotes where I type something= only for phpStorm to enter quotes for me that I am not quite expecting. I also had a problem of finding 'jkjjkjk' in my code from vi habits of using the j key to move in the document. For me phpStorm is where the real work happens, I know I am not really good enough to do it in vi whereas I once believed that. Sometimes you see a missing closing bracket highlighted in phpStorm and know you would have wasted a minute or two testing had it been done in vi.
- sbov 7y agoThe best programmers I know actually have zero editor loyalty. They've used vim/emacs, Visual Studio, VSCode, Atom, Sublime Text, etc. for significant periods of time. They're always willing to drop their current editor for a new one that seems to work better for them.
- eyko 7y ago> The best programmers I know actually have zero editor loyalty. Thanks. This comment made me feel like a best programmer. Jokes aside, I love trying new tools, and it's probably just curiosity, and every tool you try either teaches you something you like, or something you don't. For instance, it's unlikely that I'll ever use an editor that doesn't have a vim-like plugin (for input), but I can't get myself to actually use vim anymore. At the moment I mostly use VSCode, Emacs, or IntelliJ... depending on the language and the support editor's for my workflows (in that language). In emacs, I tend to use the terminal in my editor, whereas in VSCode I'm usually switching between iTerm and VSCode. I sometimes run tasks, builds and debug from IntelliJ, but I'm not sold on the embedded terminal. I'll have to be honest with myself here though: I often feel that whatever editor I'm using does indeed impact my productivity and that none of them is perfect, and perhaps this is why I'm never happy with any editor in particular. I've never really used a proper IDE other than XCode (maybe emacs counts as one, but I don't think the way I use emacs counts), so I'm always curious when I hear people talk about Visual Studio + ReSharper. I'm not a .Net developer and I don't use Windows, so I'll probably never know. That being said, my productivity also varies from stack to stack. I'm not as productive in JavaScript as I am in Go or (I would say) Rust, and I think it's just down to the fact that the tooling is great in most editors, as well as outside the editors. I'm not sure I can confidently say that bout JavaScript/Typescript (although much better now than say 5 years back).
- Illniyar 7y agoFor the last 10 years I've worked with perhaps 200 developers, I haven't seen a single one who uses vim or emacs, whether they are 20 or 50 years old. Maybe it's the nature of the work - web development (frontend and backend). I've known a few who use sublime text, and there was no correlation with either being a good developer or being productive (though I haven't met a bad developer using sublime yet, mediocre ones are common enough)
- TimMeade 7y agoIn general I agree with you. But! I do know a couple programmers, one who is in his 20's and one older who use vim for everything. Honestly i would say the they are more productive doing it. Watching them work is astounding. Unfortunately the learning curve to that level is Everest like.
- cheerlessbog 7y agoI use Sublime or VS Code but for no purpose that I could not put Vim to if I wanted. Most of my coding work is reading and thinking. When navigating, I mostly use regexes (relying heavily on standard code format). After using VS for twenty years, I decided to try this more textual approach two years ago, and I believe I have become a better developer for it. An IDE makes it so easy to drop into the debugger. I try to gain understanding of the code and drop into the debugger only if necessary. With this barebones approach, I more deeply understand the system and more often fix bugs at the root rather than the symptom.
- scarface74 7y agoHow many automatic guaranteed safe refactors can I do with VIM? Of course I’m referring to statically typed languages. Something as simple as renaming a method and it is automatically renamed in your entire code base is a life saver. https://www.jetbrains.com/resharper/features/code_refactoring.html https://www.jetbrains.com/resharper/features/code_refactorin... I see a similar thing happening with coders who do a lot of tests (test driven development), some tests and no tests. Developers who don't write any tests are often the most productive. Tests aren’t about productivity. They are about maintainability when you have to make changes. How many large code bases have you dealt with?
- bovine3dom 7y agoThe Language Server Protocol [1] makes such refactors possible in Vim (and other editors). [1] https://microsoft.github.io/language-server-protocol/ https://microsoft.github.io/language-server-protocol/
- scarface74 7y agoSo it’s possible, have any implementations where you can use VIM and do massive project wide refactors?
- bovine3dom 7y agoI haven't personally done any massive ones, but vim-lsp and tsserver have worked fine on a tens-of-thousands of lines large project. It's the same gubbins that VS Code uses for all of its cleverness.
- namelosw 7y agoIf I just 'sit back and think' I wouldn't use Emacs at all. I believe at least for Emacs people use it because it's an interactive environment like Slime. With this kind of interactiveness, I can think by playing with the code. Just like sketching with a pencil instead of a pen. Most of the time 'sit back and think' doesn't work because if your business model is dynamic you have to break your existing design and refactor, unless you are just solving a problem in a small generic domain. At least for OO languages. That's something IDEs are used for.
- pjc50 7y ago> Developers who don't write any tests are often the most productive. This should not pass code review. If it doesn't have tests then it's a landmine for other programmers in the future, since they can break it without realising - possibly entirely indirectly, such as through a library change. The most "productive" techniques I've seen are all metaprogramming - assemble something which matches the domain well and use that to produce a large volume of code from specification-as-data. (Oddly, the only area where nobody bothers to do automated integration testing in my experience is embedded code, possibly because it's too hard to set up)
- lowbloodsugar 7y agoAny fucker not writing tests is more productive in the short term, but in the long term risks your entire business. Unless your business is getting hired by marketing directors who want pretty demos to laud over their internal developers, in which case you practically have to write garbage to hit the deadline (not your fault; fault of the internal devs for not quitting instead of working for a twat). But on the bigger issue, correlation is not causation. Many new developers start with an IDE because. So you’ll see a lot of inexperienced developers using an IDE. On the other hand, back in the day, if I wanted to have any chance of editing this file on the arse end of a 9600baud dumb terminal then vi is the answer. So there are old bastards still programming, who therefore have a ton of experience, who use vim. Does using vim make you a good coder? Fuck no. Does using an IDE make you a bad coder. Also no. I use an IDE. I’ve used an IDE since ‘92. Then it was slick edit on OS/2, at a company working on some of the hard bits of supermarket system, and everyone used it. One of the best programmers I know uses vim. However every other best programmer I know uses an IDE. I suspect the vim guy is wired differently. So if vim seems right to you then use it. If an IDE works then use that. Anyone tells you you aren’t a proper coder unless you use vim or emacs or edlin then they are telling you that they are a pretentious twat. My friend who uses vim will not tell you to use vim. He’ll tell you why he likes it. But write fucking tests.