Hacker News new | past | comments | ask | show | jobs | submit login
C++ Grandmaster Certification Programming Assignment 1 (cppgm.org)
29 points by Suncho on Feb 20, 2013 | hide | past | web | favorite | 27 comments

Man up HN, whatever they will accomplish in the end, the content is pretty great so far, no need to bitch and whine. Sad to see most of the derogatory comments here, when someone out there is actually doing a really cool project.

Normally I'd agree with you because HN can be unduly harsh to people undertaking ambitious projects. However, in this case the people behind this (CPPGM) are remaining completely anonymous. When you do something as far out as they're doing, you can't expect people to take you seriously if you remain anonymous. They need to put their reputation on the line and give us some reason to trust them that they're not pranksters, recruiters, and/or delusional.

There was a previous submission with the initial announcement, I would understand the criticism then, but now they actually shipped something, it's really interesting, and not a single person commented on anything of merit. I remember my struggles when trying to implement a compiler, and let me tell you you can already learn some very useful things by studying the git repo they made available, that would be rather hard to learn otherwise.

Previous discussion here: http://news.ycombinator.com/item?id=5148895 (where this was trashed pretty thoroughly).

A few weeks ago the site said enrollments would close on February 15. On Feb 15 it said they would close "Very soon now." Now they close on March 15. That should indicate how few people are really falling for this.

Edit: hang on - they have a press release claiming they got 10,000 enrollments and enrollment has been extended due to "popular demand": http://www.cppgm.org/news.html. This is surreal.

I am positive those 10,000 fall into two groups:

1) People who understand this is impossible, and are interested to see what they are actually going to do.

2) People who don't realise this is impossible.

Ok, you made me honestly curious. What makes you think writing a tokenizer in C++ is impossible ? I didn't see any deadline, but is it because of time ? They even provide some algorithmic hints on how to do it...

The project aims to build not just the tokenizer, but a complete compiler and standard library. None of GCC, Clang, Microsoft or Intel can provide a complete, bug free C++11 implementation. If you hang out in freenode's ##c++, you'll see people finding new corner cases every day. It's reasonable to consider this project impossible for an individual.

A tokenizer is very reasonable. I would even have believed a complete C compiler, although that is a huge undertaking. But C++ is, as far as I am aware, the hardest language to compile in popular use.

The tokenizer is the easy part. The overall goal of this, writing a C++11 compliant compiler + associated standard libraries is going to be near impossible.

I think he means the full course goal, given that the first assignment assignment is not the hard part.

Write a C++ application called pptoken that accepts a C++ Source File on standard input, executes phases 1, 2 and 3 of the Phases of Translation (defined below), and describes the resulting sequence of preprocessing-tokens to standard output in the specified format.

In all seriousness, is this a prank?

I had the same reaction...seems like an elaborate troll to point out the vast complexity of C++. This particular assignment doesn't seem "that hard", but this is probably the easiest part of writing a C++ compiler/stdlib.

Last time i remember this on HN i "enrolled", but no message nor login information were sent to my email.

I felt stupid for a while because i thought this was just a facade to obtain the data for spam/recruiting purposes.

Same. I was super excited but then when I saw that no email or anything was sent I felt like a complete fool. I'd still be super excited if this was even halfway legit.

Look at http://www.cppgm.org/news.html:

2013-02-22: 10,000 enrolled. Programming Assignment 1 Posted. Enrollments Extended:

They also have a time machine.

It looks like the assignment is just to write a tokenizer. That's not THAT bad.

I wrote one years ago, not for C++11 though.

There's a nonzero chance that this is real and that they actually have a roadmap for completion.

That said, I'm very surprised they don't have an automated system like the USACO submission system (where you upload code and they compile and run it against input data).

They say part way down the page "We will provide an interface that will allow you to submit your solution for grading closer to the due date. Instructions will be made available on the main course site.". Although that's the only reference to a due date that I can find.

There is zero chance anyone will actually complete this in a reasonable time-frame (except for those small number of people who have already done it, and I suspect even they would fail to accomplish it).

No compiler vendor (gcc, clang, msvc, intelcc) has produced a bug-free implementation of C++11 so I would contend that no one has already done it.

The fact that a language could meaningfully have a "Grandmaster Certification" should be a point of embarrassment, not pride.

What are some languages in which it would not be possible to demonstrate a great deal of mastery in?

I believe it's a comment about the complexity of the language, not the level of skill achievable using the language. Consider this (many levels left out for brevity):

A first-year CS student could implement a working LISP or assembler as part of their coursework

A motivated individual or small group could implement Ruby or Python in a few years in their free time.

AFAIK no organization has yet implemented C++11

Yeah I figured he was taking a cheap shot at C++ which is why I asked him to clarify what he meant.

> AFAIK no organization has yet implemented C++11

Get back to me when Ruby actually has a specification.

Python's reference documentation doesn't suck, but neither is it a formal language standard.

Lisp has an ISO standard, but it's way beyond what a first-year CS student could fully implement.

After I spend weeks creating this nonsense compiler what am I going to do with my Grand Master Certification? I've asked around my office and no-one here either recognizes it nor would they hire anyone based on them having it.

Just do a an MSc in computer science instead, if you haven't already.

I seriously doubt anyone is deciding between attempting this class and getting an MSc

On the other hand, if I asked an applicant what they did to get it and the applicant demonstrated that they'd single-handedly implemented a complete, working C++ 11 compiler, I'd hire them on the spot.

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