Live data from Hacker News

I told my 2nd year CS students to create a programming language

dovyski.com

1–10 of 67 posts

Re: I told my 2nd year CS students to create a programming language

#2
Cool!

It's interesting that you want them to make a procedural language, although if they started with C, it makes some sense.

I wonder if you could broaden the experiment slightly by relaxing your constraints and saying they either need to allow reassignment of variables, or else support lambdas, and in exchange they can assume immutability.

Re: I told my 2nd year CS students to create a programming language

#4

I wish I had a professor like you. When I asked why there was no compiler class, the answer I was given was: "compilers are a solved problem; there's no point in teaching them anymore." Maybe it's just my school though.

Which school do you go to?

Compilers seems like a pretty standard CS course at most schools.

Re: I told my 2nd year CS students to create a programming language

#5

I wish I had a professor like you. When I asked why there was no compiler class, the answer I was given was: "compilers are a solved problem; there's no point in teaching them anymore." Maybe it's just my school though.

Pretty sure that's just your school.

In the article, he mentions that the students don't get to compilers till 4th year. I find that a little strange. Some elementary understanding of how a high-level programming language translates to executable code is quite useful in other courses in a standard CS curriculum. At my school, in 2nd year we write a compiler for a tiny subset of C++ to MIPS assembly, and in 4th year you write a compiler for Java with a great deal of optimization.

Re: I told my 2nd year CS students to create a programming language

#6
post #2

Cool! It's interesting that you want them to make a procedural language, although if they started with C, it makes some sense. I wonder if you could broaden the experiment slightly by relaxing your constraints and saying they either need to allow reassignment of variables, or else support lambdas, and in exchange they can assume immutability.

Thanks!

I think a procedural language makes more sense for them at this time. They are just learning OOP, so it would be hard to implement an interpreter for that.

About your suggestion, that's cool. I think most of them are already assuming immutability and using floats/doubles as the type of all variables.

Re: I told my 2nd year CS students to create a programming language

#8
post #5

I wish I had a professor like you. When I asked why there was no compiler class, the answer I was given was: "compilers are a solved problem; there's no point in teaching them anymore." Maybe it's just my school though.

Pretty sure that's just your school. In the article, he mentions that the students don't get to compilers till 4th year. I find that a little strange. Some elementary understanding of how a high-level programming language translates to executable code is quite useful in other courses in a standard CS curriculum. At my school, in 2nd year we write a compiler for a tiny subset of C++ to MIPS assembly, and in 4th year y…

They get some basic understanding about the compilation process at some classes through the first two years.

When I attended my CS course, in the 3rd years I got some understanding about programming language structure and learned about compilers at the end. It's cool that you can learn about that earlier.

Re: I told my 2nd year CS students to create a programming language

#9
post #2

Cool! It's interesting that you want them to make a procedural language, although if they started with C, it makes some sense. I wonder if you could broaden the experiment slightly by relaxing your constraints and saying they either need to allow reassignment of variables, or else support lambdas, and in exchange they can assume immutability.

[deleted]

Re: I told my 2nd year CS students to create a programming language

#10
post #4

I wish I had a professor like you. When I asked why there was no compiler class, the answer I was given was: "compilers are a solved problem; there's no point in teaching them anymore." Maybe it's just my school though.

Which school do you go to? Compilers seems like a pretty standard CS course at most schools.

How the PLsy courses are split varies a lot. Where I went (Harvey Mudd), compilers was optional and not taken by most students, but there were two required Programming Languages courses, which involved parsing, ASTs, interpreters, tree transformations, and some other things you might otherwise find in a compilers course, but with less of a low-level flavor (no code-gen) and more of a PLs flavor.
Post reply on HN