Most Popular

1500 questions
91
votes
10 answers

Why did Alan Kay say, "The Internet was so well done, but the web was by amateurs"?

OK, so I paraphrased. The full quote: The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was…
kalaracey
  • 939
  • 1
  • 8
  • 8
91
votes
7 answers

What functionality does dynamic typing allow?

I've been using python for a few days now and I think I understand the difference between dynamic and static typing. What I don't understand is under what circumstances it would be preferred. It is flexible and readable, but at the expense of more…
91
votes
13 answers

To branch or not to branch?

Till recently my development workflow was the following: Get the feature from product owner Make a branch (if feature is more than 1 day) Implement it in a branch Merge changes from main branch to my branch (to reduce conflicts during backward…
SiberianGuy
  • 4,793
91
votes
11 answers

Using third-party libraries - always use a wrapper?

Most projects I am involved with use several open-source components. As a general principle, is it a good idea always to avoid binding all components of the code to the third-party libraries and instead go via an encapsulating wrapper to avoid the…
90
votes
10 answers

How to explain why multi-threading is difficult

I am a fairly good programmer, my boss is also a fairly good programmer. Though he seems to underestimate some tasks such as multi-threading and how difficult it can be (I find it very difficult for anything more than running a few threads, waiting…
Mr Shoubs
  • 841
90
votes
14 answers

Hiring a programmer much more qualified & experienced than yourself?

My employer is hiring a programmer - more specifically, I am interviewing and selecting the person who will fill the position. The best candidate right now is far more qualified than I am, older, and a lot more experienced. Other people I've talked…
Kyle Lowry
  • 1,433
  • 11
  • 14
90
votes
15 answers

Tricky logic puzzles - Are they really useful in assessing programming skills?

In the last interview I attended, I was asked to solve a puzzle where I was expected to measure exactly blah liters of water given two buckets with capacities - blah and blah liters respectively. I was unable to solve the puzzle in given time (~5…
missingfaktor
  • 3,886
  • 1
  • 25
  • 31
90
votes
18 answers

Reasons Programmers Leave

I am interested in finding out why programmers leave their jobs and if the reasons for leaving have resurfaced in your now job? Is the reason for leaving simply down to remuneration, location, I hate my boss / coworker, lack of recognition or…
Kane
  • 789
90
votes
6 answers

Is it bad practice to enforce an execution order for unit tests?

I am writing tests for a project that consists of multiple submodules. Each test case that I have written runs independent of each other and I clear all data between tests. Even though the tests run independently, I am considering enforcing an…
90
votes
8 answers

What HTTP status code to return if multiple actions finish with different statuses?

I am building an API where the user can ask the server to perform multiple actions in one HTTP request. The result is returned as a JSON array, with one entry per action. Each of these actions might fail or succeed independently of each other. For…
Anders
  • 1,351
  • 1
  • 10
  • 17
90
votes
5 answers

Would UTF-8 be able to support the inclusion of a vast alien language with millions of new characters?

In the event an alien invasion occurred and we were forced to support their languages in all of our existing computer systems, is UTF-8 designed in a way to allow for their possibly vast amount of characters? (Of course, we do not know if aliens…
90
votes
5 answers

Is it a good practice to declare instance variables as None in a class in Python?

Consider the following class: class Person: def __init__(self, name, age): self.name = name self.age = age My coworkers tend to define it like this: class Person: name = None age = None def __init__(self, name,…
90
votes
11 answers

Why learn git when there are GUI apps for GitHub?

Given that GitHub provides GUI apps for both Mac and Windows, what are the benefits of learning to use git from the command line? Currently I'm using their mac app to update my repositories, and so far it seems to cover my needs. What might I be…
histelheim
  • 1,073
90
votes
12 answers

How big does my project need to be for me to unit test it?

I assume that my project is decoupled enough to allow for unit testing. But how big, exactly, in terms of clases and functions does my project need to be to make unit testing worthwhile? We all make mistakes and no one's perfect, but I consider…
Lamin Sanneh
  • 4,025
89
votes
19 answers

How do Programmers in the East see programmers in the West?

The other half of this question: How do programmers in the West see programmers in the East? I think it's just as interesting and important to see how programmers in the east view programmers in the west. The eastern part of the world…
Jon Hopkins
  • 22,764