Recommendations for an experienced programmer new to JavaScript? [closed] - javascript

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I come from a C/Unix background, with a lot of experience in shell scripting, and some on Perl, elisp, etc. too. But now I'm getting into some work where I'll need to be developing interactive web-based interfaces, and I need to learn JavaScript. My problem is that all the resources I've found online for learning JavaScript seem to be targeted at an audience who's never programmed, and their authors don't seem much better. As soon as I see "validating user input to take the load off your server" as one of the great uses for JS, I want to scream and I feel like I can't trust anything else the author says. ;-)
Can anyone recommend good resources for an experienced programmer wanting to learn JS as a new language? Ideally I'd like to get started online, but dead tree recommendations would be welcome too, especially if I can preview them online.

A great JavaScript book for experienced programmers is Doug Crockford's JavaScript: The Good Parts. It's short, assumes you know what you're doing, is opinionated, and is not a tutorial.

My advice: Forget what you know about object oriented programming. Attempts to apply the inheritance paradigms from an OO language have repeatedly overcomplicated many, many chunks of JS code.
Prototyping is not Class construction. Object instantiation is not Class instantiation. "Classes" are not real.
There are ways to get what you want. You can even have something akin to privates - but they are not methods or members. They are merely locally scoped. Inheritance is often faked, but with mixed results, and universally at the expense of data hiding.
Javascript is prototyped. It is not object oriented. Keep that in mind every time you think something like, "Man, an interface here would be awesome..."

https://stackoverflow.com/questions/3655530/best-javascript-book-for-an-experienced-coder/3655693#3655693
https://stackoverflow.com/questions/1594159/best-book-to-learn-web-development-for-a-professional-developer
https://stackoverflow.com/questions/74884/good-javascript-books
but I will recommend these two fantastic books, which teach me a lot.

Take a look at Eloquent JavaScript. It doesn't cover everything, but it will move you towards idiomatic JavaScript programming -- things like functional programming, closures and prototypes. (The online version comes complete with a sandbox tutorial environment.) The rest, after all, is just knowing how to use references.

Javascript Guide from Mozilla Developer Network, a simple and yet informative guide, gives beginners a big picture of JS in a short time.
https://developer.mozilla.org/en/JavaScript/Guide

JavaScript: the definitive guide is one of my favorite programming books:
http://oreilly.com/catalog/9780596101992

Related

