Django is probably the best path for you to begin programming if:
Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.* Begin with a refresher on HTML & CSS, learn Python, and build web applications to your heart's content. This article takes sections from a talk I gave at a past San Francisco Django Meetup.
Django is perfect for someone who understands HTML/CSS and wants to learn a modern object-oriented programming language that's beginner friendly. I've been fascinated with computers since I was in third grade and even was one of the first two students to access the world wide web when my elementary school received internet access. Like many people interested in learning to code, I began by making web pages, which required learning the markup language, HTML and later CSS.
If you have a basic knowledge of HTML, looking at Django templates will be really familiar. You’ll be able to read and make adjustments to existing pages as well build standard templates, so there is less to learn. And the learning curve for the other concepts allows a separation of concerns and provides a way to focus learning on each sector separately.
Learning to code can be hard. Having a solid foundation to stand on is important.
Why is Python a great first language? Because Python’s design philosophy emphasizes code readability. It's user-friendly and readable for those learning how to program. Best practices require simple grammar, indentation, and consistency. Python is also meant to be explicit versus implicit, so writing simple python code allows new developers to build great habits as they learn.
Often, learning to program isn’t learning a single programming language and only working in that language. It’s a lifelong learning process that involves updates to languages and new technology. If you’re new to programming, it’s best to begin with what is arguably the easiest to learn.
Python and Django both have great documentation. They’re simple to read, filled with examples, and easy to navigate when searching for specific definitions or concepts. While the official docs have multiple sets of tutorials, there are also a wide variety of tutorials available for free. There's even a Django specific set that explores "server-side web programming" first steps and concepts in general that are a part of MDN Web Docs.
Besides tutorials, there is a large developer community online as well. A large part of programming (even once you've learned) is searching online for answers to specific questions you have. Python (and Django) have a long history of questions and answers on popular forums like Stack Overflow, Reddit, and other online communities. Widespread Usage
Python ranks as the most popular programming language on the TIOBE Index, PYPL Index, and more. Django is also widely used in backend development for APIs by professionals in the industry. This makes the skills developed by learning Python and Django very employable.
Python can be used for web development, data analysis, machine learning, building web scrapers as well as other automation tools, games, and most anything else you can think of. Python is a versatile language for use in contexts outside of Django as well.
Whether you want to learn to code to get a job, start a company, or simply for fun, always remember why you’re doing it. Keep those objectives in mind and set small goals for yourself before and while learning.
Django is up-to-date. Django 4.0.5 and Python 3.10.4 were released just this year. Both have regular releases and show no signs of slowing down. For context, when I first gave a talk about this two years ago, Django 3.1 was just released.
As there has been a transition to single page applications (SPA) becoming commonplace with asynchronous updates happening on parts of a page, Django has evolved and the community has developed solutions to attain similar functionality. The latest version of Django adds additional support for more asynchronous functionality, additional security features, and a lot more. Django 4.1 is currently under development with an expected release date of August 2022.
You want to learn with technology that’s useful in the contemporary world. There’s a reason you wouldn’t necessarily rush to learn how to program with Lisp or FORTRAN.
Django has often been referred to as having batteries-included, meaning, there is a lot of functionality already added without the need to create all functionality from the ground up. This makes it ridiculously fast to build with because it contains user authentication, a ready made admin panel, built-in security, etc.
Frameworks are designed so you worry less about getting a project running and can spend more time developing your unique solutions. Django excels at that by being secure, stable, versatile, and highly scalable.
Because it’s fully-loaded, Django is great for rapid prototyping. It can take weeks/months to learn, but you can launch a prototype in hours with the aid of starter projects and templates.
Django uses an MVT architecture. This might not mean much to you right now, but it’s similar to an MVC architecture, which is a standard structure that makes programming larger applications in a framework easier.
This structure separates the concerns of your application. It can also help you easily separate your learning process as well. You can work with models.py, views.py, forms.py, and the templates/ directory separately, and understanding those relationships individually can make understanding them together much easier.
This is all, of-course, open to debate. There are many who might say “Express and MERN stack all the way,” "Ruby on Rails all day," or "my real estate company was founded in Turkmenistan, so I use Laravel." It’s still hard to argue that Python isn’t one of the easiest programming languages to learn and that Django isn’t a powerful and relatively easy framework to learn if you have a basic understanding of HTML/CSS.
So start your journey to learn Python! If you need any help, come learn from us at Kickstart Coding.