スキルとポートフォリオを構築する
私の意見では、それは非常に良い学習経験になるでしょう:
- ボンネットの下を見るように強制する、
- 物事が内部的に行われる方法を学ぶためにあなたを導く、
- 他の実装を見て比較することをお勧めします。
- あなたを保つ アルゴリズムのスキルを最新の、
- コードを作成する(そして、できれば文書)のいずれか悪いことではありません多く、
- あなたがオンラインで共有できる重要なプロジェクトとコードベースを提供します:
- 個人的な楽しみと満足、
- スキルを披露潜在的な雇用主にを、
- 通信し、 同じ分野に興味のある仲間交換する。
- 潜在的にそれをさらに何かに成長させる...
だから、私はこれを生産的で、有用で、全体として「価値がある」と考えています。
始めましょう
これに費やす時間に応じて、異なるアプローチを使用できます...:
- 期間が限られている場合は、飛び込んでコーディングしてください。
- より長い時間枠がある場合、あなたは確かに長い道のりを行き、仕様、チュートリアル、マニュアルなどを書くことができます...
スモールスタート
私はむしろ小さく始めることをお勧めします。私が知っている限り、このような素晴らしい言語を直接書いた人はいません。あなたはつまずき、倒れ、失敗し、失敗し、失敗します。その後、あなたは成功しますが、それは機能しますが、それでもまだひどいので、もう一度やり直します。そして、新しい機能を追加すると、ようやくクールになりますが、突然、最初に台無しにした基本的な概念があることに気づきます。あなたはそうもう一度やり直します ...
私にとって非常に教育的なようです。
先に進んでください(そしてリンクを私たちと共有してください)。
「短い」のように小さい
しかし、再び、私はあなたが小さく始めることを勧めます。多くのコードと時間がかかると人々が言うのを恐れないでください。必ずしも、複雑な言語を目指していない場合。アラン・ケイや他の
ゼロックスPARCの技術者は、容疑者の初期のバージョンが開発
のSmalltalkを 1枚の用紙に収まる(読み簡潔さのための目標として、:雷のディーラーゼロックスPARCの歴史についての詳細は、PARCが)。(読みやすさを犠牲にしない限り)良い、教育的で、制約のあるアプローチのようです。
「制約」のように小さい
高度な型システム、高次関数、42の異なるパラダイムの組み合わせをすぐにサポートする必要はありません。それは単に数式言語かもしれません。
他人の知識を再利用(および覗き見)する
また、言語をゼロから作成するために使用されるツールを確認することもできます。自分ですべてを再実装することもできますが、たとえば既存のレクサーやパーサージェネレーターを調べる価値があるかもしれません。
そして、明らかに、コンパイラの構築全般を読んでみたいと思うかもしれません。
さて、質問を「あなたの時間を最も生産的に使用するでしょうか?」それはまったく別の問題になります:)
あなたが取り組むことができる他のたくさんの学習プロジェクトがあります、そして、それはあなたのスキルを同等によく訓練し、紹介します。何を目指したいかによります。