For example, creating websites or games etc.
Around 15 years later I am still learning.
Cliche incoming: You never stop learning. :P
I think you're asking about how long it took to begin writing good code. I really had a rough start when I was in college, thinks wouldn't work I wanted them to work - but that was mainly due to my lack of understanding of the concepts and let's face it JavaScript is not exactly kind to new comers. I built some stupid chrome extensions initially, they're still live and the poor reviews are a testament to the crappy code I used to write 6 or 7 years ago.
Then, in my final semester of college (2014 January), I had to build APIs during my internship. I also had the incentive of a full time job if I did well (happy to say I did :D). So, the pressure to ship production level code really did get me going and that's when I understood or rather began understanding how to build software. Of course, it's a perpetual process.
My answer on how long would I take to learn programming is forever. Because, one never becomes a programmer just when they become good at writing a solution to a problem.
The only thing I would like to tell is programming is not about writing code. It is about analyzing a problem and be able to device a mechanism using which it can be solved. And to learn programming 'completely' one needs to know all the possible usecases ever made, which is not possible as per me.
I say all of this because I have started to learn code when I was around 16 and now, after 8 years of which almost 4 years of professional experience, I still don't understand lot of things and I still try to learn things from others. It's not learning to code but learning to think of a problem, find multiple possible ways to try to solve it. Finally, come out with an optimal way and trying to help others facing the same problem to make their life better :)
Hope I have answered your question :)
Depends on the complexity of the game and whether you want to play against the computer or against a mate:
I made a simple game (e.g. tic-tac-toe or console snake) takes about a day for a mid-level front ender, and then I have made something more complex games using threads that took me about 3 days (e.g. a simple bat-and-ball against the machine). And I started a TETRIS game about a year ago and am still busy with it...
So you are working in the browser? You can do some pretty cool stuff within bounds... I have seen some pretty amazing animated games with amazing illustrated backgrounds. If you are creating "platformers", you can probably carry on forever; releasing a new game with new stages as you complete them... Problem is that people so easily get bored. But then I still play TETRIS every now and again, and some people might refer to that as an "old game"...
Arguably you never finish "learning programming". I've been a professional web developer for 17 years and I need to learn new things all the time.
Pretty much anyone can get to "hello world" and do a few basic things in an hour or two. To get a decent understanding probably takes a few weeks. There are high-intensity hands-on training courses that get you building a simple app in a couple of months. University takes 3-4 years and goes much deeper into theory; but people come out with essentially no _experience _and have to start learning a whole range of complementary skills. Truly mastering the craft can take a whole career.
There also learning something to a standard where you can do it professionally, vs learning enough to do a hobby project, vs learning just enough to properly understand what other people are doing with it.
Also it's different for everyone. I know some people who can pick up a new programming language in a couple of days; but most of us mortals take a lot longer than that. I can pick something up much faster if I'm interested, vs having to pick it up when I really don't want to but have to get it done.
So in the end, it depends how you define "learning programming". I'd also say... if someone is interested they should just start. The sooner you start the sooner you learn; and the sooner you realise what you want to learn next.
I was on my 2nd year of university and the proyect was to create any website. For the sake of it I started learning things offside of class. Thanks to that I understood that it's way more funny learn by myself at my own rhythm so that was the moment I left university aswell 😊
1 year and 4 months I think.
In case by "learn" you mean the time until I started liking it and actively creating projects, learning new things, etc. because it's fun, it took me about 9 months. During those months, I had to learn it mostly on paper at school. At some point, we switched over to Delphi (using the Borland Delphi 6 IDE), which still was quite troublesome.
After those 9 months, I needed some tool for automating something on my computer. I started searching, but suddenly I saw the light! "I can use a programming language and an IDE. It's only something small, so why not just create the program myself?" And there I sat, writing that program and extending it with lots of useless stuff, looking up things on Google and learning programming all day. It was a fascinating experience!
to understand it? not that long.
to learn it? a little longer.
to really master it? probably several lifetimes ....
besides you will have your own learning curve .... you can be a mediocre coder within 1 year that's rather possible and in 10 years you're probably a decent one.
I am in the second decade, I am a decent one. I understand most concepts, different languages, paradigms, protocols, hardware but I will never finish learning. And if I would I would change my job.
Ben Buchanan (200ok)
I make some bits of the web.
It feels like the more I learn, the more confusion appears. Especially all the language specific terms are a struggle. I've learnt the basics in a few sessions but it'll be a continuous learning experience forever, I'm sure.