How to progress in the quest of learning Javascript [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I apologize in advance as this question isn't directly related to a coding problem or question. Many web developers start out using jQuery as an essential library due to the massive amount of plugins available. It is fairly easy and requires little knowledge to implement a plugin into your code, and use it successfully. The downside is that it can be easy for a beginning developer to ignore learning JavaScript from the ground up, and depend on jQuery plugins to get them through most situations.
After years of doing this, a "developer" learns jQuery piece by piece, but does not have the fundamental understanding of how Javascript works or the mastery required to build custom functions or plugins. This is a common turning point where developers have a yearning to learn more, and really understand how this all works. jQuery aside, developers should probably learn JavaScript first, but this is commonly disregarded amongst beginners, as jQuery is easier to understand and simpler to write.
Although this is a loaded question, I am looking for a good direction to advance my understanding of jQuery AND Javascript. Having a solid understanding of jQuery, I really want to have the knowledge and flexibility to write any code in both jQuery and traditional JavaScript. I am looking for a good direction to advance myself, and for others in similar situations to move forward on the quest of js knowledge.
What are the best books, methods, or success stories you (the community) has from your struggles with learning JavaScript? What recommendations do you have, that myself, and many others can benefit from? Keep in mind, this question is on behalf of people who write jQuery on a regular basis, but struggle to really grasp all of the necessary concepts to master the language. And also, it is for people who started learning jQuery BEFORE javascript, and wish to have a fundamental understanding of both. Thanks in advance!
This is probably the number one reason I disapprove of jQuery. That said, I suffer from a similar issue: After using Game Maker to write my games for me, I can't travel down layers of abstraction and into the realms of C++ or similar without significant effort.
Going up layers of abstraction is easy, that's why abstractions exist in the first place - if they didn't, we'd all still be writing raw machine code. Going down is significantly harder.
Ultimately, all I can really suggest is that, depending on how much "plain" JavaScript you actually know, pick up a beginner-level JS book and start from the top. Just try not to deviate into "this'd be so much easier if I just used jQuery" - if you find yourself doing this, it's bad.

Do you know any easy way to use javascript game engine? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
For a school development project I need to create a bomberman-like game in javascript which will feature a person vs person online gaming.
I can use any open-source library/framework I want.
The thing is that javascript is a pretty hard language to learn from scratch and I probably won't be able to do it in time.
For know I only know ruby on rails witch I'll be using for the backend, save, rooting, etc...
So I went looking for a really easy and fast to use game engine in javascript.
I already found some pretty popular ones like Gamejs, box2dweb or tapjs even a full list at https://gist.github.com/768272 but I'm unable to choose any of them.
Which one provide the best tutorials, documentation, etc...
Any help would be welcome... As you can see, I'm total newbie in game development.
You can use Crafty, it's a nice and easy to use Javascript game library.
I learned a lot from these two videos from Google I/O
GRITS: PVP Gaming with HTML5
Gaming in the Cloud
They give you a pretty descriptive walkthrough of how they made an entire game using HTML5 and Javascript. it's pretty in-depth but I highly recommend watching it. They also open source the game which you can fork on Github if you want to see the source etc. This isn't a javascript framework though but it does teach you a lot of how to make an HTML5 game from SCRATCH.
In terms of libraries, yes Box2d is a very good one and is pretty widely known. Idk if you're trying to make a 3D game but if you are, three.js was something that caught my eye (it was used to make this HTML5 racing game called HexGL). Finally I would also recommend taking a look at Ludei because they have some really great demos which you can kinda just copy and paste. They also help you if you want to move your game onto the mobile space.
Based on what you said though, I would stick with Box2d. I'll try to find some good tutorials and I might update my answer later with more libraries/tutorials if I find any. Hope for the best!

Good opensource JS project for learning? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have learned basic JS knowledge, and read "Javascript definitive guide" book, but best way to improve is learning by doing, so any opensource project for practice, or any good suggestion for improving JS?
As an example of an open source project you could look into I would recommend to check the dojo sources. It's easier to grasp the advanced concepts there than e.g. in JQuery since there is a much wider code base for many different aspects. There is a lot to go through in the dojox packages. The code is also nicely documented, and recently they added nice online documentation, too, something that was missing for a long time. I learned a lot by peeking into dojo's internals, so I can only recommend it.
You should pay attention to their way of coding object-orientedly and how it differs from what plain JS offers you.
In addition to great code you can learn the concepts of code minification there, which is a big deal for the dojo project. There's also material on unit testing with Javascript code, something that is often overlooked but as important as back-end unit tests imo.
By reading "Javascript - The definitive guide" you now know a good bit about the language itself and its usage for browser-based applications. But with the recent popularity gain of Javascript it has also found its application on the server side. E.g. node.js is a very interesting project you could look into.
The concept of "Closures" is something you could look up, then find examples in existing code and finally use them in your own.
"Ajax" is another buzzword and concept you should be familiar with, it lets you do all the nice things in your browser that some years ago were only possible in desktop applications.
Modern web applications make heavy use of Javascript, but since standard Javascript and its prototypical inheritance are a bit clumsy to use, frameworks were written that simplify common tasks. You should familiarize with one or more of them to get an understanding of what they simplify compared to plain Javascript - this way you will automatically learn the drawbacks and shortcomings of pure Javascript. A good example is the with keyword. It's there, but nobody uses it. If your time just allows you to delve into one of these frameworks then my recommendation would be jQuery - it's the most widely used Javascript framework out there.
Some Frameworks
jQuery
MooTools
Prototype
script.aculo.us
YUI 3
dojo
Ext.js
Read blogs and technical articles on the web, skim through Javascript questions here at Stackoverflow to keep up to date and learn about interesting corner cases.
Some book recommendations
Secrets of the Javascript Ninja
ppk on Javascript
JavaScript - The Good Parts
Pro Javascript Techniques
Eloquent Javascript
Ajax in Action
Ajax in Practice
jQuery in Action
Dojo - The Definitive Guide
Test-Driven Javascript Development
I used the "Javascript definitive guide" as a dictionary,there're still other excellent books you may have to dive into like "High Perfomance JavaScript" "Javascript:The Good Parts".....there're plenty of small demos in these books that you can do something over it and If I were you ,I would implemented some of my ideas by using javascript

How to learn all these client-side tricks that are used on the Web today? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I want to learn JavaScript nicely and become very good at it. I want to form a systematic learning plan before I start reading the books. Don't want to end up wasting my time reading the wrong books.
I want to learn from books that will teach me enough to be able to learn all the things that are commonly used in today's websites.
For example, if you look at this website
http://rethrick.com/#
His page source doesn't show the full content of the web page. How does he do all those animated transition effects?
How do I learn all that stuff? Please help me. I want to learn all that stuff. Which book should I start reading?
Another example is the Stack Exchange websites. For instance, the Writers website itself. When you hover over the Questions link on the top or any of such links, it displays a yellow background highlight. How do they do that?
Where do I learn all these tricks? I see two options:
a) Look up the web on an ad hoc basis when you need to learn some trick.
But I don't like this technique.
OR
b) Systematically learn and read some books. I will read all the books if I have to. Please tell me what technologies other than JavaScript are at use to do these things.
And if it is just JavaScript, what books will teach me the level of JavaScript that Google employees and FogCreek and StackExchange employees use.
And if it is just JavaScript, what books will teach me the level of JavaScript that Google employees and FogCreek and StackExchange employees use.
This is the easiest to answer: none. Yes, get started with Danny Goodman's tome or JavaScript: The Good Parts if you have some programming experience and want a quick intro, but both will only get you started. I mean, I'm sure they had some textbooks they read in college, but it's kind of like asking what books made pro athletes so good, or what book you read to get good at guitar.
It's maybe 10% textual material and 90% constant practice -- finding new problems to solve and figuring out how to solve them.
EDIT
I don't intend to imply that avoiding books is admirable, merely that experience is the best teacher, and that a theoretical understanding is only a means to an end: practical understanding. Books are absolutely necessary here; I'm mostly disputing the connection between books and the kind of expertise that lands you a high-flying job. For a perhaps more relevant example, imagine language learners. You can study the textbooks all you'd like, but absent experience you'll stutter like a first-year student. (Even if, for example, you can recite correctly the grammatical differences of some construction better than a native speaker.)
So no, don't just copypasta and come to SO when things break. But do start early in your reading, and the mistakes you make (rather than some script you copied) are often the best teachers.
HTML5Rocks is a great resource, they show you some newer features and have code samples.
http://www.html5rocks.com/
Take a nice project and start implementing it. Read books, search internet as you go.
So go make a clone of http://rethrick.com/

