the possible Question is you hear another programming language
- [x] what is the purpose ?
- [x] why another programming language ?
- [x] how is it better or diffrent ?
**motivation** Evolution of infrastructure
the infrastructure where application is Deploy changed a lot in the last few year **multicore Processors** become common, And also using **Cloud infrastructure** which hundred or thousand of **Servers** which multiple prosesor to deploy application become universaly common,This make Cloud infrastructure **Scalable and Distributed** **Dynamic** **more Capacity**.
However most of the *Existing Programming Languages* did not fully take Advantage of infrastructure improvement
so what am saying is that before you have app that **execute one task** at time in order
# TODO diagram single task execuation
but infrastructure improvement it possible you can
write application that **execute multiple task** at the same time in paralled to Do multiple things at once, this way make the application faster and more user frendly
# TODO diagram task in parallad
this is the concept of multi-threading, chellenges of multi-threadingg
- multiple users editting the same document
- muttiple user Booking at the same time
this should work in a way that no double booking having this Concenpt is colled **Concurrency** is About dealing with lots of thing at once need to be handle by developer in code
- Developers need to write a code to prevent conflicts when task run in parallel accessing shared data
And many Language Do have feature for implementation such application however the code will get complex
# TODO diagram of Language with Build-in Mechanism
# TODO diagram of Language no Build-in Mechanism
# where Go excell
**Go was designed to run on multiple cores and build to support concurrency**
Concurrency in Go is **Cheap and Easy**
we will explore and learn move in the later