A Beginners' Guide to Learning 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.
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.

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.

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

Recommendations for an experienced programmer new to 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 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

Javascript or Python? beginner getting up to speed [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.
Which language will allow a beginner to get up to speed quicker?
Basically which language of the two is easier to learn
Python is more regular, and has not needed to keep supporting every old, redundant feature forever, as Javascript has been forced to do (in order to keep supporting existing sites): these are issues that can make Python easier to learn.
However, Javascript's not too bad, especially if you can choose a reasonably rigid, modular, clean framework such as dojo (if you have to learn about every popular JS framework, or even most of them, it will, however, be a nightmare -- as it will if you have to learn the subtle bugs and incompatibilities of various browsers' implementations of JS and the DOM, rather than getting them covered up by such frameworks as dojo, jquery, or closure).
For learning Javascript, I recommend supplementing whatever tutorial you choose with Crockford's Javascript: the good parts -- it's a very thin book (which sounds like a joke, but it's true!-), fast and easy to read, and stops you from wasting your time on language features that are misconceived, too badly designed to use, or counterproductive. Crockford is a real JS guru and is well worth reading and paying attention to.
Depends what you want to do. If you're just interested in learning a programming language, I would recommend Python because:
The interactive prompt is great for learning a language
It's simple and well-designed, whereas JavaScript has a number of design flaws that can be confusing to newbies
There is a particularly high amount of introductory materials for Python.
It allows you to do all kinds of programming (server, client, games, etc.), whereas JS will limit you a bit more.
They're both pretty straightforward to learn. They more differ in terms of their typical project space - Javascript is usually utilized more for the client-side portion of web applications, while Python is often utilized for the server side of web applications and also standalone non-web apps.
What do you want to make?
The two languages are used for two completely different purposes. JavaScript does work in the browser,1 Python does work everywhere else. Pick the language based on which you want; it's useless to learn a language if you can't even use it for your project. If you want to make a website, for example, you'll have to learn both--JavaScript for the client and Python for the server.
Regardless, to answer your question, both languages are great but I'd say Python is easier to start with. JavaScript's basics are fine, but it features a lot of advanced concepts that you shouldn't have to deal with when learning your first language, IMO.
1. Yes, I'm aware that you can use JavaScript on the server-side, but those implementations are not mature and certainly not for a beginner. Python is much more suited for that kind of thing.
PHP is my thing, but I've played with Python and worked with JS. Being only somewhat skilled in both languages, Python feels nice and clean (although a little wierd) with the forced tabbing conventions and lack of semicolons. JS, on the other hand makes me feel like I need a shower. Especially after debugging in IE.
But the only real answer is the question - What do you want to do with it? Want to make websites do cool things in the browser? Go with JS. Something else? Maybe Python is better suited, as #Amber said.
Edit: As for getting up to speed, here's how it works. Your first language takes you a longer time to learn. Your second takes much less time, and after that it's not long at all since you're mostly just learning new syntax for similar things. So the solution for getting up to speed faster is to jump in right now.
I would say JavaScript is easy to learn. I had to learn it to program the Karotz. It only took about 2 months of Youtube tutorials to learn most of it.

Where do I find a good explanation of Javascript-ese [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I realize that title may require explanation.
The language I first learned was C, and it shows in all my programs... even those not written in C. For example, when I first learned F# I wrote my F# programs like C programs. It wasn't until someone explained the pipe operator and mapping with anonymous functions that I started to understand the F#-ese, how to write F# like a F# programmer and not a C programmer.
Now I've written a little javascript, mostly basic stuff using jquery, but I was hoping there was a good resource where I could learn to write javascript programs like a javascript programmer.
Douglas Crockford's - Code Conventions for the JavaScript Programming Language would be a good place to start.
I learned a lot of useful information in regards to code convention through his video tutorials, which I suggest viewing. I posted the link to the first video out of the four in the series.
Also, as suggested by Ben, (which is a book I would also highly recommend) is Douglas Crockford's book JavaScript: The Good Parts
If you want to find good explanations on jQuery, check out the creator, lead developer and fellow StackOverflower John Resig's website/personal blog.
The book Pro Javascript Design Patterns is a great resource:
http://jsdesignpatterns.com/
I really like this article:
A re-introduction to JavaScript
http://eloquentjavascript.net/
It may be a little wordy, but it gives you some excellent examples that will stick with ya.
The more you work with JavaScript/jQuery - especially working with other people's code - the more of the style you will pick up. I recommend reading though the documentation on the jQuery website and maybe picking up a book on Javascript. Then just keep working with it. Also, make sure you keep looking at other people's code - read through the source code of some of the jQuery plugins you are using, and seek out examples online for 'best practices'.
First off, start using JSLint on all your code, for at least a week (http://www.jslint.com). I'm not going to say you should use it constantly, forever and ever, and it's perfect, because it's not. But, it will help you learn a lot about JavaScript, if you take the time to read what it says, and understand why. Even if you disagree, which you may, understand the reasoning behind each message. Then you can decide if it's a tool you'd like to continue using.
The other first step is to pick up a copy of JavaScript: The Good Parts. This is by far the best book on JavaScript. It's short, very easy to read, and really will help you learn better JavaScript. http://oreilly.com/catalog/9780596517748
Other than that, there are a lot of good blogs to follow. You can find these via google, but I'd look at Perfection Kills and John Resig's blog, in particular. I think mine is pretty good too, you can find it via my profile if you're interested :)
I would also recommend "Secrets of a JavaScript Ninja" by John Resig. It will be out in July this year and would definitely be an excellent resource.
Else, Douglas Crockford "JavaScript:The good parts" is excellent.
Javascript has functional programming roots.That makes a big difference compared to the OO world.
Here are some links that helped me jump the fence:
A simple explanation:
http://www.joelonsoftware.com/items/2006/08/01.html
A deeper one:
http://www.hunlock.com/blogs/Functional_Javascript
Read/debug the code of this library:
http://osteele.com/archives/2007/07/functional-javascript
You can read/debug the source code of PURE, a JS templating engine we wrote.The 2nd version was totally rewritten in functional JS.

Categories