I'm curious. There are so many options like golang, node, java... Additional karma for the new year if you have starting points like books, tutorials, etc.
I'm curious. There are so many options like golang, node, java... Additional karma for the new year if you have starting points like books, tutorials, etc.
For further actions, you may consider blocking this person and/or reporting abuse
Overall, building a strong foundation really helps. Way back (aka the 80's) when I was first starting programming, C was this foundational language. Learning it made it easier for me to pick up new languages and to gain a better understanding of programming in general.
Today, I'd say the best one to learn is Java. It's been around for decades now and isn't going anywhere. Learning it makes it easier to learn Java/C/C++ derivative languages from C# to Javascript plus all the associated frameworks and libraries built around it.
If your goal is to work mostly on the backend, you will want to know SQL well. So, you need to have the basics down (SELECT, INSERT, UPDATE, DELETE) and then move on to understanding the differences between MySQL, SQL Server and Oracle. Then there's the whole "NoSQL" family like Hadoop that are gaining popularity.
Thanks, I actually wanted to look into Java the next year, propably in Combination with Spring.io because I haven't heard of a bigger web framework for Java
I really like Rust. Rust is a low-level programming language, like C. But, it has high-level abstractions, like Python. In web dev, many would point you in the direction of PHP, Ruby and Python. These are worthy languages to know.
However, Rust has a very interesting model that solves many classes of problems. For instance, it guarantees no data races and no stack overflows. It is an expression-based language, like Ruby. It has testing built into it. It has documentation built into it.
Rust gets out of your way when it should and gets in your way when it should. If you want to write your code with objects, Rust is fine with that. If you want to write functional code, that works just fine in Rust too. But when you don't cover every possible case of the value of a variable, Rust gives you a compile-time error so that the bug never enters production.
There is a weekly newsletter called This Week in Rust. There is also a subreddit, a twitter account, a YouTube channel and the Rust Herald. There is also the Rust User Forum for help.
Rust has a really great community.
irc.mozilla.org#rust
is the best irc channel I've ever been on. By the way, Rust is backed by Mozilla.I went to a conference in October called Rust Belt Rust in Columbus and it was a great experience. I cannot stress enough how great the Rust community is.
Rust is a great back-end language. It's faster than Go and Java. It's also memory-safe and has no garbage collection. Plus, it has OS threads, not green threads.
I'm currently using Rust to implement microservices using AWS Lambda. There are also web frameworks for Rust, including Rocket and Gotham. It also has several ORMs, including Diesel. The advantage of the ORM is that you abstract away from the SQL. SQL is an important skill to know on it's own, but in an application a data store should be abstracted.
As far as resources go, there is what is known as the book, which is currently transitioning from the first to the second edition. Another great resource is Rust by Example.
Thanks a lot for all those information :) I personally have taken a look at Rust a while ago and haven't really enjoyed it. Also it had a few problems in stability, which I always experienced in Mozilla Software... might also be just me... on 2 - 3 different computers... just don't really know... but as you are so passionate about it, keep on doing awesome stuff with Rust! You might find a way to make a big thing with it :)
They have actually done a lot of work recently to stabilize all of the common crates and make the language more ergonomic. They are also in the middle of a documentation overhaul. So the language should be much more approachable.
Can you talk a little bit more about why you didn't like Rust? I'm trying to think of languages you might like working with.
It's really just stability and my experience with Mozilla products I guess... I always have the problem that their software gets incredibly slow after a few minutes of usage... But maybe it's just me :)
Till now I really liked C# (even though I'm not able to write it anymore because of a long break) and PHP. Maybe that might help you :)
I'd say that the market has a fair amount of jobs regardless if you start with node, golang, java, python, ruby, php etc.
From that list i'd say there's a good starting point to check out
I think you get the whole 'awesome programming language here' :)
And as always, since you're talking about backend development learn your SQL, This tutorial from Khan Academy looks like a decent starting point.
Also, you can have a quick peak at Todo Backend a nice complement to the todomvc or Hacker News clones
Thank you, right now I'm working as a junior PHP fullstack Developer, but the focus in backend development is what I want to accomplish. Just a few days ago I took a first sight on node.js even though I couldn't really enjoy the taste of JavaScript in the backend...
Especially the SQL point is something I actually haven't thought about till yet... even though it totally sense! And special thanks to all the links! Helps a lot!
start with Node.
Front-End , Backend , Desktop, Microservices and much more .
Start with Eloquent Javascript
High demand for onsite and freelancing jobs .
Best for a jr dev
What kinds of things are you interested in beyond coding?
Mainly gaming and esports, why are you asking?
Just because knowing what someone else's other interests are can help spur ideas as to things to work on or which languages to head towards :)