Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Hi, it's Sonny from Codecademy. Super awesome to see that this made it to the front page of HN. Here are a few questions that didn't quite make it to the original Codecademy blog post (written for our learners):

---

What’s your perfect Saturday?

Have a slow breakfast, do a bit of work – maybe writing. Maybe visit the grandchildren. Run a few miles. Eat a good dinner out with friends. Settle in for the evening with a good book.

---

How was the 2019 C++ Standards meeting in Germany?

It was a rather good meeting. The venue was great and we voted out a “Committee Draft” for review by the national standards bodies. There is now a feature freeze.

In February 2020, we’ll have the final vote C++20. It was a lot of work and there were 220 attendees – a new record.

C++ is going to be great!

---

What are some of the C++20 updates that you are especially excited about?

- Modules – to improve code hygiene and significantly speed up compilation.

- Concepts – to simplify generic programming by allowing precise specification of a template’s requirements on its arguments.

- Ranges – to finally be able to write sort(v) rather than sort(v.begin(), v.end()), to get more general sequences, and more flexibility and better error messages through the use of concepts.

- Coroutines – to get simpler and faster generators and pipelines, simplifying asynchronous programming.

- Dates – being able to efficiently and elegantly manipulate calendars; e.g., weekday{August/1/20/2019}==Thursday.

- jthreads and stop tokens – threads that joins on scope exit (doing proper RAII) and a mechanism for terminating them if their result is no longer needed.

These changes – and many smaller ones supporting them – are major in the sense that they will fundamentally change the way we program and think about our designs.

C++20 will be as big an improvement over C++11 as C++11 was over C++98. It will change the way we think about writing our code. I said “C++11 feels like a new language.” I will be able to say the same about C++20.

Our code will become smaller, simpler, run faster, and compile faster.

---

What newer languages or language paradigms are exciting to you?

I don’t easily get excited and the field of languages doesn’t really develop all that fast when you keep an eye on it.

Most changes are incremental and re-emerge repeatedly in different languages with minor differences. I think the word “paradigm” is overused and misused. If it means any more than “my latest bright new idea”, we don’t see a new paradigm every decade. Maybe object-oriented programming, generic programming, functional programming, and machine learning. That took 50+ years.

I tend to look for techniques that can be widely used. Over the last decade or so, my main work has focused on generic programming and compile-time evaluation. Maybe this will feed into a static reflection mechanism for C++ over the next few years. I like the idea of functional-programming-style pattern matching and did a bit of research on that in the previous decade.



This answer makes me excited for C++20 too. I'm not currently using C++ for any projects; I might have to make one up.




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

Search: