Your SlideShare is downloading. ×
I came, i saw, i go - Cefaro and De Donato
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

I came, i saw, i go - Cefaro and De Donato

317
views

Published on

Slides from Giorgio Cefaro and Giulio De Donato talk @ codemotion roma 2014

Slides from Giorgio Cefaro and Giulio De Donato talk @ codemotion roma 2014

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
317
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. GOLANGIT Italian gophers! I came, I saw, I GO! 2014 golangit meetup @
  • 2. @giorrrgio @liuggio GOLANGIT I founder
  • 3. GOLANGIT Nascita di un logo original gopher by Renée French
  • 4. GOLANGIT Nascita di un logo
  • 5. Creare un punto di riferimento per gli sviluppatori GO italiani GOLANGIT Uno UG dedicato a GO
  • 6. Lavorare insieme per far diffondere go nel mercato italiano GOLANGIT Uno UG dedicato a GO
  • 7. Aiutare i neofiti a crescere GOLANGIT Uno UG dedicato a GO
  • 8. da dove partire? GOLANGIT Uno UG dedicato a GO
  • 9. sudo apt-get install golang GOLANGIT Uno UG dedicato a GO
  • 10. GOLANGIT Uno UG dedicato a GO
  • 11. Parlane con i tuoi amici nerd! GOLANGIT Uno UG dedicato a GO
  • 12. Nella prossima soa in cui metterai mano, un servizio go sarà il tuo apprezzatissmo easter egg! GOLANGIT Uno UG dedicato a GO
  • 13. Aspettiamo le tue PR :-) http://golangit.github.io GOLANGIT Uno UG dedicato a GO
  • 14. GOLANGIT Perché GO?
  • 15. Abbiamo troppi core! GOLANGIT Problema 1
  • 16. Abbiamo bisogno di un linguaggio di programmazione di basso livello che ci permetta di sfruttare efficientemente le architetture multiprocessore GOLANGIT Problema 2
  • 17. Sì, ma ... GOLANGIT ERLANG?
  • 18. GOLANGIT ERLANG?
  • 19. GOLANGIT ERLANG?
  • 20. Linguaggio di basso livello per lo sviluppo su architetture multiprocessore GOLANGIT GOLANG!
  • 21. Nato con la concorrenza in mente GOLANGIT GOLANG!
  • 22. Nato con la semplicità in mente GOLANGIT GOLANG!
  • 23. no type inheritance no method or operator overloading no circular dependencies among packages no pointer arithmetic no assertions no generic programming GOLANGIT GOLANG!
  • 24. Scrivere software multi- thread non è complicato GOLANGIT GOLANG - Goroutines e Channels
  • 25. Non è così immediato far comunicare i thread GOLANGIT GOLANG - Goroutines e Channels
  • 26. Communicating Sequential Processes canali di comunicazione tra thread instanziabili direttamente dai programmi GOLANGIT GOLANG - Goroutines e Channels
  • 27. Feature decisiva per lo sviluppo multi-thread: Decidere esattamente quando distruggere un oggetto condiviso tra più thread può diventare davvero complicato. GOLANGIT GOLANG - Garbage Collection
  • 28. No virtual machine No JIT-compiling Compilatore statico GOLANGIT GOLANG - No large runtime env
  • 29. archive, bufio, builtin, bytes, compress, container, crypto, database, debug, encoding, errors, expvar, flag, fmt, go, hash, html, image, index, io, log, math, mime, net, os, path, reflect, regexp, runtime, sort, strconv, strings, suffixarray, sync, syscall, testing, text, time, unicode, unsafe GOLANGIT GOLANG - Standard library
  • 30. net/http: webserver integrato fastcgi: utilizzabile con qualsiasi webserver GOLANGIT GOLANG - Amico del webdev
  • 31. Occhio: una request, una nuova goroutine Possibilità di condivisione channel tra diverse request (e quindi client) GOLANGIT GOLANG - Amico del webdev
  • 32. HTTP CLIENT Html parsing Templating GOLANGIT GOLANG - Amico del webdev
  • 33. Google (ma dai?) - Docker - Canonical - Heroku - Digital Ocean - SoundCloud - Bitly - CloudFlare - BBC World News - Nokia Siemens Networks GOLANGIT GOLANG - Chi usa Go
  • 34. GOLANGIT OH MY GO ANOTHER LANGUAGE ...
  • 35. GOLANGIT Go to ‘60
  • 36. GOLANGIT Go to ‘78
  • 37. GOLANGIT Go to 2007
  • 38. GOLANGIT GO SCALABILITY
  • 39. GOLANGIT GO FEATURES
  • 40. // Java / php style Class MyGreatService { doSomething(AcmeLibLogInterface logger) { logger->info('boom'); } GOLANGIT JAVA INTERFACES
  • 41. // GO LANG import "...loggerFunnyLib" type logger interface { info() } func doSomething(log logger) { log.info('boom') } GOLANGIT GO INTERFACES
  • 42. GOLANGIT Reference http://www.meetup.com/golangit/ https://golangit.github.io golangit su google groups