Overcoming the language barrier

I’m 35 year old underachiever undertaking a new venture in revisiting coding. I had access to learning Pascal and Delphi in HS, started college pursuing an IT degree; at the time convinced it had much more to do with hardware and working with my hands. Coding was fun and i was the “computer guy”. We were working in some visual C something or other my 100 level coding class i was the #1 student in that class, over doing assignments, acing exams. Awesome, great professor, it was basic application building, temperature calculators and the such. 200 level the following semester, bombed and ended up withdrawing. I got some social life, i missed an important class, we were suddenly balls deep in SQL and i fully missed the leap and we were using syntax that no longer looked English+ to me. Pascal, C, Basic, all to the mediocre classroom/hobby level that I took them do had always been English+. I could decypher what is being asked and maybe have to consult a book to learn what a shorthand word meant (sqrt). I was entirely overwhelmed. I had just crushed my first class where it was the elective level coding course and the jump to the real coding with a different teacher who was much more inaccessible as well, i thought I was not cut out for coding.

15 years later I find myself despising my marketing degree I ended up with and the ability to have time off to renew myself. I’m here night 3 of my coding adventure because the universe pointed me in this direction. I’m creating a project for myself to learn while building an homage from the 80’s movie AI in WarGames. I am bulding functions to call from a menu and plan to make some simple games. I needed something that felt productive over just listening to tutorials and making hello world level of practice programs.

Today I revisited my frustration of the language barrier where things begin to be so shorthanded and the boards argue over old syntax and new syntax. I built out a simple calculator function today and once I jumped a hurdle of validating user input today I was excited and thought I could clean up my code along with giving feedback to my User. I would print the equation back to the user, simple! Well I have a collection of variables num1, num2, op (high level coding right here) I could just collect them in a tuple and call that. That began the rabbithole of formatting tuples in strings. Now i’m looking at %s % ’ and {0}.format things and it is obvious I’m missing a step in understanding what is going on with either of these, or cheat sheets of what they all mean. Sure i can copy paste some snippet and get something working I’m sure but I’m not thinking in that language yet, I know I should just tuck those problems away and come back around once i hit some random well written tutorial page or video walk-thru.
I just had a lot of that same anxiety and fear of failure today looking down the barrel of when code crosses into more of a foreign language. The popular question boards that will come up in a search are being answered by advanced programmers that throw some high level (it feels) answer to a simple example question, using shorthand and popular variables that I assume they can assume what it is universally ( i ) understood.
Where’s my source to ask questions that I feel appear to be elementary to most of the community but are too advanced for any of the basics tutorials i’ve been watching/ reading to have reached yet this early on.

Tomorrow I plan to button up my calculator output even if for now it needs to be a line of + “word” + var + " " + var + … I’m going to move on to a basic tutorial for some simple games, tic tac toe I’m guessing - perfect for my project.

-=-Kaysler-=-

2 Likes

Learning to code is not that easy, you have to invest time and effort. I learned the basics when I was a kid, but adolescence hit me hard and I abandoned this stuff for like ten years.

Tutorials and videos are OK, but what will help you the most is coding on your own and trying new things, that’s why FCC projects are really good.

I don’t think copying and pasting snippets is a good idea unless you understand what is happening there. If you are having problems with syntax I suggest you read books. If you are learning JS I cannot recommend enough You don’t know JS, it is an online book and it is free. If you aren’t into JS I really suggest you start there as you can make everything with it nowadays.

Do not hesitate to ask the community for help, everyone was new at some point and asked questions that could seem basic. I also think you should try the DEV community.

Good luck and don’t give up!

1 Like

Just ask for help, but be prepared for a broad spectrum of answers.

There are many ways to solve problems and ‘best practices’ are at best, well tested opinions. Pick a language you are comfortable using, that works for you, and start building things with it. Eventually you’ll advance to writing complex code in the same language or you’ll move on to writing in a similar one.

For example, my comfortable spot used to be writing in C#. It seemed like a very organized and strict language. Clear expectations. However, I found myself writing more JavaScript than C#. I now write 99% of client side (and server side when in node) in Typescript, which is a language that applies the principles you find in a type-safe object oriented language to JavaScript.

I think the last thing I will leave you with is this thought: Try to think less about the problem you are trying to solve and more about the solution you are creating.

Programming is about creating solutions to problems. Once you feel relatively comfortable in a programming language, spend some time reading about design patterns and how those patterns are implemented in your programming language. Poorly designed solutions are harder to maintain and sometimes have to even be re-written completely when the targeted problem changes. Programmers use patterns to create solutions that minimize the impact change has on the structure of an application.

Imagine if a tree fell on one room of your house and you had to replace the entire house. What a pain! Fortunately, they way homes are designed, you can usually perform repairs and maintenance to a section without modifying the whole thing. We should strive to do the same thing with the solutions create.

Thank you both for the encouragement. This post was mostly about that moment in coding any language where you encounter that first big problem that you assumed was simple and it turns out the code necessary to tackle the task is much more complex and no longer feels like code you can read and write without the extended tribal knowledge. In this instance text formatting which in my experience of other languages was simple commands that were legible to the novice.

Today’s update:
I’ve buttoned up my basic calculator and repaired all my looping issues with leaving and returning to the main menu with invalid data. Broke out a lot of repetition into functions. I’m pleased with this part of my project and believe I have made adding new features a smoother process. I’ll begin my games tutorial this afternoon and evening and see where it can take me. I found myself searching into string formatting again this morning but decided it is just a timesink until I find the correct resources.