My favourite debates among programmers
Tags: watercooler
Published: 2020-07-08 05:40:35

---
title: My favourite debates among programmers
published: true
description: List of favorite debates among programmers with my take on it. 
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/8z8idanvpb04wrkfj5vv.png
tags: discuss, watercooler
---

I have come across lots of debates related to development in my software development career so far and, more recently, when developing [www.bookmarks.dev](https://www.bookmarks.dev). Below you can find a list of my favorites and my take on each of them.

> I, as many others, might be somewhat biased, but I try to  keep an open minded, because in the end what matters are the products and the quality we provide. 


## Space vs tabs
I was aware of this debate, but I guess this was brought to my attention by the scene from Sillicon Valley where Richard breaks up with his girlfriend over this topic:

[![Tabs vs Spaces Sillicon Valley Scene](https://dev-to-uploads.s3.amazonaws.com/i/wifesj4abxja6r4mna6t.png)](https://www.youtube.com/watch?v=SsoOG6ZeyUI)

> I use tabs and I am used to auto format my code anyway (**Ctrl + Alt + L** in IntelliJ)
<hr>

## Monorepo or multiple repositories
I [switched recently to a monorepo](https://dev.to/ama/to-separate-or-not-to-separate-frontend-and-backend-3nk9) for [bookmarks.dev's source code](https://github.com/BookmarksDev/bookmarks.dev) and I tend to now bring the things that belong together "closer"...

Other links:
* [Why is Babel a monorepo?](https://github.com/babel/babel/blob/master/doc/design/monorepo.md)
* [Mono-repo or multi-repo? Why choose one, when you can have both?](https://medium.com/@patrickleet/mono-repo-or-multi-repo-why-choose-one-when-you-can-have-both-e9c77bd0c668#:~:text=Mono%2Drepos%20are%20a%20source,to%20everything%20in%20one%20shot.&text=Multi%2Drepos%20on%20the%20other,into%20their%20own%20separate%20repositories.)
* [Public links tagged **monorepo**  on **bookmarks.dev**](https://www.bookmarks.dev/search?q=%5Bmonorepo%5D&sd=public-bookmarks&page=1&include=all)

<hr>

## Dark vs Light Themes for your IDE
When I was younger I definitely preferred darker themes, but with the time passing I am more into practicality of things. Now use only Light Themes simply because it strains my eyes less and am not developing in a cage or with closed curtains anymore that might speak for a dark theme. (The energy saving with dark themes is also negligible)

> I've recently discovered - [f.lux](https://justgetflux.com/) and it is awesome. It makes the color of your computer's display adapt to the time of day, warm at night and like sunlight during the day.  

Links:
* [Dark Mode vs. Light Mode: Which Is Better?](https://www.nngroup.com/articles/dark-mode/)
* [Dark or white color theme is better for the eyes? [duplicate]](https://ux.stackexchange.com/questions/53264/dark-or-white-color-theme-is-better-for-the-eyes)

<hr>

## Functional programming vs OOP 

I've used mostly "OOP" languages (Java, Javascript), which offer functional-programming capabilities I try to take advantage of. I don't have a strong opinion here and I think it comes to using the right strategy for the job. You can find a fairly neutral perspective  in the following article - [FP vs. OO](https://www.innoq.com/en/blog/fp-vs-oo/)


Links:
* [So you want to be a functional programmer](https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536)
* [Public links tagged **functional-programming**  on **bookmarks.dev**](https://www.bookmarks.dev/search?q=%5Bfunctional-programming%5D&sd=public-bookmarks&page=1&include=all)

<hr>

## OR vs AND operator in default search
It was not until recently, that I found out Google sacrificed one of its most useful operators in its searches "+", for the sake of their **Google+** social network (so this happened loooong time ago), that eventually turned out to be a flop:
![Flop google](https://media.giphy.com/media/WjldrOwZZ3EpW/giphy.gif)

You would put the "**+**" operator in front of words to force them appear in search results, instead of having to constantly  select the option **Must include**, after words. Now you have to put the words between quotes, which is more cumbersome, by Google standards anyway...

> I, for one, expect that the search results include all the words I put in the search box (as Google used to do in the beginning), so this is the default option when searching on [www.bookmarks.dev](https://www.bookmarks.dev), despite Mongo using the same approach as Google. When no results are found that contain "ALL" the words, the alternative "ANY" option is presented...

### Links
* [Can we have search default to “AND” instead of “OR”?](https://meta.stackexchange.com/questions/10713/can-we-have-search-default-to-and-instead-of-or)
* [Google Kills Its Other Plus, and How to Bring It Back](https://www.wired.com/2011/10/google-kills-its-other-plus-and-how-to-bring-it-back/)

<hr>

## Best programming language in the world 
I think this is the false question to ask. Every language has its own advantages and disadvantages. One might be more appropriate for a project and other for another:
![Flop google](https://media.giphy.com/media/3og0Iwmv38WmJBrYvS/giphy.gif)

> I think eventually the good ones will prevail. I tend to watch the [stackoverflow technology report](https://insights.stackoverflow.com/survey/2020#most-popular-technologies) and [tiobe index](https://www.tiobe.com/tiobe-index/) to understand where the "market" is going and try to adapt myself correspondingly.

<hr>

## Singular vs Plural when naming things
I use singular for homogenous and plural for heterogeneous items(which is rarely the case) 

### Links
* [Table Naming Dilemma: Singular vs. Plural Names](https://stackoverflow.com/questions/338156/table-naming-dilemma-singular-vs-plural-names)
* [Should package names be singular or plural?](https://softwareengineering.stackexchange.com/questions/75919/should-package-names-be-singular-or-plural)

<hr>

## Conclusion
Did I miss any important ones? I am curious what are your favorites - leave a comment below and let's debate it!