Hacker News new | ask | show | jobs
by lazyloop 4098 days ago

  LEARN TECHNOLOGIES: HTML, CSS, JavaScript, Python
One of those does not belong.
4 comments

Yup, that fourth one should be replaced with options.

    Learn these for the frontent: HTML, CSS, JavaScript
    Backend options: JavaScript (NodeJS or io.js), Python, Go, Ruby
All four of those backend options are reasonable options for beginners moving from the frontend to the backend or learning the frontend and backend simultaneously.
I've written some backend in C# and it was highly productive. I hate dealing with the uncertainty and mushyness that seems to show itself in dynamic or script-like languages in projects larger than a small script. Obviously they're viable choices according to their userbases but it wouldn't hurt to point out some more strongly or statically typed choices. There are solid frameworks in Java too, which has had a lot of industry use as a web backend. I'd probably also find your suggestion of Go nicer to work with than Python or Ruby.

And how did PHP get left out of this?

C# is also a legitimate option if you're using windows. Java is a good option too (although I would hesitate to recommend any language where you need to have an IDE to be productive). I should have included C# or both.

I left PHP out intentionally. If you're going to be immersed in a new community, you should at least be immersed in one where a greater percentage of the code you come across is of reasonable quality and is more likely to have tests. The PHP community is the epitome of cowboy coding and a novice programmer would pick up many bad habits from the code they come across in that community.

Mono works well enough that .NET languages can be a good option outside Windows as well.
Providing an obvious choice is helpful to beginners, otherwise every single person has to ask "what do I learn?" and spend a long time hemming and hawing about the choice, without the benefit of background knowledge
In their defense though they haven't even finished the Python page, it's very likely there will be other languages added eventually, mind you this is my assumption.
Which one? Python? It's commonly used for writing backends. Not everyone lives eats and sleeps JavaScript all day. You could also use it to write a web crawler, or a desktop application that emails you reminders. Who said that the web has to be all Front End code/language that executes in a browser?
Plenty of languages are commonly used for writing backends. JavaScript may be more popular for backends than Python for new projects these days. The point is that JavaScript, CSS and HTML are native web technologies, Python is just one language choice among others.
> Python? It's commonly used for writing backends.

So are dozens (hundreds? thousands?) of other capable languages and platforms. They could have easily mentioned Ruby, Java, or NodeJS.

Python is commonly regarded as a beginner-friendly language. At least it has its own Codecademy section.
I agree. I show it to people and they are amazed that it is essentially pseudocode.

disclaimer: python was my first programming language.

Nice screenname (fellow Virginian). I think if they're going to mention learning the languages of the web you want to first whet their appetite with HTML, CSS, and JS and then break them into backend coding. HTML,CSS,JS are somewhat of a package deal where as python is really something that you'd learn after you learn those. I think it's fair to leave it out for the beginner learning about how websites are built.
I agree that they are a package deal. It would have been better to separate Python and include it with something like Ruby then link offsite for both of those languages. To say that it's completely unrelated to the web I think is an overstatement.

I probably learned more about the front end of the web as a side effect of writing scrapers in Python than I did on just tutorials directly about the front end. Then I started writing some front end stuff and it was easier to grasp because of that experience. I just wouldn't assume that everyone approaches learning the web from the same angle and limit them to only learning the front-end-three.

HTML, CSS, and JS were already listed first. It's a bit silly to omit the backend entirely
It's not a matter of order, it's a categorical difference.
Mozilla's own web sites and services (like www.mozilla.org) are written with Python/Django, making Mozilla a significant user/contributor in the Python web ecosystem: https://wiki.mozilla.org/Webdev/GetInvolved

The section does seem out of place in this context, but one reason that MDN has Python webdev info is to help community members contribute to this part of the Mozilla project. (MDN also has information about Gecko's internal C++ code, for similar reasons.)

Python is under "Technologies", not "Web" though?