
Ask HN: I got rejected from Cornell. I want to study PL theory; what to do? - TheAsprngHacker
I just got rejected from Cornell.<p>Throughout my teenage years, I have been in love with PL theory&#x2F;type theory. I naturally became familiar with the work of professors. I decided that when I grew up, I wanted to be just like them and invent new, novel type systems and contribute to the field. My goal was to go to a good college that was strong in PL theory, where I could meet the professors that I look up to and do research.<p>My Cornell rejection is a huge wake-up call for me. I had deluded myself into imagining an acceptance. There are only a few schools in the US that do PL theory, and almost all of them are selective (Cornell, UPenn, CMU, etc). There are some less selective schools that do PL research, such as Northeastern, but they may not be ideal in other aspects (e.g. not being strong in math). Cornell is supposed to be the &quot;easiest&quot; of the Ivies. If I couldn&#x27;t get into Cornell, there&#x27;s no guarantee that I&#x27;ll get into my other choices.<p>Around me, my peers are celebrating getting into Harvard, Dartmouth, Stanford, etc. I don&#x27;t know what I did wrong. My GPA and standardized test scores are high. Were my essays bad? Other people just don&#x27;t understand me. If someone wants to study linguistics or economics, people know what that means. But nobody knows what &quot;type theory&quot; is, and &quot;computer science&quot; and &quot;math&quot; are both big-tent labels that encompass many things. The people who helped me edit my essays didn&#x27;t really understand what I was talking about, either. Most people don&#x27;t truly know what math is, have never heard of abstract algebra, topology, and category theory, and think that math is just number crunching and don&#x27;t know what&#x27;s past calculus. The admissions officers have probably never written a line of code in their lives; how could I explain to them the beauty of the Curry-Howard correspondence and constructive math?<p>My weak point is my lack of extracurriculars. I haven&#x27;t done that many activities or won that many awards because I preferred to spend the most of my time learning math at home. These past years, I&#x27;ve been working on my own ML dialect, which features HM type inference, ADTs and pattern matching, etc. I wrote about this in my essay and explained how I wanted to do PL research at Cornell. But as my mom explained, the admissions people don&#x27;t get this stuff. The work I&#x27;ve done might be impressive, but I don&#x27;t have any way (e.g. awards or attention) to quantify that to non-programmers. I haven&#x27;t publicized my language much because it isn&#x27;t &quot;done&quot; yet, so it doesn&#x27;t have users. My downfall was expecting that my language would be an impressive activity. My mom explained that a professor might be impressed, but to a layperson, this stuff isn&#x27;t as impressive as say, a robotics competition, even if my language is actually more technical. If only I could talk to a professor instead; they would surely understand!<p>I&#x27;m scared about my future because the purpose of my life had been to pursue type theory, which requires me to get into a good college as an undergrad, then get into a good grad school. If this doesn&#x27;t pan out, I don&#x27;t know what I&#x27;ll do with my life. I won&#x27;t be able to stand four years at any random college, where none of the professors know PL theory and there are no PL courses. If I don&#x27;t get into one of my top choices, I don&#x27;t know what will be waiting for me once high school ends.<p>What should I do to make sure that I get into a good college? How would I explain what I want to study to a college admissions officer?<p>If I don&#x27;t get into a college that does PL research, how can I get involved in research on my own?<p>And I need a contingency plan if my plans as a PL theorist don&#x27;t work out. How can I find something else to devote my life to instead?
======
engineerblaze
This reminds me of when I was your age and bummed about not getting into a
great school. Then, when I went to a state school, I learned: there's plenty
of programs at less selective schools which do great work. For example,
Santosh Nagarakatte at Rutgers, who has a PhD from Upenn and has had PhD
students get bronze and gold awards at PLDI for a couple years, and he would
be perfect to guide you in your PL Theory journey.

