Elia Schito

Ruby and Code Editors

wroc_love.rb 2016

00:00:11.630 Hello everyone, once again. My name is Tatiana, and I'm from JetBrains, as Andre said. Actually, I'm part of the RubyMine team, where I'm a product marketing manager. I used to be a Ruby on Rails developer, but that was quite a long time ago—about 10 years ago. However, I recently participated in a workshop from Marching, and it was a great pleasure to develop again. Deep down, I still consider myself a developer, but of course, I don't write code every day. I'm very glad to be here and excited to discuss Ruby and code editors in Wrocław. This is my first time in Poland, and I'm thrilled to start this discussion panel.
00:00:41.850 Before we begin, I want to ask you something. This panel is supposed to be a debate, but I'm not sure if it should be a fight. Do we really need it? When we talk about code editors, it sounds like a holy war between IDEs and text editors. For me, discussing RubyMine versus other editors feels like addressing this supposed conflict. So, I want to ask you: do you believe there's a war between IDEs and text editors? Raise your hands if you do. If you don't believe in it, we still have something to discuss. Maybe it's more about biases and stereotypes regarding these tools. I intend to explore whether there's any real difference between text editors and IDEs, or if it's merely legend and myth.
00:02:13.530 First of all, I want to ask you: do you think tools matter? Please raise your hand if you agree. What, from your point of view, is the main goal of a great developer tool? Feel free to share your thoughts. Simplifying workflow? Yes, that's a significant aspect. Reducing resource consumption? I can relate to that. Avoiding mistakes and lessening pain in our daily tasks is also crucial. So, it's about making our daily routine easier and boosting our productivity, correct? With this fundamental purpose in mind, I want to show you something.
00:04:06.540 When discussing editors and IDEs, I often hear the metaphor of light versus heavy tools. How many of you have light drivers at home? And how many have the heavier variants? Much less, right? Do you think the lighter variant is easier to use and start with? Absolutely, yes. However, what if you're assembling a large wardrobe? Which one would you prefer for that task? I wonder if it's true that all kinds of tools have their appropriate use cases. Personally, I think that while text editors might be lightweight and fast, IDEs like RubyMine might save you time, even if they require a steeper learning curve. When you work with your code for 40 to 60 hours a week, you deserve a tool that genuinely aids you.
00:05:05.060 Now, I want to discuss some features of RubyMine, which I believe in. What are the most common features you use in your code editors? Syntax highlighting? Code completion? Jumping to definitions? Switching between projects is also vital. What about code formatting? Great. Let's talk about the features that you feel you need the most. What are the development tasks that you struggle with? It seems like you're all well-equipped and not struggling at all, which is fantastic.
00:07:29.080 I would love to first talk about syntax highlighting and code completion, which are essential features. I often use my demo app from the workshop, and while it may not be ideal, it works for our purposes. Let's take a look at some Ruby code that you'll work with daily. RubyMine’s code completion feature can be invoked automatically or through shortcuts, making it incredibly convenient. It allows you to navigate suggestions based on what you're typing and ensures you can find relevant methods quickly.
00:10:37.040 With RubyMine, code completion analyzes the context of your entire codebase. For instance, as we type in a model, it suggests methods and fields specific to that model. The code suggestions will be contextually relevant, making your coding experience smoother. Additionally, you have features such as cyclic completion, which helps cycle through variables quickly. If you have questions about this or about the relevance of suggestions in your workflow, please don’t hesitate to ask.
00:12:28.060 Now, let's discuss syntax highlighting further. RubyMine offers various inspections and highlights errors based on Ruby practices and style guidelines. You can customize inspections to suit your needs if you open the preferences page. It’s crucial to bear in mind that RubyMine is a fully functional product ready to use right out of the box, but you can customize it extensively. This customization ability is very appealing as a lot of text editor users enjoy playing with plugins and tweaking their environments.
00:15:17.840 For sharing configurations, yes, RubyMine allows you to export and import configurations between users. If you work on different projects with various specifications, you can manage different profiles within RubyMine. This means you can switch presets for different projects, ensuring you're organized and tailored for each task.
00:17:33.770 As we wrap this up, I encourage you to consider what text editors you’re using and the benefits of transitioning to IDEs like RubyMine, especially if you develop with Ruby and other relevant technologies. Of course, some discussions have circled around text editors like TextMate, Sublime Text, and others that have their strengths, as you may have experienced. But RubyMine encompasses similar features found in these editors while enhancing your workflow with deep context analysis.
00:20:55.199 For example, if you're developing with Ruby on Rails, RubyMine stands out as it integrates many features that would be necessary for effective JavaScript development, thereby providing a streamlined workflow. When working on client projects, it’s crucial to choose the right tools and configurations that enhance productivity rather than hinder it. Discussion about how IDEs integrate features found in text editors provides a valuable perspective on how we can be more efficient and effective as developers.
00:23:57.460 As we round up our discussions, I think it’s worth considering the range of editors available to developers today. Some opt for lighter tools like Atom, while others favor the comprehensive environments provided by IDEs. Each comes with its unique set of advantages and trade-offs. An ideal approach is to understand our needs as developers and select tools that complement our workflow. Essentially, it comes down to personal preference as well as the specific demands of the projects we tackle daily.