Needs advice
on
JavaJavaPHPPHP
and
PythonPython

Can you tell me which language should I learn for the back-end part of the website with these languages (I'm just a first-year student at college)? I learned HTML&CSS and JavaScript basic for the front-end part, I also made some static website projects using Git and when I have an idea about fake Shopee, I try to make it but I have trouble with handling user data. Thank you first!

READ LESS
10 upvotes·68.8K views
Replies (6)

Nowadays everything is possible with JS. Go deep dive with JS and that will be enough I guess.

READ MORE
12 upvotes·1 comment·63.3K views
W F
W F
·
October 6th 2022 at 3:40PM

Keep on with JS and learn Node. - Node is easy to start with and powerful. It can help you learn the basics of working with servers, authentication, authorization, middleware, etc.

·
Reply
CTO at Cloudonix LTD.·

As otherwise noted, you can also run your backend on Javascript, with the NodeJS server. That being said, I do recommend knowing more than one programming language - by having more tools in your toolbox you both make yourself more attractive to employers and by being familiar with more "coding philosophies" you'd be able to create better applications.

Javascript server programming is easy to learn - if you are already well familiar with Javascript; Typescript is a richer language that is based on Javascript and you'd often find it intermingled with Javascript in the same application, and it also runs with the same tools (such as NodeJS); PHP is a relatively simple language with a very large and friendly community, and tons of libraries; Java is also a very simple language with a lot of libraries, but is somewhat bit less accessible than PHP for "just building a web application backend"; Python is very popular these days (competes with Javascript for most popular programming language).

READ MORE
9 upvotes·4 comments·63.2K views
jlsoffical
jlsoffical
·
December 27th 2022 at 5:13PM

What backend languages do you recommend when working with JavaScript if I wasn't going to use Node.JS?

·
Reply
Oded Arbel
Oded Arbel
·
December 28th 2022 at 2:00PM

There are many good ones, and the correct choice depends a lot on what kind of Javascript frontend you are creating:

- If its a simple website with some Javascript inside (or alongside) the HTML. then PHP is probably the best choice because the simplest and most common deployment for PHP is on a web server (such as the LAMP stack and friends) so your project can include both the frontend and backend code together and deploy as a single bundle - it is the simplest to develop and maintain but can get cumbersome and complicated when your app grows, because it has no clear "Best Known Methods" on how to organize the frontend and backend.

- If you are building a Single Page Application using Angular, React or some such, that is hosted and deployed separately from the backend, then you have more good options, such as:

* PHP: Slim offers a very compelling Express-like framework for building web services, also checkout Lumen

* Ruby: both Grape and Sintara are easy frameworks for web services

* Java: Vert.x is the tool I use, checkout vertx-awesome for all the things that are available

* Python: both FastAPI and Flask are popular web services frameworks with easy API

* C++: yes, it can be very easy to build a web service in C++, with Crow.

·
Reply
jlsoffical
jlsoffical
·
December 30th 2022 at 12:45AM

Thanks for the input! Probably going to use Java or Python for the backend. I'm planning on buying the hardware (already have the components chosen). Out of those 2 options, Python may be the best option since Flask seems to have a decent uptime and isn't going to cause me issues. I don't know how knowledgeable you are with virtual machines, but would Python have better efficiency in a ritualized environment over Java due to Python not relying on a runtime environment?

·
Reply
Oded Arbel
Oded Arbel
·
December 30th 2022 at 7:20PM

Python does rely on a runtime environment - the C-Python parser. Without getting too much into the definition of VMs (as in, software runtime abstraction layer, e.g, Java VM, Python VM, Ruby VM, etc) generally, it is accepted that you don't choose an interpreted language (which C-Python definitely is) for execution speed - Python is better than alternatives because it optimizes for "developer speed".

There are various strategies to accelerate Python, one of them is Jython - which is running Python on the Java runtime (e.g. https://pybenchmarks.org/u64q/jython.php), but generally - if you care very much about runtime performance, you probably want to consider Java or one of he other compiled languages (like C++ or C#).

·
Reply
View all (6)
Avatar of Dũng Lê Văn