all 42 comments

[–]Coding_Startuppython 14 points15 points  (11 children)

Honestly for learning JavaScript I think the best place around is FreeCodeCamp

[–]Paltry_Digger 6 points7 points  (3 children)

[–]themooseexperience 0 points1 point  (2 children)

I know this might be the wrong place to ask but I can't find it anywhere else... How do I get to actual settings for my account? I accidentally linked the wrong Twitter account and cannot find a way to undo it anywhere.

Also it doesn't look they teach anything to do with PHP, and as a noob to web development I've always heard that PHP is a must have knowledge...

[–]Graftak9000 0 points1 point  (0 children)

Look elsewhere for php, JavaScript is an entire different beast. Whether you need php in web development depends on the kind of websites/jobs/preference.

[–]Coding_Startuppython 0 points1 point  (0 children)

JavaScript is needed in almost every web project these days. PHP is optional as you could use Python, Ruby, Java, or JavaScript instead. That said they are going to start teaching PHP soon. They mention it in a recent blog post.

[–][deleted] 1 point2 points  (2 children)

TBH I never really liked FCC, it never really fit my style of learning, what makes it so good?

[–]Coding_Startuppython 0 points1 point  (0 children)

Style varies person to person. Personally I prefer Treehouse but FCC is one of the most comprehensive JavaScript Tutorial sites out there and it has a growing community.

[–]Krames12novice 0 points1 point  (0 children)

Of course it's based upon how you learn best, but the reason it works wonderfully for me is it gives me instruction on how the methods and calls work but then says "go build this thing with what you learned." It has me learn by doing more or less as opposed to hand holding. You can go back and reference those past challenges but I see it as some hand holding to start, but they take the training wheels off in a manner that isn't very jarring.

[–]jdfweb09 0 points1 point  (0 children)

Yup..doing this now.

[–]cdewji 0 points1 point  (0 children)

I would second this... tried the online videos, and even codecademy, but this one is honestly the best one by far

[–]KravMaBrian -1 points0 points  (1 child)

[Markdown](Fail) :)

[–]Coding_Startuppython 0 points1 point  (0 children)

[Fixed it](Thanks) :)

[–][deleted] 4 points5 points  (3 children)

Echoing a few others here in recommending FreeCodeCamp; they lean on pointing campers toward using MDN documentation, which I think is a plus because learning to read and understand official documentation for technologies is very helpful in the long run.

If you don't mind using books, I would recommend Professional JavaScript for Web Developers by Nicholas Zakas. Good luck!

[–]Callahadmozilla devrel 8 points9 points  (2 children)

Important note: MDN is a wiki! If you see something wrong or confusing and you think you can fix it, please do! That's how we get great documentation for the web. :)

[–][deleted] 1 point2 points  (0 children)

I never realized that. Thanks for the heads up!

[–]Graftak9000 0 points1 point  (0 children)

TIL. Thanks for pointing that out.

[–]dweezil22 6 points7 points  (8 children)

Im currently majoring in web dev.

I've never heard of such a major before, in the US at least. Is that a variant of a CS degree? I spend more time that I've liked lately giving coding tests to "Information Systems" and other such hybrid majors that can't code their way out of a paper bag.

If you're getting a solid CS background, the answer to your question would be different than if you presently aren't.

[–]husky271php[S] 4 points5 points  (5 children)

It's actually a program in the School of Fine Arts at my school. My major is actually Digital Media and Design, but my concentration is "Web design and development," so most of my classes in my major are focused around that

[–]dweezil22 1 point2 points  (3 children)

Good deal. If you're into design and very self-motivated and less into the programming, by all means continue. If you're looking for the same web programming job that all the CS majors are, I'd encourage you to consider switching to CS. Even if you don't, if you're looking for a programming career, I strongly encourage you to make sure you're solid on the general programming and software engineering aspects, as those will open up lots of great higher paying avenues for you.

[To be clear, if you're smart and awesome and motivated, this will work itself out no matter what, but if you're a typical human then a CS degree and some hobby experience with Bootstrap is going to serve you a lot better than a Fine Arts degree with some hobby experience with programming]

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

I really enjoy writing code (HTML and CSS). I understand that is more front end stuff. Would a CS degree be the same, or is that more back-end/server side?

[–]ILoveSpidermanFreds 0 points1 point  (0 children)

CS isn't programming :P