A Beginners' Guide to Learning JavaScript? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
There's a few mentions of Javascript newbies getting starting by checking out some of Douglas Crockford's work (https://stackoverflow.com/questions/11246/best-resources-to-learn-javascript), but none of his resources seem to be for those looking to learn from the ground up.
Are there any suggestions for complete beginners regarding how best to learn JavaScript?
Personally I have plenty of HTML and CSS experience, and some PHP (which would help learning JS), but for those that don't know any programming language what would you recommend?
I would recommend:
Eloquent JavaScript (interactive tutorial)
A re-introduction to JavaScript
Mozilla JavaScript Guide
Javascript Tutorial for beginners
I have been using the tutorials in Learnable.com from the Sitepoint folks, Lynda.com, and Tutsplus. These are all paid services, but I learn lots from them. The Codecademy Javascript Fundamentals tutorial/class definitely gets a thumbs up. Codecademy is real time, challenging and free.
Code Year also has a great program for ground up learning!
I have been working my way through Codecademy's offerings, specifically, "JavaScript Fundamentals", the "non-track courses" in JavaScript, and, as mentioned above, their current "Code Year."
I am coming at it from the perspective of someone who used to write *nix shell scripts and C and Fortran (yes, yes) code for a living a while back, and who lately has been doing some basic HTML/CSS, so some parts were obvious. Most of it, though, was new to me, since I had pretty much no experience with object-oriented or event-driven programming.
On the whole, I have found it very useful. It can be a bit frustrating getting your answer to a particular exercise to "pass," because the validation process appears to be sensitively dependent on the individual "teacher's" ability to write good checks, but this is only a minor complaint. Mostly, this is not an issue, and the already-posted answers on the forums on the site are quite helpful if you're stuck. Generally, though, doing what you're asked will get you a happy success message, and I really like the interactivity of it all. It's not perfect, of course, but I feel like I'm getting a good introduction to the key points and concepts of JavaScript; enough, at minimum, that I can speak enough of the language to know how to Google/Stackoverflow things more precisely. And really, I feel like I'm getting a lot more than that -- the dumb ideas I've had for little utility scripts are becoming a pleasure to implement.
http://www.w3schools.com/js/default.asp
As ground up as it gets.
"Javascript, the good parts" is very good, but you need to have some theoretical background or some serious programming experience to put it to use. It is a bit high-brow. However if you have had programming courses during your education it will be fine.
I have been learning from: http://www.informit.com/library/library.aspx?b=STY_JavaScript_24_hours
I'd say W3Schools is a pretty good tutorial for someone with no programming experience. But as soon as you finish that, start working through Crockford's material, and unlearn all the bad stuff you learnt.
I don't know of any introduction to JavaScript that follow's Crockford's good parts, but he says in the introduction to his book that he'd like to write an introduction to JavaScript at some point, so fingers crossed!
Head First Javascript is an excellent book for beginners. The Head First series does a great job of breaking things down to the basics, but still covering a lot of ground throughout the book.
There are NOW some good interactive tutorials for learning Javascript right from the beginning. If you are fairly new to Computer Programming, try Code Avengers (a site I helped create) or CodeCademy. Both are free and get you to write code right from the beginning.
If you have a some programming experience, try Code School. It has courses for html, css, Javascript and JQuery. However, they do cost about $50 a course. Learners watch fairly entertaining video tutorials then complete programming tasks.
My experience in learning and teaching others to program is that these type of sites can be both and effective and enjoyable way to learn programming. Probably in conjunction with other resources.

Categories