Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: rbowman Newsgroups: comp.os.linux.misc,alt.folklore.computers Subject: Re: C structure portability, naughty Python Date: 4 Jan 2026 19:48:00 GMT Lines: 68 Message-ID: References: <10j9a1l$1toj$1@gal.iecc.com> <10j9vvr$23cp$2@gal.iecc.com> <10jb0is$172cb$2@dont-email.me> <679q2mx7o4.ln2@Telcontar.valinor> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net dT1Qo0oOQbC71rxi5yl/RQXqZnhzvvgnCUDg/sYZCeTaeR2c6h Cancel-Lock: sha1:VLdZbfdY/Aow6IOWupFLAELKHS0= sha256:B+ec4lPWq/8cq9nCC8M1iIihhAIZkkaflrX/tqMCdE0= User-Agent: Pan/0.162 (Pokrosvk) Xref: csiph.com comp.os.linux.misc:80479 alt.folklore.computers:233159 On Sun, 4 Jan 2026 15:14:30 +0100, Carlos E.R. wrote: > On 2026-01-03 20:43, rbowman wrote: >> On Sat, 3 Jan 2026 07:03:38 -0500, Chris Ahlstrom wrote: >> >>> I once created an audio playback app with class hierarchies in C, >>> rather than C++. It was an interesting experiment, and it worked. But >>> that's the last time I tried that. >> >> A class is a glorified struct. I remember heated discussions at one of >> the Boston Computer Society's meeting before 'C++' became a name about >> 'C with Classes' and whether a new language was needed. >> >> 'C with Classes' is now a derogatory term that describes the sort of >> C++ I write. Charles Petzhold has written a number of books on >> programming for Windows. He has an intense dislike for C++ so if you >> can track down some of the first editions of 'Programming Windows' they >> are all C. The 6th edition was C# which he said was what should have >> been all along. > > What's the difference between C++ and C#? (I don't know how to pronounce > that one). C Sharp. In the late '90s Microsoft released Visual J++, their implementation of Java. I still have the media with an IDE similar to Visual Studio. It was quite nice but did not meet Sun's purity test so Sun sued Microsoft. C# was released in the early 2000s, with Hejlsberg as the principal designer. https://en.wikipedia.org/wiki/Anders_Hejlsberg He'd also developed J++ so C# incorporated the lessons learned from that as well as C++. I don't really like C++ and find C# a lot better for Windows programming. Mono was an early attempt to make it cross platform and is still around. The alternative is to install the .NET SDK. https://learn.microsoft.com/en-us/dotnet/core/install/linux That includes the csc compiler: $ csc Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved. On Linux the ability to build GUIs has been problematic. There i a Gtk# library but I've never used it. https://www.mono-project.com/docs/gui/gtksharp/ You can do both console and ASP .NET backend apps. For kicks, I did a command line app to download information from the iTunes database in Python and C#. The syntax differs of course but the complexity is very similar compared to doing it in C or C++. Since csc emits an IL that depends on the framework runtime by passing flags you can build Linux packages on Windows and vice versa. You can also target ARM devices. https://learn.microsoft.com/en-us/dotnet/iot/deployment MS managed to create more confusion that normal. .NET Framework was the standard runtime on Windows boxes. The .NET Core project was aimed at cross platform solutions and had its own numbering so .NET Core 3.x was contemporaneous with .NET Framework 4.7x. At that point they decided Core was the future so .NET 5.0 was .NET Core with .NET Framework 4.8 being the last of what everone called .NET. .NET 10 is the current release.