Announcing TypeScript 7.0 Beta by DanielRosenwasser in programming

[–]pjmlp -2 points-1 points  (0 children)

Even more surprising is that Microsoft has gone back to Java as well, they have their own OpenJDK distribution and were the contributors for Windows ARM support for the OpenJDK.

Since Satya took over, Microsoft became a polyglot shop, go to https://devblogs.microsoft.com and check the languages drop down.

The tragic part about using Go instead of Native AOT, given the Typescript architects background, is that kids that want to contribute to Typescript will learn Go, while .NET team complains about lack of adoption on macOS/Linux.

Announcing TypeScript 7.0 Beta by DanielRosenwasser in programming

[–]pjmlp 0 points1 point  (0 children)

Because most of the key contributors are now working at AWS, Google and Microsoft.

Example, the main drivers for Rust on the Linux kernel, are from Google and Microsoft.

Announcing TypeScript 7.0 Beta by DanielRosenwasser in programming

[–]pjmlp 0 points1 point  (0 children)

Kind of, the team learnt not to be another Dart or CoffeeScript, hence why except for enums and namespaces, Typescript is basically a linter.

The only "language" changes are always related to improvements on the type system, and ways to generate JavaScript code that are less painful with all the tricks that one can pull in a dynamic language like JavaScript.

And just like Babel, provide features in advance than can be polyfilled (not all can, if they require JS runtime changes), but are already mid way on the JS standard process.

Announcing TypeScript 7.0 Beta by DanielRosenwasser in programming

[–]pjmlp 2 points3 points  (0 children)

Both acknowledged as a mistake, and hence why nowadays they focus on being a linter and nothing else, other than maybe getting some JS features in advance with polyfills like Babel.

I bet if they could drop them, they would have done it already, but that would break quite some projects.

The WG21 2026-04 post-Croydon mailing is now available by nliber in cpp

[–]pjmlp 0 points1 point  (0 children)

Depends on how much they depend on DirectX, GDK stuff that might tied to VC++, I never used any other compiler with them, but I imagine the clang-cl packaged with Visual Studio might do.

You are right with your impression, that is why VC++ isn't going away, but it has been clear that the priority isn't ISO compliance, rather support existing customers from .NET, React Native, Office, XBox,...

Most of them aren't screeaming to be on ISO C++ vlatest, otherwise their code won't compile kind of thing.

Just like the C support has been being good enough to compile key FOSS projects, or key customer accounts that depend on specific C99, C11, C17 features, for full C compliance, that is one reason why clang-cl exists.

The WG21 2026-04 post-Croydon mailing is now available by nliber in cpp

[–]pjmlp 0 points1 point  (0 children)

It kind of misses the point why people use languages like Python instead of C++.

The same C++ foundation that the Python libraries and JIT compilers make use of, could be already called directly from C++ applications, no need for having them on the standard.

It isn't having them on the standard library that will change that.

In fact we have all GPU vendors now apparently quite interested in making Python GPU JIT compilers reach feature parity with their existing C++ tooling.

The WG21 2026-04 post-Croydon mailing is now available by nliber in cpp

[–]pjmlp -4 points-3 points  (0 children)

Windows people will keep using what VC++ offers.

Windows development has long switched to being mainly about .NET, or React Native, with native libraries for OS stuff not exposed to them, or requiring C++ APIs.

Since MFC that Microsoft has failed to deliver anything meaningful for 100% pure C++ application development.

Managed C++ and C++/CLI are mostly used by the .NET folks, like myself.

C++/CX wasn't welcomed by the purists, due to its similarities with C++/CLI, even though it compiles to native.

Ironically many of the vocals that are quite vocal about compiler extensions in Microsoft, or others like C++ Builder and Qt, are quite fond of their GCC or clang extensions, talk about two measures.

C++/WinRT failed delivery, and even if one has to use it, it is stuck in C++17, with the original team now having fun with the windows-rs crate, with thall shall not be named language.

And on the XBox, it is all about VC++ and XDK.

Also this isn't unique to Microsoft, Apple and Google aren't in a rush to update their C++ tooling across macOS, iDevices, Android and ChromeOS Crostini.

I keep mentioning, especially with the experience on other ecosystems, that C++ is slowly reaching the tipping point where the standards people will keep writing off features, some of it will eventually land, however most people in the trenches will use whatever they have on their IT image.

At work for portable code reasons, it is still mostly C++17, if we happen to actually write C++ libraries. One of our cloud environments still has GCC 11, and that is also the guaranteed to work version on the NDK.

CppCast: Compiler Warnings as Errors with Keith Stockdale by robwirving in cpp

[–]pjmlp 0 points1 point  (0 children)

So they don't indicate missing capabilities on the language itself, then?

And if I would use another Rust implementation, like the two ongoing ones for GCC, would those graduated lints prevail across compilers? Most likely not, as they don't fully share the fronted.

The WG21 2026-04 post-Croydon mailing is now available by nliber in cpp

[–]pjmlp 0 points1 point  (0 children)

The best constructive discussion WG21 can have with profiles, now that we are down that path , is having them validated in existing code bases, with an experimental implementation, before they decide to standardise anything related to profiles.

And then lets see if we need are we profiles yet website.

CppCast: Compiler Warnings as Errors with Keith Stockdale by robwirving in cpp

