Re: Learning to compile

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
+ (text/plain)
Delete this message
Reply to this message
Author: David Schwartz
Date:  
To: Main PLUG discussion list
Subject: Re: Learning to compile
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:
> https://u2206659.ct.sendgrid.net/wf/click?upn=5DvWGaZUY8Sh5aRLWfQTKYiRLVzunonVk948p8WIzMe-2FXlJ9Cta8w8U9xoku9LrUSHNMJbSd3ZEwH-2BqnW2UHlA-3D-3D_6lpMB7VLnN-2Fj9-2FEErg8-2F-2BMBpb5QxlByTgv2M3fbWD9ebvC-2BWrN3h7jImK8EVWYBeBVHMx0wN6b-2BJcb5U-2FoKKAzeIOevgtlsqG1BN39iUGZHyBB7VmdD6K9HoJgRgmpXCgCPZGstKng0Rft5uC7Uu4HleWObAoV9NXJS3yI1aQVNWIXC48BAKzrwE3HxIXnRp4d6q2q7hcKK-2BrQdcTrROS1MAXebNDMdW25eUOvQ-2Fe4c-3D


---------------------------------------------------
PLUG-discuss mailing list -
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss