All Questions

Filter by
Sorted by
Tagged with
110 votes
5 answers
142k views

Staging environment vs Production environment

I work for a company where we build enterprise applications, and we maintain three environments: development (or dev), staging (or stage) and production (or prod). The meaning of dev is intuitive: it'...
rdasxy's user avatar
  • 3,333
110 votes
4 answers
568k views

What are the differences between server-side and client-side programming?

I've seen questions (mainly on Stack Overflow), which lack this basic knowledge. The point of this question is to provide good information for those seeking it, and those referencing to it. In ...
Madara's Ghost's user avatar
110 votes
15 answers
121k views

What's the career path for a developer who doesn't like management?

If you're developer (Senior or Lead Developer) and you'd rather stay with code/design than pursue a management career, what are the available career paths at your company, or any you've heard of? How ...
110 votes
6 answers
32k views

Does immutability hurt performance in JavaScript?

There seems to be a recent trend in JavaScript towards treating data structures as immutable. For example, if you need to change a single property of an object, better to just create a whole new ...
callum's user avatar
  • 10.4k
110 votes
9 answers
38k views

Is it advisable to ask employees to create 'work' GitHub accounts?

I've moved all our company Git repositories to GitHub and now I want to add employees to the projects. Since most employees already have personal GitHub accounts, I'm wondering whether I should ask ...
fiorenti's user avatar
  • 1,127
109 votes
6 answers
25k views

Why is XML called a "language" exactly?

I've been wondering why XML has an L in its name. By itself, XML doesn't "do" anything. It's just a data storage format, not a language! Languages "do" things. The way you get XML to "do" stuff, to ...
Mr Lister's user avatar
  • 1,599
109 votes
12 answers
221k views

Is the C programming language still used?

I am a C# programmer, and most of my development is for websites along with a few Windows applications. As far as C goes, I haven't used it in a long time, as there was no need to. It came to me as a ...
109 votes
6 answers
29k views

What is a term for a function that when called repeatedly, has the same effect as calling once?

