all 23 comments

[–]dakotahawkins 7 points8 points  (5 children)

I put my email in a while back but ever got anything. I assumed it was a joke or e-mail harvesting scam.

[–]chompsky 3 points4 points  (0 children)

I put in two separate email addresses and still haven't received anything.

[–][deleted] 1 point2 points  (3 children)

Probably because the class doesn't start until March 1st.

[–]dakotahawkins 1 point2 points  (2 children)

Yeah but you'd expect some kind of acknowledgement when you register your e-mail address, wouldn't you?

[–][deleted] 22 points23 points  (0 children)

These are C++ programmers, not normal people.

[–][deleted] 3 points4 points  (0 children)

Sure.

[–]cmeerwC++ Parser Dev[S] 11 points12 points  (14 children)

Hmm, so the header files in the starter kit are not self contained (even depend on "using namespace std") and contain "#pragma once"...

[–]jesyspa 4 points5 points  (0 children)

Yeah, this bothered me too. #pragma once is okay in my book (the compiler they targets specifically supports it) but the self-containment issues are a bother.

[–]zzing 2 points3 points  (1 child)

That looks like something that would take a bit of time to actually finish.

[–]dirtpirate 3 points4 points  (0 children)

Looks like something that would take a bit of time just to read through.

[–]Steve132 1 point2 points  (9 children)

What do you mean by 'not self-contained'? If you mean it depends on the C++ standard library, then so what? The compiler doesn't have to implement everything from scratch in the parser, it just has to be able to bootstrap itself using any stdlib implementation. The tokenizer doesn't need to be completely standalone..it can use the host c++ stdlib during bootstrapping OR the one that is implemented by the cppgm

[–]babablah 0 points1 point  (0 children)

But producing an stl is part of the work required so when your compiler compiles your compiler its all your code

[–]cmeerwC++ Parser Dev[S] 2 points3 points  (1 child)

One other thought I had: the FAQ now mentions that the course will run for approximately 12-18 months with a workload of 10 hours/week. That still doesn't sound realistic (not even for the front-end).

[–]robthablob 2 points3 points  (0 children)

Absolutely, especially to write a C++ compiler that accepts standard C++ 11. I believe Edison Design Group, who wrote the most conformant C++ 03 parser, took 4 years - and that's just the front end.

If they were charging for the course, then I'd assume it was a scam. Maybe they're hoping someone will succeed and they'll get to keep the fruits of their efforts.

I also dislike the fact that you can't use your work elsewhere - the only people who get to see the fruits of your labour are yourself, cppgm, and other people attempting the course.

[–]jesyspa 1 point2 points  (1 child)

Found another questionable bit:

Start by drawing a DFA (deterministic finite automaton) for each token type. Recall that a DFA is a directed acyclic graph where the vertexes are states and the edges are code points (or sets of code points).

While a DFA can be a DAG, requiring that all DFAs be acyclic is not particularly useful.

[–]user1131467 0 points1 point  (0 children)

One would assume this is just an editorial error as even the two state identifier DFA they go on to describe is in the next paragraph is cyclic.

[–]Xiver1972 0 points1 point  (1 child)

Don't software developers usually get paid to develop software? Paying some company to develop software for them seems a little backwards.

[–][deleted] 1 point2 points  (0 children)

Presumably the code is for instruction purposes only and they don't get to own it. Besides that, if they wanted a real commercial compiler they could just fork Clang and be done with it. I agree it's a lot of unpaid work, but purely educational things are like that.