Tag Info

Hot answers tagged

176

Subversion is a central repository While many people will want to have distributed repositories for the obvious benefits of speed and multiple copies, there are situations where a central repository is more desirable. For example, if you've got some critical piece of code that you don't want anyone to access, you'd probably not want to put it under Git. ...


135

It's not overkill. The main reason why I started using Git and Mercurial over Subversion for personal projects is that initiating a repository is so much more easier. Wanna start a new project? > git init BAM! No need to set up a repository server nor check in a folder structure to support branching and tags into a subversion repository. Sharing your ...


113

One benefit of Subversion over Git can be that Subversion allows checking out sub-trees only. With Git the whole repository is a unit, you can get only all or nothing. With modular code, this can be quite nice compared to Git submodules. (While Git submodules have their place, too, obviously.) And a small tiny benefit: Subversion can track empty ...


103

No, developers haven't got lazier or less competent. Yes, there is a steadily decreasing need for actual development, in the sense that you know it. And yes, this is very much because businesses want quick results, and why shouldn't they? However, there is an end-point. There will always be a need for some developers. A lot of requirements are the same ...


102

Personally, I would want the company to just sort out the equipment I need, not give me a budget and make me to deal with all the research, negotiation and other hassle that goes into buying and installing corporate hardware. In the end, all I want to have to do about hardware is state my few requirements, and have someone else do all of that work, so ...


89

"Now orders, without discussion, have come down that everyone is to switch to Eclipse." I think that this is the real red flag. Your team is the expert on software development and the one to be affected by the decision, and yet you did not get to say a word in the discussion that resulted in this order? It sounds like over-managing by pointy-haired ...


69

A rubber duck. Yes, really. http://en.wikipedia.org/wiki/Rubber_duck_debugging Rubber duck debugging, rubber ducking, and the rubber duckie test are informal terms used in software engineering to refer to a method of debugging code. The name is a reference to a likely apocryphal story in which an unnamed expert programmer would keep a rubber duck by his ...


64

It is reasonable that when you working together on a common project, that on every workstation you have all the tools available to edit/build/debug your software, and that the core tools for doing about 90% of the development are known to everyone in the team. That goal is harder to achieve if your team is growing and everyone uses his personal favorite ...


51

what I've always done is the following: Open multiple copies of my editor (Visual Studio/Eclipse/Whatever) and then debug and do line breaks step through the code. Find out the flow of the code, stack trace through to see where the key points are and go from there. I can look at method after method - but it's nice if I can click on something and then see ...


50

Is there something fundamentally different about the languages that allows F# to have the interactive console but makes it difficult to implement it for C#? Yes. F# is a a descendent of the ML programming language, which in turn was heavily influenced by languages like Lisp and Scheme. Those languages were designed from day one to have three nice ...


45

I would contend that using Subversion for local personal projects is overkill, whereas Git is decidedly not. Git will take up less space (because of SVN's inefficient "revisions" concept versus Git's object snapshots), requires less setup (git init versus a dozen svnadmin commands and setting up permissions and so on), is easier to back up (git clone --bare ...


44

I can think of three. First, it is quite a bit easier to grok, especially for non developers. Conceptually it is much simpler than DCVS options. Second is maturity, especially TortoiseSVN on Windows. TortoiseHg is catching up fast though. Third, the nature of the beast--just an image of a filesystem where you can check things out from any level of the ...


43

Pen and notebook. Works without electricity. Portable. Doodle on/in when bored in meetings Store useful information. If it is written down, people attach more importance to it. Others can read it and learn.


38

Diff tools seem to be underused when comparing log outputs or data in flat text files. Or maybe that's just a niche? I seem to find it very useful and helpful for debugging to compare huge logs of program executions and pinpoint one or two details that changed. Performance profiling tools are also very good to have, especially when you hit a critical ...


38

So, what are we calling programming now You say: Future programmers will tell the computer what they want and the compiler will write the program for them like in star trek. just make an experiment: watch star trek, and try to interpret the things the computer is ordered to do a little 'graceless'. Tea, earl grey, hot -> a lot of steam. Tea, ...


38

Is a mechanic lazy and less competent because he is using a hydraulic wrench? Image two guys, let's say Brad and Pete. They both work in two garages changing tires on a daily basis. Brad is a smart guy, he knows that using better tools can get his job done better and quicker. Using the hydraulic wrench helps him change more tires. Customers are waiting in a ...


38

It basically comes down to "use the right tool for the job." If you have to interact with a user, you'll want some sort of GUI. We've got decades of research and experience showing that they make computing far more intuitive and productive. That's why GUIs have inexorably taken over the world ever since 1984: they just work better for interacting with ...


37

Do I have to hack till I get the job done To a large extent, yes (sorry). Approaches you might consider: Try to find out what the code is supposed to do, in business terms. Read all the documentation that exists, no matter how bad it is. Talk to anyone who might know something about the code. Step through the code in the debugger. Introduce small ...


36

Regular Expressions They are just so useful. They help when searching through log files, parsing text etc.. They are just extremely useful. I find it strange how many people I know that don't ever use them because there is a bit of a learning curve associated with them. A lot of times I see people do things the hard way (Note: before regex I did ...


32

Since what you're being asked to do is provide input for your client to write an appropriate proposal to the other client (owner-of-the-nightmare-code) for any work on that code, I'm going to go out on a limb and say that you're not going to be doing any thorough testing or refactoring or anything along those lines at this point. You probably have a very ...


31

Eric Raymond's The Art of Unix Programming is the canonical work for the argument you're making. I won't try to condense his excellent book into a couple paragraphs. However, keep in mind that argument applies mostly to programmers, administrators automating tasks using scripting, or power users of highly technical software like CAD. Even with highly ...


30

Your situation is actually common. Anyone having to walk into a new job where there is existing code to work with is going to deal with some element of it. If the system is a really nasty legacy system, then it is very much like what you've described. Of course, there is never any current documentation. First, many have recommended Working Effectively with ...


29

To think you will never branch your own code is a little short-sighted. I've branched my own code several times, particularly when I was experimenting with a new approach I wasn't entirely convinced about yet. You'll eventually want the feature. This is coming from a long time Subversion user. Consolidating on one tool can really help make your life ...


27

I "make tools" when one of these is true: The task is annoying me The risk of human error in the task is too big The "risk" for the 2nd option doesn't have to be huge - the cost of building one small tool is usually small, so if all you save is the risk of running a 10-minute build again once a week, it will usually repay itself very fast. I try to make ...


26

SVN repositories are more manageable from a manager's and administrator's point of view (ACL + authentication methods + hotcopy + mirrors + dumps) SVN *-hooks are easier to implement and support svn:external has more power and flexibility than submodules Filesystem-based repository trees are easier to use than monolithic repositories with logical-only ...


25

Why does this application have to be free? From the way you've worded your question, it sounds to me like you're simply too cheap to buy a great piece of software. You said it yourself: I've tried Balsamiq Mockups. It's great Why is a great productivity tool like Balsamiq Mockups not worth $79? Please, stop expecting every piece of software to be free. ...


25

For pair programming sake, it's nice if both parties infront of the screen has the same skills when using the keyboard. It's also nice to know that, if your project has special configuration needs in the IDE, then It's configured the same way for everybody. Getting a new developer started is easier when the tools are the same for everyone. But if you ...


24

Your teammates. When you are off on some hot-shot idea and forget to incorporate your team, you'll never hear their concerns or ideas for why it won't work or for why it could be even better. I say this, because it's easy to think that programming is some antisocial thing people do off in corners with their brilliant ideas. People who think this ...


23

Programmers are not getting lazier. Programmers have always been lazy. Being lazy is part of the fundamental nature of the job. The problem is that people assume that being lazy is a negative. Being a "lazy" programmer is a virtue. Remember the old adage, "Work smarter, not harder." This is the fundamental drive of programmers. The guys who built and ...



Only top voted, non community-wiki answers of a minimum length are eligible