7 answers
Asked
820 views
How do absorb or learn technical functions in programming languages?
I am an IT student. Having a hard time memorizing the functions in Python and figuring out what the "problem" needs. Like I know what is the flow of the "program" but I have no idea what functions or specific commands to use.
Login to comment
7 answers
Updated
Jay’s Answer
Learning how to code in a programming language is like learning to read, write, and speak a foreign language. There are intricacies that can change the entire meaning or context of the language which is why it is extremely difficult for many people. Even as a native English speaker, I still struggle with nuance. Thankfully, we have the luxury of information at our fingertips for discovering syntax and common troubleshooting tips when the functionality does not work as intended. In my profession, and in my years of developing code in numerous different programming languages, I have come to terms with several absolutes that have changed my frame of reference or way of thinking when approaching a programming language.
1.) Programming languages evolve over time.
2.) Understand what may have worked in the past, may not work in the future.
3.) Expect and build for failure so you aren't surprised when it happens.
4.) Truly understand what your code is supposed to do, and what both successful and failed states should look like.
5.) Finally, use Google (or similar external resource) as an extension of the storage section of your brain.
I personally do not have photographic memory and very rarely remember exact syntax. I spend more of my time learning about concepts and fundamentals, because I have realized that the syntax is likely going to change to take advantage of new technologies, features, functionality, or dependencies. I have also come to the understanding that a class or method that I built on previous versions of libraries are likely going to break and my code will need to be modified because of some syntactical nuance that a newer version has required or implemented. I fully expect my code to break; whether it be from syntax, deprecation, and/or dependency. It is my job as a developer to try and mitigate that as much as possible, so we test for success and test for failure. Many times you will be working on a project or application and it will grow in scope (aka. "Feature Creep") -- requirements will be defined, features will be added (or removed), and the path to move from point-A to point-Z may not be a straight one. Having a real understanding of what your application is supposed to do and how it should look in both successful and failed states will help you decide how to write the code. Once you understand these principals, you begin to understand that there is no shame in using external resources (Google, for example) to figure out how to pass that parameter to a function, or what a specific response is and how it's formatted.
Hope this helps! I am always available to help clarify any of this and to provide additional insight if that is helpful!
1.) Programming languages evolve over time.
2.) Understand what may have worked in the past, may not work in the future.
3.) Expect and build for failure so you aren't surprised when it happens.
4.) Truly understand what your code is supposed to do, and what both successful and failed states should look like.
5.) Finally, use Google (or similar external resource) as an extension of the storage section of your brain.
I personally do not have photographic memory and very rarely remember exact syntax. I spend more of my time learning about concepts and fundamentals, because I have realized that the syntax is likely going to change to take advantage of new technologies, features, functionality, or dependencies. I have also come to the understanding that a class or method that I built on previous versions of libraries are likely going to break and my code will need to be modified because of some syntactical nuance that a newer version has required or implemented. I fully expect my code to break; whether it be from syntax, deprecation, and/or dependency. It is my job as a developer to try and mitigate that as much as possible, so we test for success and test for failure. Many times you will be working on a project or application and it will grow in scope (aka. "Feature Creep") -- requirements will be defined, features will be added (or removed), and the path to move from point-A to point-Z may not be a straight one. Having a real understanding of what your application is supposed to do and how it should look in both successful and failed states will help you decide how to write the code. Once you understand these principals, you begin to understand that there is no shame in using external resources (Google, for example) to figure out how to pass that parameter to a function, or what a specific response is and how it's formatted.
Hope this helps! I am always available to help clarify any of this and to provide additional insight if that is helpful!
Updated
Rihem’s Answer
Hello Shaina !
Learning the technical functions in programming languages is a crucial aspect of becoming a proficient programmer. Here's a step-by-step approach to absorb and learn these functions effectively:
Select a Programming Language:
Choose a programming language that aligns with your goals and interests. Common choices include Python, Java, C++, JavaScript, and more. Your choice may depend on the domain you want to work in or the types of projects you want to tackle.
Understand the Basics:
Start with the fundamentals. Learn about variables, data types, control structures (if-else statements, loops), and basic input/output.
Familiarize yourself with the syntax and conventions of the language.
Study the Documentation:
Explore the official documentation for your chosen language. This is a valuable resource that provides detailed information about the language's functions, libraries, and frameworks.
Learn Online Resources:
Utilize online learning platforms, tutorials, and courses to enhance your knowledge. Websites like Codecademy, Coursera, edX, and freeCodeCamp offer comprehensive programming courses.
Read Books and Blogs:
Books written by experts in the field can provide in-depth insights. Technical blogs, forums, and Stack Overflow can also offer practical solutions to common programming problems.
Practice Regularly:
Apply what you've learned through hands-on coding. Start with simple programs and gradually work your way up to more complex projects.
Repetition is key to solidifying your understanding.
Work on Projects:
Building projects is one of the most effective ways to learn. Choose projects that interest you and involve solving real-world problems. It could be a web application, a game, a mobile app, or any software you find intriguing.
Collaborate and Contribute:
Join open-source projects or collaborate with others. Contributing to open-source projects not only allows you to learn from experienced developers but also builds your portfolio.
Practice Problem-Solving:
Solve coding challenges and algorithms on platforms like LeetCode, HackerRank, and Project Euler. These platforms provide a structured way to enhance your problem-solving skills.
Understand Data Structures and Algorithms:
Study data structures (arrays, linked lists, trees, etc.) and algorithms. A strong foundation in these areas is crucial for more advanced programming.
Experiment and Experiment:
Don't be afraid to experiment and make mistakes. Learning often comes from trying new things and learning from your errors.
Stay Updated:
The tech industry evolves rapidly. Stay updated with the latest developments in your chosen language, libraries, and frameworks by following blogs, attending conferences, or taking online courses.
Ask for Help:
If you're stuck on a problem, seek help from online communities or colleagues. Often, someone else has faced a similar challenge and can offer guidance.
Teach Others:
Teaching is a powerful way to reinforce your own knowledge. Help others learn, mentor beginners, or write blog posts and tutorials.
Build a Portfolio:
Showcase your skills by maintaining a portfolio of your projects. This can be shared with potential employers or clients.
Consistency is Key:
Learning programming is a journey that requires consistency. Dedicate regular time to study and practice, and you'll see steady improvement.
Remember that becoming proficient in a programming language takes time and effort. The more you practice, the more comfortable you'll become with the language and its functions. Don't be discouraged by challenges; instead, view them as opportunities to learn and grow.
Learning the technical functions in programming languages is a crucial aspect of becoming a proficient programmer. Here's a step-by-step approach to absorb and learn these functions effectively:
Select a Programming Language:
Choose a programming language that aligns with your goals and interests. Common choices include Python, Java, C++, JavaScript, and more. Your choice may depend on the domain you want to work in or the types of projects you want to tackle.
Understand the Basics:
Start with the fundamentals. Learn about variables, data types, control structures (if-else statements, loops), and basic input/output.
Familiarize yourself with the syntax and conventions of the language.
Study the Documentation:
Explore the official documentation for your chosen language. This is a valuable resource that provides detailed information about the language's functions, libraries, and frameworks.
Learn Online Resources:
Utilize online learning platforms, tutorials, and courses to enhance your knowledge. Websites like Codecademy, Coursera, edX, and freeCodeCamp offer comprehensive programming courses.
Read Books and Blogs:
Books written by experts in the field can provide in-depth insights. Technical blogs, forums, and Stack Overflow can also offer practical solutions to common programming problems.
Practice Regularly:
Apply what you've learned through hands-on coding. Start with simple programs and gradually work your way up to more complex projects.
Repetition is key to solidifying your understanding.
Work on Projects:
Building projects is one of the most effective ways to learn. Choose projects that interest you and involve solving real-world problems. It could be a web application, a game, a mobile app, or any software you find intriguing.
Collaborate and Contribute:
Join open-source projects or collaborate with others. Contributing to open-source projects not only allows you to learn from experienced developers but also builds your portfolio.
Practice Problem-Solving:
Solve coding challenges and algorithms on platforms like LeetCode, HackerRank, and Project Euler. These platforms provide a structured way to enhance your problem-solving skills.
Understand Data Structures and Algorithms:
Study data structures (arrays, linked lists, trees, etc.) and algorithms. A strong foundation in these areas is crucial for more advanced programming.
Experiment and Experiment:
Don't be afraid to experiment and make mistakes. Learning often comes from trying new things and learning from your errors.
Stay Updated:
The tech industry evolves rapidly. Stay updated with the latest developments in your chosen language, libraries, and frameworks by following blogs, attending conferences, or taking online courses.
Ask for Help:
If you're stuck on a problem, seek help from online communities or colleagues. Often, someone else has faced a similar challenge and can offer guidance.
Teach Others:
Teaching is a powerful way to reinforce your own knowledge. Help others learn, mentor beginners, or write blog posts and tutorials.
Build a Portfolio:
Showcase your skills by maintaining a portfolio of your projects. This can be shared with potential employers or clients.
Consistency is Key:
Learning programming is a journey that requires consistency. Dedicate regular time to study and practice, and you'll see steady improvement.
Remember that becoming proficient in a programming language takes time and effort. The more you practice, the more comfortable you'll become with the language and its functions. Don't be discouraged by challenges; instead, view them as opportunities to learn and grow.
Updated
Rebecca’s Answer
Thank you for your question.
It’s true sometimes it may not easy to memorise all the syntax. Practise makes perfect! Instead of hard memorise the function, you can remember the functions when you code more.
Below is my suggestions:
1. Firstly, you can read the project/ assignment thoroughly to understand what the outcome to achieve.
2. You can then analyse how the process the input into the outcome.
3. Put down the process logic into pseudo code
4. Convert the pseudo code into the programming language
5. Test the program
Hope this helps! Good Luck!
It’s true sometimes it may not easy to memorise all the syntax. Practise makes perfect! Instead of hard memorise the function, you can remember the functions when you code more.
Below is my suggestions:
1. Firstly, you can read the project/ assignment thoroughly to understand what the outcome to achieve.
2. You can then analyse how the process the input into the outcome.
3. Put down the process logic into pseudo code
4. Convert the pseudo code into the programming language
5. Test the program
Hope this helps! Good Luck!
Updated
Manuel’s Answer
I believe the most important is you need to take the lead in this and watch youtube channels with that information, after that if you think that can be for you and liked what you saw, I have a good list of books can help you and of course, it depends if you want to learn paradigms generally or from a specific programming lenguaje.
youtube channels for the global vision of the theme --> book of paradigm -- > book of paradigm in a specific lenguaje --> boot camp or sandbox for test
youtube channels for the global vision of the theme --> book of paradigm -- > book of paradigm in a specific lenguaje --> boot camp or sandbox for test
Updated
John’s Answer
Pattern recognition is one of the biggest skills in software development. As you tackle more and more problems (both the large-scale problems, and the smaller problems that you can break down those large ones into), you'll start to run into similar problems, and can apply your past skills to this one.
9 times out of 10, a problem isn't completely new to us. We can break it down into smaller problems (which might even be broken down further) that we've seen before. Sure, the specifics might be different (sorting a list of books, versus sorting a list of bank transactions), but once we zoom out, it's the same problem.
The nice thing about software is that it's never a closed-book test, you can always look up what you're trying to do. Again, 9 times out of 10, the problem isn't new. In fact, someone else has probably solved it before. The internet is a treasure trove of answers
And by the same token, we're always learning new things. There are always new languages, new features, and new tools to get the job done, and it's our job as developers to keep up. We all go through the exact situation you're describing, so you're in good company 🙂
9 times out of 10, a problem isn't completely new to us. We can break it down into smaller problems (which might even be broken down further) that we've seen before. Sure, the specifics might be different (sorting a list of books, versus sorting a list of bank transactions), but once we zoom out, it's the same problem.
The nice thing about software is that it's never a closed-book test, you can always look up what you're trying to do. Again, 9 times out of 10, the problem isn't new. In fact, someone else has probably solved it before. The internet is a treasure trove of answers
And by the same token, we're always learning new things. There are always new languages, new features, and new tools to get the job done, and it's our job as developers to keep up. We all go through the exact situation you're describing, so you're in good company 🙂
Thanks sir your your details. https://www.sevenmentor.com/best-python-classes-in-pune.php is learning platform for me ?
seven yevale
Updated
Brenda’s Answer
Learning anything new takes time. Continue reading code and follow the flow. Practice solving various problems and research how others solve similar issues. Be sure to ask questions and talk through your code with someone else. Whenever you share you will solidify the concept more with yourself. Start a journal - you will be amazed at your own progress over time.
Updated
Douglas’s Answer
Shaina,
Hi. So you states you know how to write the flow of a program, good.
Next is to learn about all the python variable types (if you
google that you'll find a number of web pages with lists of types)
The functions that you will use depends on the task you are doing.
To learn which function (and module) you need to use for a task,
you need to know how to describe the task. Before Google, we
would look up in the index of a book "yaml" and we would
find the section about how to read/write yaml files.
Now, we can google: python load yaml file
or python write yaml file
It is important to learn about using databases and how to write programs
to read and save data into databases.
Unless you are taking a test, you do not need to memorize functions,
over time of using the functions you'll remember the names and there
are many cheat sheets for modules and functions.
And to learn about what tasks companies are looking for google:
python jobs and look at the areas (database, API, and frameworks
they are looking for)
Learn all Python variable types
Google the programming tasks for examples and to learn which functions/modules are used
Read 5 programming Python tutorials - to continue to learning Python
Hi. So you states you know how to write the flow of a program, good.
Next is to learn about all the python variable types (if you
google that you'll find a number of web pages with lists of types)
The functions that you will use depends on the task you are doing.
To learn which function (and module) you need to use for a task,
you need to know how to describe the task. Before Google, we
would look up in the index of a book "yaml" and we would
find the section about how to read/write yaml files.
Now, we can google: python load yaml file
or python write yaml file
It is important to learn about using databases and how to write programs
to read and save data into databases.
Unless you are taking a test, you do not need to memorize functions,
over time of using the functions you'll remember the names and there
are many cheat sheets for modules and functions.
And to learn about what tasks companies are looking for google:
python jobs and look at the areas (database, API, and frameworks
they are looking for)
Douglas recommends the following next steps: