What if I just can't do JavaScript?

What if I just can't do JavaScript?
0

#1

I am wondering what my options are if my brain is just not capable of understanding JavaScript. I am sure I can manage HTML and CSS, but what if that is all I can do?

I can handle really, really simple JavaScript if I am just copying it from some example, but I don’t understand it. I don’t understand how it works or why it does what it does no matter how much the explanation is dumbed down for me. I just don’t get it. It will sound like foreign gibberish to me no matte what. sure, the browser may understand it, but I, as the human, am just copying from some example and no matter how simply the process is explained to me I cannot understand why the script works. My brain is just not designed to process that kind of data.

Is there still some kind of future for me in web development if the only things I can handle are HTML and CSS, with a little JavaScript that I take from tutorial examples and have no idea why it works the way it does? Is it realistic if I will always have to rely on people who have brains that are capable of understanding JavaScript to make the site function?

I ask because I am thinking at this point that this whole FCC thing might just be a pointless pursuit if I am not mentally capable of handling a very vital part of web development.


#2

Programming can be challenging, so if you are not familiar with programming, you might want to look at some books or websites that discuss programming in a general sense. Because while all languages are different, many of them have very similar features (variables, for loops, etc.). It may help make some of the stuff make more sense.

Programming really is something that takes a bit of time. I am familiar with several programming languages, and they all throw me for a loop at times. There are some of the exercises on FCC that have kicked my butt. I have (so far) eventually got it, but there are some exercises that have taken me weeks to complete (I’m still trying to figure out one of the advanced algorithms).

I guess what I’m saying is keep at it, and it will come…however slowly it might be.

To answer your question about if you need it or not, it depends. I imagine that to be a developer, you will need to know how to code.

If you are doing backend work, then you might not need to know js, but you will need to know php, python, ruby, or something similar.

Now, if you just want to design web pages, that is a different story. I know some web designers who don’t know anything about js, php, etc. You’ll likely will still have to know html and css, but you might be able to get away without having to code in js.

I hope this helps.


#3

Maybe.

I started learning programming probably about 6 or 7 years ago. I was starting out with Python and I kept hitting a brick wall. The first thing that stumped me was arrays. I just could not get my head to understand what a bloody array was and why that was a more useful construct than just normal variables. I completely gave up for about a year.

Then I got back into it and arrays made more sense, even 2d arrays. But inevitably I got stuck on something else. I know classes in Python have been a major PITA for me every time I tried to figure them out. Funnily enough, getting into React and ES6/Typescript has finally helped me understand classes, where a dozen examples of ‘A class is like a dog…the dog has a “woof” method’ nonsense failed!

Don’t be afraid to step away for a little and try your hand at something else for a while and come back to it when you feel like it again.

And don’t be discouraged by the apparent success of others as proof that you aren’t getting it as easily as they do. Everybody is starting from a different place, so when someone like me can claim to have finished the first certificate in a little over a month on only a couple of hours a day, remember that that isn’t from scratch but comes on the back of nearly 7 years of false starts with coding!

You can do it, just allow yourself to take the time it needs.


#4

FCC is not a tutorial, it doesn’t explain basic concepts of programming so if you have never coded in your life you will keep hitting brick walls all the time, I do and I did a little bit of programming at the uni ages ago. Take a break from JS and download Scratch. Yes, it is for kids but I don’t care. Play with it for few days until you get the basics - variables, loops, if else… Now, look for some tutorials on JS, plenty of free ones on YT or get some paid ones from Udemy.

And let me tell you a story: back at the uni there was this guy, he couldn’t write any piece of code on his own, he used to copy it from other students and somehow fool our tutors. Later I dropped out and he carried on. Now he is doing his PhD and working on some NATO military projects (so must be a decent programmer) and I’m starting from scratch doing some boring warehouse job in the meantime. Don’t give up like I did!


#5

You mentioned that you can do HTML and CSS but not JavaScript.

This situation occurs mostly when someone’s coming from a non-CS background.

Its perfectly fine. One thing you can do is always look for html&css solutions for problems that you are facing. Another thing to remember is that: Newer CSS specifications are removing necessity of js for tasks like animation, layouts, accessibility, etc.

So I wouldn’t worry about not knowing js (Vanilla JS) and focus on learning Design Fundamentals and Creating Web Layouts using HTML and CSS.

Once you get good at these two technologies, start breaking the ice using jQuery. Its specially made for you to write less code. And after learning all this stuff you think you need learn Vanilla JS then go for it.

