Live data from Hacker News

Ask HN: Projects for learning a language?

news.ycombinator.com

31–40 of 61 posts

Re: Ask HN: Projects for learning a language?

#31
post #7

I like Larry O'Brien's three-part series, "15 Exercises to Know a Programming Language," [1][2][3] mostly for the overall philosophy ("should be tough enough to require problem solving: try to embrace the language's idioms") and for the rationale that comes with each exercise (e.g. implement this to learn that about your chosen language). Note: the internal links between parts of the series are broken, so here are al…

That is an interesting problem set, but with some serious difficulty spikes due to specific problem domains. I use C++ and Go professionally and think I'm pretty competent at both, but I've never had to write a GUI, and wouldn't really know where to start, other than to go read the docs for Qt, try to put together a build script, and then cry a lot - but if I had to do it with a gun to my head, what I'd probably do i…

Yes, although this is revealing in itself as to which languages are suited to which problem domains. Also shows up which platforms are suited to what; if I were building a C++ GUI I'd fire up Visual Studio, unless you told me it had to be cross-platform or not-Windows at which point I'd go back to "cry a lot". (Yes, Xamarin, QT, it's still a lot of work)

I think building non-web GUIs may have become harder since 2006, depending on platform/language.

Re: Ask HN: Projects for learning a language?

#33
The best strategy in my opinion is to build something that aligns with some of your hobbies or favourite things. Do not attempt to "solve a problem" or "do generic exercises", build something that ties up with something you already enjoy.

For example, if you're into some kind of sports, build a software that helps you keep track of it. If you like cooking, build a recipe tracker. You know the gist.

By building something that helps you with some of your passions, you'll feel more connected to it and more engaged with the project.

This does not need to be a product, or something you'd try to sell or market. Build it for you. Share it with those people you like, if you feel like doing it, but build it for you.

Re: Ask HN: Projects for learning a language?

#34
post #32

Build something that solves a problem you have right now. Even if it's a trivial problem and nobody else will be able to use the solution except you. That forces you to think real world usability etc

I see this recommendation rather often, but it's rather unhelpful. I certainly can't think of any such problem that I have.

Re: Ask HN: Projects for learning a language?

#35
post #3

I always thought of Make A Lisp (MaL) as a great way to learn two languages at the same time. And some of what you learn about Lisp in the process will rub off on your use of the language you are working with. Ie: It might trick you into being a better programmer than you expected. There are a lot of MaL examples written in Lisp even, which initially sounds redundant, but gets new Lisp programmers to learn Lisp's int…

https://github.com/kanaka/mal

Re: Ask HN: Projects for learning a language?

#36
post #32

Build something that solves a problem you have right now. Even if it's a trivial problem and nobody else will be able to use the solution except you. That forces you to think real world usability etc

I see this recommendation rather often, but it's rather unhelpful. I certainly can't think of any such problem that I have.

Well it doesn’t have to be that hard, you just have to come up with a problem that is not actually a problem for you, making it very trivial. An example: right now it is sunny outside, so what if I could build a service that notifies me of the time for sunset every day.

It doesn’t have to be a problem with actual value to anyone, but once you start thinking about it, you will probably find it engaging to solve.

Re: Ask HN: Projects for learning a language?

#38
post #33

The best strategy in my opinion is to build something that aligns with some of your hobbies or favourite things. Do not attempt to "solve a problem" or "do generic exercises", build something that ties up with something you already enjoy. For example, if you're into some kind of sports, build a software that helps you keep track of it. If you like cooking, build a recipe tracker. You know the gist. By building someth…

What if anything I can come up with that aligns with my hobbies has already been done?

Re: Ask HN: Projects for learning a language?

#39

Advent of code is an interesting set of challenges, with a generally rising set of complexity. There are 6 years worth of 25 challenges. https://adventofcode.com/

Another voice for AoC.

It should make you have go into text and file processing (including regexps) and basic data structures (lists/arrays, hashmaps, trees, graphs). Maybe GUIs or image processing: it's never essential, but sometimes it helps in debugging a puzzle, or it's just fun to make a visualization of the solution. Even simple parsers.

However, typically you wouldn't touch things like async, networking or writing a server. Though you could try writing an HTTP API client that automates downloading inputs, many people do it.

I'd still recommend it mostly because it's very fun, in my experience, which keeps you motivated.

Re: Ask HN: Projects for learning a language?

#40
post #33

The best strategy in my opinion is to build something that aligns with some of your hobbies or favourite things. Do not attempt to "solve a problem" or "do generic exercises", build something that ties up with something you already enjoy. For example, if you're into some kind of sports, build a software that helps you keep track of it. If you like cooking, build a recipe tracker. You know the gist. By building someth…

What if anything I can come up with that aligns with my hobbies has already been done?

Why is it relevant if it's already been done?
Post reply on HN