Re: Learning to compile

Top Page
Message as email
+ (text/plain)
+ (text/html)
+ (text/plain)
Delete this message
Reply to this message
Author: Andrew McRobb
To: Main PLUG discussion list
Subject: Re: Learning to compile
P.S If anything I would recommend learning networking... If I was going to
say do something practical, assuming your networking knowledge is somewhat

1. Learn to write and run a simple HTTP server.
2. Install it on a AWS server or get a Digital Ocean droplet.
3. Learn to create firewall permissions.
4. Run A/B tests. How well did it perform? What can you do to make it
better from a networking/software prospective?
5. Go back to the drawing board and repeat.

Once I first got into programming, I barely knew networking. This was the
thing that bit me in the butt more than often, and at the time getting a
server you can run your own software wasn't cheap. And a lot of
software/programs these days require you to know how to set stuff like this
up, since it's in way more demand. Node.js, Erlang, Go to name a few that
are very server/networking oriented languages.

Andrew McRobb
Full-time Software Developer
Part-time Freelancer

On Wed, Jan 24, 2018 at 11:47 AM, David Schwartz <
> wrote:

> What’s your top priority?
> Learning how to write compilers?
> Or learning something that will lead to gainful employment, growth, and
> income?
> There’s very little call for people who write compilers today. As an
> academic exercise, that’s fine. Just don’t expect it to lead to employment
> any time soon.
> Also, writing a compiler in a functional language is ill-advised.
> Compilers need to be FAST! That means using C or some other compiled
> language.
> This is a relatively mature field as far as tools go. Lex and Yacc have
> been around since the 80s, and they’re still the go-to tools for anybody
> who wants to build a lexer and parser. There have been some “better
> mousetraps” over the years, but the companies who put them out have
> disappeared since the competition for compilers has dried up.
> Microsoft, Oracle/Sun (Java), and Apple (Objective-C, Swift) pretty much
> dominate the market for “captive” compilers.
> There are also the open-source ones that you’ll find on every Linux
> machine: php, perl, gnu c/c++, etc.
> Learn to program in something people are paying for, like R.
> C# and Java programmers seem to be a dime a dozen as the market is flooded
> with foreigners.
> Depending on your organizational skills, you might also want to look into
> DevOps. It’s a very broad subject and you’ll work with several different
> languages and tools, some with very strange names like chef and puppet.
> DevOps is not an area you’re likely to find any specific classes in,
> although it’s a growing field, especially in terms of managing things in
> the cloud.
> But there are several good books on the topic. Search Amazon to see what’s
> there.
> -David Schwartz
> On Jan 23, 2018, at 6:39 PM, trent shipley <>
> wrote:
> Since my other thread degenerated into a “school bad, school good” flame
> war, I thought I would try again.
> I have little academic OR practical background with programming.
> I want to write a couple of compilers.
> The compilers are for functional languages.
> I would PREFER to write the compilers with functional languages (1, a
> Haskell to JVM compiler mostly in Haskell with with some Java, 2,
> Funcalc--a pedagogical spreadsheet in Kotlin.)
> I'm pretty good at learning computer languages, and so far teaching myself
> Haskell has failed to produce insurmountable obstacles.
> But programming compilers is supposed to be HARD, and very much indebted
> to theory (as in, things they DO teach in school).
> I have no money for school, (and whether school produces better coders or
> not, I LIKE school, but that's irrelevant due to the money problem.)
> Is it possible to teach yourself to write compilers in an imperative
> language? If so how? Having learned to write compilers with imperative
> languages, how do you convert to writing compilers in functional languages
> (for example, given Haskell [thought by many to be hard], writing
> lexer-parser-compilers is considered easy)?
> Regards,
> Trent. --------------------------------------------------- PLUG-discuss
> mailing list – To subscribe, unsubscribe,
> or to change your mail settings:
> mailman/listinfo/plug-discuss
> <>
> ---------------------------------------------------
> PLUG-discuss mailing list -
> To subscribe, unsubscribe, or to change your mail settings:

PLUG-discuss mailing list -
To subscribe, unsubscribe, or to change your mail settings: