I've used Go for my websites for over a year now, and using the Revel framework + Golang, I will never need to look any further for another solution. It's perect. I've also used many other languages for server-side web dev too.
Simple high level programming language
The go compiler compiles binaries instantly — as fast as a scripting language interpreter
Powerful standard library
All code gets standardized formatting
Built-in testing framework
Provides tools for automatically formatting code for your entire software project.
Exceptionally simple and scalable multithreaded and concurrent programming
Simplified C-like syntax that is as easy to read and write as Python
Python 2.7 and Python 3 are incompatible, though with a sophisticated script to ease migration. A lot of libraries are still written for Python 2.7. The Python community has still not moved over fully to Python 3, which is mean to be the new version of the language, even though it was released in 2...
For programmers used to Procedural languages, Haskell is a switch from what they're used to. Couple this with jargon borrowed from abstract algebra and code described at a very high level of abstraction - there's no denying it's a bit intimidating.
Simplicity is one of the pillars on which Clojure is built. Clojure tries to solve many problems in software development as simply as possible. Instead of building complex interfaces, objects or factories, it uses immutability and simple data structures.
Since Rust is statically typed, you can catch multiple errors during compile time. This is extremely helpful with debugging, especially compared with dynamically typed languages that may fail silently during runtime.
Because it's still a relatively new language, Rust does not enjoy a following as large as other languages/environments. Rust development has also been rather volatile for a long time during the beginning of the development of the language adding to this issue. Because of the small community,...
With goroutines it's easy to create a lightweight thread. Go was designed with concurrency in mind, which makes it an ideal language for creating servers which need to deal with many connections coming in at once. It makes it a great introduction to parallelism and writing highly scalable web a...
Go is famously regarded as very simple. However, this simplicity becomes problematic in time. Programmers who use Go find themselves over and over again writing the same thing from a very low point of view. Domains not already served by libraries that are easy to glue are very difficult to get int...
Type safety allows the compiler to check the object type and finds programming mistake. As server-side programs become much larger than client-side programs, a strongly typed language helps to keep the code clear and bug free.
Erlang's syntax may feel very strange to 99% of programmers who have never used it. This is because it does not share any similarities or common syntax definitions that are found in all the other languages that are used today.
This is a .Net language natively supported by Visual Studio. Though it is not as tooled up as C# the support is still substantial. In particular, C# deployment scenarios can be enabled for it with small C# wrapper projects.
This reputation similarly plagues the PHP community, and like that community, it is partly deserved. C# and its corresponding development stack is easy to use illicitly, which means barrier to entry is very low for developers. Combined with easily-accessible documentation and helpful community, it...
Since Kotlin is made by Jetbrains (the developers of IntelliJ IDEA) so it stands to reason that the IntelliJ support for Kotlin is also great. Besides that, Kotlin also works well with existing Java tools such as Eclipse, Maven, Gradle, Android Studio, etc...
Since Kotlin does not enforce any particular paradigms and is not purely functional, it can be pretty easy to fall back to imperative programming habits if a programmer comes from an imperative background.
Ruby favors convention over configuration approach and, as long as developers follow the conventions, they don’t have to worry about configuration and settings for all components and layers of abstraction. Ruby is modular and customizable. There are lots of open source libraries, most of standa...
In Pharo everything is an object. Compiler - object, network - object, method - also an object. And objects communicate with messages. No operators, no control-flow statements. Just objects and messages. Few things to learn, but you can learn OOP well.
PHP's place as the early go-to language for web development has littered the web with example code that's outdated at best. Unless you're already familiar with the language, it can be hard to know if code you're looking at is outdated or otherwise leading you in the wrong direction.