(Assuming a single-threaded environment) A function that fulfills this criterion is: bool MyClass::is_initialized = false; void MyClass::lazy_initialize() { if (!is_initialized) { ...
Rufus's user avatar
  • 1,487
109 votes
25 answers
42k views

How far should one take e-mail address validation?

I'm wondering how far people should take the validation of e-mail address. My field is primarily web-development, but this applies anywhere. I've seen a few approaches: simply checking if there is ...
Lauren's user avatar
  • 1,259
109 votes
7 answers
9k views

You're hired to fix a small bug for a security-intensive site. Looking at the code, it's filled with security holes. What do you do? [closed]

I've been hired by someone to do some small work on a site. It's a site for a large company. It contains very sensitive data, so security is very important. Upon analyzing the code, I've noticed it's ...
MaiaVictor's user avatar
  • 5,830
109 votes
20 answers
72k views

Making money with Open Source as a developer?

I'm currently a student (Applied Information Technology) and we do most of our programming in C# and Java. I was wondering how can I as a developer, make money with open source. I know there is the ...
109 votes
5 answers
13k views

Aren't the guidelines of async/await usage in C# contradicting the concepts of good architecture and abstraction layering?

This question concerns the C# language, but I expect it to cover other languages such as Java or TypeScript. Microsoft recommends best practices on using asynchronous calls in .NET. Among these ...
corentinaltepe's user avatar
109 votes
10 answers
13k views

How to make a large codebase easier to understand

Suppose that I am developing a relatively large project. I have already documented all my classes and functions with Doxygen, however, I had an idea to put a "programmer's notes" on each source code ...
Alex Spataru's user avatar
  • 1,267
109 votes
8 answers
173k views

Why have private static methods?

I just wanted to clear up a question I have. What is the point of having a private static method as opposed to a normal method with private visibility? I would have thought an advantage to having a ...
Rehan Naqvi's user avatar
  • 1,209
109 votes
29 answers
25k views

How do you manage your knowledge base? [closed]

As programmers we have a lot of inputs: Ebooks Code snippets Interesting emails Documents Web articles Blog posts StackOverflow questions Podcasts ... Which tools do you use to store, organize, ...
108 votes
11 answers
21k views

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

I understand that save for breaking out of loops nested in loops; the goto statement is evaded and reviled as a bug prone style of programming, to never be used. Alt Text: "Neal Stephenson thinks it'...
Anon's user avatar
  • 3,613
108 votes
10 answers
78k views

Why is Python used for high-performance/scientific computing (but Ruby isn't)?

There's a quote from a PyCon 2011 talk that goes: At least in our shop (Argonne National Laboratory) we have three accepted languages for scientific computing. In this order they are C/C++, ...
Cyclops's user avatar
  • 2,167
108 votes
3 answers
39k views

Folder-by-type or Folder-by-feature

I make use of an AngularJS style guide. Within this guide there is a style called folder-by-feature, instead of folder-by-type, and I'm actually curious what's the best approach (in this example for ...
Jelle's user avatar
  • 2,044
107 votes
5 answers
12k views

How does shifting to microservices create a run-time problem?

The following commentator writes: Microservices shift your organizational dysfunction from a compile time problem to a run time problem. This commentator expands on the issue saying: Feature ...
hawkeye's user avatar
  • 4,829
107 votes
16 answers
40k views

What is the benefit of not using Hungarian notation?

One of the things I struggle with is not using Hungarian notation. I don't want to have to go to the variable definition just to see what type it is. When a project gets extensive, it's nice to be ...
107 votes
14 answers
13k views

Does TDD make defensive programming redundant?

Today I had an interesting discussion with a colleague. I am a defensive programmer. I believe that the rule "a class must ensure that its objects have a valid state when interacted with from outside ...
user2180613's user avatar
  • 1,792
107 votes
10 answers
21k views

Is it ok to use meta-programming even though not all of my colleagues understand it?

I employ a lot of meta-programming to avoid repetitive tasks and build safer-to-use abstractions. I recently moved to a new job where I am working in a larger team and this worries some of my ...
kamikaze's user avatar
  • 1,080
107 votes
12 answers
52k views

Result object vs throwing exceptions

When sending a request to another module and expecting a result, it seems to me there are two ways of dealing with the 'non-happy paths'. Throw an exception Return a result object that wraps ...
dumazy's user avatar
  • 1,219
107 votes
8 answers
21k views

Are there any design patterns that are unnecessary in dynamic languages like Python?

I've started reading the design pattern book by the GoF. Some patterns seem very similar with only minor conceptual differences. Do you think out of the many patterns some are unnecessary in a ...
Gere's user avatar
  • 2,191
107 votes
17 answers
22k views

Does Scrum turn active developers into passive developers?

I'm a web developer working in a team of three developers and one designer. It's now about five months that we've implemented the agile scrum software development methodology. But I have a weird ...
107 votes
4 answers
72k views

How is a Java reference different from a C pointer?

C has pointers and Java has what is called references. They have some things in common in the sense that they all point to something. I know that pointers in C store the addresses they point to. Do ...
Gnijuohz's user avatar
  • 2,065
107 votes
4 answers
47k views

Is XHTML5 dead or is it just an synonym of HTML5?

So what happened to XHTML5? http://www.w3.org/TR/html5/ That page is a draft for both xhtml5 and html5? So there's no difference between these doctypes?
W3C's user avatar
  • 1,081
106 votes
17 answers
16k views

Importance of hobby projects [closed]

I want to know, how important is it to program in your spare time? Is it necessary to work your 9-5 as a programmer and then get home and work on your hobby to become a better programmer? This said, ...
106 votes
9 answers
28k views

Check First vs Exception Handling?

I'm working through the book "Head First Python" (it's my language to learn this year) and I got to a section where they argue about two code techniques: Checking First vs Exception handling. Here is ...
jmq's user avatar
  • 6,078
106 votes
7 answers
68k views

What makes a language Turing-complete?

What is the minimal set of language features/structures that make it Turing-complete?
Curious Cat's user avatar
  • 1,135
105 votes
47 answers
75k views

Make a big deal out of == true?

There is a colleague of mine who constantly writes: if (someBool == true) It drives me up the wall! Should I make a big deal of it or just drop it?
105 votes
15 answers
120k views

Why are data structures so important in interviews? [closed]

I must confess that I was not so strong in data structures when I graduated out of college. Throughout the campus placements during my graduation, I've witnessed that most of the biggie tech companies ...
105 votes
18 answers
68k views

Is it poor programming practice to pass parameters as Objects? [duplicate]

So, we've got a guy who likes to write methods that take Objects as parameters, so they can be 'very flexible.' Then, internally, he either does direct casting, reflection or method overloading to ...
105 votes
21 answers
21k views

What's the benefit of avoiding the use of a debugger?

Over the course of my career, I've noticed that some developers don't use debugging tools, but do spot checking on erroneous code to figure out what the problem is. While many times being able to ...
105 votes
11 answers
12k views

Where should my team start with becoming "modern"? [closed]

I'm a relatively new developer, fresh from college. While in college and during subsequent job-seeking, I realized that there were a lot of "modern" software development methodologies that my ...
WannabeCoder's user avatar
  • 2,794
105 votes
22 answers
21k views

Do job postings exaggerate their requirements? [closed]

I feel like a reasonably qualified programmer, but a lot of job postings I run into make me feel otherwise. Almost all of them separate qualifications into requirements and desirables, but even the ...
105 votes
12 answers
38k views

When do function call costs still matter in modern compilers?

I am a religious person and make efforts not to commit sins. That is why I tend to write small (smaller than that, to reword Robert C. Martin) functions to comply with the several commandments ordered ...
Billal Begueradj's user avatar
105 votes
5 answers
19k views

Should I submit a pull request to correct minor typos in a Readme file?

While going through the README file of a GitHub repository I am not a contributor of, I noticed a few minor typos and wondered if I should submit a pull request to correct them or if reviewing the ...
Florent Michel's user avatar
105 votes
9 answers
34k views

What is the supposed productivity gain of dynamic typing? [closed]

I often heard the claim that dynamically typed languages are more productive than statically typed languages. What are the reasons for this claim? Isn't it just tooling with modern concepts like ...
Dr. Hans-Peter Störr's user avatar
105 votes
17 answers
20k views

Is encapsulation still one of the elephants OOP stands on?

Encapsulation tells me to make all or almost all fields private and expose these by getters/setters. But now libraries such as Lombok appear which allow us to expose all private fields by one short ...
Gangnus's user avatar
  • 2,817
105 votes
14 answers
13k views

At what point is brevity no longer a virtue?

A recent bug fix required me to go over code written by other team members, where I found this (it's C#): return (decimal)CostIn > 0 && CostOut > 0 ? (((decimal)CostOut - (decimal)...
Bob Tway's user avatar
  • 3,636
105 votes
10 answers
12k views

Where is the line between unit testing application logic and distrusting language constructs?

Consider a function like this: function savePeople(dataStore, people) { people.forEach(person => dataStore.savePerson(person)); } It might be used like this: myDataStore = new Store('some ...
Jonah's user avatar
  • 1,486
105 votes
3 answers
89k views

When and for what purposes should the const keyword be used in C for variables?

While getting my code reviewed here the issue of using the const keyword came up. I understand that it is used for implementing read-only behaviour on variables. I am confused about what are the ...
Aseem Bansal's user avatar
  • 3,004
105 votes
2 answers
56k views

MIT vs. BSD vs. Dual License

My understanding is that: MIT-licensed projects can be used/redistributed in BSD-licensed projects. BSD-licensed projects can be used/redistributed in MIT-licensed projects. The MIT and the BSD 2-...
ryanve's user avatar
  • 1,159
104 votes
18 answers
49k views

Why is verbosity bad for a programming language? [closed]

I have seen many people around complaining about verbosity in programming languages. I find that, within some bounds, the more verbose a programming language is, the better it is to understand. I ...
104 votes
9 answers
20k views

What's the point of running unit tests on a CI server?

Why would you run unit tests on a CI server? Surely, by the time something gets committed to master, a developer has already run all the unit tests before and fixed any errors that might've occurred ...
Calin Leafshade's user avatar
104 votes
14 answers
72k views

Why are most browsers developed in C++ [closed]

It seems like most of common web browsers (Firefox, Chrome, Safari) are developed using C++. Whys is that so?
104 votes
10 answers
16k views

Has / can anyone challenge Uncle Bob on his love of removing "useless braces"?

I hate referencing paywalled content, but this video shows exactly what I'm talking about. Precisely 12 minutes in Robert Martin looks at this: And says "One of my favorite things to do is getting ...
candied_orange's user avatar
104 votes
10 answers
16k views

Zero behavior objects in OOP - my design dilemma

The basic idea behind OOP is that data and behavior (upon that data) are inseparable and they are coupled by the idea of an object of a class. Object have data and methods that work with that (and ...
RokL's user avatar
  • 2,421
104 votes
11 answers
103k views

How often should I/do you make commits? [duplicate]

I am a recent (as of yesterday) college grad - BS in Computer Science. I've been a huge fan of version control ever since I got mad at an assignment I was working on and just started from scratch, ...
Wayne Werner's user avatar
  • 2,370

15 30 50 per page
1
8 9
10
11 12
1273