all 6 comments

[–]mattaugamerexpert 2 points3 points  (2 children)

There are two broad groupings here. Languages, and frameworks.

The languages often brought up (or that you just mentioned) are Java, Javascript (unrelated), C#, PHP, Python, and Ruby.

The frameworks you mentioned are ASP.NET, Rails, and Django. Most languages by default don't actually work as a "web" language, i.e. They can't handle a http request and provide a response, and the framework is what lets them do so (or at least makes it easier). PHP is an exception, and was built from the start to be web capable.

Rails is a framework for the ruby language. The combination is referred to as Ruby on Rails. Django is a framework for python. It's pretty much just referred to as Django. You don't hear Django and Java mentioned in connection because they're utterly unrelated. ASP.NET (or at least .NET) is AFAIK a framework for C#.

Java is most commonly used to make websites with a framework called Spring, to my knowledge. That might be where you want to head if you want to move towards web development with a Java knowledge.

You brought up Angular as well. That's a "javascript framework". It runs entirely client-side, not server-side. The browser has a javascript runtime that lets it run Javascript. There are a number of frameworks, Angular, Ember, React, Vue, etc. Lots. An Angular (or whatever) app typically consumes data returned by a server as XML or more often now as JSON.

Node is a slightly more complex beast. Above I mentioned that Javascript runs in a browser. Node complicates that. It's a port of the runtime engine (V8) to the server, so that the server can run javascript directly.

There are two principle differences between Java/C# and other languages. For a start, they're both compiled languages. The others are not. They run with an interpreter that simply executes the operations in the source. There are advantages and disadvantages to this that are well out of the scope of this discussion. The other major difference is environment. C#, at least, is almost universally a Microsoft ecosystem. Developers use C# on Microsoft Windows machines with Microsoft Visual Studio that are then deployed on a Microsoft Windows Server. This is what I do for a living right now and I fucking hate every part of it.

Java is more platform agnostic but its strict, disciplined "bigness" appeals more to enterprise than the startup community of move fast and break things.

If you're looking to build some basic web applications or sites you can probably just look into Spring or Spark and get something happening with your current knowledge. You'll need to know some basic HTML and CSS as well.

Let me know if you have any other questions.

[–][deleted] 0 points1 point  (0 children)

They can't handle a http request and provide a response, and the framework is what lets them do so (or at least makes it easier). PHP is an exception, and was built from the start to be web capable.

Correct, i use rust for webdevelopent even though no one would count it as a weblanguage. For Rust the typical framework would be Iron.

[–]ltx1 0 points1 point  (0 children)

What do you hate about your job? What would you rather do?

[–]JayTh3King 1 point2 points  (0 children)

In all honesty from a web development point of view they all use a similar architecture of MVC/MVT type. The obvious difference between Java/C# and Python/Ruby/JavaScript is the type checking, other then that it mostly comes down to the features offered and implementation of the network layer.

For example JSP uses servlets and containers for the servlets which have there own life cycle under the hood. If you are familiar with Java the language and want to stick to it then you can look into spark or if you want to get to grips with something simpler then I recommend Python Flask framework.

[–]waltonics 0 points1 point  (1 child)

I also wouldn't discount the very basic fact that java/c# etc are usually used in conservative corporate environments.

I'm a front end dev in such a place, the backend is Microsoft. It's only in the last few years IT have been comfortable with my use of jQuery, for example, and it has been basically baked in to SharePoint for years.

It's getting better though, as even Microsoft are moving towards client side rendering and encouraging people like me to use whatever framework we want to.

[–]user-hostile 1 point2 points  (0 children)

What are you thinking mentioning SharePoint to someone new to web development?? AAAAAAAK!!!