But if HTML and CSS is all you can do (and you want to do)… then get really good at it .

“Converting designs into HTML&CSS code” is the job description you should be looking for.


#6

You might be learning it from a wrong perspective. Copying examples does nothing. You need to learn the basics. Loops, If statements, Variables, Scope. You need to learn the simplest of basics first. Those are simple to understand. Once you have done those, you can move on to more complex things and you should be able to understand them.

Programming is hard. It’s even harder if you go at it from a harder perspective. Don’t worry about what JavaScript can do to a webpage. Just learn it as a basic programming language, doing various math problems and so on. Experiement with code. That’s how you will learn what it does.


#7

You should try this website https://www.codecademy.com/learn/javascript .I’ts really amazing for learning javascript. If not well … you can always just do design.


#8

I’ve heard that Ruby and Perl are easier. If that is the case I wish FCC would start us with learning those somehow. I’ve been going through the W3schools tutorial, but it is actually less helpful for me than the FCC course has been for JavaScript. Right now I just really wish that the people who invented the language had given more thought to make it more understandable for living people. It may be better than just a bunch of 0’s and 1’s, but still makes little logical sense to a living human brain.

Are there times when JavaScript just doesn’t have an option to make something work the way you want it to, even if in theory it should be able to work?

And does there happen to be anyone here who can explain what was meant by it when they said to ‘move all that logic’ into a function by placing it in brackets here? http://stackoverflow.com/questions/39056784/i-cant-get-javascript-to-properly-access-a-text-field#comment65463005_39056784 . I have spent the last hour randomly putting random things into curly brackets in the function to no avail. Is this maybe a case where JavaScript is just too limited to do what I want it to do?


#9

There’s no way your brain can or cannot do something… You just have to train it that way… e.g. if you want to be a programmer, you better start thinking in a logical, mathematical way, cause every programming language is based on algorithms (e.g. do this if this condition happens, in order to get this result, else do something different).

If you want to start from the base, just get into pseudocode, which is a “kind of” simple programming language that can help you project what you want to get and understand the basics of programming…

Even simplier, you can download something like Algobuild, which is a program that helps you define your algorithms in an easy, visual way (diagrams).


#10

There is a book called JavaScript for Kids: A Playful Introduction to Programming and even though it’s intended for kids it doesn’t matter if it teaches you the basics concepts of JavaScript. It explains things in a way that is easy to understand without using a mass amount of technical jargon that will discourage you. I believe you are capable of learning JavaScript because you can form a coherent sentence in English. Programming in general probably just feels like a distant abstract concept but keep trying and I believe when you find the right resource for you that it will click eventually. You have nowhere to go but up, just don’t give up.


#11

I contributed an answer to your post on StackOverflow.

Btw, JavaScript is flexible enough to do almost anything you can think of. If you’re having too much trouble with the JavaScript challenges on FCC, I’d recommend either edX’s Harvard CS50 course https://www.edx.org/course/introduction-computer-science-harvardx-cs50x or Udacity’s Intro to Programming https://www.udacity.com/course/intro-to-programming--ud000 or Coursera’s Programming for Everybody https://www.coursera.org/learn/python which uses Python, but learning Python will be very translatable to JavaScript, particularly when it comes to objects (Python’s “dictionaries” are basically like JavaScript’s “objects”).

Also, neither Ruby or Perl would be helpful for most people to learn. Perl is an especially stale language, and some would say that the job market for Ruby (and Rails by extension) is on the decline.


#13

Ruby is great when you already have a grasp of programming, but it doesn’t make learning any easier. Have you tried watching some videos? I find that it often helps to listen and watch rather than just read, and there is a wealth of beginner tutorials on YouTube.


#15

My main concern is that I just don’t get it. With HTML and CSS it’s clear enough what the code means and what exactly it is telling the browsers to do. While going through tutorials I would get ideas for stuff I’d like to do or I’d want to see what a page would look like if I tried certain things… So I’d try those ideas out and even if some were a little tricky to figure out I could usually understand why something was not working the way I wanted it to and either fix it or realize that it’s something that can’t be done with CSS.

With JavaScript I am just in the dark about what exactly the code is telling the browsers to do. When I try experimenting with ideas, it works if I use examples correctly, but if it doesn’t work I don’t know why. I don’t really understand why it works when it works or why it doesn’t when it doesn’t. The basic concepts of the language are too foreign to me.

