Good opensource JS project for learning? [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 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

Related

Node.js/Express.j or Ruby on Rails for an ABSOLUTE beginner [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 had asked a question previously regarding the use of Javascript or Ruby on Rails for the development of web apps and got some very good advice from maerics which basically boiled down to Javascript for Frontend/Smaller apps, RoR for service-side/larger apps (Groupon scope).
After a little digging however, I found out about Node.js and Express.js So my decision is basically back at square one.
I'm looking for a language I can use to take an idea to a functional stage (again, the scope is something like Groupon or Twitter). I am an absolute beginner. I know HTML/CSS and a little jquery, but that's about the extent of my knowledge on web technologies.
I've heard about RoR being very easy to learn, or at least pick up, and has a lot of community/support. But Javascript is everywhere, and can be useful for more than just large scale web apps (and I'd be using it anyway if I used RoR), though is far more complex. Seeing as I have no experience in either, I thought I should pick one now and stick to it for the next ~6 months and see how I go.
But can anyone recommend which one to go for?
When you asked about Javascript and RoR in your previous question, you effectively asked about Node.js and RoR.
If you are building a commercial/enterprise level application, stick with RoR. There are way more resources, bigger communities, relatively stable releases, and you can easily find good developers with RoR experience.
Express.js is like Sinatra for Ruby. Neither is as advanced as Rails, preferring to be more 'basic' and providing a minimal feature set rather than try to be an 'everything at once' framework that Rails is.
Right now, Node.js is rapidly changing its API, still has not hit version 1 and hard to find developers for(you often get people claiming they know node and have 1 year exp with it, when they actually mean they have 1 year exp with client side javascript). Besides, for 99% of the web's purposes, RoR will suffice. Most people only use Node for their pet projects, for testing out the next generation of super dynamic interfaces or websocket integration with Socket.io. If you just want to build an application for commercial purposes, use RoR.
As for difficulty, when you start out, Rails will be a bit magical, it does so many things under the hood, you'll have a little bit of difficulty doing something that doesn't already have a tutorial. But look through the source code of some popular gems or even rails itself, and you'll be up to speed in no time. Ruby is an amazingly simple and beautiful language, and you'll find it simpler and probably more fun than javascript.

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.

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

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.

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.

Categories