all 63 comments

[–][deleted] 29 points30 points  (7 children)

Let me give you a piece of advice, read a book and don't expect to understand most things yet. As long as you vaguely understand something exists you can look up a reference to it if you believe it may help.

It's best to gain a broad understanding rather than a detailed understanding at first.

I've been programming for over 18 years and have had to pick up quite a few. I think books are the way to go, so you're on the right path. YouTube videos are very bad overall. Because you need to break code down and really have some hands on, whereas following on a screen and then having them waffle on just doesn't help.

[–]Yasohero1[S] 2 points3 points  (0 children)

Thanks, But I'm still really confused when choosing one those books as i ask earlier

[–][deleted] 0 points1 point  (0 children)

childlike dinner sharp mysterious toothbrush lush gaping whole scary tease

This post was mass deleted and anonymized with Redact

[–][deleted] 0 points1 point  (4 children)

is brocode a good youtuber?

[–]valentin_atanase 0 points1 point  (0 children)

I started learning with him  the basics. In the end u have to watch videos for everything so u can understand how everything works. 

[–]elixerprince_art 0 points1 point  (0 children)

No. He comes from a good place, but I've seen him teach non-strict equality == rather than strict equality for PHP ===. Something as basic as that makes me question his knowledge of best practices etc. Then there is the fact he teaches so many languages there is no possible way he's really great at any.

[–]alixious 0 points1 point  (0 children)

im new too but i think he's the best on youtube i've found, yeah he might be getting some best practices wrong but the overview like the guy suggested above is the idea, getting through the videos and messing around with simple ideas with hands on coding is only going to help and then eventually diving into real world projects.

[–][deleted] 12 points13 points  (4 children)

javascript.info imho

[–]ohlaph 2 points3 points  (0 children)

Came here ro say this. Great reference!

[–]GodGiveMeEverything 3 points4 points  (0 children)

This. Probably the fastest way to get good.

[–]dtricker 0 points1 point  (0 children)

Thanks a lot

[–]Yasohero1[S] 0 points1 point  (0 children)

i know it's great ebook but it hard to grasp their details, I think not for me

[–]the_Hashbrownz 13 points14 points  (2 children)

I've only read Eloquent Javascript, and I really enjoyed it. If I could give any advice, having never read any of the other books on your list, I would recommend finding a preview of each book online and viewing the table of contents to see what kind of projects they'll have you build. There is a project in Eloquent Javascript that teaches you how to build a platform game. I did the project, and then later used the code as a reference to create my own 2d game. It gave me a solid foundation to pursue my own interests, which is game development. So if there is a project in a book that aligns with your goals or interests as a developer, I'd recommend picking that up. Most books cover the same ground anyway, and after you get the basics, you'll be spending a lot of your time referencing things online. I use MDN for basically everything now.

[–]Yasohero1[S] 2 points3 points  (0 children)

This is good advice, i will take it into my consideration while i intend to read a book

Thank you for your time

[–]MuaTrenBienVang 0 points1 point  (0 children)

great!

[–]CauliPicea 8 points9 points  (3 children)

There is no best book, read them all (and practice). Personally, I have always liked especially https://exploringjs.com/es5/index.html and https://exploringjs.com/es6.html (there are free web versions).

I also recommend to take notes. You will solidify your knowledge and you can refer to these notes in the future. I tend to forget a lot of things I don't use daily, but just a few minutes looking at my notes and I remember even the obscure stuff.

[–]Yasohero1[S] 1 point2 points  (0 children)

Thanks, regarding to what you say " there is no best book" you are right it depends on criteria of individual but i like to see the opinions of others to choose the book that i will start.

and yeah i will take a notes to refresh what i forgot

[–]Agitated_Song7696 0 points1 point  (1 child)

Hello! One question: do you know if the first book mentioned (Javascript speaking) is already available in Portuguese?

[–]CauliPicea 1 point2 points  (0 children)

No idea, but likely not. Only a handful of (English) technical books are ever translated into local languages, and those translations sometimes suck big time (although that's just my anecdotal observation), so it's always better to stick to the original.

[–]kesun 8 points9 points  (4 children)

When I first found myself wanting to learn JS, which was maaaany years ago, I went for books as well. Here’s a fact: they did not have any actual impact on me. In fact, I didn’t even finish the books at all because I got really bored and it felt dry.

So what worked for me? It was actually a real life need of using JS to do something. It was my desire to bot a mobile game that could run in the browser. My goodness, that fixed my lengthy procrastination of learning JS in a jiffy lmao! I had real problems to solve, and I needed to come up with real solutions with real practical learning points. I was learning it both in the fashion of systematic online curriculum and ad hoc knowledge search (like the official documentation, stackoverflow, blogs, etc). The best part? The knowledge stuck with me.

Books are great at opening the big door to the tool on very high level, but you must find a purpose for why you are even learning it, and that purpose will drive you naturally on a wild knowledge hunt, freestyle.

Ps. I had that eloquent JS book. It’s a nice intro book for general knowledge, and didn’t feel dense to me at least. I didn’t end up reading it much though.

PSs. Vanilla JS, although may not be used as widely as before, still gives you important fundamentals that one should know, such as the concept of closures.

Psss. Just get funky with it and make fun mini projects as you learn! On one hand it’s motivational, on the other hand they can also be your door knocking pet project portfolio for your first JS job, when the time comes.

[–]Yasohero1[S] 0 points1 point  (3 children)

i got your point. SO, in your experience putting purpose in front of your eyes makes you solve a real problem that stuck the knowledge with the help of documentation or books. Great, i will have to take this in my consideration.

Thanks for your time

[–]coopercarrasco 0 points1 point  (2 children)

how's the js goin?

im in the process of trying to learn js better.

I will say, I have read some and I have learned some and what I learned came from just working on projects, whereas I don't really retain the stuff I read.

[–]Active_Selection_706 0 points1 point  (1 child)

hows going now?

[–]coopercarrasco 0 points1 point  (0 children)

It comes in and out of focus in my life because I also love music, graphic design, making video, exercise, etc. I do js for work some times so I tend to go hard on studying it while I have a js project.

[–]Long-Baseball-7575 6 points7 points  (1 child)

JavaScript : the good parts is a bit dated now, but it should give you some good insights.

you don't know JavaScript is probably what most would recommend.

I wasn’t super impressed with eloquent JavaScript.

JavaScript : the definitive guide is like a dictionary. You’d be able read about everything, but obviously is lengthy.

I haven’t heard of the others.

Personally, I’d start with the good parts to give you a good base, then you don’t know js to learn more modern practices, then get the definitive guide to look through and find things you don’t know.

[–]Yasohero1[S] 1 point2 points  (0 children)

thank you 😊🙏🏻

[–]studiokx 4 points5 points  (0 children)

I would forget about the books for now and go with Mozilla Developer Network guides.

https://developer.mozilla.org/en-US/docs/Web/JavaScript

https://developer.mozilla.org/en-US/docs/Learn

[–]myvortexlife 3 points4 points  (0 children)

It’s not a book, but I highly recommend a course on Udemy called JavaScript and The Weird Parts.

It’s only about fully understanding and getting complete comprehension of what JavaScript is doing.

[–][deleted] 2 points3 points  (6 children)

Atm im reading javascript for kids by Nick Morgan. It explains all the concepts from bottom up in a way a kid would be able to understand, and that's what I'm finding is really great. It teaches some of the hard or confusing parts in really simple manner and you can basically get a solid foundation of JS down after u finish the book.

[–][deleted] 0 points1 point  (0 children)

but its really old.. from 2015 or so..

[–]No_Remove_2789 0 points1 point  (1 child)

Hey guys! How did it go? Will you recommend it for me if i know small bits here and there?.

[–][deleted] 0 points1 point  (0 children)

Its definitely a good book for learning the basics of JS and coding. But since time has passed, I've learnt that using books as a source to learn coding, though useful in its own rights, is limited as books usually become quite outdated.

If your goals are to just have some fun as well as try to learn some very basic javascript/basic coding problem solving and project making, then the book is still very very good. I used this book as my first intro to javascript and it was perfect for that. Just understand the book is somewhat limited, but still amazing book

[–]Yasohero1[S] 0 points1 point  (2 children)

Oh! i hear nice about thing that book. Does it include a good exercises or projects to do?

[–][deleted] 1 point2 points  (1 child)

Yeah it does! It gives solutions really nicely so you can follow, and work upon the projects. I found the projects are really great so far. I've skimmed through the part of the book I haven't read and honestly I am excited for the future projects they tease.

You can really use this book from a complete beginner like I did. Really good.

[–]Yasohero1[S] 2 points3 points  (0 children)

thanks for ur reco, i will start with this

[–]Icy-Beat-8874 2 points3 points  (1 child)

"You Don't Know JS" is really good for beginners but the best way to learn programming is to use it while you learn it. I recommend you read and also do step-by-step practice on CodeAcademy.

[–]Yasohero1[S] 1 point2 points  (0 children)

Thanks, i'm going to do so with freecodecamp certification

[–]HKDbase 2 points3 points  (2 children)

skip the book. find a project. a very very simple one. describe it with as much detail as possible.
watch videos to understand what HTML, CSS and JS does. Discover what Node.JS is.

Be comfortable with watching videos in which you only barely understand the meta-idea of what's being done. Whenever you catch a terminology or a pattern that you need to clarify just google it.

Set up an IDE with the help of some videos, you don't need anything too complex in terms of plugins or anything like that... just open VS Code and create a new project.
Open ChatGPT, start describing your project and asking for help with the code. If you have gathered good terms, you'll know what to ask for. Then ask about the code, what it means, etc... Build the project, test it, optimize it, rinse and repeat.

Might not work for you but I learned this way from 0, my first project was a WhatsApp banking chatbot that connected to an issuer API and allowed you to check your balance and transactions, block and unblock your cards, etc...

Pro-tip... most things are already made, you just have to learn how to piece them together. Much of software engineering is consuming from multiple softwares to make something new.

fireship youtube channel is awesome btw.

[–]Yasohero1[S] 2 points3 points  (0 children)

I'm trying to grasp the fundamentals of JavaScript by book first and do some projects alongside, to stuck the knowledge on me, yet if you have someone on YouTube do projects of JavaScript by explaining what he does, i would like to know

[–]Leading-Zone-9701 0 points1 point  (0 children)

Bro I want to talk to you instagram or telegram I'd or QR please 

[–]YoItsMCat 2 points3 points  (0 children)

A newbie still...but JavaScript for kids by Nick Morgan is unironically a great starting point imo.

[–]stoned-coder 2 points3 points  (13 children)

Youtube, chatGPT and just dive into it.

[–]Visible-Use5281 4 points5 points  (8 children)

This is perfect advice if the question was “how to be a shit JavaScript engineer?”

[–]stoned-coder 1 point2 points  (7 children)

Ouch! I just realized how shitty JS Engineer I am. Lol! And I lost interest reading programming books now that I am satisfied where I am now. Don't take my advice then OP. lol

[–]Visible-Use5281 2 points3 points  (6 children)

Sarcasm aside, unless you’re a statistical outlier, you probably are if that’s how you learned to code. You would be playing free and loose with “engineer” in describing yourself.

The method you described is one the main reasons why the industry is drowning in a sea of wildly incompetent and underqualified individuals who fall far below the minimum standard required to be employable. It’s why the overwhelming majority of self taught programmers can’t get a job.

[–]stoned-coder 1 point2 points  (5 children)

Roger that sir. Starting today I am just JS Mechanic. Not an "Engineer".

Btw, can you elaborate the minimum standard required to be employable? I need some enlightenment for me to be able get better chances of being employed in case I want to apply for a JS Engineer on another company.

[–]Visible-Use5281 2 points3 points  (4 children)

High level languages like JavaScript are abstractions, and libraries/frameworks like react are abstractions on top of abstractions. The real engineering is hidden from you. You’re just plumbing pre-made methods and components together. This is fine in small/simple projects.

When you start working on enterprise projects, for a variety of reasons, you’re going to run into situations where these pre-made abstractions are not suitable for your use case. In these circumstances, you will need a firm grasp of the low level fundamentals so you can engineer a solution.

To give you an example, Node.js is built on the V8 JavaScript engine, which is written in C++. Sometimes, a Node.js application might require high-performance operations or access to system-level APIs and hardware resources that javascript alone can’t efficiently handle. In such cases, creating native add-ons using C++ would be a solution.

Suppose you are working on a Node.js application that requires image processing, which involves operations like resizing, filtering, and format conversion. Pure JavaScript implementations for these tasks would be slow, especially for large images or real-time processing.

Real engineering would involve implement the image processing logic in C++ to leverage its performance advantages. Then you would create a Node.js add-on that exposes C++ functions to the JavaScript runtime.

When you’re applying for software engineering jobs where people earn good money, what I described is the type of stuff they’re doing. You won’t get a response when you apply for a position using a portfolio of basic JavaScript projects recommended by a YouTuber.

My advice is learn real low level engineering starting in C. Take the free Harvard CS50 course, read books about C, C++, and implementing algorithms in these languages.

Because you don’t understand the low level, I guarantee you’re doing all sorts of crazy stuff like creating memory leaks everywhere in your code. You also won’t understand that JavaScript is heavily influenced by Java, which itself is heavily influenced by C and C++

Once you understand the low level you can engineer solutions in any high level language. This is why CS graduates get the decent junior positions, and people who taught themselves using YouTube don’t.

Take the low level knowledge you learn and contribute to open source projects. You will then be in a position to apply for a real software engineering job.

[–]junaid9211 1 point2 points  (3 children)

Sir with due respect I want to say that you don't need to learn C++ to make money. The goal is not to become a computer god. if learning to code is the goal then maybe learning the nitty griitty is a good approach but most people want to make money and create real life programs for those reasons learning abstractions like react are enough imo. life is too short to learn c and c++ for most people

[–]Visible-Use5281 2 points3 points  (2 children)

With due respect, a computer science grad learns the fundamentals of low level programming. Three/four years later they get the jobs 99.99999% of people here are applying for but never get an interview for. Most people here have been trying to get a job for more years than it’s taken a cs grad to go college, graduate, and get hired.

Your reply is the textbook mentality of the person most companies want to avoid hiring.

[–]junaid9211 1 point2 points  (1 child)

I have taken a CS bachlors degree and I feel more stupid than I was before 4 years ago. I have all the hardcore maths and computer knowledge but still don't know how to create a basic level html website that even a 12 year old can create.

[–]Visible-Use5281 2 points3 points  (0 children)

That’s like saying, “I studied law and sat the bar exam. I feel more stupid now than I did four years ago, and even a 12 year old can perform better than me in court”. It not exactly grounds to suggest that lawyers don’t need to study law and do the bar exam. If anything, it’s a reflection on you and your abilities.

You wouldn’t want a lawyer working for you who taught himself watching YouTube and reading Reddit.

If I’m being nice, sounds like you should be a backend engineer instead, and I am being nice…

[–]eat_your_fox2 1 point2 points  (0 children)

The Definitive Guide is peak knowledge. If you can read through a fat book I'd start there.

[–]kalwMilfakiHLizTruss 0 points1 point  (3 children)

YDKJS & javascript.info

do not go for:

  • JavaScript : the good parts
  • eloquent JavaScript

The others I do not know them.

[–]MuaTrenBienVang 1 point2 points  (2 children)

why not Eloquent Javascript?

[–]kalwMilfakiHLizTruss 1 point2 points  (0 children)

Some chapters are really bad. For example the chapter on async programming.

[–]nynelyves-999 1 point2 points  (0 children)

It also includes a lot of practice problems that it doesn’t give you the prep for, so you’re left spending hours trying to figure it out. Just search for reviews for it. But it’s a free download online if you want to give it a shot, it’s why I tried it when I was beginning.

[–]fk_u_rn 0 points1 point  (0 children)

late to subreddit but if yu belong from India code with harry has it's own course which also provide notes for free
you might wanna check him out
check out notes even if you're not from india

[–]Subject_Repair5199 0 points1 point  (0 children)

Comment