Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.10 KB | None | 0 0
  1. 5 mins IDE/rls talk, 5 mins demo, 5 mins Cargo + workspaces, 10 mins on making workspaces work in the RLS (including another demo), 5 mins for questions
  2.  
  3. >>>>>>>>>>>>>>>>>>>>>>>
  4. How Rust Language Server, the IDE tool, understands your project
  5. >>>>>>>>>>>>>>>>>>>>>>>
  6. Abstract
  7. (A concise, engaging description for the public program. Limited to 600 characters.)
  8.  
  9. One of the key measures of the language usability is extensive tooling, particularly having a mature and accessible IDE.
  10. By providing code navigation, generation and refactoring facilities, IDEs speed up considerably the core edit-compile-debug cycle.
  11. Throw autocompletion in and not only do you get a practical tool that supports everyday development but you also get a learning tool, which
  12. supports the learning by tinkering approach.
  13.  
  14. Historically, IDE support for Rust has always been quite lacking. As the language is focused on thorough static checking and enforcing
  15. compile-time guarantees, it often feels unwelcoming to the beginners, since the compiler doesn't allow for too much leeway. Not without
  16. a reason IDE support has been stated as very desired in State of Rust Survey in 2016 and is listed as one of the main goals for the 2017 Rust's roadmap.
  17.  
  18. This talk will explain the current state of core IDE tool, Rust Language Server (RLS), what it's capable of and how to use it. Additionally
  19. it'll try to shed a bit more light on how it works behind the scenes, specifically how it understands the project structure and how it
  20. leverages existing tools to provide its core functionality.
  21.  
  22. >>>>>>>>>>>>>>>>>>>>>>>>>
  23. Details
  24. (Include any pertinent details such as outlines, outcomes or intended audience.)
  25.  
  26. The talk will be split into 2 parts.
  27. The first one will provide a brief demo and introduction to how the RLS as an IDE tool will replace current development cycle,
  28. how to set it up and what it's capable of.
  29. After that there will be a brief introduction on how Cargo projects work, specifically workspaces.
  30. Following that there will be more technical details on how the RLS operates, how it leverages Cargo and what were the other
  31. necessary changes required to implement a support for bigger projects such as Cargo workspace format to improve the general usability of RLS.
  32.  
  33. Target audience will mostly consist of people willing to try Rust but that didn't have a chance to do so and people less experienced with it in general.
  34. However, since more technical details and specifically how Cargo works and how RLS uses that will be explained, it will also prove interesting
  35. to slightly more experienced Rustaceans.
  36.  
  37. With this talk, I expect people to know how the current IDE support looks like and how to use it. Additionally it will shed some light on
  38. how IDEs work in general and how current tooling is used by the RLS for it to provide its core functionality.
  39.  
  40. >>>>>>>>>>>>>>>>>>>>>>>>>
  41. Pitch
  42. (Explain why this talk should be considered and what makes you qualified to speak on the topic.)
  43.  
  44. IDE support is high on the list for the Rust's roadmap for 2017. According to the State of Rust Survey in 2016, a lot of potential
  45. and current users would prefer an IDE, which would help them approach the language and ease the infamous initial steep learning curve
  46. for the language.
  47.  
  48. Having a comfortable IDE to work with also leads to increased productivity for the users and ability to work on bigger projects.
  49. In turn, this allows for faster and more comfortable development, which hopefully results in a more mature and diverse ecosystem.
  50. Historically, IDE support for Rust has always been lacking and since the basic-but-solid IDE experience is finally here, it's time
  51. to get more people involved and share the good news.
  52.  
  53. This year I had the pleasure to enroll as a Student for the Google Summer of Code 2017 where I worked on the RLS and specifically
  54. focused on implementing support for Cargo workspaces and multiple active crates, as well as other smaller fixes and improvements.
  55. This, along with the fact that I worked on a big game project codebase in C++, where IDE support was crucial to stay productive,
  56. leads me to believe that I'll have something interesting to share with fellow Rustaceans regarding IDE support.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement