Language to learn next?

JavaScript is good for front-end but for making a search engine it can get bulky as you could imagine. What back-end language could i use for doing a lot of back end work and making a API?

1 Like

Javascript is an option.

Yeah but i see people do the same thing with smaller languages, just isn’t for front end. Some of these programming languages use a lot less lines & are simpler.

Yes, I forgot, you have a fetish for “fewer lines”. I’m still not sure why, but OK.

There is some analysis here. I would just search for comparisons of coding languages online. There are lots of people saying what they like or don’t like.

Personally, I like to focus on employability - I really don’t care what it looks like.

Every backend language has it’s strengths and weaknesses. None is a clear winner and none is a clear loser (or it would disappear.) Node/JS is great at asynchronous and scaling but struggles with doing complex calculations quickly. Ruby/Rails is great at ramping up quickly but maybe doesn’t scale as well. Python/Django is (perhaps) easier to learn and is rising fast. Go is maybe speeding up and is great for cloud things. Java is an old workhorse, and has a lot of boilerplate, but Kotlin offers some relief. (Much of this is subjective, btw, based on my semi-informed opinions.)

There is no magic language that is going to be the best of all worlds. If the aesthetics of the code in the editor are so important to you, then perhaps Python would be a good choice - it famously prides itself on readability.

I think if you are going to make a larger website, you should also think about the possibility to use PHP. PHP may sound old and relic language but newer versions of it (PHP7) are pretty good and many tools that you need for web development are built into it. There are also many frameworks to work with. Example Symfony and Laravel.

The second option could be Java because it also has solid frameworks for backend and enterprise development. Example Java EE and Spring Framework. If you really need to get everything out from computing, you may use CGI written with c/c++ or other lower level languages.

But more likely, I think you need to look around frameworks that streamline the job that you are going to do. than different languages, because most languages have just same basic functionalities but different frameworks and libraries to use.

1 Like
2 Likes

Please leave if you are going to bring up a older argument.

Yeah i do like fewer lines, and i have heard of something called Java so i knew JavaScript wasn’t the best for backend.

Now i was wondering if i should do Java, or something better for back-end work.

@JKorhonen

I heard C++ was nice, but people say its becoming ‘out of date,’ like not a useful language in the future. Is this true? I would be interested in learning it though

Sheesh, relax, man.

… and i have heard of something called Java so i knew JavaScript wasn’t the best for backend.

I think you keep looking for absolutes. It’s not that Java is better or JavaScript is better. They both have strengths and weaknesses. Again, if any one language were objectively the “best” then it would take over and all other languages would gradually disappear.

If parsimony of code is your touchstone, then Python is popular, and Kotlin is like Java, with a lot boilerplate removed.

I heard C++ was nice, but people say its becoming ‘out of date,’ like not a useful language in the future. Is this true?

Things like C and C++ are going to be around for a long time. But they are not really “backend” languages in that you don’t usually use them to set up servers, etc. True, they can be integrated into a server. For example, C is very fast and compact so it is great if you have to do some calculation 10 million times, like in graphics.

People love to talk about “this language is dead”, etc. Don’t fall for clickbait. C/C++ are still two of the most popular languages on the planet.

As i have never used C++ before, but from what i can guess its not as good as JS at editing HTML’s and doing working on websites.

Microsoft made a version of Minecraft in C++ and it ran way better compared to the Java version. That is what i am talking about, its what languages are best in what ways.

My idea was learning a decent back end language that is useful for making API’s or something that really has nothing to do with HTML.

What is better, C or C++ for doing the heavy back-end work of just computing stuff very fast. Granted i have seen

But is C++ easier to learn and close enough to put off the learning cost?

Why don’t you look into C#.

(from wiki)
It’s got strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming.

Use it with the .NET Framework (or with .NET Core for cross platform development running on Linux, OSX, Windows) and you’ve got several tens of thousands of API at your disposal.

… that you can use to create programs for web, mobile, desktop, gaming, machine learning or IoT.

Use it to create server side programs, hook into databases, or make Web APIs

It’s .NET, so if you want to take it into the cloud, you can with Azure.

and coming down the road in the near future (maybe), C# may one day can also be used for front end work (via WebAssembly). right now, it’s experimental.

For backend I think you should learn php like I mentioned earlier. It have most of functions that you already need for backend and it makes communicating with client easy. Compared to c++17 that doesn’t have standard network stack.

Also php is supported most of web hosting sites so if you are doing work for client, it is good way to choose because you aren’t making any exotic demands for server. Also frameworks like Symfony makes developing of bigger applications easier.

I wouldn’t recommend C# because it is pretty much Windows only language and getting everything work in Linux is pain (most of servers work in Linux but if you are going to use IIS/Azure, you can choose C#). And I must say, C# is great language for Windows programming.

But in general, look what you need and choose right tool (programming language) to get it done.

@owel

Great response, C# looks pretty cool. Do you know any good places to learn? Is it hard too learn or like JS?

@JKorhonen

Can it make API’s? Is it too much of a mix of front-end to be good with back-end?

Oh look… C# and .NET running on a Mac.

1 Like

Absolutely not true that it is an out-of-date language. Many big shops use it and rely on it to make large coding engines work (not to mention many compilers out there are written in this language).

For your purpose though, I would move to Java next. The advantage is that there is a lot of demand out there for j2ee dev.

C++ is not an easy language to learn. You might be able to pick up basics but to do anything really useful it takes a long time to pick up the nuances.

You don’t need mix frontend and backend when programming php. In my workplace we are also using php as intermediate language to build apis between our legacy systems and new front ends like Microsoft PowerApps.

Example for sending application/json response with pure php:

<?php
$data = /** your data **/;
header('Content-Type: application/json;charset=utf-8');
echo json_encode($data);

Java EE is also good way to build backend like @hbar1st mentioned, there is demand of java for programmers.

@owel
I didn’t mean that C# dose’t work on other platforms but the library support may not be as same level as in Windows. At least I found that as problem 2 years ago when I did some C# programming.

Plenty of getting started guides here.

want video tutorials?

I don’t know how to answer this. What’s hard for one person, may be easy for another.

The C# language per se is simple. Just like any other C related language. The power comes from the .net framework you use with the C# language. And getting the experience and knowhow to use the framework is the big challenge.

C# is a compiled language. It’s not interpreted like PHP or ASP or JS. If you make a change to the source code, and upload the file to your backend server, the first time somebody loads a webpage the whole assembly will be compiled automatically. The next time the same app/webpage is loaded, it will be fast since it’s already compiled by the server.

Also, Microsoft does NOT own C#. It is an ECMA Standard.

I’m not sure this counts as a backend language, but I find that python is a very good language to learn, because it is easy enough to be able to learn quickly, from a beginner’s point of view, but it can easily go complex enough to keep up with even my most advanced projects…

Microsoft sucks at naming their products.

.NET Framework is Windows only.

But .NET Core can run on Windows, Mac, Linux.

I think the eventual goal by MS is to make .NET Core as comprehensive as possible. Right now, it’s at version 2.1.3 which is a big difference from just the 2.0 version, and an even bigger difference from the original 1.0 version. New updates and release candidates happen every few months. I think from 2.0 to 2.1 they added some 40,000 API calls.

2 Likes