RE: Arithmetic Expression Compiler
October 5, 2020 at 9:12 pm
(This post was last modified: October 5, 2020 at 9:50 pm by HappySkeptic.)
(October 5, 2020 at 5:01 pm)FlatAssembler Wrote:HappySkeptic Wrote:By all means, learn and have fun with a hobby project, but that is almost certainly not going to make you much money.Well, as far as I understand it, if I don't have hobby projects, no employer will employ me (whether or not I have a diploma). Hobby projects are a proof you know how to actually program, rather than just the theory.
This is true. If this is your only proof that you know how to program, by all means create hobby programs that you can show to an employer (through github or somewhere that they can get the source code).
In the long past I've certainly used code samples when hiring people (though not recently).
With code samples, I try to look at how someone has solved a problem, how clean and maintainable the code is, and how elegantly they have used design patterns and data structures.
If you don't know what they are looking for, your hobby projects could sink you rather than help. I would suggest you have professional friends look over your work and give you pointers on what you need to learn (as well as what languages to be familiar with. You can't just know one)
I also like someone who regularly uses a unit-testing framework. It is a real pain to get a new hire that never writes a unit-test, and just finds bugs via running the debugger.
(January 3, 2019 at 12:35 pm)FlatAssembler Wrote: BTW, let me be clear, I am not planning to continue developing it. I've made it just in case somebody asks me "Do you know anything about how the compilers work?", that I can shut them up by saying "Sure, I've made one! From scratch, in JavaScript. For my own simple programming language that compiles into Assembly.".
Compiler design is a complicated thing, and a toy language with unoptimized output may not impress.
The most popular C compiler right now is CLang, which is a front-end for LLVM. Now, if you wanted to do something cool, try creating your own compiler that is a front-end for LLVM. Then, with the right tool chain, the LLVM intermediate bytecodes can be compiled to any platform.
That would show that you are able to understand a complicated bit of existing technology, and interface with it. That is half the battle of being a programmer in the real world. There is always some new bit of technology that you need to learn quickly, and be able to integrate with.