Great idea, any plans for more complex creations? Git/Redis/Docker are excellent 101s but it'd be cool to see this solid format applied to more technically challenging projects. Though I appreciate it's targeting juniors.
Next week a new course is dropping (Build your own grep — which involves building a Regex Engine). Some more upcoming ideas are here: https://vote.codecrafters.io/ What would some examples of projects that'd be suitable for your skill level?
Launch HN: CodeCrafters (YC S22) – Practice writing complex software
201–207 of 207 posts
Re: Launch HN: CodeCrafters (YC S22) – Practice writing complex software
#202This looks great! What languages are supported? Are the tests language agnostic, or is the coursework specific to a subset of languages? I see reference to Rust, Go, Python and JS...but am unsure if this would be useful for something like Clojure, where I can produce JS, JVM or compiled code, that could be tested against, but wouldn't expect an imperative pseudo-code explanation of an algorithm to be helpful for expl…
Thanks for the great question. We support ~14 languages at the moment and are working on adding more. You can visit our tracks page ( https://app.codecrafters.io/tracks ) to see the courses available against each language. As a 2-person team, we're prioritising making a complete experience for Go, Python & JS for starters (our most popular languages). So far, our tests are language agnostic. Our testers are written i…
For example, why is Rust in Beta while Go isn't despite having the same number of stages? I'm assuming the determination is made based on something else, but do you go into what that is?
Rust is probably the language I'm most interested in using your site to learn and it currently has as many stages completed as Go (according to your tracks page), but you didn't mention it in your list of priority languages. Are stages user-contributed? Is that why Rust has more stages than Python or JS?
Is there anything that would stop a user from using any language without major impediments or hurdles?
Sorry for all the questions. I've just been really excited about seeing this platform develop!
Re: Launch HN: CodeCrafters (YC S22) – Practice writing complex software
#203Earlier quoted context omitted.
Thanks for the great question. We support ~14 languages at the moment and are working on adding more. You can visit our tracks page ( https://app.codecrafters.io/tracks ) to see the courses available against each language. As a 2-person team, we're prioritising making a complete experience for Go, Python & JS for starters (our most popular languages). So far, our tests are language agnostic. Our testers are written i…
Looking at your tracks page, is there a part of your site that explains what the differences are between Beta and non-Beta Tracks as well as what the stage counts signify? Or maybe just something in the FAQ that explains what your concept of a "stage" is in detail would be useful. For example, why is Rust in Beta while Go isn't despite having the same number of stages? I'm assuming the determination is made based on…
You might also enjoy checking out our OSS repo where any one can contribute language support. We prioritise supporting different languages based on user demand, but if you want to get your hands on a particular language right away, we accept PRs from the community. https://github.com/codecrafters-io/languages
Re: Launch HN: CodeCrafters (YC S22) – Practice writing complex software
#204This is a really cool idea! I may check this out. One concern I have is that it looks like you're having people rebuild Unix command line tools. Tools which have a tendency to look at the world in one particular way. Unfortunately, that way is not very good to users. I'm really concerned about how many different programming courses, from boot camps to graduate level CS courses, push this narrow view of programming. I…
Thanks for your question. If I understand right, you mean for example projects that involve a frontend web component? That's on the cards (e.g we have Build your own React on the pipeline). There are unique challenges to making that experience predictable, so we're focusing on the "console-based" projects for now. There's also often a "subjective" nature when reviewing/testing UI so we need to think through the ideal…
Ack! No! I mean native applications written in styles other than the prevailing Unix way of writing native applications. It can be any other form, just something that's well written but not using Unix-isms.
Re: Launch HN: CodeCrafters (YC S22) – Practice writing complex software
#205Earlier quoted context omitted.
Looking at your tracks page, is there a part of your site that explains what the differences are between Beta and non-Beta Tracks as well as what the stage counts signify? Or maybe just something in the FAQ that explains what your concept of a "stage" is in detail would be useful. For example, why is Rust in Beta while Go isn't despite having the same number of stages? I'm assuming the determination is made based on…
Great questions. If you see that a language track has a particular course available (e.g Docker on Rust track), it means it's good to go. There are no hurdles to going through the stages. When a track is marked as beta, it typically means that the solutions & explanations for some stages on that language are coming soon — or that it doesn't have all the 4 courses supported in that language yet. You might also enjoy c…
Re: Launch HN: CodeCrafters (YC S22) – Practice writing complex software
#206congrats on the launch! I'll definitely be trying the rust course over a free weekend. Is there a way to opt out of the leaderboard, hide it? This sort of 'challenge-ification' is strongly not for me.
We don't have an opt-out yet, but we'll certainly consider. Curious — why isn't the 'challenge-ification' desirable to you? It feels pressurising? Please feel free to email me if you prefer to keep it private! sarup@codecrafters.io
> It feels pressuring?
Exactly. These sorts of things always end up demoralizing to me. I'll never be on there, there's always a bigger kid on the playground - but having it shoved in my face daily isn't a positive reminder. I can't commit the time, money, intelligence, et c. Let me go at my own pace and not feel bad for being slow :)