The following is an in-depth interview with Succinctly series author José Roberto Olivas Mendoza, whose book Getting the Most from LINQPad Succinctly was published recently. You can download the book from the Succinctly library.
What should people know about LINQPad? Why is it important?
Well, maybe the most important thing about LINQPad is the “scratchpad” feature, as it’s called by the author on the LINQPad website. This feature allows any developer to throw out many of those testing projects and simply perform a “code and test” job while developing a product. Believe me, this feature will save developers many coding hours, and it alone is worth the time spent learning how to use the software.
How long have you been working with LINQPad?
I’ve been working with LINQPad almost four years, since the last trimester of 2015. At that time, we were researching about a tool that could help us do “interactive” code testing. That is, we did not want to write testing projects in Visual Studio that led us to find bugs in our products only after several hours of coding. Instead, we wanted to write small pieces of code, test them, and then put them into our main project. I assigned myself an entire week to find this kind of tool, and I was surprised the first day, when my second Google search led me to LINQPad. I downloaded the software from its website and tested for two days. At the end of that week, my entire crew was working with LINQPad, using it as a kind of “notebook”: they were writing code, testing it, and throwing out every useless line of code, until the entire project was done.
By writing Getting the Most from LINQPad Succinctly, did you learn anything new yourself?
Every time I write an ebook or a training program I learn something new, or how to improve what I’ve learned in the past. In this case, I improved my knowledge about Entity Framework and I learned how to get the most from LINQPad customization using the DumpContainer object, along with several other subjects such as improving lambda expressions, applying SOLID principles more effectively, and more.
How do you think LINQPad will change over the next few years?
Since LINQPad is extremely bound to Microsoft’s technologies, I think this software will model its changes after Microsoft’s. I’m expecting full support from LINQPad for .NET Standard and .NET Core, and also for Xamarin.Forms. Maybe, at the moment I’m answering this question, the guys from LINQPad are finishing cooking up these features.
Do you see LINQPad as part of a larger trend in software development?
I don’t know this for sure. But, from my point of view, LINQPad is a technology not intensively used at this time. So, it has a great chance to grow in the taste of the developer community.
What other books or resources on LINQPad do you recommend?
There aren’t many books about LINQPad. At the moment I’m answering this question, the LINQPad website has only references to LINQ books. After digging in the web, I found a book titled Building Interactive Queries with LINQPad by Sebastien Finot.
What are three key pieces of info that developers can take away from this book?
- The process to connect an entity data model of our own database to LINQPad. This can help developers in business rules testing by allowing them to write queries that target a specific project’s data model.
- The scripting feature of LINQPad. This feature can help developers write code (in LINQPad, a piece of code is called a query) in order to automate a particular testing process. In some cases, the developer can even write code that generates code for a specific project.
- The ability to write custom extension methods, which can be used to encapsulate all methods that developers commonly use when writing testing code in LINQPad. For example, if in many testing methods the developer needs to transform a string to a proper sentence, it is easier to write a method that performs this action and then tell LINQPad that this method will be available every time the developer writes testing code in LINQPad.
Do you have any tips for developers trying to learn LINQPad?
One of the suggestions I can make to developers is to review any document about LINQ first. This helps a lot in order to understand LINQPad. Another thing is researching extension methods and lambda expressions. I think these suggestions are not going to be a problem for experienced developers, so my suggestion for them is to focus on the “scratchpad” feature of LINQPad by starting to write code as soon as they start using the software.
Who are your role models in the developer world?
I’ve learned a lot from many talented guys in the developer community, so I can’t specify any name because it would be unfair.
What were the biggest challenges you faced when learning how to use LINQPad?
Perhaps the key and biggest challenge was the imperative need to learn how LINQPad works from zero to master ¡in two days!, so I did a lot of research about the software on the web, and then I put a lot of small pieces together. Then, I spent several hours testing all those pieces, correcting some mistakes, and finally I built a document with a training program for my crew. That was exhausting, but I had a lot of fun doing it.
How quickly can you learn a new programming language?
I can learn the basics in two or three days. After that, with proper research, I can write a project in a week.
How do you stay up-to-date on industry news?
I’m subscribed to many forums and e-magazines about software development, IoT news, business management, and any other topic about IT. Also, I have scheduled in my weekly agenda a specific number of hours dedicated to IT research and practice.
José Roberto Olivas Mendoza has been an author and technical editor for the Succinctly series since 2015.