www.smorgasbordet.com/pellesc => www.pellesc.se
( with some minor polishing later, maybe... )
Great change
👍 👍 👍
John Z
Thanks Pelle !
Nice way to start a New Year 8)
Happy new year and best wishes for 2026.
Thank you for all the effort.
Rest of the website and its information will become alive again, I presume?
👍 👍 👍
Hi Pelle,
Many thanks and happy new year.
Hello Pelle,
Great. Thank you!
Marco
Hello , Pelle
Thanks
We need to update all links in wiki and such sites.
You sure have a knack for surprising us!
Happy New Year and Thanks for 13.1
;D
OK, thank you all....
Some more information:
* I have given up hope for future C standards: there seem to be a lack of C experts on the committee these days. Once enough of them are gone, it seems unlikely for things to improve (ever). Some rubbish already entered C23, and C2y looks worse. The C programming language will not go away any time soon, there is just too much C code still in use, but largely the useful C code has already been written (in some older standard).
* Much of the source code on "smorgasbordet.com/pellesc" was old and outdated, so I don't really see a point in publishing it ever again, but I still have the code... so if you insist?!
* C on Windows is static since long ago, C++ on Windows seems to change every other year or so. Not much to work on here really...
* To avoid total brain-rot at 65+ I need something to work on, so the next version of Pelles C (14.00) will mainly contain new (experimental) support for ARM64 machines. Some time after the Olympics, I would expect...
* Not sure what to work on after version 14.00 though...
Gott nytt år från mig också!
Happy New Year from me too!
No programming languages die. There are even people who still sit and program in Commodore Vic20 and even older stuff with older programming languages. The vast majority don't do that, they change languages like they change shirts. I don't think they're the ones you should lean on, but rather those who still program the basic language C.
Quote from: alderman2 on January 11, 2026, 09:51:45 PMI don't think they're the ones you should lean on, but rather those who still program the basic language C.
Sure. The question is what this means in practice.
C on Windows in 2026+ will mainly be hobbyists (certainly for this project), where the latest and greatest isn't that important.
At my first real programming job in ~1985 I could have gone the Unix route (probably), but it wasn't much of an option back then... and 40+ years later it's still not an option...
After Windows and Unix there are roughly zero desktop operating-systems to choose from...
Microsoft have managed to mess up Windows quite a bit in recent years, focusing on irrelevant things (for enough people to matter), so it's not an obvious choice - except there are few other options. Now that I'm almost finished with ARM64 (still a potential flop), it's not clear what I should do. Write more examples? Not that exiting to be honest...
I'm not an innovator, and right now I can't find much inspiration anywhere...
;D
Glad Pelles C is alive and well
Quote from: Pelle on January 11, 2026, 11:02:49 PMQuote from: alderman2 on January 11, 2026, 09:51:45 PMI don't think they're the ones you should lean on, but rather those who still program the basic language C.
Sure. The question is what this means in practice.
C on Windows in 2026+ will mainly be hobbyists (certainly for this project), where the latest and greatest isn't that important.
At my first real programming job in ~1985 I could have gone the Unix route (probably), but it wasn't much of an option back then... and 40+ years later it's still not an option...
After Windows and Unix there are roughly zero desktop operating-systems to choose from...
Microsoft have managed to mess up Windows quite a bit in recent years, focusing on irrelevant things (for enough people to matter), so it's not an obvious choice - except there are few other options. Now that I'm almost finished with ARM64 (still a potential flop), it's not clear what I should do. Write more examples? Not that exiting to be honest...
I'm not an innovator, and right now I can't find much inspiration anywhere...
Why not create a new programming language?
I've started it but it only got to a lib. My knowledge isn't enough to get any further. But I've had great use out of my lib for years. I almost only use it when I program.
How about instead of creating something totally new, which probably would need a huge effort to promote, add RUST. I know absolutely nothing about it other than I read M$S will transition a lot of the baseline C to RUST starting this year. Google is doing similarly, even Linux is getting some RUST code now, although Linus is moving carefully and slowly. Seems like RUST has wheels for the future.
I agree C will be here a long time, heck look at COBOL still kicking the bits and projected to still be doing so in the visible future. But changes to 'pure' C itself will diminish.
Just 2¢ and the USA has stopped making pennies. :)
John Z
Quote from: Pelle on January 11, 2026, 11:02:49 PMQuote from: alderman2 on January 11, 2026, 09:51:45 PMI don't think they're the ones you should lean on, but rather those who still program the basic language C.
Sure. The question is what this means in practice.
C on Windows in 2026+ will mainly be hobbyists (certainly for this project), where the latest and greatest isn't that important.
At my first real programming job in ~1985 I could have gone the Unix route (probably), but it wasn't much of an option back then... and 40+ years later it's still not an option...
After Windows and Unix there are roughly zero desktop operating-systems to choose from...
Microsoft have managed to mess up Windows quite a bit in recent years, focusing on irrelevant things (for enough people to matter), so it's not an obvious choice - except there are few other options. Now that I'm almost finished with ARM64 (still a potential flop), it's not clear what I should do. Write more examples? Not that exiting to be honest...
I'm not an innovator, and right now I can't find much inspiration anywhere...
Hi Pelle:
Thank you for your continuing amazing work !
Bored ? Nothing to do ? SWAR and AVX512 may offer some entertainment.
Check out Wojciech Muła's work. A good place to start is
http://0x80.pl/notesen/2016-09-17-avx512-foundation-base64.html (http://0x80.pl/notesen/2016-09-17-avx512-foundation-base64.html)
Lots of code at GitHub at
https://github.com/WojciechMula (https://github.com/WojciechMula)
Collection of Toys at
https://github.com/WojciechMula/toys (https://github.com/WojciechMula/toys)
Thanks again for providing all of us tinkers with your tool for toys.
Hello, Pelle
How about creating some kind of library to simplify GUI application development? It's no secret that things are pretty bad in this area on Windows right now. C++ Builder was ideal, but it either died or became too complex. Qt is a heavy monster, and it's for C++ anyway. There's really nothing else. What if we made something like that for C?
Multitarget project file would be nice feature ;)
EDIT: 2026-02-04
A project file, that support Release and debug output folders could be useful.
User could have both version for testing.
Now have to create another project file for independent debug version and have to have a workspace for them to keep them together.
Quote from: alderman2 on January 12, 2026, 06:05:10 PMWhy not create a new programming language?
No, I think for me "Pelles C" will just be "C".
Quote from: Robert on January 13, 2026, 09:11:31 PMBored ? Nothing to do ? SWAR and AVX512 may offer some entertainment.
Well, I added AVX-512F... a lot of work, but not much interest. Intel seemed to care most. Not sure where they will be in a few years.
Adding AVX-512<letter soup> is just more work. Nothing really new to learn.
Quote from: Robert on January 13, 2026, 09:11:31 PMCheck out Wojciech Muła's work.
I will do that.
Quote from: bitcoin on January 14, 2026, 05:28:04 PMHow about creating some kind of library to simplify GUI application development? It's no secret that things are pretty bad in this area on Windows right now. C++ Builder was ideal, but it either died or became too complex. Qt is a heavy monster, and it's for C++ anyway. There's really nothing else. What if we made something like that for C?
Well... it was one idea ~20 years ago, but it didn't happen then.
A quick solution would be a very basic library with narrow focus. Unless you happen to fit into this narrow focus it won't be of much help. A better solution would take more work, starting with a well researched specification. By the time this is done, perhaps the world has moved on...?
Quote from: TimoVJL on January 14, 2026, 09:33:45 PMMultitarget project file would be nice feature ;)
I very much prefer to have one target per project. I think the concept of workspaces is good enough. Maybe not perfect, but good enough...
I have created a library for Windows-specific functions etc. I have about 800 such functions. This is what it looks like to open a window and place it in the center:
hwnd=ac_WindowCreate_1(hInst,"Xxxx",100,100,1200,720,"MIN_MAX_CLO"); //
ac_WindowSetCenterPos_1(hwnd);
A push buttons:
hwnd_G_Knapp_1 =ac_ButtonSimpleCreate_1(hwnd, 0,0,120,30,"Name 1","C","SHADOW",BUTT-1);
hwnd_G_Knapp_2 =ac_ButtonSimpleCreate_1(hwnd, 120,0,120,30,"Name 2","C","SHADOW",BUTT-2);
hwnd_G_Knapp_3 =ac_ButtonSimpleCreate_1(hwnd, 240,0,120,30,"Name 3","C","SHADOW",BUTT-3);
hwnd_G_Knapp_4 =ac_ButtonSimpleCreate_1(hwnd, 360,0,120,30,"Name 4","C","SHADOW",BUTT-4);
hwnd_G_Knapp_5 =ac_ButtonSimpleCreate_1(hwnd, 480,0,120,30,"Name 5","C","SHADOW",BUTT-5);
hwnd_G_Knapp_6 =ac_ButtonSimpleCreate_1(hwnd, 600,0,120,30,"Name 6","C","SHADOW",BUTT-6);
hwnd_G_Knapp_7 =ac_ButtonSimpleCreate_1(hwnd, 720,0,120,30,"Name 7","C","SHADOW",BUTT-7);
hwnd_G_Knapp_8 =ac_ButtonSimpleCreate_1(hwnd, 840,0,120,30,"Name 9","C","SHADOW",BUTT-8);
This is made by me for me. If someone else had created my library, I would probably still have built this because it suits me. That's why you should probably make libraries like this yourself, you get the most benefit from it that way.
A poide resource editor can be useful for designing GUI.
Just read res-file for dynamic controls to window.
As far I remember, there is couple examples of it.
Dialog code from res-file (https://forum.pellesc.de/index.php?msg=28111)
EDIT: example code removed
Quote from: alderman2 on February 03, 2026, 11:24:40 PMIf someone else had created my library, I would probably still have built this because it suits me. That's why you should probably make libraries like this yourself, you get the most benefit from it that way.
I agree. Many people stay within the same "domain" when writing programs, so similar code sequences are bound to come up again. Rather than simply copy and pasting the existing code, thinking about how to place it in a reusable library is a useful thought process by itself. It may trigger new ideas...
Hi Timo,
I built your code as a 32-bit console application but it crashes on Windows 7 64-bit.
ResDlgConv3.exe Rsrc.res
CRT: unhandled exception (main) -- terminating
Hi Timo,
It looks like that here is the issue :
PWORD pMenu = pPtr;
if (*(WORD*)pPtr) { // Menu ?
---------> while (pPtr) pPtr++; <-------------- This line
pPtr ++; // past zero
} else {
pPtr ++;
}