Your undegrad is less important than you think, it is like driving a Civic vs
a Ferrari, one is more sexy and might get you there a bit faster, but both
will get you there. Just do well in school, make relationships with
professors, go to conferences, and keep learning!!! and consider this: there's
more qualified people for these great schools than they can expect so that's
why a lot of these public schools have an overflow of those smart people who
go on to do great work and end up in the same position as the people who go to
these selective schools. So, enjoy your undergrad, don't put other people down
for "not knowing math", and re-calibrate. For your goals, grad school is what
you really want to optimize for.

------
tjr
I would suggest there are some good language research programs at some other
schools that might not be quite as selective. Might be worth applying to, for
example, Brown, Northeastern, Indiana University.

If you were to follow a typical bachelor's degree curriculum, you would have
to take a bunch of other courses, both CS and non-CS, that have nothing to do
with programming languages. So regardless of what school you go to, you might
not end up with a lot of PL-specific coursework as an undergraduate. Thus,
even a generally good school _without_ a PL research group could still be
worth considering, as it may still be a good stepping stone into a more
desirable graduate program.

You might even find that you enjoy some other branch of CS just as much as
languages and type theory!

------
sharemywin
You need to find the top 10 people in your field send them your admissions
info. Explain your situation and ask for advice. On where to go and how to get
into the field. I would have to assume one of them will be impressed and help
you get in. And you'll need those relationships anyway.

A lot of places all so have undergrad research projects classes. which would
allow you to put some more time in on what you interested in.

------
TheAsprngHacker
Hmm, why isn't this showing up on Ask HN tab? Someone else submitted an Ask HN
right after mine, and that one's showing up on the Ask HN tab.

------
PaulHoule
At the undergrad level it doesn't matter.

------
subject4056
It's a little hard to tell from your description, but I will write a response
assuming you're interested in studying PL theory as a career, and not just as
an undergraduate. If you're interested in studying this area only as part of
an undergraduate education, it really doesn't matter where you go since the
content of your studies will be unrelated to your career, and you can study
w/e you want on your own with very little impact on your future.

If you want a career in academia, DON'T pursue a bachelors from an institution
that is at the top of the field you're aiming for. The most important thing
you will do during your undergrad is making connections. This can be done more
easily at middle of the road schools (where there's less competition and if
you look good enough on paper better often better financial support) than at
larger, more prestigious ones.

First, you will need close relationships with one or a few professors in the
field who can advise (and recommend you) in applying for grad schools; these
connections are critical. A useful approach can be to look for
conferences/journals where "the professors [you] look up to" present their
work and identify other authors (or coauthors) from less-well-known
institutions, get in touch with them, and apply to the relevant programs where
they work. If that doesn't pan out, go somewhere that (A) you've heard of (B)
has a CS or good math program and (C) you beat the average admit stats. A big
fish (like, class rank < 10th) in a small pond with good references has a lot
better shot at being picked up than an anonymous 80th percentile sea bass.

Once you're in school, do good work, but your job is still to make
connections. Cultivate relationships with the relevant professors in your
program. Preferably have an advisor/mentor with whom you meet at least couple
of times a month. Attend conferences, and once you've got a couple of years of
study under your belt see if you can present at them (in many fields there are
undergraduate conferences just for this purpose. probably no one with a name
you recognize will attend these, but it's good to show you can defend your
work to a sophisticated audience). As you get closer to applying to grad
school you will want to identify potential advisors (more important than the
school), and get in touch with them. It sounds like you've already got some
people in mind, but it would be good to develop an understanding of the
current state of the field and who's actively moving it forward (former
students of Big Name professors are a good source of candidates).

As you observed, it's hard to convey to laypeople your interests and how your
work relates to them. It is often not much easier with people who know what
you're talking about. Good work is necessary but not sufficient; passion
probably isn't even necessary but might help you mitigate the grind. To
succeed you need to play the game better than everyone who applies to grad
school but doesn't end up with a tenured position.

Alternatively, eschew college, go to lambda school or something and a year
from now get paid six figures to sling javascript. Not great advice, but
neither is grad school.

