You're considering learning a new programming language. What's the best way to get started?
Learning a new programming language can be a rewarding and challenging experience, especially if you are an architect who wants to expand your skills and knowledge. However, it can also be daunting and confusing, especially if you don't know where to start. In this article, we will share some tips and advice on how to choose, learn, and practice a new programming language effectively and efficiently.
The first step is to choose a language that suits your goals, interests, and needs. There are many factors to consider, such as the popularity, demand, difficulty, syntax, features, and compatibility of the language. You may want to research the pros and cons of different languages, read reviews and testimonials from other learners, and compare the learning resources and tools available. You may also want to consider the type of projects and problems you want to solve with the language, and the platforms and frameworks you want to use.
-
1. Identify what language you want to learn and for what reasons 2. Start with the Tutorial but don't be stuck in tutorial hell. 3. Get your hands dirty.
-
oin online forums, social media groups, and developer communities related to the language you're learning. Participating in these communities can help you stay motivated, get help when you're stuck, and connect with other learners and experienced developers. Learning a new language takes time and practice. Set aside dedicated time each day or week to study and practice coding. Consistency is key to making progress.
-
Spend some time learning what the language is most used for. For example, Godot is used for games, JavaScript for web applications, Python for data science, etc. When you decide which language suits better for you, start learning the concept. It’s practically the same for all. You have conditionals, loops, arrays, lists and so on. Learn concepts like Object Oriented Programming.
-
When choosing a programming language, it's crucial to align your selection with your goals, interests, and practical needs. Factors like popularity, demand in the job market, difficulty level, syntax clarity, available features, and compatibility should guide your decision. Researching the pros and cons of various languages, reading reviews and testimonials from fellow learners, and comparing learning resources and tools can provide valuable insights. Additionally, considering the types of projects and challenges you aim to tackle with the language, as well as the platforms and frameworks it supports, will help ensure a well-informed decision tailored to your objectives
-
If you are reading this as an architect or design consultant, you are probably looking for how to begin coding to automate tasks in Revit. Another engineer and I in our company have collaborated to create time-saving buttons through pyRevit and now our company's custom Revit add-in in C#. I would recommend getting started with Python and then moving to C# when you are more comfortable and ready to get more serious about your own custom add-ins.
The next step is to learn the basics of the language, such as the syntax, data types, variables, operators, control structures, functions, and objects. You can use various sources to learn the basics, such as books, online courses, tutorials, videos, podcasts, blogs, and forums. You may want to choose a source that matches your learning style, preference, and pace. You may also want to take notes, review, and quiz yourself regularly to reinforce your understanding and memory.
-
The best part in learning programming is that you have access to a wide variety of books, video tutorials, gamification learning platforms, free courses and documentation. Start with basic concepts, build basic programs that use the concepts you are learning and try coding challenges. The more you code, the faster you learn.
-
After choosing which language you want to proceed with main mantra is Learning by building! You learn more when you do more. Building basic to complex solutions, designing system architecture, working on documentation, exploring on failures, watching videos, tutorials, applying crucial concepts etc will help us to grow more.
-
Start by creating anything in the new language. And I mean ANYTHING. Create the "Hello World" program. Use the language as a calculator. But do something with it. Then use the language for the smallest things that help you. Use whatever features the language makes easiest, and write programs that can be done in 10-20 lines. Keep on writing tiny tools that help your life. Use the language's documentation to understand the error messages you come across. Then write more complex tools. Find what your language has for user interfaces (if any). But keep them simple and keep writing things that make your life easier. As you write your tools, read what's available about thinking in the language and how it differs from other languages.
-
Apprenez les bases du langage, y compris la syntaxe, les variables, les structures de contrôle, etc. Utilisez diverses ressources comme livres, cours en ligne, tutoriels, adaptés à votre style d'apprentissage et rythme. Entraînez-vous régulièrement.
The third step is to practice with exercises that test and challenge your skills and knowledge. You can find many exercises online, such as on websites, apps, games, and platforms that offer coding challenges, quizzes, puzzles, and projects. You may want to start with simple and easy exercises that cover the basic concepts and syntax of the language, and then gradually move on to more complex and advanced exercises that require logic, creativity, and problem-solving skills.
-
Pratiquez avec des exercices en ligne, des défis de codage, des quiz, et des projets. Commencez avec des exercices simples et évoluez vers des défis plus complexes pour développer votre logique et vos compétences.
The fourth step is to build projects that apply and showcase your skills and knowledge. You can create your own projects based on your ideas, interests, and goals, or follow existing projects that are designed for learning and practice. You may want to choose projects that are relevant, meaningful, and useful for your field and domain, such as web development, data analysis, machine learning, or software engineering. You may also want to use tools and frameworks that enhance and complement the language, such as libraries, APIs, databases, or cloud services.
-
I recommend initiating projects that hold some practical value for you. For example, automate a task you dislike doing manually, or try to systematically solve a frequent issue for which you wish there was a "black box" solution. When your projects yield tangible benefits, you'll find yourself naturally drawn back to the language, looking for ways to enhance your existing code. This iterative process will swiftly lead to proficiency.
The fifth step is to get feedback on your code and projects from other learners, experts, or mentors. You can use various platforms and communities to share, discuss, and review your code and projects, such as online forums, social media, code review websites, or peer learning groups. You may want to seek feedback that is constructive, specific, and actionable, and that helps you improve your code quality, style, performance, and functionality. You may also want to give feedback to others and learn from their code and projects.
The sixth step is to keep learning and improving your skills and knowledge. You can use various resources and methods to keep learning and updating your knowledge, such as reading books, articles, and newsletters, watching videos and webinars, listening to podcasts and audiobooks, taking courses and certifications, attending events and workshops, or joining online or offline groups and networks. You may also want to explore new topics, trends, and technologies related to the language, and learn from the best practices and examples of other architects and developers.
-
Controversial opinion: learn by describing your function and output in natural language to an LLM like ChatGPT, and ask it to write a code. Run the code and see if you get the results you desired/expected. If you do this after you've learned the basics of your selected programming language, you'll be able to read and understand the code, and maybe tweak it to arrive at the output you were aiming for. I've tried this multiple times with ChatGPT X Processing, and though I love to code in Processing to create interesting geometries, I also love shortcuts, especially when it means I don't have to write the boring part of the script and can instead focus on the main functions that allow me to get creative!
Rate this article
More relevant reading
-
Software DevelopmentWhat do you do if you want to master a new programming language efficiently?
-
Software DevelopmentYou want to learn a new programming language. What’s the best way to get started?
-
ProgrammingHow can you learn a programming language without any prior experience?
-
Systems DesignHere's how you can master new programming languages for enhanced skills in Systems Design.