Adam Crossland
  • Member for 11 years, 3 months
  • Last seen more than a month ago
The Art of Computer Programming - To read or not to read?
Accepted answer
81 votes

TAOCP is an utterly invaluable reference for understanding how the data structures and algorithms that we use every day work and why they work, but undertaking to read it cover-to-cover would be an ...

View answer
Is it necessary to create a database with as few tables as possible
72 votes

A database should have exactly as many tables as it needs. No fewer, no more.

View answer
Can freelancers ask their client to sponsor an iPad for project needs?
57 votes

I'd say that it is 100% ethical, and yes, I would ask my client to supply me with any non-standard tools that are required for a project. I would also say that the client has every right to ask for ...

View answer
Ruby or Python?
Accepted answer
35 votes

Don't let the fact the Ruby rose into the common parlance largely because of Rails (the web application framework) fool you. It is a general-purpose programming language, and you can use it for ...

View answer
What ASP.NET MVC can do and Ruby on Rails can't?
Accepted answer
30 votes

I have developed real applications with both Rails and ASP.NET MVC, but this answer comes with a significant caveat: I learned and developed with pre-version 2 Rails, so it is entirely possible that I ...

View answer
Where has Cloud Computing gone?
Accepted answer
28 votes

Cloud Computing, like most new technologies, was painfully over-hyped by the industry media. As it matures and is adopted -- or not -- as a working strategy, it is finding its valid place in the ...

View answer
How would you explain multi threading to a seven year old kid?
22 votes

Hey Kid. Have you ever walked and chewed gum at the same time while thinking about Pokemon? That's your brain multi-threading.

View answer
Is continuous creation and deletion of tables a sign of an architectural flaw?
Accepted answer
21 votes

It's becoming more-and-more apparent to me every day that "agile" is becoming a synonym for poorly thought-out, chaotic, hurried and seat-of-your-pants. And none of those things are compatible with an ...

View answer
Are there architecture smells?
20 votes

Everything is Configurable. When an architect tells you that his system is change-proof or highly-customizable because of extensive configurability, that's an architecture smell. The problem is that ...

View answer
Most underestimated programming tool
19 votes

Google. There is are very few problems that haven't already been solved and documented. A well-tuned Google query can save everyone a lot of time.

View answer
Does the use of debuggers have an effect on the efficiency of programmers?
18 votes

Just my opinion, but I feel that regular, systematic use of a line-level debugger might be the single greatest productivity enhancement practice that a programmer has available. Whether you are ...

View answer
Harmful temptations in programming
17 votes

A couple of beers will help me work better and longer.

View answer
Why is it called a 'Here Document'?
16 votes

Well, the document is right here. Here it is. It's a logical name for the thing, yeah? When people speak of 'here documents' they are generally speaking of a unit of data that is embedded into code. ...

View answer
How to improve programming environment for optimal productivity?
Accepted answer
15 votes

Don't kill yourself "to get the job done." Nothing will reduce your productivity more than burnout. Eight to ten hours a day of programming is about the maximum that a normal person can do before ...

View answer
What justifies the use of an IDE versus a standard editor?
14 votes

Productivity. Is there any other justification that makes sense? For me, a well-designed IDE that centralizes a lot of the functions that I perform while programming -- creating and editing code, ...

View answer
Move on and look elsewhere, or confront the boss?
13 votes

While this workplace sounds like a nightmare, I think that there are some legitimate reasons to stick it out at least until you have your Bachelor's degree finished. First, making $30 an hour with an ...

View answer
Warranty or guarantee clause for code breaking
13 votes

Unless your client demands some kind of a guarantee or warranty, don't go offering one. Many clients will end up using it to force you into indentured servitude. Even if they do demand one, consult a ...

View answer
Do I need to understand algorithms and data structures to be called a programmer?
13 votes

This might be an occasion where there can be a semantically-meaningful distinction between 'programmer' and 'software engineer.' In this context, specifically, we see that you have a knowledge of ...

View answer
Is ASP.NET MVC slow as compared to traditional approach?
Accepted answer
11 votes

This is a very subjective question in some respects, but I will attempt to answer the parts that can be reasonably answered. Isn't the performance of MVC a bit slow? No. Of course, it is possible ...

View answer
How to deal with potential enterpreneur developer in a IT startup
Accepted answer
9 votes

I would adopt the strategy of taking the best programmers, the entrepreneurial, super-effective stars and giving them an entrepreneurial-level stake in the business. That engineer is much more likely ...

View answer
What is the market share of programs written in .NET nowadays?
8 votes

My personal experience is that .NET is dominant in in-house, enterprise-level development. Most of these applications are not build for public consumption and so are not a part of our everyday ...

View answer
Common Javascript mistakes that severely affect performance?
Accepted answer
8 votes

A common performance killer is calling .length on an HTMLCollection inside a for loop: function foo(collection) { for (var index = 0; index < collection.length; index++) { // do ...

View answer
what is storing data in constant space?
8 votes

That statement is kinda true, but not really. A Bloom Filter is a data structure that is useful for storing multiple hashes. Generally, you would implement it as an array of bits or ints where each ...

View answer
So with HTML5 what exactly.....is "supposed" to become phased out
Accepted answer
8 votes

HTML 5 is not a replacement for Flash. Its various technologies provide alternative mechanisms for doing many or even all of the things that you can do in a Flash app, but it's not correct to say that ...

View answer
Why SQL is not so widespread in large desktop applications?
8 votes

Why Windows itself doesn't use any "central" SQL database? Actually, this idea has been in development at Microsoft for some time. It is called WinFS. It is an intriguing technology, and it is ...

View answer
Do I own copyright of program I made in own time?
7 votes

As @Frustrated said, only the lawyers can decide this, but given that the package is now widely used within the company, it may be the case that your employer will see this as an opportunity to keep a ...

View answer
Can desktop applications be written using javascript?
Accepted answer
7 votes

HTML 5 gives you everything that you need to build an application that runs in the browser but without access to any live network resources. That's effectively a desktop application, and it it all ...

View answer
Best books on Managing a Software Development Team?
7 votes

The Mythical Man-Month. This is essential reading.

View answer
Great Lunch and Learn Topics
7 votes

Inversion of Control and Dependency Injection are powerful ideas that need to be much more widespread than they currently are.

View answer
Is comparing cloud computing to main frames a bad analogy?
7 votes

Actually, I think that the effect of Cloud Computing will be quite the opposite: it will democratize the building of large web applications by making the required infrastructure available to nearly ...

View answer