This might be my first article about such topics. This might contradict other (self-claiming) authors who say that they can teach you a programming language in a number of days. For example, “Learn ASP.NET in 7 days”, and “Learn HTML5 in a matter of 3 days”. Let me point out a few of the problems of this type of teaching and learning for new developers, who might fall for this approach.
Who the victims are?
The victims of this type of approach are the young developers. Inexperienced, rushing to learn new things, express-to-impress type of teens and those with a deadline for themselves, fall into this type of approach very often. Sometimes those who cram the rules, types, and structures of the language do so.

Remembering never helps you out! You need to understand how things work.
Most usually, the teens who are eager to learn something in a very short number of time are victims of this approach. 7 days? 14 days? Seriously? What is it like… A pond's challenge! Programming is something that cannot be fed into the minds of other people; you cannot move a clock in simple harmonic motion and expect the human to become a programmer once you're done hypnotizing and brainwashing him. It cannot be taught the way we learned it. It must be taught by lowering our standards to the standard that our students can understand us. Our students come to us to learn. We should educate them, not force them to remember what we said.
Who claims such things?
I have no personal hatred towards those who claim such. In fact people who are extraordinary in learning and experimenting claim such things. They learn things in a very fast manner. Authors who write a title to their publication in a way, “Learn {subject} in {x} days!” are themself very quick learners. That is why they expect others to learn the same subject in a very fast manner.
It won't be false to claim that they actually are the very genius of their era. They have a very resilient grip on their subject and field. But not all fingers are of the same size. Are they?
Discussing the downsides of this approach
Now let us discuss, why new programmers should not learn programming or any architecture or framework using this approach. I would state a few points of mine, you can have your own feelings and opinions and might contradict mine. But, be logical and learn stuff slowly and by understanding what they are to you!
Not at all a true statement
The first problem that I feel about such content is that they are not at all true. How can someone claim to teach you something with a deadline? I teach programming to a few, and some of them learn the concept very quickly. Some take time. Some take much time. For those who take a lot of time, I try to ensure that they at least learn and understand the basic concepts and tend to do something with it. I do not expect them to cram to reach the “x” days limit.
More appropriately, such topics for publications are a marketing stunt. Because they are more direct, and targeted by those who want to make more in less time, the author is challenging himself to be able to teach you more in fewer days.
Various psyche levels
Humans do not have similar psyche levels. And you just cannot expect everyone to be similar when it comes to the ability to learn and understand something. It is the responsibility of the instructor to teach his/her students in a way that they can surely learn something and not just waste their own time. I have taught people of nearly every psyche level, from geniuses to average students. Those who were geniuses asked such questions that led me to go deep into my mind to extract a scrap of information that I had locked in my limbo for a decade (not really!). Those who were average students needed to pay some more time to learn it, they also tried not to understand the concept and apply it. But just to learn it, to learn it!
I had never been a great instructor. So I have tried giving them a lesson in a way a friend would. Publications claiming to have 5, 7, or 30 day time period don't claim that they would teach programming to those with the average mindset. They are of the same period and good use to someone who has the 100% same mental ability as the author had when he was learning the same framework or language.
A book, in any way, cannot claim that the readers are expected to benefit from the content. But, claiming something that is not expected or guaranteed should not be used. When an author claims something, he must be able to prove it.
The only good side of this
The only good side of this approach is that the subject is catchy! ;)
Personal views
There are many other points, but I would not want to criticize such content anymore. Instead, I would share my views with beginners on how can they benefit from less in more time.
Practice makes you better!
First of all, I should say that you need to practice what you learn. Practice is something that doesn't make the applicable task easier, it just makes you better!

You should never think things are getting easier. It is you who have evolved.
What Google might respond to your search as?

I learned programming in a matter of 2 months. I just learned C# at that time. Not software programming! There was nothing that I knew about creating efficient software, writing a good API, creating a web application, and so on. The more you practice the better you get. The more errors you get, the more you will understand. Sometimes when I go back in time 3 years ago and have a look at the questions, and problems that I encountered, I laugh. That doesn't mean things are easy. That means practice has just given me enough understanding of these frameworks that now I can slice and dice them in any way that I want to. It also now has an impact on my social life.

