DEV Community

Cole Walker
Cole Walker

Posted on

What is the first thing that you do with a new tool or language?

I often skip past "hello world", since it doesn't give you a good understanding of what a language looks or feels like. Usually, I try to dive into a project, often a smaller-scaled version of the idea that inspired me to try out the framework or language itself. For example, when I was diving into Go, I wrote a small application to grab data from the Goodreads API and parse it to my console, since I wanted to use Go for CLI or back-end applications.

Does anyone else skip "hello world"?

Top comments (1)

Collapse
 
wulymammoth profile image
David • Edited

I think you nailed it in your second remark — by first understanding why you would want to use a particular language. Popularity matters for most in choosing a language because implicitly it’s also about being able to build a career or be hireable in it. However, first and foremost we should understand what a language is good for and what it’s not granted it isn’t the first language one is learning. Go has really found a good spot with tooling and CLIs. It’s also fairly simple in the sense that there are very few advanced and/or difficult to understand features aside from learning to write concurrent software.

I typically do skip hello world, too, but start with a quick run-down somewhere of the syntax and gotchas, and of course, the features. But it’s sort of difficult to start writing a project at the outset without knowing at least some of the syntax. And I spotted your post today after installing and starting my Rust journey yesterday. I’ve been following Rust for a long while (~4 years) watching people program in it, talks, etc, but it’s a whole different beast to start writing it. I’ve been a fan of using Exercism.io for getting the syntax down — I’ve learned Elixir and Go this way. It’s not great at learning language/platform-specific features though. I typically do an online course or book to learn that before building a project. But some courses include that — I did the, “Learn Go with Tests” free online book, because testing is important to me, but the author is also well-versed in software design principles — polymorphism, dependency injection, etc, all the while introducing the failure modes, and currency problems along with the tools dispensed to resolve them. It also helps that the author is an active member of the community (answers questions and is active in the Go sub-Reddit).