What do you do if you want to learn a new programming language?
Embarking on the journey to learn a new programming language can be as thrilling as it is daunting. You're not alone in wondering where to start or how to proceed. Whether you're aiming to expand your skill set for application development or just for personal growth, the right approach can set you on a path to success. The following guide aims to provide you with actionable steps to effectively learn a new programming language, ensuring that the process is structured and rewarding.
When you decide to learn a new programming language, your first step is to choose the one that aligns with your goals. If you're looking to develop web applications, languages like JavaScript or Python might be beneficial. For system-level programming, you might consider C or Go. Consider the ecosystems and job markets for each language. It's also helpful to think about the types of projects you want to work on, as this can guide your choice.
-
Learning a new programming language is very similar to learning any other language. The first one is the most difficult, and it becomes easier each time you learn a new one. Some grammar and syntax -- as well as logic -- always crosses over. That covers the theoretical. As for the applied portion, I'm a firm believer in hands on learning. You can read all you want about a language, but from my experience using it is the fastest way to learn. Think of a simple application you want to create and make it happen. Then take it up a notch. Push yourself to move to the next level. Be willing to commit to the time it takes. Follow these rules and you'll learn your language in no time.
-
You need a concrete goal to achieve and (preferably) a deadline. You can always explore and research new languages, but until you have a goal and deliverable in mind, you will not find the deeper nuances and challenges that arise. You will have to work through issues, learn new approaches, and often reach out for help from peers or mentors - all of which will *really* aid your progress.
-
Consider your goals, interests, and the demand for the language in the job market. Popular choices include Python, JavaScript, Java, C++, and many others.
-
When you have a good mentor, you will be able to select the right programming language. In my case, recently I completed a course with Udemy and it was suggested by my mentor from my previous company. With 30 years of consultant and sales experience, he asked me to complete MERN (React JS and Node JS) as it has high demand and prospect, we may need to deliver projects for future clients. You need to assess the current market needs and the future of the language and technology. We need some research if we don't have such mentor who can tell you what language to learn together with the particular course and from where you will learn. Also, you need to know before learning a new language what are the prerequisites you must know to proceed.
-
Here’s what I recommend - start with a problem that you’re interested in solving. If you want to make a mobile app, choose a language that’s made for mobile apps. If it’s a web app you want to build, then pick a language that’s good for the web. Nowadays, most programming languages can do a lot of different things, but they’re not all good at the same stuff. Some are faster, some are slower. It’s a good idea to pick a language that has a lot of people using it and lots of guides available because it’s easier to learn that way. ChatGPT is pretty neat for explanations, but I wouldn’t lean on it for actual coding. What really helps is being part of a community when you're learning to code in a new language.
-
To learn a new programming language, start by grasping syntax through official documentation or websites. Practice consistently afterward. Developers spend 80% of their time researching and 20% executing code, making them more like researchers.
-
I find the I learn a new programming language: Set Goals: Define objectives. Choose Resources: Quality tutorials, courses, books. Start Basics: Learn syntax, data types. Hands-On Practice: Code regularly. Build Projects: Apply skills in real projects. Seek Help: Use online communities, forums. Read Code: Analyze others' code. Stay Updated: Follow language updates. Collaborate: Work on group projects. Review and Reflect: Assess progress regularly. Teach Others: Share knowledge, reinforce learning.
-
First, identify a field that aligns with your passions. Then research the most suitable programming language within that domain.
-
As a developer passionate about staying at the forefront of technology, I'm always eager to expand my skill set by learning new programming languages. Here's how I typically approach the process: 1. Research and Selection 2. Online Resources and Courses 3. Hands-on Projects: I firmly believe that the best way to learn a new programming language is by applying it to real-world projects. I start with small, manageable projects to gradually build proficiency, experimenting with different functionalities and problem-solving techniques along the way. 4. Collaboration and Community 5. Continuous Real Life Problem Solving and Improvement 6. Integration into Professional Projects
-
I will choose c#. With visual studio. It's modern oops based programming language through which we can make windows, web, mobile and cross platform applications.
Once you've picked a language, setting clear, achievable goals is crucial for your learning progress. Start with small, specific objectives like understanding basic syntax or building a simple program. These milestones will keep you motivated and provide a sense of accomplishment. Remember to be realistic about your time commitment and pace; learning a programming language is a marathon, not a sprint.
-
Goal setting is very crucial part in any plan, so if you have choosen your language then you must know the limitations and advantages of your language and based on same you have to setup your goal to achive in your budget.
-
I believe basic syntax of any language is same as any other. So I prefer to start doing thing with that language and learn specifics on the fly
-
As mentioned previously, will use AI Pair programmer to learn and build . Will definitely take the real world use case and iterate in mini increments
-
Choose your goals first, then learn the programing language(s). When you are software engineering, create data structures 1st before you write the code. Buy a data structures book. Learn data structures as you learn a programming language.
With your language chosen and goals set, it's time to gather learning resources. Look for comprehensive tutorials, online courses, and books that cover the fundamentals of the language. Diversify your sources to include interactive platforms that offer coding exercises. Many languages have official documentation and community-driven sites where you can find a wealth of information and support.
-
Start by diving into the "Hello World" tutorial, then progress to more advanced tutorials. Platforms like YouTube or Udemy offer a plethora of courses to grasp concepts, but beginning with tutorials is ideal for hands-on experience. Online sources provide numerous code snippets for learning. Additionally, API documentation, along with code snippets, can be valuable resources; check the official site for these.
-
Look for online tutorials, books, courses, or interactive platforms like Codecademy, Coursera, or free resources like W3Schools and MDN Web Docs. Join Communities: Participate in online forums, programming communities, or attend meetups to connect with fellow learners and experienced developers.
-
GenAI tools like ChatGPT are excellent tools for learning a new programming language; they can: - Explain language concepts and syntax - Generate sample code and explain it - Help you debug your code and make improvements to it - Convert code from a programming language you know to the one you are learning - Help explain how syntax varies in one language versus another, e.g., if you know Javascript, ask it to compare creating loops in Javascript with Python (or whatever known and target language you like). By no means are LLM chatbots error-free here - they will sometimes hallucinate. Go in knowing this and take it as a personal challenge to test and debug their output - fixing a mistake is learning.
-
Resource gatherings are very wise decision in your learning journey of any programming language. What ever resources you are going to use, the same experience you will face in your learning path.
-
I see majority of modern languages are open-source (except may be for Java and C# but we're talking of new languages, right?). So often GitHub is the best resource to learn the language, share experience, concerns and get help
-
Using documentation is the legacy way of learning, will leverage copilot to ask the right question and implement on the fly . Ofcourse the documentation is internally leveraged by the Generative AI tool
-
Corporate America is shying away from programming languages as the bedrock of information technology. Get an account @ AWS, GCP or Azure. They are fertile places for learning about information technology. Learn how to create a virtual machine. Learn about data storage and file sytems. Learn basic Powershell and/or learn basic Linux commands. Learn an editor (not a word processor like MS Word) such as VIM. Armed with those basic skills you can do most anything in information technology. I recommend diving into the multitude of services with a goal in mind to create something that never existed before!
Practice is the cornerstone of mastering any programming language. Start writing code as soon as possible, even if it's just small snippets. Try to code every day, even if it's only for a short period. Experiment with what you've learned by working on simple projects or challenges. Regular coding will reinforce concepts and help you understand the practical application of the language.
-
Practice makes a man perfect. Write code regularly to reinforce your learning. Start with small projects and gradually increase complexity. One step at a time.
-
Write and code and test what you learned so far, Only practice makes perfect and just reading documents and going through different courses are never enough
-
Build incrementally , showcase to your peers , take feedback, iterate until your use case is completely implemented. It’s important to publish your code in the public repository to know where you stand as the community will always look at the contributions and make recommendations
-
I see no point of learning a language without clear use case. So for me learning and working with it is the same thing. May be for the sake of getting your CV richer it's possible to learn a language without using it but I see this way as a spending too much time with too little immediate outcome
-
I find learning programming language needs all the steps presented here. However, only way to learn it well is through practice. I try to find a project where I can get involved and contribute. I make mistakes but then I learn from the mistakes. It also helps to reach out to experts inside my company or in the industry to learn from them.
-
In my opinion you should always learn with a focus. Information technology is about solving problems. Create a problem: sort names. Then write a program that sorts a list of names. Make the problem more difficult, sort by last name only and so on.
To solidify your knowledge, start building your own projects. They don't have to be complex; simple applications or tools that interest you are perfect. Projects will expose you to problem-solving and debugging in real-world scenarios. As you progress, the projects can become more ambitious, which will not only improve your coding skills but also build a portfolio to showcase your work.
-
Try to recreate something you did in a different language, but during that process make sure you are understanding the architectural best practices associated with the new language. Frankly I think learning new languages is the easy part. The hard part is learning the design patterns that work best with the language/framework choice. Expect to continually be learning. 46 years ago I started writing 6809 CPU Machine Code running on OSX9. Then BASIC-11 & Cobol on DEC PDP 11 Minicomputers and on the IBM360 Mainframe. Over 46 years I’ve had to learn a dozen languages, frameworks and design patterns, expect to do the same or more.
-
Build, build, build!!! The only way to truly learn to program well is to build your own projects. Start small and build up to something more complex. Choose something that interests you - you will be much more motivated if you are developing something you, friends, family, or colleagues can use and benefit from. I'm a big fan of games as projects to learn programming. They can start simple and get complex, are fun to build and fun to play with the final output.
-
Apply what you've learned by building real-world projects. This will help you gain practical experience and showcase your skills to potential employers. Read Code: Study code written by experienced programmers in your chosen language. This will expose you to different coding styles and best practices.
-
Minimum 3 projects would be good to demonstrate fit and purpose for others. First one could be a simple standalone application that is more of understanding of concepts - I call it classroom level, based on set of data structures and design patterns. Second one shall be a little complex solution that can be downloaded and used by many in day to day common tasks, irrespective of industry - examples are process automation, utility or productivity tools. The third one shall be more focused and relevant to a business domain which demonstrates fit for purpose in a real world scenario. This answers the question to decision makers on why they should consider it over other options so some additional analysis and articulation would be a plus.
-
I've found that targeting to build three projects of progressive complexities gives a practical understanding of a new language's nuances and paradigms. The first project is mostly to familiarize with the language syntax, and will reveal areas of improvements when it comes to structuring the code. The second project exposes you to advanced concepts in the language. The third project is where those advanced concepts can be applied to develop a practical working knowledge of the language.
-
Pratice makes you perfect. Unless we test our newly acquired knowledge and skill to build utilities, projects, test the syntax and test the limits of the PL - that knowledge will slowly wither away. So building test projects, debugging code extensively is the only way to convert your knowledge into a skill.
-
You could also contribute to your favourite open source project . If you don’t find one , you could create one. You should also contributing in Hackathons where you learn to work as a team
Finally, immerse yourself in the programming community. Join forums, attend meetups, or contribute to open-source projects. Engaging with other developers can provide insights, feedback, and support. You'll learn best practices, discover new tools, and stay updated on language developments. The community is also a great place to network and find opportunities for collaboration.
-
Participate in online forums, programming communities, or attend meetups to connect with fellow learners and experienced developers.
-
Just browsing through stack overflow to see the problems and solutions shared by other programmers is a great way to get exposed to various aspects of a new language that can be applied in your own projects.
-
One needs to give back the community and also join forums, slack channels, to share the knowledge and also get help when stuck! The more we debug - not just our own code but other's problems, the more we will become adept at the newly learnt programming language.
-
While learning a new technology my 1st source is to join community and notice whats happening. That keeps me up to date to the latest trends. Secondly I try to gather resources. And last but not the least, try to implement from scratch.
-
Start with a programming language, and get yourself familiarized by implementing different logic and syntax. Once you are confident about solving a problem, then go with a Gen-AI code companion, that will change the complete development journey for you.
-
Lately I’ve been using AI tools like chat-gpt to get explanations of how things work. You can ask it things like “what is the RUST equivalent of this code …” and then ask follow up questions explaining how it works. AI tools have really been a game changer for context switching between languages because as a programmer you know what the code should do but just need the correct syntax.
-
Use an online programming playform that has practice built in. The one I recommend most especially for JavaScript frameworks is scrimba.com. It provides structured modules that a newbie can follow that includes embedded hands-on exercises. Just pause the tutorial, attempt the exercise and continue to the solution. I found this to be the most efficient and connected way of learning that required the least amount of context switching from theory to practice.
Rate this article
More relevant reading
-
Software EngineeringHow can you learn a new programming language as a software engineer?
-
Computer ScienceWhat do you do if you want to learn a new programming language?
-
Application DevelopmentWhat do you do if you want to master programming languages in record time?
-
Web ApplicationsYou're struggling to learn a new programming language. How can you make the process less daunting?