Rust e Go sono due linguaggi di programmazione che negli ultimi anni hanno avuto una forte diffusione. Entrambi open-source e supportati da grandi aziende, rispettivamente Mozilla e Google, si stanno proponendo come linguaggi moderni e veloci per unampia gamma di applicazioni.
Lo SmallTalk sar un laboratorio dove Rust e Go si sfideranno per costruire, partendo da zero, una semplice API web.
Durante la sfida verranno confrontate e spiegate le differenze tra i linguaggi: come si definiscono le funzioni, gli oggetti, come si gestiscono le eccezioni e il multithreading.
E' prevista anche un'attivit pratica, si consiglia quindi di portare un proprio PC personale ricordandosi di installare le ultime versioni di Rust e Go dai siti ufficiali: www.rust-lang.org, https://golang.org/.
Sei pronto a scoprire quale linguaggio userai per il tuo prossimo progetto?
La sfida di questo SmallTalk vedr come campioni Alessandro Mancini per Go ed Enrico Risa per Rust. Il tutto sar moderato da Claudio Capobianco.
1 of 7
Download to read offline
More Related Content
Rust vs. Go: qual il linguaggio pi adatto al tuo progetto?
1. Rust vs Go
March 15, 2017
@ BIC Lazio Roma Casilina
Rust champion: Enrico Risa
Go champion: Alessandro Mancini
Moderator: Claudio Capobianco
2. Create a page on the ip that returns an hello world.
Challenge #1
RESPONSE
(Rust|Go) is the best for you!
REQUEST
http://<host-ip>:5336/tasks
3. Return a JSON with a TODO list:
Challenge #2
RESPONSE
{
"owner": "(go|rust)",
"todolist": [
{
"task": "Buy a drone",
"done": true,
"id":1
}
]
}
REQUEST
GET http://<host-ip>:5336/tasks
4. Insert a new task in the TODO list:
Challenge #3
RESPONSE
{
"owner": "(go|rust)",
"todolist": [
{...},
{
"task": "Make drone flies",
"done": false,
"id":2
}
]
}
REQUEST BODY
{
"task": "Make drone flies"
}
REQUEST
POST http://<host-ip>:5336/tasks
6. Handle an error gracefully.
Challenge #5
REQUEST
POST http://<host-ip>:5336/tasks
REQUEST BODY
{
"boom": "crash!"
}
7. REQUEST BODY
{
"ids" : [
1,2,3
]
}
Create a thread and handle async communication.
Challenge #6
REQUEST BODY
{
"all-done":true
}
REQUEST
POST http://<host-ip>:5336/tasks/close
mark as done specific tasks
mark as done all tasks