6 ms·
C++ Grandmaster Certification Programming Assignment 1
- victorhn 14y agoLast 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.
- jetti 14y agoSame. 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.
- marshray 14y agoWrite 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?
- defen 14y agoI 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.
- agwa 14y agoPrevious discussion here: http://news.ycombinator.com/item?id=5148895 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 http://www.cppgm.org/news.html. This is surreal.
- CJefferson 14y agoI 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.
- bsaul 14y agoOk, 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...
- xymostech 14y agoThe 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.
- esrauch 14y agoI think he means the full course goal, given that the first assignment assignment is not the hard part.
- CJefferson 14y agoA 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.
- thwest 14y agoThe 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.
- niggler 14y agoThere'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).
- tompko 14y agoThey 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.
- CJefferson 14y agoThere 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).
- thwest 14y agoNo 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.
- xedarius 14y agoAfter 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.
- esrauch 14y agoI seriously doubt anyone is deciding between attempting this class and getting an MSc
- EliRivers 14y agoOn 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.
- likeclockwork 14y agoIt 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.
- stcredzero 14y agoThe fact that a language could meaningfully have a "Grandmaster Certification" should be a point of embarrassment, not pride.
- marshray 14y agoWhat are some languages in which it would not be possible to demonstrate a great deal of mastery in?
- defen 14y agoI 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
- marshray 14y agoYeah 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.
- stiff 14y agoMan 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.
- agwa 14y agoNormally 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.
- stiff 14y agoThere 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.
- jbp 14y agoLook at http://www.cppgm.org/news.html http://www.cppgm.org/news.html: 2013-02-22: 10,000 enrolled. Programming Assignment 1 Posted. Enrollments Extended: They also have a time machine.