I am almost at the end of the third week of my Outreachy internship and the journey has been nothing but phenomenal so far! I’ve learned so many new things! Outreachy has been a journey filled with learning for me, right from the contribution period. This was my first time contributing to open source and was confused by a lot of things.
Talking about the vocabulary term, Do you know what AST is? Because I didn’t. It scared me at first. My first response after hearing this keyword was “What!, Another thing to add in the list of unknowns.”. Later it turned out to be a familiar word from compiler design.
Let’s see what Abstract Syntax Tree (AST) is!
An abstract syntax tree (AST) is a way of representing the syntax of a programming language as a hierarchical tree-like structure. This structure is used for generating symbol tables for compilers and code generation. An AST focuses on the rules rather than elements like braces or semicolons that terminate statements in some languages.
ASTs are widely used in compilers to check code for accuracy. If the generated tree contains errors, the compiler prints an error message. For example, a tree for a conditional statement has the rules for variables hanging down from the required operator.
I feel a lot of times it’s just about taking a step forward, out of your comfort zone. Things are new to us until they’re not. Sometime, It takes time to understand the existing code base and to reach the solution of any issue.
Yeah, there were things that took time and I had to give some extra hours to understand the concepts behind them. There were moments when I got stuck and struggled to make things good in my code. And that’s where the “learning” comes into the picture! Even after trying for weeks, I haven’t solved the issue, but until I’m trying I can solve it.
It’s important to remember that no one starts out being an “expert”. We all start out knowing nothing. We all learn, practice, and grow.
Real knowledge is intrinsic and it’s built from the ground up.Naval Ravikant