Sebastian Kaczmarek is the author of Learn Bosque Programming, we got the chance to sit down with him and find out more about his experience of writing with Packt.
Q: What is/are your specialist tech area(s)?
Sebastian: Web technologies
Q: How did you become an author for Packt? Tell us about your journey. What was your motivation for writing this book?
Sebastian: Actually, that was a bit unexpected. Back in 2019, when Bosque had been initially released to the public, I was curious what this new language looks like and what it can be used for. At the time, I was also very interested in the internal design of various programming languages and was simply curious how to implement a new one from scratch. So, I downloaded the Bosque codebase and started reading it and playing with the language itself. There was a ton of bugs really. But I couldn’t leave that as-is and started fixing them. After my first PR got merged, I was motivated to open more. I was really enjoying it – I was both helping to develop Bosque and learning about how programming languages are designed and implemented. I was thinking that regardless of whether Bosque will be a success or not, it’s still worth doing it – you never know what the future brings, right? And then, a year later, I got an email in my inbox with a proposition to author a book about Bosque. I couldn’t say no and without hesitation agreed. That’s how I become an author.
Q: What kind of research did you do, and how long did you spend researching before beginning the book?
Sebastian: I dug through all of the articles out there about Bosque, I also read the whole documentation and listened to all of the interviews with Mark Marron about Bosque. I also signed up for a Bosque webinar hosted by Mark Marron to learn even more. And that’s not all – I was discussing various things with Mark using GitHub Issues, asking questions, and actually making changes in the language. I wanted to understand the idea behind Bosque. I also read the publications which Mark was authoring – again, to understand the motivation. It took a few weeks of research before beginning the book and a few months of contributing to Bosque but I was doing it before I even knew that I will be an author of a book.
Q: Did you face any challenges during the writing process? How did you overcome them?
Sebastian: The main challenge during the writing process was that Bosque is still under quite intensive development, so while I was writing chapters, the language evolved and it required me to change the content appropriately. Also, there are still many things that do not work or are not fully implemented – showing examples of these issues wasn’t easy. But my solution was always one of two: either fix the bug in the language and open a PR or find a workaround and show two examples – working one and then the “right” one which doesn’t work yet.
Q: What’s your take on the technologies discussed in the book? Where do you see these technologies heading in the future?
Sebastian: I think Bosque is one of those technologies that at first, looks a bit unnatural and not needed but after a second look, you start understanding what problem does it solve and how useful it really is. I remember when Vue.js was created in 2014 when we already had Angular and React – it could look similarly weird and not needed. And look where it is now – one of the most popular JS frameworks. I think the most interesting part of Bosque is its IR code. Thanks to its syntax that is easy to reason about by machines it may be a base ground for tools that would understand your code better than ever before – maybe even write the code for you! Also, other languages may be created based on that IR code, and – who knows – maybe they will be even more convenient than Bosque.
Q. Why should readers choose this book over others already on the market? How would you differentiate your book from its competition?
Sebastian: Actually, there is no other book about Bosque in the market so it’s an unexplored ground. In the book, we are describing the Bosque language in detail with examples and comparisons with other languages. You won’t find so much information about it anywhere else – even in the official documentation. We are explaining all of its quirks and design choices so that the readers could truly understand the reasoning behind the Bosque project.
Q. What are the key takeaways you want readers to come away from the book with?
Sebastian: I’d like them to understand that there is always space for improvement in technology – even though programming languages that we already have are stable and heavily used, it doesn’t necessarily mean that there is nothing we could improve. I hope the readers will understand that similarly to the first low-level programming languages that have been basically replaced by the high-level ones, these new high-level programming languages do not have to be the end of the path. Bosque is supposed to be the next step on this path and I hope the readers will change their mindset and will see new perspectives.
Q. What advice would you give to readers learning tech? Do you have any top tips?
Sebastian: I think it’s important not to get attached to existing technologies too much. History shows that technology evolves and regardless of whether we like it or not, it will change at some point. So anyone that wants to learn new technologies should learn to see the reasoning behind new projects and try to see what the creators see first. It really helps and makes it easier to test things out well.
Q. Do you have a blog that readers can follow?
Sebastian: Currently, only my SO contributions: https://stackoverflow.com/users/7080548/sebastian-kaczmarek
Q. Can you share any blogs, websites and forums to help readers gain a holistic view of the tech they are learning?
Sebastian: Generally, sites like dev.to, medium.com or news.ycombinator.com are a good place to learn new tech. As for Bosque specifically, I recommend reading GitHub Issues, check out the official docs (although unfinished) and read the papers.
Q. How would you describe your author journey with Packt? Would you recommend Packt to aspiring authors?
Sebastian: At first, I was a bit scared because this is my first book. So I didn’t have any experience and wasn’t sure if I can handle that. Fortunately, the Packt team was very helpful. They explained everything and thanks to them, I felt I can do it. I would definitely recommend Packt to aspiring authors because the team is guiding you throughout the whole process and you feel their support at every step.
Q. What are your favorite tech journals? How do you keep yourself up to date on tech?
Sebastian: As mentioned earlier: dev.to, medium.com, news.ycombinator.com, reddit.com and facebook groups.
Q. How did you organize, plan, and prioritize your work and write the book?
Sebastian: I try to set strict boundaries between my job, writing the book, and my private life. My plan was very simple: finish the job, take an hour or two of free time to clear your mind, then get back to my laptop and start writing. I was aiming to write at least 2 pages a day – usually, I managed to write more. Sometimes, when the chapter required a lot of examples, my only goal was to prepare these examples and I left describing them for the next day. During the time I was writing the chapters my private life was quite limited. It wasn’t an ideal situation but for me, finishing the book was important and I (somehow) convinced my close ones that I need more time for the book.
Q. What is that one writing tip that you found most crucial and would like to share with aspiring authors?
Sebastian: Set a goal for each day and try to accomplish it no matter what. I remember a few chapters that required me to sit long hours every day to complete the daily goals. It may be tiring but it’s very effective.
You can find Sebastian’s book on Amazon by following this link: Please click here