What is your pettiest programming-related opinion?

peter profile image Peter Kim Frank ・1 min read

What is the most meaningless, silly, un-important programming-related opinion that you'll just continue to defend?

We're all familiar with Tabs vs. Spaces...

But what are some other pointless fights that you're always willing to fight about?


markdown guide

This gonna be good GIF

WordPress is an over-complicated and out-dated framework that shouldn't be used for anything more complex than a plain-text blog.


😱 I'm not going to discuss but gonna tell you're not 100% correct. ✌🏽


I don't agree it's overcomplicated but it definitely should be used only for the blogs and small shops in my opinion. For everything bigger it quickly becomes a disaster.


Anyone who writes more efficient code than me is pretentious.


CSS-in-JS is a mess, framework or not.


Thank you for saying what really needed to be said.

CSS in JS is a disaster. styled-components is glorified garbage. Just create your own wrapper components in a separate directory, style them with CSS in a stylesheet, and export them. Gg ez.


What makes styled-components garbage?

Because anything you can do in styled-components you can also do in plain CSS stylesheets + JS, using proper class names. You can even pass props and conditionally apply different class names.

Yes, the same goal can be achieved with plain CSS stylesheets + JS, but I don't see why that makes styled-components garbage. I suppose it comes down to preference for minor improvements with one option for styling over another.

It's trying to solve a problem that doesn't actually exist.


Tabs and spaces?
Have you learned nothing from American "politics" or Twitter?
Compromise is weakness AND WEAKNESS IS DEATH!


Just make your IDE to use space characters when you press tab. Done, everybody wins


I get the argument for spaces and all, but as someone who has vision problems 2-space indention makes my life way more difficult. I mean I'm not against adjusting my own workspace to accommodate the rest of them team since I'm the only person who has several vision impairments, but I'm honestly still not convinced the difference justifies the extra work.


The heading of this article is petty opinions, so there is no justification.


The creator of Python said if he had to go back in time he would have made 2 space mandatory to stop this space vs tabs wars.


Guido van Rossum prefers tabs [1].

I think putting any kind of semantics in things you cannot print is a big mistake. This includes newlines like used in JavaScript.


Never thought of this. I have a little bit of trouble with my eyesight and use very large font sizes (22+). Interested to try this πŸ˜‰


Any language is more suitable to a task than Javascript.

(It's only partially objective. I have technical reasons for my hatred of Javascript, but I try to accept that it has uses. I'd just sooner change careers than use Javascript in any measurable amount.)


I am of the personal opinion that JS is hot garbage.


I think that's the consensus.
I mean Javascript is the only language that's so bad that both Google and Microsoft had to create other languages that transpile to it (with Dart and Typescript) to avoid writing javascript.


OTOH, JavaScript may be the closest to Lisp an Algol descendant gets.


We do not need so many programming languages. We do not need so many frameworks.

How many times are we going to "re-implement" the same function to read a file in memory or to send a HTTP message over the wire or to display a button with text that does something on click? πŸ‘€


Maybe no individual needs all these options, but not everyone will agree on which style of language/framework is the best. It's a matter of taste, so I think it's great that we have many to choose from.


I agree there's value in having so much R&D going on from multiple communities, but the question is "What is your pettiest programming related opinion" so I thought this qualified.

I believe WASI has the potential to change things down the line. We can all keep the languages we want, but at least we can stop writing basic functionality like "write a synchronous HTTP/2 server". So many replicated man hours in that.

Also, imagine how better in quality and in regards to security vulnerabilities if most languages were built on the same building blocks.

There's also the counter argument of centralizing vulnerabilities but hey, I didn't think this through :D


Theoretically speaking you could swap out only the AST generation level (lexing / parsing). For example, Luna supports both a textual and visual representation, both modifying the same AST:


In the past they (or was it another language?) supported switching between different textual representations with C, Lisp and I think ML inspired versions.

Yeah, having some common AST that can be targeted to different outputs (native code, jvm, js, etc) would be cool to have.


How many times are we going to "re-implement" the same function to read a file in memory or to send a HTTP message over the wire or to display a button with text that does something on click? πŸ‘€

That's quite literally how evolution works. Add a foot here, remove some scales there, see what sticks. You never know which new attempt will end up being the tech equivalent of opposable thumbs.

  • TypeScript is a righteous dynamic programming wrapper. Every dynamic programming languages should follow TypeScript's example.
  • Password fields do not ever need to be masked.
  • Writing password on a paper is safer than using password manager.
  • 2FA / MFA are good password policies.

Password fields do not ever need to be masked.


Or back in the day: en.wikipedia.org/wiki/Van_Eck_phre...

Writing password on a paper is safer than using password manager.

Not really, but it can be a reasonable basic strategy:

pw manager comparison

Source: blackhillsinfosec.com/the-paper-pa...


Note that Mr. Withayasakpunt used the word "safer," not "more secure."

I have many times lived the difference.


swtich statements have no real use case that could not be implemented using other simpler features of the language.


I will die on this hill with you. Back to back, mini gun aiming down the hill, mowing down anything that comes our way except food delivery.


