Isn't it better to have more powerful single thread performance for developing in single threaded languages? Looks like a step backwards than? Double the core count and more l3 cache sounds good, even though they crippled the base clock speed.
They lowered the base clock speed, yes. That's the minimum clock you can count on, assuming a correctly designed laptop, even if all four cores are going flat out.
In practice, the clock is set to limit power usage and thermal load. A better-cooled system will automatically run faster (not really applicable to laptops), and if you're only using a single thread then you'll see the same clock rate you did before, or a bit above.
Cooling limitations are extremely applicable to laptops! You can easily have two different machines with identical CPUs and 10%+ performance difference because one has a proper cooling system while the other doesn't. Check the notebookcheck rankings if you want to see some specific numbers.
"Our stress test with the tools Prime95 and FurMark (at least one hour) on mains is not a big challenge for the ThinkPad T470. Thanks to the increased TDP limit, both components can maintain their maximum respective clocks over the course of the review. [...] The two CPU cores maintain the full Turbo Boost at 3.1 GHz and the graphics card 998 MHz."
Also, this will only further increase the value of maintainable machines. A machine with good and accessible/serviceable cooling means that redoing the thermal paste after 3-4 years will be both feasible and helpful.
At this time I think there shouldn't be single threaded languages (I'm not sure which ones you're thinking about since it's mostly about libs and OS primitives). Even Python is multithreaded (even if the GIL makes it better to just use multiprocess), I'd say if you're after 10% improvements - the level those kind of CPU upgrades can offer on single thread, you'd better change languages if you're stuck to single thread. If your problem is difficult to parallelize, well that's another story.
Even if the language supports threads, that doesn't mean your application magically parallel. No language will give you free parallelism. Besides, most software you run was written by somebody else.
sure, that was my point about the problem being parallel or not. Of course the program make use of it and be multithreaded and cpu-bound or not. That was not the point. The OP talked about "developing in multi-threaded languages", which is 1) about new developments 2) about language being multithreaded or not. I believe we both say it shouldn't be a problem of language as in 2017.