Post

What is a programming Acquired Taste that you have? Something you didn't like initially, but realized you were wrong about?

1 repost60 likes

I've come to this realization as well recently 😅 is this true ? then this : is this true instead ? then this other thing : is this other thing true ? then this last thing Once you start reading it like sentences it makes a lot of sense

for…of in preference to Array methods: easily read, supports await, loops over anything iterable, performant. I guess the corollary is learning to really embrace mutation: glad the fixation with immutability we went through as an industry a while back has simmered down!

TypeScript, Tailwind, and React. I'm still not 100% sold on Tailwind, but I like it much more now than I did initially. TypeScript has become an absolute must for me, and it turns out my scepticism toward React had more to do with lack of experience than anything else. 🤷🏼

Shadcn. Initially the copy/paste thing was like "f' no". But then I "got it", and now I'm sold-ish on the concept. The pros outweigh the cons, but there are still cons.

snake_case, it's just so much more readable. The, let's say semi-enforced, camelCase style is one of the few things about GoLang that I've found truly reprehensible

I like having a mix of everything, depending on the "scope" of things. PascalCase for files, Enum and Classes, snake_case for things like hard-coded values and table names, kebab-case for CSS classes, and camelCase for variables.

I’d say low-level & typed programming languages. Sure, in the beginning it’s nice to have a neat python code, but with that I started to see some flaws within these kinds of implementations. It might be a preference thing, sure, but now I just love to see my explicit types and memory management!

Object Oriented Programing. When I was learning it in the early [REDACTED Time Period 😂]'s, I hated it and struggled. It was all supposed to be obvious & logical. Fast forward to today, and I think I really like it thanks to my TS experience.

Test Driven Development. As a junior developer I found it slowed me down and made things harder. But then over time you get better at it and starts to speed you up because you spend less time refactoring code to make it testable and you get more things right the first time.

Strongly typed languages took some getting used to because python was my first language. Now, weakly typed languages feel like the lawless, wild west

Coding with AI. I often use it to help me think through problems and understand new things. Being able to help out my team on the backend side with tech I don't know has been great. I can write the code in JS/TS with familiar concepts/tools and ask it to translate to Python with a Python lib

@tailwindcss.com was the biggest swing reaction for me from a decent period of "This is dogshit! Why?" to a quick switch to "this is amazing!". 7ish years later and it's still my favourite technique for styling on web.

@svelte.dev . I couldn't understand what my brother was going on about. I was happy in my react-land (stockholm syndrome maybe?). Now that I'm using it I can't stop yapping on about it

My most recent one would be AI tools like ChatGPT. Was v skeptical at first, but now I lean on them most as a programming buddy whenever I'm learning new syntax or am in unfamiliar frameworks or tools. They can answer stuff in no time that would have taken me ages to look up previously

React and Tailwind - rode the vanilla train for the longest. I still have access to jQuery on a couple of work sites (I never 'disliked' it) and it's nice too.

Tailwind. I think of Tailwind as a DSL and I’m tired of learning DSLs. It’s one of the reasons I don’t enjoy template-based frameworks. But you learn it and the speed gain is worth it. Use it with something like Astro where you dip into CSS no problem, it’s real nice.

Using a GIT GUI tool. I thought I was cool doing everything in the CLI. The senior Dev I work with uses GitKraken. I checked it out and now I use it for everything except creating and checking out branches.

Writing unit tests, for sure. Each testing framework has its own learning curve, and why would I want to write the test twice? Now I don't feel as if I'm appropriate defined the spec of my code if I don't have unit tests around the crucial logical hubs of my application.

I hated javascript when I started. But now I can't get enough of it. May be it is years of javascript stockholm syndrome talking 😅

Surely like many others, TailwindCSS. I remember seeing the pre v1 docs on Hacker News and thought to myself: "What's the point?", "It's Inline styles", "Tachyons already does this", yada yada. How wrong I was.

I felt the same way at first about Tailwind CSS, but it kinda grew on me recently. I started with styled-components, which I loved for keeping styles organized. Then I tried CSS modules, but they got messy and hard to debug pretty quickly. Tailwind has been a breath of fresh air compared to that!

Love to hear it! Somehow when I suggested Tailwind at work for a new project nobody objected. I think we all realised it was the perfect test bed for trying new tech. They didn't like my Laravel idea though. 😅

JSX is fine… it’s React that I fell out of love with. At some point I know I’m going to have to simply work through my visceral distaste for Tailwind… but I’m not looking forward to it

I admit I had a very "this is a stupid idea" reaction the first time I saw JSX and Tailwind. I changed my mind when I forced myself to use them and realised that the productivity gains were massive... And both technologies are actually a pleasure to work with.

Coming from Angular, it felt wrong to me at first how in react it is common to put styles, logic and layout into the same jsx/tsx file.

It's the default in the lint rule. Any rule that unifies things is good. We used to have PascalCase for components (CardHeading.tsx) but camelCase for everything else (dateRange.ts). Even worse: CardHeading/index.tsx 🤪. Never know what to do. Now it's enforced.

We've been looking at following FSD (feature-sliced design) for our new projects, very tempted to do this for all files as well - easy consistency for everything

Build tool configurations. Setting up Webpack was out of fashion for the longest time. I recall some very popular web devs at a major FAANG company saying, "Avoid it if you can." Now that I work with them more regularly, I realize why they can be a pain, but also what they allow developers to do.