have you ever had a legit use case for switch?

I mean I think in finite lists they can have some application. Think like cardinal directions(Noth, East, South, West), basically TRUE Enums, absolutely finite ones. They can be useful sometimes in those cases. You could in theory use a strategy pattern or something even then, and be a more robust solution but it could be seen as over-engineering. If you MUST use one or have a case like above, I always like to throw an exception in the default case. If it shouldn't occur and does, I for sure want to know about it, and I don't want something weak like it being logged. I want it to be a mini-crisis.


Following that logic, there is no use case for a for loop.


But really, can you give me a legit use case?
I cannot think of one single thing that is not a bad pattern switch(true) or could not be solved with an if and early return.

Switch cases are syntactic sugar for writing repetitive if and else if statements, not a language feature. Just like the for loop, you could write a while loop that does exactly the same thing.


Naming coventions,
Readability of switch -case,
Curly style, egyptian or line separated,
Number of arguments in function signature


Unit testing is overrated and should focus more on integration and E2E tests :D



My biggest pet peeve is when people say that X was superior to Y, be it vim vs. emacs, interpreted vs. compiled language, strong vs. weak typing, etc.

There's a problem for every solution, just don't try to make it fit by brute force.


I have many, but since I turned 40 I just preface them with "Back in my day" and pass them off as wisdom.


"Bitcoin" is an uncountable noun. So is "bitcoin." So is "code," in the context of computer programming. No more of this "I wrote you some codes." No, no, no.

And I will die on that hill.

P.S. Slack Threads respect each others' time, these programming languages should be called programming notations, not programming languages, and hey this, over here, is a configuration language, not a programming language, Dvorak is better, they're capitalized as ReDiS and CEntOS, metaphors about the name of the Python programming language should involve more flying circuses than snakes, plural of status is status (from the Latin genitive neutral declension), DevOps is not a job title and DevSecOps is not a thing, and for some reason I can't stand multi-line comment syntax even when someone has made an effort to use it right. On a slightly more practical note come on man for the love of whatever God you hold dear use footnotes instead of endnotes in your publications. Some of us neither should nor can be arsed.

Wow, I'm a petty person.


Mac os and widows stink for programming they are way to locked down and aren't widely used in production environments. In my opinion linux of bsd should be used for everything except apple apps (all of them), windows apps, and situation where Visual Studio is required.


That most programming languages do not interoperate is evidence that it doesn't take a God to prevent human languages from interoperating.

EDIT: On one hand, every language should have been Lisp. On the other hand, how did even Lisp become split among Common Lisp, Scheme, and Clojure?

EDIT: Pandoc is an honorable struggle against God's will. It reflects on how GHC with different extensions are totally different languages, yet it is still one GHC.


React syntax is gross. Having markup inside a JS function is backwards.


i like it better than having weird attributes in markup that represent programming logic.


Functional JavaScript is better than typescript.


Flutter web is a mistake, an expensive mistake. Google should have focused on Flutter for mobile development and AngularDart for web client stuff.

They are treating Flutter like it's this one tool fix all solution of which that will never work. IT WILL NEVER WORK!!! The difference between the dart ecosystem and the javascript ecosystem, in javascript for eatch plartform, there's a framework that works beautifully for it e.g. Vuejs/React for web, ReactNative for mobile (Where Flutter actually stands a chance) and Electron for Desktop,

BUT in dart land, noooo. They want Flutter for web, flutter for desktop, flutter for mobile, like REALLY??


Do not annotate your Java class with who the author was. Your version control app will record this far more reliably than you will.


While I use spaces, my mom like a monster. She doesn’t like spaces because of tick tick voices.


Fonts designed for programming should have ligature support, and all IDEs should support ligatures.

GitHub logo tonsky / FiraCode

Free monospaced font with programming ligatures

Fira Code: free monospaced font with programming ligatures


Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like ->, <= or := are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet.


Fira Code is a free monospaced font containing ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster. For some frequent sequences like .. or //, ligatures allow us to correct spacing.

Download & Install



Fira Code is a…

I just found out RStudio doesn't support ligatures on Linux, and now I HAVE to decide if I'm going to compromise my IDE or my OS.


There are two things the python formatter black does that I hate, and that makes me not want to use it at all.


PHP is dead, Web Components are crap and I don't need to write comments in my code because it is super obvious and semantically optimized.


When naming variables, snake_case is better than camelCase


You should be using class names on your DOM elements to help people navigate the code base whether you style them or not, preferably BEM syntax.

Emotion and other libraries that try to just sell me into writing inline styles again can die a slow death.


Java's habit of having super long function and variable names. Yuck! :D


I read on Twitter earlier this week that it is Xcode. Not XCode, xCode, X-Code, 10-code, etc. and it is definitely not iWatch. IOS and macos are also out too.


unit tests in some languages (i.e C# or Rust) do not need to have a spec like syntax


CI/CD are (related but) different things and people conflate them because:

(1) People are lazy
(2) Vendor-led trends


I have no petty programming related opinions, they are all important opinions. ... I think this is my petty opinion πŸ˜‰