Hacker Newsnew | past | comments | ask | show | jobs | submit | CureYooz's commentslogin

Yes, but one does not need university to do so.


But it helps.

One of my regrets is life is I never took a compiler class, I work at a university and can take a free class once a semester so I may rectify it this fall.

Still I taught myself a lot of that in the school of hard knocks.

I learned to read at three and got crazy well read checking out ten books a week from the public library as a kid. (Started my heavy backpack training!)

A lot of people fall for charlatans like L. Ron Hubbard and Eliezer Yudkowsky because they aren’t well read and don’t have anything to compare Dianetics and Sequences to.


What sort of compiler class were you looking for?

You can work through a book that uses a more modern approach like Siek's Essentials of Compilation which comes in Racket [0] and Python flavors.

Teach Yourself CS also has some more classic recommendations [1].

You may also be interested in using a language from the ML family [2] to implement a compiler [3].

Cornell also has a self-paced graduate level course [4].

This page also has a bunch of recs [5].

[0] https://mitpress.mit.edu/9780262047760/essentials-of-compila...

[1] https://teachyourselfcs.com/#languages

[2] https://matt.might.net/articles/best-programming-languages/

[3] https://a.co/d/2EhiUDM

[4] https://news.ycombinator.com/item?id=39577878

[5] https://steshaw.org/plt/


How about an example that is actually readable and easy to follow?


Here, I will write one by hand right now:

  d IntegerMath : SomeInterface, SomeOtherInterface

    someProperty:I
    someOtherProperty:I-M

    referenceProperty:IntegerMath+R+N // nullable
    recursiveProperty:IntegerMath+N // error! needs +R

    f stuff(myObj: IntegerMath+M+R, newValue: I+M)
      newValue = 4 // modifies caller's reference
      myObj.someProperty = newValue // error, need newValue.c()
      myObj.someOtherProperty = 4 // error, immutable property

  IntegerMath.max = f(first:I, second:I):I
    r => first > second ? first : second

  IntegerMath.min = f(first:I, second:I):I => first < second ? first : second
    
  // let's use the class
  im = IntegerMath.n({someOtherProperty: 4}) // infers im:IntegerMath
  im.someProperty = 3
  im.stuff(im, someInteger) // modifies both
  result = Math.sort([1,2,3], IntegerMath.max) // infers result:[I]
  another = Math.sort(result, f(first:I, second:I):I => first > second ? first : second)

  // conditional code
  [1,2,3].x( f(k)
    k > 2
      ? console.log(k)
      : (
        result = k
        console.log(k-2)
      )
    // this is a closure but doesn't assign
    // anything to +R variables, so it's not +R itself
    // in Swift language, it's not "escaping"


You'are absolutely right!


Work in previous projects is a good estimation. But it's going to shorten interviewing part only in smaller companies. In corpos you most likely still end being interviewed the same way as anyone else.


I'm not a fan of leetcode interviews but I'm also not a fan of not being able to invert a binary tree. Programmers who are avoiding graph problems like a plague are programmers who are sawing off a branch they are sitting on. If you have no time to spend at least a month exploring graph problems then do not expect to have a multi decades career in programming.


I wonder if that failure of a politician is going to last until the end of his term.


I believe you say that as a figure of speech, like it would be incredible to him to last. I may be misinterpreting you. Yet...

I believe it's not so surprising he lasts until the end of his term. I don't mean to remove any blame on Trump, but this case, and many others, have more to do with people (ICE agents) having 'power' to do this kind of injustice on the basis of their own biases (racism.)

I wasn't around when Adolf won its elections, and his first year. But I assume it was similar on many regards. "They thought they were free".


With amount of nonsensical stuff he managed to do in last 7 months alone I would not be surprised if he forgets how to breath one night. Stuff like that happens.


Well, it seems like it's mostly "regular" folk who get respiratory issues or accidentally trip near open windows with poor safety standards.


If he turns blue one day it would be hard to react quickly. You know, that orange paint might not do him a favor in such situations.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: