# Problem #2: Structureless JavaScript, Structureless Node.js

Unlike traditional object-oriented oriented languages like Java and C# that contain structure, JavaScript has always been the wild west. Whereas Java and C# would have *Oracle* and *Microsoft* give "best practices" and guidelines to their developers, JavaScript’s version of “best practices” has always been the community itself.

> Because JavaScript was malleable, because there were so many web designers, you would see different schools of thought on how to use it… I think that's actually an advantage… we're not telling you there's the one way to write it, here's the one true object-oriented paradigm, here's the only way you should ever make a reusable abstraction. it's not unmixed… it's hard for beginners, and people reinvent certain wheels... If I had done something more rigid, I think the odds are, it pretty much would have failed.
>
> *-Brendan Eich, Creator of the JavaScript Language*

Just like how Brendan Eich envisioned JavaScript to be malleable, Node.js followed suit. The developers (and designers) who came from that originally malleable background began to write code on the server side. The backend and the server - what was once a playground for only the Java, C#, and C programmer became the playground for the average JavaScript developer. What was once a very object-oriented playground became a "not-so-structured jungle". What would have been built at the enterprise or commercial level with a robust language like Java or C#, would now be built entirely in Node.js.

This produced many problems as the habits of the old-school web developer who came from that jQuery and pre-2010 JavaScript background were now working in large scale applications written in JavaScript. Because everywhere you go, you would see JavaScript on the server side - you would see messy codebases that were not maintainable, not scalable, and not robust enough to work with on a long term basis.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.restfulnode.com/part-1/chapter-1/4-problem-2-structureless-javascript-structureless-nodejs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
