0

I'm actually a programmer on a few languages, but I realized I really didn't know much how the computer works on a deeper level.

So I thought a good idea to discover and learn how does it work was to create a basic programming language. I come here to ask you if this is a good idea or if there's a better way or learning (To be honest I dont like reading thousands of pages, I'm a more practical guy, learning on the road)

Anything you can tell me is worth it for me, from advices to books

closed as too broad by Telastyn, whatsisname, Bryan Oakley, Thomas Owens Dec 31 '16 at 1:01

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    "To be honest I dont like reading thousands of pages, I'm a more practical guy, learning on the road.": Well, it might be useful to do some reading before starting to create your own programming language. More generally, it is important to find a good balance between theory and practice. "He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may cast." - Leonardo da Vinci – Giorgio Dec 30 '16 at 22:30
  • buy a logic chip and program it in assembler – Ewan Dec 30 '16 at 22:32
  • I wrote a compiler during my education. It took me a whole year for everything. I mean something like 8x7 or more. Of course you can save that time and swallow some pills. – qwerty_so Dec 30 '16 at 22:33
  • Different people learn in different ways. How can we possibly know what is the best way for _ you_ to learn? – Bryan Oakley Dec 31 '16 at 0:06
  • 1
    Try this its good for a beginner. ruslanspivak.com/lsbasi-part1 – Krishnadas PC Dec 31 '16 at 3:04
3

The way you learn how the computer works at a deeper level is by learning a low-level language like C or, better yet, assembly language. Making your own programming language teaches you about language abstractions, not the inner workings of a computer (unless you use C or assembly language to implement your language).

If you do choose to implement a programming language, I suggest you try implementing a small LISP. LISP is very easy to parse, and will allow you to write an interpreter or compiler quickly, without getting bogged down in detail. Bonus points for writing your LISP in C.

If you're still unconvinced...

Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot. -- Eric Raymond

Further Reading
Build Your Own Lisp
Minimal Implementations of LISP
Lisp Interpreter in 116 lines of Javascript
McCarthy's Original Lisp

1

Try this,

It is advertised as

Want to create a programming language, but don't feel like going through one of those expensive and boring 1000-page books? Well, you're not alone ...

Haven't read it but apparently the last person who read that book created coffeescript, which is one of the top 20 programming languages at this time.

Also, take a look at LISP and Smalltalk.