Avatar of awesomebanana2018

1. Type safety and inferred types

Go is type safe by default, which allows you to right more reliable code and have better developer tooling, plus with the := operator, you can initialize a variable without having to define its type because it automatically gets its type from the initial value.

2. Performance

There isn't much to be said here, but on most counts go beats both Python and Node.js on performance.

3. Documentation

I'm not talking about the Go language itself, although it does have good docs. I'm talking about Go's auto generated documentation tool, which allows people to document their packages easily and works amazingly with Go's type system.

4. Compiles to binary

If you are making a local program for somebody and they don't want to download the Go compiler, you can make Go into a native binary.

5. Built for the web

Go has built in Http libraries to rival Express.js and has a HTML/Text templating system.

6. Great Concurrency

Go utilizes Goroutines to help developers utilize multiple threads easily.

Conclusion

Go is an excellent choice for any system code, especially http networking and web backends.

READ MORE
16 upvotes·3 comments·485.8K views
Ahmet Berk Bektaş
Ahmet Berk Bektaş
·
July 24th 2020 at 7:36PM

As a Python developer for the last two years and new to go, I definitely agree with you on all those points. I think most people choose Python at the beginning mainly because its really easy to use, has some amazing libraries.

·
Reply
almenon2144835
almenon2144835
·
August 2nd 2020 at 5:21PM

With typescript and a documentation library node can have points 1) and 3).

Node is also pretty fast, although with go being compiled it might be slightly faster. Do you have any links showing perf gains w/ go?

·
Reply
awesomebanana2018
awesomebanana2018
·
August 2nd 2020 at 8:26PM

https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go-node.html

Also, there is a bunch of stuff I forgot to add, like the fact that Go has built in Http libraries that rival Express.js and a HTML templating system built in. I will edit the post to add more reasons.

EDIT: Node.js is great, in fact I use it a lot, but in lots of cases Go works well too.

·
Reply
Recommends
on
FlutterFlutter

My Recommendations: Front End: Flutter because of developer tooling and powerful declarative widget system Back End: Node.js or Go because Node.js has a large ecosystem and Go has a good built in http setup Database: Cloud Firestore because of ease of use, NoSQL, and the ability to set data from the client

READ MORE
14 upvotes·2 comments·12.3K views
anandarao493
anandarao493
·
July 27th 2020 at 4:46PM

Thanks, since Google cloud Firestore is a NoSql database, I'm wondering how does it work for an app where it does daily transactions in a user checkout flow, etc.. ?

·
Reply
awesomebanana2018
awesomebanana2018
·
July 27th 2020 at 5:50PM

I'm not entirely sure what the question is about, as I don't see any problem using Cloud Firestore for transactions, but here is a use case for using Firestore with stripe: https://firebase.google.com/docs/use-cases/payments

·
Reply

Nowadays, lots of things that jQuery used to help with are done natively by the browser. jQuery's base, Sizzle, only exists to provide IE support because of QuerySelector. Nowadays, lots of things that jQuery used to help with are done natively by the browser. Some of the functions still are helpful, but sometimes they allow you to do something in a way that isn't optimized for performance because jQuery makes that method so easy.

READ MORE
9 upvotes·13.5K views
Recommends
on
FlutterFlutter

I would go with Flutter for the front end because it is easy to use once you learn Dart, has components for both Cupertino and Material Design, performs well, and has great documentation. For the backend, I've never used PHP so I don't know how good Laravel works, but I would usually use Node.js because of its large ecosystem, or Aqueduct, because if you use Flutter than you can use Dart on both the front and back end.

READ MORE
8 upvotes·2 comments·13.4K views
Jean-Baptiste Guillois
Jean-Baptiste Guillois
·
June 16th 2020 at 7:52AM

I would also go for Flutter for the front end as it is an easy and productive platform for creating mobile apps. For the backend, I would go either for Java (SpringBoot) or Node (+express) as both are rock solid platforms for creating API based backends. I may be strongly opinionated but I consider PHP being solely targeted at websites, not enterprise applications.

·
Reply
Stephen DeMeulenaere
Stephen DeMeulenaere
·
June 11th 2020 at 3:53AM

Thank you for your recommendation!

·
Reply
Chose
FlutterFlutter
over
IonicIonic

While with Ionic it is possible to make mobile applications with only web technologies, Flutter is more performant and is easy to use if you are willing to learn Dart, which is a fun language. Plus, it has awesome documentation and, while its ecosystem isn't near as big as JavaScript's is, it has a good package manager called Pub and its packages are generally high quality.

READ MORE
7 upvotes·379.7K views
Needs advice
on
PostCSSPostCSSSassSass
and
StylusStylus

Originally, I was going to start using Sass with Parcel, but then I learned about Stylus, which looked interesting because it can get the property values of something directly instead of through variables, and PostCSS, which looked interesting because you can customize your Pre/Post-processing. Which tool would you recommend?

READ MORE
5 upvotes·350.4K views
Replies (2)
Recommends
on
PostCSS

You're not correct with saying "vs Postcss". You're using Less/Sass/Stylus/... to produce "CSS" (maybe extended means it has some future features) and then in any case PostCSS will play (it is shipped with Parcel/NextJS/CRA/...)

READ MORE
2 upvotes·111.8K views
Recommends
on
Visual Studio CodeVisual Studio Code

Visual Studio code is easy to use, has a good UI, and a large community. Python works great with it, but unlike some other editors, it works with most languages either by default or by downloading a plugin. VS Code has built in linting, syntax coloring, autocompletes (IntelliSense), and an api for plugins to do there own tooling.

READ MORE
4 upvotes·672.9K views