How often do you like to compile?
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
My code is like the cow in The Restaurant at the End of the Universe - It executes itself!
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
-
Maximilien wrote:
(C++ here)
I think its significant that you mention language. I think which language (build tools, etc) a person is using makes a big difference. And the size of the project -- how long it takes to compile it -- back in the day when computers were slower this had more of an impact. And I think the OP is talking about the REPL[^] You write the code, evaluate it, run it, see what is wrong and then try it again. That all depends upon how long it takes to run the project again. If it takes 30 minutes then you probably write more code and then try it. If it takes seconds to run it again, you probably write one line of code and try it.
raddevus wrote:
If it takes seconds to run it again, you probably write one line of code and try it.
Under that premise I am currently doing this by every small closed function I program, to test if it does what I want to achieve (unless things that are pretty obvious and then I cumulate until next "Let's see"). Executables are less than 1 Mb, so the only F5 that takes a bit more is the first of the day. When working on PLCs I programmed full units / sequences before transferring for the first time. Not so many "Test" options there... I remember one project... the customer was already getting nervous because it was T-3 weeks to deadline and the machine had never moved until that moment. One day I said... ok, I am so far. Transferred PLC and Robot. Two more days teaching all the motion points in the robot. 2 days testing / fixing. 1 day to let the operators test the process. One day with the official protocols... Finished 1,5 weeks before deadline, which I used to do the training and so on. The customer just flipped out (and apologized to me for the stress). My trainee was like :omg: :omg: I whish I had that more often...
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
I reject the premise of the question.
Okay, I'll bite: what's wrong with the premise? You've piqued my curiosity.
Software Zen:
delete this;
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
Frequently, especially if the syntax for something is tricky (gives a stern look at C++ templates). I also tend to iterate a lot, given that our products are complicated and mistakes in the 'plumbing' aren't always easy to find.
Software Zen:
delete this;
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
At my current workplace, there is one hard rule: You do not commit any code to the code base unless it compliles cleanly! So the question comes down to: How often do you commit? In earlier jobs, I was used to committing when a module was reasonably completed and tested. You wouldn't find very many updates to each file. So when I switched jobs about ten years ago, it came as a surprise to me when my colleagues couldn't understand why I hadn't comitted that code change I had made before luch - they wanted to verify that it wouldn't break their code. I was frowned upon if I didn't make commits at least several times a day. Sometimes, a colleague could hang over my shoulder to see me type in the code, compile it and commit it, before going over to his own desk to check out my new code. I quickly learned that as the appropriate working mode in this company. But I am not going to defend it as an absolute rule. Not even as a main one. And you wouldn't believe the amount of processing power required when 100+ developers commit a dozen times a day, and each commit triggers a backend complete rebuild, module testing, linking and integration tests of the entire system. The documentation guys, too: For a while, they had a system that rebuilt all the volumes of all the variants of the documentation at every commit - a job requiring more than an hour of CPU time on our fastest build agent. The technical writes had made a habit of committing for every paragraph they changed. We forced them to restructure their builds so that an edit only rebuilt the volume with the changed paragraph, and later only to those variants of that volume where the paragraph actually occcured. Still, the doc guys had to get their own multi-CPU blade server to get their jobs through fast enough.
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
With intellisense and other IDE features, compiling (though not the meaning it used to have) is pretty much unnecessary until you're ready to test. And of course in duck-duck-run languages, there is no such thing as compiling.
Latest Articles:
Fun Exploring Div and Table UI Layout -
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
It has to depend on familiarity, if I am simply doing CRUD work then I will code up an entire set of views before compiling. If it is more complex then I may compile after even minor changes.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
Heavily depends on the situation. When I'm doing something somewhat complicated, like mixing libraries using different types (in a type-safe language like Delphi or C#) or nesting loops or anything I don't completely see through at the given moment, I compile very iteratively (hit F9, F5 or whatever key the IDE uses every couple minutes) to make the compiler catch the harsh mistakes. But when it's something I'm comfortable with and can firmly say I know exactly what's going on with what I'm doing, I may compile half an hour later. Or an hour. Sometimes, I create a prototype construct, compile to see if it works at all and then, now sure that it works, expand it to what I wanted in the first place. Same goes for the inevitable case where I have to repeat myself a few times (because creating a truly generic solution would take way more time).
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
I used to compile constantly, but I also used to be young and made lot's of mistakes and compiling felt safe. Nowadays I just type out whatever I'm working on in a single go and rely on IntelliSense to catch my mistakes. In general, I don't have compiler errors anymore on a day-to-day basis.* I never liked working through compiler errors one at a time. I'm IntelliSense-4-life now. * I now get compiler errors when it's 2AM and I'm drunk. :java:
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
Like many others, frequency of compilation depends on what I'm doing. If I'm writing a processing routine that has no visual component, I probably won't compile until I've completed the first pass on it. This could be hours or days between compilations. If I'm doing front end work? Much more frequently, as "what you think you're gonna see is not necessarily what you're gonna get".
-
With intellisense and other IDE features, compiling (though not the meaning it used to have) is pretty much unnecessary until you're ready to test. And of course in duck-duck-run languages, there is no such thing as compiling.
Latest Articles:
Fun Exploring Div and Table UI LayoutLooking at some of the responses, I probably should have asked "How often do you compile/test". It was really to get more insight into how often other developers stop coding to check their work.
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
It's not about compiling, per se, but about testing. Some people like to write an entire chunk of functionality, then do all their testing, iterating at that level when they find the problems. Some, (myself included), like to write a small chunk of the overall functionality, test it thoroughly, then move on to the next small chunk. This approach probably means less unit-level testing, but more integration testing, I suppose.
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
Think everyone develops their own habits naturally for me, as a Linux C/C++ developer, if it's maintenance I am doing fairly frequently as I am making my code changes. We work with eclipse and CMake so it's easy just to hit the build button. But when I am adding a new feature and looking at my class diagrams (Dia, visio type). It normally happens at the end after I code a nearly complete class and add it to the CMakeList.txt file. Think if people created well fleshed out class diagram first, it would happen less often when you start coding it, but then more often afterward.
-
Back when I started, the answer would be 'every fortnight'. It took that long for your coding sheets to be sent away, mispunched, and a program listing with error messages to be sent back. So, you'd rewrite the mispunched rows, sent it off, wait a fortnight to see if it had been repunched correctly. Sometimes it would take a couple of months before you got a program that was what you had written. Then you can move on to the next stage. Needless to say, desk dry running was a lot more rigorous - a potential bug found at that stage could save weeks of waiting. The problem with this is that you tended to put too much code into each iteration, so when you got anything usable back, there were too many places to check (and it was so long ago when you wrote it that even the copious comments weren't helpful. That habit has been hard to break. Even when we punched our own cards and submission / turnround times were only a few days, compiling was seen as a milestone (or a millstone). I had to train myself to write small blocks of code, test, write the next bit, test, repeat ad nauseum.
Fortnight? goo! In school it was drop the deck off ( we punched our own ) ( and drew lines on top as "hex marks" ), and pick up the printout next day or so. ( Of course, waiting a fortnight would have made class _difficult_. ) When I started work, we had ( Bruce and I ) the machine to ourselves. I atemped to compile about 3 times - about 10 lines of Fortran. Failed in the library. Found that no-one else had any luck with the compiler yet either. ( PDP11, 16K WITH the integer multiply / divide unit ). Still punching cards, but no compile, assemble, test, ( CPU switches and lights ) sometimes patch at the CPU.
dave of eves
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
When I was young and unexperienced, it was more like a lottery whether my code would run or crash. Knowing that on a subconcious level, I didn't want to be reminded of how unexperienced I was, rarely compiled and never debugged unless there actually was a bug. But finding the bugs I produced sometimes took more than twice as much time as it took to produce them, and I believe some of them were never even found by anyone at all. Today, with more than 20 years of experience, when writing production-level code (so this doesn't go for clickdummies etc.), I want to be aware of my code quality at any time, which means I compile and run *very* often and execute all newly written code in the debugger step by step, having a look at the state of all objects and local variables involved. So lottery no more! This significantly decreases my development speed, by let's say factor 3, while increasing my code quality by factor 2 only. But(!!) economically, this is still sensible bc it spares the quality assurance and technical support people some effort and prevents customers from running away due to poor code quality and frequent crashes.
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
It depends, but in general, as soon as all the related changes needed in order to have a successful compile have been made, I try compiling it. In well designed code, that time usually comes very quick as very little code needs to be changes. In really poorly designed code, it might be a week.
I live in Oregon, and I'm an engineer.
-
Someone here, I believe it was honey the codewitch, mentioned they "develop very iteratively". It made me think about styles of coding vs. debugging. Where I work, some people tend to code much more than others before compiling. I like to err on the side of caution- compiling much more often to see that what I think I did, actually worked the way I think it did. Maybe some of it is confidence in your code skills? You can certainly code more if you don't check your work every two seconds, but if you embedded a bunch of bugs, they may be hard to find if you wait too long. ...Just curious what you guys think? Is it a matter of style, or is there a right or wrong way? How often do you like to compile?:confused:
Just like my saves, early and often. ;)