Golang vs rest
In this session you will go through
a brief introduction to both languages,
1 – What is Golang ?
2 – What is Rust?
3 – Key Differences between Golang
and Rust
4 – Cons of Golang
5 – Cons of Rust.
let's start with the introduction to
golank,
1 –
What is Golang?
It's an open source statically typed
compiled language developed by google,
it has a stronger focus on building
web apis and small services that can scale endlessly,
it was designed by robert christmer
rob pike and ken thompson to reduce the complexity of managing the infrastructure
and code bases within google,
it comes with go routines strong security
and some standard libraries,
2 –
What is Rust?
Rust is a multi-paradigm general
purpose and a high level programming language,
works well for processing large
amounts of data & other CPU intensive operations such as executing
algorithms,
credon hori along with dave herman brendan
h and others introduced the language at mozilla research,
it got its 1.0 version on may 15
2015.
Rust is focused on safety stability performance
and safe concurrency,
3 –
Key Differences between Golang and Rust
1 -
Performance
Go and rust are both compile
languages and they directly translate the code to executable machine code,
both machines produce efficient code,
many big menses use rust to boost
speed,
whereas co is famous for reducing
the number of responsible servers to almost a tenth of the original capacity,
rust has the upper hand in
delivering output over go due to its great runtime speed,
but it lacks at compilation time,
on the other hand go is better in compilation
time but lacks at run time speed,
2 -
Concurrency
Go was designed to use cpus
efficiently and handle multiple tasks simultaneously,
the purpose was accomplished with
the introduction of go routines,
these are lightweight call fewer
resources and are executed independently,
they run concurrently with other functions
and have eliminated the need to create new threads,
on the other hand dust was recently introduced
with the native syntax in the form of async await and guarantees memory
stability,
developers prefer to work with go in
the case of concurrency,
now we will move ahead and compare
the two on Memory management and Security,
3 -
Memory Management and Security
Go and rust practice safe access and
memory management with different
approaches making them the choice
for
cloud computing,
Go offers various
paradigms such as memory allocation
and
automatic garbage collection to
handle
possible threats,
Go gets automated during the run
time and makes developers do not bother to assign or remove the memory.
On the other hand rust ensures no
memory leakage during the compile time moreover the code won't be compiled
until its memory safe,
which requires developers to be
attentive and be aware of memory allocation.
4 -
Easiness to code and learn (Experience)
Comes with a much steeper learning curve
than go why go is relatively easier than rust.
It has a steeper learning curve than
different languages,
like javascript and python,
go was designed with a relatively
simpler syntax,
than rust and was adopted as an easier
alternative to c,
on the other hand people find trust a
little hard with syntax as the language is new,
and passing pointers make the codes
more complex,
5 -
Development Speed
That is development speed development
speed is far more crucial than performance,
that is how quest it is to write
software with the language than to run it,
go with its simplicity set some benchmarks
by quicker build speed than a range of languages in the market,
but it has to sacrifice its runtime performance
for it,
on the other hand rust memory safety
feature compromises compilation time,
its features take time to understand.
making the developer compensate with
both compilation and development time.
6 -
Scalability
Both programming languages are used
to develop large scale applications with their ability to handle multiple concurrent
functions,
Go is designed for large software development
involving large code bases and teams.
Handling enormous amounts of data in
real time it's a great solution for dynamic organizations where scale and speed
define the development workflow.
On the other hand rest has a
stronger inclination toward applications that favor speed such as game development
web browser components or real-time control systems.
7 -
Companies Hiring
First we'll start with golem,
1 -
American express
American express company is an “AMC”
American multinational corporation.
primarily known for its credit cards
and payment processing,
their payments and rewards platform
team adopted go in 2016.
They focused mainly on micro services
transaction routing and load balancing use cases, they needed to modernize their
architecture.
They also published a case study american
express uses go for payments and rewards.
2 - Paypal
Paypal holdings incorporation is an american
multinational financial technology company majorly dominant in operating online
payments.
Their senior director of engineering
developer experience at paypal,
Bala netrogen said that go provides channels
and routines to deal with complexity.
They were able to structure the code
to meet our requirements.
Go is a first class language at
paypal and there are currently over 100 go developers at paper.
3 -
Uber
Uber technology's incorporation is american
mobility as a service provider.
uber has now preferred go for
building many of uber engineering new services.
formerly they were mainly based on node.js
and python.
golang helps uber to handle a
majority of high queries per second services at uber.
Recently they have written geo-based
services in golang.
4 - Alibaba
Alibaba group holding limited,
it also known as alibaba is a
chinese multinational technology company specializing in e-commerce retail internet
and technology.
Alibaba group container engine pouch
container has written in calling,
it can pack deliver & run any application.
It helped all online transactions of
alibaba's smoothly on millions of containers.
now we'll see some companies that
are using rust and they hire developers for rest.
1 -
Dropbox
It is a file hosting service
operated by an american company,
that uses rust for parts of its file
synchronization engine,
since the engine is highly
concurrent they choose rust over any other language,
2 -
Cloudflare incorporation
It's an american web infrastructure
and website security company,
that uses just as a core language
and replace c with rust for its memory and safety feature,
3 -
Figma
It's a collaborative web-based design
tool for vector graphics and interface prototyping,
Due to the rapid growth they chose
rust to rewrite their multiplayer synchronization engine.
Rust has helped them drop off the
load from their servers.
4 -
Discord
Discord is an instant messaging and digital
distribution platform.
Users communicate with voice calls
video calls text messaging media and files in private chats or as part of
communities called servers.
Discord uses rest in multiple places
of the code base both on the client and server side.
4 –
Cons of Golang
First there is a lack of manual
memory management in goal line,
sometimes it becomes difficult to handle
errors while using golang,
there are few libraries and frameworks.
there are no major frameworks for
golang developers,
other languages such as ruby they
have
Ruby on rails
Python have django and
php has larval.
5 –
Cons of Rust
Learning rest is not simple when
compared to different languages,
it has a higher learning curve.
low level of monkey patching support
then python and bird here monkey patching refers to modifying a class or module
at a rental.
the next one is the compiler is slow as compared to some scripting languages.
0 Comments