I did get that quotes experiment working. I don’t think I could have without the answers that said exactly what needs to go into the function or showed the code itself that they were describing.


#16

As I understand, you don’t have any previous programming experience? Then it’s nothing strange that you don’t understand js. At FCC it’s not explained good enough for total beginners. Plus, js itself is a bit weird at some moments.

What I would suggest:

  1. Find a good books for beginners and read it, do exercises and so on. If you had no previous experience, don’t expect it to be fast for you to understand all basic concepts. Take your time.
  2. Alternatively, learn basic concepts with another language. It might look like going in another direction, but in reality knowing basics of several different languages will make you to quicker understand various concepts. You can try python - it’s very beginner-friendly (and can be used for web with django framework), but it’s syntax is not like js’ (it doesn’t have those curly braces). Can try ruby - also used for web with ruby on rails and syntax is more like js. Or you can go the hard way and learn some basics of C language - it’s harder to learn and it isn’t used for web, but learning even basics of C you will have more in depth understanding of wtf is going on under the hood of programming languages. Actually, a lot of things in other languages became more clear to me after I understood the concept of pointers in C. If you feel like total beginner, I can recommend to you watching Harvards computer science course on youtube, I believe, cs50 it’s called, and it gives explanations on many basic concepts in programming - like binary search method, sorting methods, big-o etc. It has no js (uses C and php), but is still worth watching if you are beginner and never listened to such lections.

Anyways, js is much more complicated than html and css and it’s expected that learning it will take more time and effort, it’s nothing wrong with you))


#17

There’s always book such as Head First JavaScript Programming which really explains the step by step functions of JS.


#19

for starters, please tell me what books have you read to give you the conclusion that you can’t do javascript?

don’t just use freecodecamp exclusively. There are so many resources out there. You need to supplement freecodecamp with other books. Eloquent javascript book is not for beginners, either is codeacademy. Try different books. Try looking at javascript videos and learn the concepts.
Stay away from Stack Overflow as a beginner. There are some amazing answers on there, but many answers are written by professionals with many years in the field who have forgotten how hard it was in the beginning.

Perhaps Javascript the definitive guide.

Also, do you perhaps live in Los Angeles? I go to meetup groups, and we can definitely meet and take a look at what’s giving you the most trouble.


#20

Um, well, I haven’t gotten that far in it, but I have been reading Eloquent JavaScript. Which does feel way over my head. I’ve been going through the tutorial at W3schools. But the FCC lessons actually make more sense to me than that does. I google questions about how to do certain things and occasionally come across some pages that make more sense to me than others, but those are scattered pages rather than full books.

Is the mozilla tutorial any good? I was thinking of trying that. Truth be told I do most of my tutorial reading on my phone while at my part time job when there are no customers and nothing to clean or fold… So, I’ll watch videos when I can, but I mostly read during moments that I can steal at work before customers come and try to put them into practice after I get home.

I live in Illinois.


#21

It sounds like you want to learn but are having trouble learning due to some of the bad resources you come across.
I really do recommend books, and don’t skip pages. Understand the concepts and get a strong foundation. That starts by learning the basics.

The mozilla tutorial is great, but not for beginners. They are written by a whole community of-- you guessed it-- experienced developers. You need resources that are specifically geared for beginners.

I highly recommend books like Jon Duckett’s JavaScript books, or Headfirst JavaScript. They will give you the strongest foundation. Use those as resources, while doing exercises on freecodecamp.

Also, I want to add to @chiquito83 great answer. He stresses on learning the basics. So I’ll add another of my favorite book that i read and love (I’m 29 years old by the way) : JavaScript for Kids. Learn the basics. That book is amazing at it. And if it’s not your cup of tea, find another resource that works.


#22

I think FCC’s JavaScript section is not great at explaining to total beginners how to program. It doesn’t really explain much and also takes for granted knowledge of some programming terminology that would mean nothing to someone who has never seen a line of code. You should try a slower-paced book or tutorials first before concluding that you can’t learn to program. Maybe something on the level of Intro to Programming at Khan Academy or Head First JavaScript. (I do often hate the busy visual style of the Head First books but I like the way they explain things if you want an alternative to the “dry college textbook” approach).


#23

I second @PhilJayN’s Jon Duckett recommendation. His book on HTML was brilliant, and if his JavaScript book is even remotely similar, it’ll be just what you need.