Now, after learning and practicing. I speak less but qualitatively. The quality of my speech is great now. I do not speak gibberish (or that I feel like).
There is no limit to study
I can build good applications in a matter of a day or two. But that doesn't mean I should give up learning more and more about such a particular platform or subject. I have a good grip on the .NET Framework, but I believe I should learn more and more.
Every new developer must only focus on the learning part. I remember many good threads in which I have participated and ended up with the same conclusion. You cannot learn anything in a matter of weeks, fortnight, month, or even a year. You need at least to consume 5-10 years to learn something. Yes, if you're going to cram through the concept for a term test then good, do it. It might even take 3 days for that.
Focus on something… Put smaller time periods in your learning
But to learn something fully, you need to focus on it in a very better way. Give more and more time to it. Let it settle down. Give your education a short time of more like 30 minutes, or 45 minutes regularly. Try something, learn something. You would stumble upon more than a million errors before you can think of yourself as a pro beginner! Before you can even enter the intermediate level, you will fall into the errors like a million, or billion times.
Do not rush!
There is no need to rush. You can learn something in a very easy, smooth, and friendly way. For new developers, it is a very good approach to read articles of other developers and read their code. Reading good content, good articles, and good code helps you to understand how they did. Remember they might be better than you (I don't mean to tease anyone here, sorry if you take my words seriously), so if they did something in one day and you took 3 days. Do not hesitate! It is OK!
Finally. It is you who understands best where you are deficient. The best learning environment is when there is an instructor available for you. Books, articles, and blogs do not teach you in the way they can. If you are a beginner never rely on them. If books were everything there would have been no requirement for a school, institution or university. There would have been great libraries everywhere. You should ask your instructor what to do and how to do it. Your instructor should help you out. He should be able to understand where you lag behind others. He should polish you in a way that you can really get into something.
Afzaal Ahmad ZeeshanPosted May 5, 2015, 10:21 AM
Thank you for liking my publication Gopi Chand. Yes, new developers always deserve to be given an overview of how things are under the cover of glowing magic. They ("new developers") are the ones who are going to hold the flag of development process once we retire from this environment. I have always (and always will) tried to help new developers, so that they don't get to hear what I did... From my seniors; usually hate speech which was mostly, "Leave programming, you are never going to make it!". Always breaks my heart. *Sigh*
Gopi ChandPosted May 5, 2015, 9:55 AM
Good observation..and thank you to open the eyes of those people who were in myth :)
Karthik Muthu KaruppanPosted May 4, 2015, 1:56 PM
Nice one
Afzaal Ahmad ZeeshanPosted May 4, 2015, 11:38 AM
Hello Sam Hobbs, thank you very much for your most kind and gracious words sir. Being praised by seniors in programming field is something that is not granted to everyone. Although I am yet not a professional (or at all a) teacher. But I do teach others, I do teach them what I feel they need to be taught, such as algorithms, real-life logic, frameworks and how to tackle different problems in a way we should in our real life. Concepts are the only thing that matter. Anyone can cram an entire topic but forget after a week or two. Concepts remain in our mind forever! :)
Afzaal Ahmad ZeeshanPosted May 4, 2015, 11:18 AM
Thank you very much for your nice words Abhishek Yadav. This type of books and publications are only meant for experts looking for a reference only. A book of this size does not have content enough for a newbie to learn everything. Unless the author changes the title to "Glossary of {programming language}", the book is just... Well, never mind. ;) Thank you for indicating that problem. That problem was not mine, but of one of our authors. He might have changed the content, the actual blog is at: https://basicsofwebdevelopment.wordpress.com/2015/05/02/downsides-of-learning-programming-language-in-x-days/ Hopefully you will not find such mistakes there. I take the grammatical, typographical and sentence errors very seriously. :)
Afzaal Ahmad ZeeshanPosted May 4, 2015, 11:15 AM
Thank you very much to, Gowtham Rajamanickam, Upendra Pratap Shahi, Khargesh Rajput, Santhakumar Munuswamy. :)
Khargesh RajputPosted May 4, 2015, 4:17 AM
nice
Upendra Pratap ShahiPosted May 4, 2015, 2:45 AM
nice article dude...
Abhishek YadavPosted May 4, 2015, 2:28 AM
Great Article Afzaal and well said, core concepts must be clear to understand the fundas and logics of any language... FYI.. there is a typo in 3rd line, (roblems)... ;)
Santhakumar MunuswamyPosted May 3, 2015, 11:42 PM
Thanks for nice article
Gowtham RajamanickamPosted May 3, 2015, 10:47 PM
good
Sam HobbsPosted May 3, 2015, 7:19 PM
The word "concept" appears 4 times in this article. When I was in high school I was frustrated that the teachers dumped a bunch of details. In my opinion I could learn much faster if they were to provides concepts. It seems very difficult for most people to understand the concept of conceptual teaching. I think that the truly intelligent are capable of making complexity simple, as in Einstein's formula that energy is equal to mass times the square of the speed of light. Someone that understands a subject really well should be able to explain it theoretically. Very few people understand that but I think you do. You are probably the best possible type of teacher because you understand the value of concepts.