One Language, Properly: I Quit Switching Between Python and JavaScript for 30 Days.
For months, I was a two-language beginner: Python on weekdays, JavaScript whenever a shiny video caught me.
I am a naval architecture student in Bangladesh, and my free coding time is maybe an hour a day, so every switch cost me more than I wanted to admit.
For 30 days I picked one language, Python, and banned the other completely. This is the week-by-week log, including the boring middle and the day I nearly broke it.
Week 1: why did it feel like a holiday?
The first surprise was relief. Every tutorial I opened was suddenly relevant. I stopped spending the first ten minutes of a session relearning where I had left the other language.
Small things got finished. A little script that splits our mess bill by headcount. A loop exercise set I had restarted maybe 4 times before, completed start to end.
Nothing impressive happened in week 1. That was the impressive part. Things simply got done.
A typical session went like this: dinner done, table cleared, laptop open at about 9:40. Before the challenge, that first open would trigger the daily negotiation. Python or JavaScript tonight? Which tutorial was I in the middle of, again? Ten minutes gone before a single line. In week 1 the negotiation had been cancelled by rule, so the hour went to code instead of to choosing. I had not realised how expensive the choosing was until it stopped charging me.
Week 2: the honest middle
Then the boredom arrived, right on schedule.
Python began to feel slow and plain. There were no new windows opening, no colourful web pages, just me, a terminal, and exercises that looked a lot like last week's exercises. People online were building things that moved. Mine printed text.
I coded 5 of 7 days that week, and two of those five sessions were short and grumpy. If this log skipped week 2, it would be a nicer story and a less true one. The middle of any 30-day promise is where it quietly goes to die, and mine nearly did.
Day 19: the video that nearly ended it
On day 19, a video found me. You know the kind: a smiling developer builds a complete JavaScript app, live data, buttons, animations, in about 20 minutes.
I watched it twice. The second watch was not research. It was temptation with a progress bar.
Then I did the thing I am still a bit proud of. I opened a blank JavaScript file, looked at it, felt the old starting-from-zero fog roll in, and closed it. Not because JavaScript is bad. Because I knew exactly what opening it meant: a fun evening, and day 1 all over again.
Day 19 was the whole experiment. The other 29 days were just showing up. That evening was the one where showing up cost something.
Week 4: what does "properly" actually mean?
By the last week, I had an answer I did not expect. "Properly" never meant knowing Python deeply. Thirty days is not enough for that, and I will not pretend it is.
It meant finishing. In 30 days I finished 3 small Python things: the mess bill splitter, a renamer for my pile of lecture files, and a tiny quiz I use to revise before class tests.
The renamer is eleven lines. Here is its heart:
for i, file in enumerate(files, start=1): os.rename(file, f"lecture-{i:02d}.pdf") That loop walks through my files and renames each one with a tidy two-digit number, so lecture-03 stops hiding between lecture-1 and lecture-12.
Three finished things. Before this month, my pattern was starting 9 and finishing none, split across two languages so each one got half a beginner. One language did not make me good. It made me a finisher, which turns out to be the level below good, and the one I was missing.
The tally, since a log should have one
Days in the challenge: 30. Days I coded: 24. New projects started: 0, which for me is the strangest number on this page. JavaScript files opened: 1, on day 19, closed again within the minute. Videos about JavaScript watched anyway: more than I will admit to, but watching was never banned. Only switching was.
Three finished things, listed above. Before the challenge, my rough pattern for a month was nine starts and a drawer of half-solutions in two languages. The tally is not large. It is just, for the first time, a tally of endings.
What this experiment does not prove
The honest section, before anyone quotes me wrongly: this does not prove Python beats JavaScript. It proves switching beats nothing, in the worst way.
I still cannot build a proper website. I still plan to learn JavaScript, later, when Python has given me something solid to stand on. And a different student, aiming at web work from day one, might honestly pick the other language and get the same result. The language was never the point. The staying was.
Your turn, if you want it
Pick one language. Whichever one. Give it 30 days and ban the other like it owes you money.
Then come back to the comments and report two things: what you finished, and the day you nearly switched. I will be reading, because my day 19 cannot be the only one.