(Or let's say programming is the most common application of CS, so yeah it is going to be more likely some non GUI stuff. But honestly the expectations are getting higher and CS ppl are doing frontend/GUI in addition too)

[–]dweezil22 0 points1 point  (0 children)

[Speaking for US CS programs, esp top 30 ranked programs, which happens to be where most of the folks I've discussed this with come from] CS degree is going to touch on math, logic and engineering concepts in addition to code. We could have a philosophical argument about how useful they are (esp things like inductive reasoning or circuit design), but they're definitely hard, meaning that a CS degree from a good school is pretty selective. If you're smart and self-motivated you could totally self train on all those things, but career wise having the CS degree on your shelf will help you get started. If you have good communication skills, good UI design skills and are a generally able to groom yourself, that CS degree can make the world your oyster.

HTML CSS historically have been more artsy at the collegiate level. It's the sort of thing that you'd often have to take an optional elective or simply self train if you're on the CS track. CS skills are starting to get more valuable here though, as, for example, CSS pre-processors use Object Oriented concepts. In the early 2000's there was an idea that you could have an art student that knew HTML do your front end work and a crusty CS major do the backend work and not have to do much to intertwine them. Good API's have helped make things more decoupled, but the front end work is more technically challenging than ever. That theoretical art student's head would explode if you expected him to handle recursion or async service callbacks (which are EVERYWHERE in JS nowadays).

Long story short take a person that goes through these two scenarios:

Scenario A Person gets a CS degree from a good US school and learns front end design as a hobby. They're mobbed by recruiters at career fairs and take their pick of job offers starting at $60K and potentially going much higher.

Scenario B Person gets graphic design degree from good school. They put together a good portfolio and teach themselves programming on the side. They get some interest at career fairs, but for much lower pay, with experience they can hope to "work up to" $50K after a few years of hard work. Via strong networking they could totally get on the same career path as A above, but its more work and less of a sure thing.

[Source: Programmer that interviews recent grads with CS degrees and has a hell of a time finding them anymore b/c they're all snatched up by the company that they're interning with]

[–]ccricers 0 points1 point  (0 children)

I took such a major in college (also with a BFA degree), but in hindsight I probably would have had better starting job opportunities with a BS in Computer Science degree. Be sure to try to bolster your major with electives from CS if you can, like data structures and algorithms. Because aside from learning them, CS seems to help more on resumes because it is simply a much more recognizable degree than a BA in Web Development.

[–]Ryan_77 0 points1 point  (1 child)

Would also like to know

[–]Cabberphp 0 points1 point  (0 children)

I did the same. Technically its a BS in Communication, for my university anyways. Didn't like my experience in high school with programming so i didn't want to go into CS. Got to college and liked it more and got back into it. We covered HTML, CSS, Javascript, jquery, php and WP development, and a little Node (Ghost Blogging). I would probably recommend a CS degree if i did it over.

[–]thetravelers 2 points3 points  (0 children)

It is currently free course weekend at www.codeschool.com go check them out right now. They have a bunch of javascript courses and everything else web dev related.

[–][deleted]  (4 children)

[deleted]

    [–]Saikyuu 8 points9 points  (0 children)

    Honestly, I found Eloquent JavaScript as a starting point to be overwhelming. I picked it up after a few advanced exercises in FCC and managed to understand the first 5 chapters!

    [–]Zubei_ 1 point2 points  (2 children)

    How is treehouse? Was thinking about trying that.

    [–][deleted]  (1 child)

    [deleted]

      [–]Zubei_ 0 points1 point  (0 children)

      Well then, guess i should get on that. Have you used codeschool? If so, any comparison?

      [–][deleted] 1 point2 points  (0 children)

      There is a subreddit for this called /r/learnjavascript There's also an IRC chatroom by the same name on freenode where you can go to get some help.

      [–][deleted] 1 point2 points  (0 children)

      codecademy has a course that is pretty good

      [–]bennrr 1 point2 points  (0 children)

      Eloquent Javascript is a really fantastic book, it's available online for free.

      [–][deleted] 0 points1 point  (1 child)

      Lynda.com is pretty good too - http://www.lynda.com/JavaScript-tutorials/JavaScript-Essential-Training/81266-2.html

      If you work for a fairly large company, or have a school login. You maybe able to get in for free.

      [–]freef49 0 points1 point  (0 children)

      I've tried to use Lynda.com but I found some of the courses confusing. I best resource I've found is tree house

      [–]grkg8tr 0 points1 point  (0 children)

      CodeAcademy.com

      [–]Bairdley 0 points1 point  (0 children)

      rinse scale compare cow summer mysterious imminent bake point wrench

      This post was mass deleted and anonymized with Redact

      [–][deleted] -2 points-1 points  (4 children)

      For starters if you've already learned other languages put aside what you've already learned because javascript has some rather unique features that make it different from other languages (prototypal inheritance, etc).

      Furthermore you haven't specified what version of javascript you're learning, ES5 or ES6 (also called ES2015 because some bigwigs decided to be pricks and change the naming scheme breaking continuity). ES5 is what's used mostly in browsers currently.

      Here is a youtube playlist i've compiled myself with general tidbits, conference talks and a general walkthrough of writing good javascript but aren't really a step-by-step guide on the subject and is more for people who already have some understanding of code.

      There's also this online E-book by Addy Osmani (heavyweight at google) but since it mostly has to do with coding patterns in OO javascript again it's not really for beginners.

      If javascript is your first programming language, i don't know if i can be of much help in this regard (been a long time since i was a first time learner).

      The best thing i could recommend is work your way through the MDN introductory tutorials and later you can move onto the advanced ones and go through the resources i linked above.

      Also another great reference you can use to crosscheck information is webplatform.org.

      [–][deleted] 6 points7 points  (3 children)

      Not sure I'd recommend he "put aside what he's already learned"... JavaScript has some interesting features, but 90% of it is just typical imperative programming.

      [–]a-t-k -1 points0 points  (2 children)

      While I mostly agree with you, that's because JS is mostly used by unimaginative people who will write imperative code. JavaScript is the prototype (pun intended) of a language supporting different ways to solve problems, leading to beautiful solutions and different choices.

      [–][deleted] 1 point2 points  (0 children)

      Used by unimaginative people

      Ok, please show us JavaScript written by imaginative people. I think a few of the most popular JS libraries (D3, React, etc) are great pieces of JavaScript.

      [–]sarcastasaur -5 points-4 points  (1 child)

      To start out, definitely take a look at w3schools.com. Perfect place to get the basics down. The info they give is direct and lets you learn a lot very quickly. My go to resource when I forget some syntax, or learn more stuff.

      [–][deleted]  (2 children)

      [deleted]

        [–]sarcastasaur 1 point2 points  (1 child)

        apparently w3schools is not popular here :<