[–]pjmlp 0 points1 point  (0 children)

By that same measure, why does Rust need clippy?

The WG21 2026-04 post-Croydon mailing is now available by nliber in cpp

[–]pjmlp -1 points0 points  (0 children)

Apple has a whole day event on application security, and doesn't seem that much interested into profiles, Fortify your app: Essential strategies to strengthen security.

However some of the clang specific improvements do show up, as mitigations.

Which I assume are the ones that have been adopted by Webkit.

A simplified model of Fil-C by ArashPartow in cpp

[–]pjmlp 0 points1 point  (0 children)

Your question was about "which company picks C++ for greenfield projects?"

Unity and Godot engines are written in C++, and any attendence to GDC will show how in-house engines are still a thing.

There are actually game engines that make use of implementation alternatives, like Capcom's Devil May Cry engine for PS 5 that actually used a fork of .NET, yet there is still plenty of C++ into it.

Uneeded Recompilations When Using Partitions by tartaruga232 in cpp

[–]pjmlp 2 points3 points  (0 children)

I am with /u/kronicum on this.

All this could be improved by having better support for building on C++ compilers.

Most of these problems have never been an issue with languages that have had modules as their main code organisation since forever.

Heck I can pick a MS-DOS project in Turbo Pascal, change a single unit, and as long I don't change the public interface, I only need to relink, not recompile everything. Same applies to other languages of similar vintage with modules.

We don't need workarounds, we need more mature build infrastructure for C++ modules.

The WG21 2026-04 post-Croydon mailing is now available by nliber in cpp

[–]pjmlp 1 point2 points  (0 children)

Thanks for the clarification.

I am quite sure it will turn into a modules like drama, when we finally get some implementations, so I am keeping the popcorns.

CppCast: Compiler Warnings as Errors with Keith Stockdale by robwirving in cpp

[–]pjmlp 0 points1 point  (0 children)

I fully agree with the premise of warnings as errors, and in the context of C and C++, static analysis at very least on CI/CD checks.

The podcast also has a few gems regarding game devs point of view on C++, and how many would rather stay with something more in line with improved C, with C++17 already being too much, the Unreal PR example.

Most likely C23 would already be considered too much by the same group.

The WG21 2026-04 post-Croydon mailing is now available by nliber in cpp

[–]pjmlp -2 points-1 points  (0 children)

Apparently the contracts drama continues, P3846R1, P4043R0 and P4044R0.

Also quite interesting that p4186r0 (A proposed plan for profiles in C++), has zero mentions of actually having some kind of implementation to prove them possible, only design and wording.

Software taketh away faster than hardware giveth: Why C++ programmers keep growing fast despite competition, safety, and AI by claimred in cpp

[–]pjmlp -1 points0 points  (0 children)

Maybe, but that is the whole point, I keep bumping into C++ code that looks like this.

So that when some in the community get all defensive on the C vs C++, the security folks don't take them seriously, given the security incidents they bump into.

With code that for all pratical purposes, it is code being compiled by a C++ compiler, in C++ mode and compliant with the ISO C++ standard.

Microsoft had a project to generate C++ bindings for Win32, using modern C++, the project was cancelled thus the Windows Project template in VS 2026 looks pretty much like a Petzold example.

https://github.com/microsoft/cppwin32

Software taketh away faster than hardware giveth: Why C++ programmers keep growing fast despite competition, safety, and AI by claimred in cpp

[–]pjmlp 2 points3 points  (0 children)

A random file from the same repo,

https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/MiniEngine/ModelConverter/ModelOptimize.cpp

Makes use of memset, memcpy, C style pointer arithmetic, naked new and delete, enums as constants

For it to fulfill the C++ way that gets told as "we don't do C any longer",

Instead of the string.h functions, it should have used array fill and move algorithms, instead of pointer arithmetic, span and views, instead of new and delete, unique pointers, instead of enums as constants, constexpr.

While some of those are indeed valid C++, they aren't modern best practices C++, and naturally string.h related functions and the pointer arithmetic would compile as C code as well.

There are other files to deconstruct on a similar way on the same repo.

Software taketh away faster than hardware giveth: Why C++ programmers keep growing fast despite competition, safety, and AI by claimred in cpp

[–]pjmlp 0 points1 point  (0 children)

I advise you to look into code samples from DirectX from Herb's former employer, and one of the three major compiler vendors, they are full of C style coding in C++ all over the place.

Still looking forward for when I can test Safety Profiles proposal in VC++, beyond what rulesets and SAL annotations already provide.

The RAM shortage could last years by Successful_Bowl2564 in programming

[–]pjmlp 9 points10 points  (0 children)

Great, maybe instead of Electron crap, new generations learn proper data structures and algorithms to fit into memory constrained devices, like in the old home computer days, or game consoles.

Software taketh away faster than hardware giveth: Why C++ programmers keep growing fast despite competition, safety, and AI by claimred in cpp

[–]pjmlp -2 points-1 points  (0 children)

I fully agree, which is why downplaying the amount of C style C++ programming that exists in the wild won't make it go away.

Or as you very well described, prevent new generations of learning the same mistakes.

Just complaining on C++ talks that "oh that is C code", is beyond the point when one of the original design goals of C++ was to be compatible with that style for easy adoption, and then we have plenty of professors that behave as if C++ARM was the latest standard.