<story><title>Show HN: Going into freshman year, figured I should build an interpreter</title><text>Hi all!&lt;p&gt;I&amp;#x27;m going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;)&lt;p&gt;Anyways... here&amp;#x27;s the repo:
https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;liam-ilan&amp;#x2F;crumb&lt;p&gt;I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D</text></story><parent_chain><item><author>poulsbohemian</author><text>Here&amp;#x27;s perhaps some unexpected and unsolicited advice... so pretty clearly you aren&amp;#x27;t going to have a hard time with the CS curriculum (assuming that&amp;#x27;s what you intend to study) so my $0.02 is - find a second or even third major to augment your skill set. If you are already able to get to this level on your own, you&amp;#x27;ll likely breeze right through a typical undergrad CS course of study. So consider other courses of study that might be a bit more of a challenge &amp;#x2F; might give you an even broader skill set four years from now when you enter the workforce or consider grad school.</text></item></parent_chain><comment><author>cardanome</author><text>I don&amp;#x27;t know the specific curriculum but I would caution that being a competent programmer does not directly translate into academic success. Yes, the author will have a massive head start but but that does not necessarily mean they will find studying easy.&lt;p&gt;At least that was my experience as a self-thought programmer. The first weeks were super boring for me but also lulled me into being complacent until I suddenly found myself in deep trouble. Just because you understand the practical side does not mean you can will automatically grok the academic side of things.</text></comment>
<story><title>Show HN: Going into freshman year, figured I should build an interpreter</title><text>Hi all!&lt;p&gt;I&amp;#x27;m going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;)&lt;p&gt;Anyways... here&amp;#x27;s the repo:
https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;liam-ilan&amp;#x2F;crumb&lt;p&gt;I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D</text></story><parent_chain><item><author>poulsbohemian</author><text>Here&amp;#x27;s perhaps some unexpected and unsolicited advice... so pretty clearly you aren&amp;#x27;t going to have a hard time with the CS curriculum (assuming that&amp;#x27;s what you intend to study) so my $0.02 is - find a second or even third major to augment your skill set. If you are already able to get to this level on your own, you&amp;#x27;ll likely breeze right through a typical undergrad CS course of study. So consider other courses of study that might be a bit more of a challenge &amp;#x2F; might give you an even broader skill set four years from now when you enter the workforce or consider grad school.</text></item></parent_chain><comment><author>dustingetz</author><text>i did this and regret it (38 now and have a technical CS startup), i studied electrical&amp;#x2F;computer engineering but what i should have done was gone to a better CS school or get approved for accelerated course work. the main problem for 18 yo me was lack of visibility into what a good CS program looked like, as opposed to just knowing more than the CS teachers at an eng school not ranked for CS. also, take as much math as you can.&lt;p&gt;you should be studying: lisp ocaml haskell, interpreters (SICP), compilers, type systems, transaction processing, effect systems, FRP, concurrency NOT java guis python SQL databases webdev gamedev .. whatever</text></comment>