We made web sites for restaurants and theater companies including online ordering. We did virtually everything in C.
always learning something new, I never think was possible to create a website in C
We made web sites for restaurants and theater companies including online ordering. We did virtually everything in C.
I also did an important (to my employer) and long-lived website in C.
If you think, it is not so unnatural. Many web servers are written in C. Especially in embedded systems, it makes sense write a UI in HTML for exposing some data to the external world. You can have a very simple web-server written in C (it must support very few users and the web-server API is simple), and simple C code emitting HTML output. You are using few resources on the embedded part, and the majority of power is used on the web-browser client-side.always learning something new, I never think was possible to create a website in C
I tried now to compile SDL3 and vim, under FreeBSD quarterly ports, on a cloud host, using some unspecified shared AMD Epyc CPU. I limited the jail to one single CPU. SDL3 required 55 seconds (only the build, the configure part was probably longer). vim required 118s.Python can compile in ~6 mins on a P4.
libSDL3 can compile ~10 mins.
Linking them into an open-source project takes ~1 second on a P4. This is where much of your time will be spent anyway with the compile/debug iteration. Again working on gcc doesn't need to compile from scratch each time.
Try building some common C libraries (libogg, libpng, libvncserver, libglfw, etc, etc) on a weaker machine. You will be surprised how light they really are.
I can purchase a P4 system today for a fraction of the cost than I could back then. A pentium 4 is easily good enough for open-source development.
A P4 would still provide a stronger development environment than a modern Raspberry Pi.
Then a P4I wouldn't let energy consumption between one p4 and a pi bother me
?still provide a stronger development environment than a modern Raspberry Pi.
If you think, it is not so unnatural. Many web servers are written in C. Especially in embedded systems, it makes sense write a UI in HTML for exposing some data to the external world. You can have a very simple web-server written in C (it must support very few users and the web-server API is simple), and simple C code emitting HTML output. You are using few resources on the embedded part, and the majority of power is used on the web-browser client-side.
For complex Web applications, the majority of frameworks are on higher level languages, but the C path is not so strange...
You can look up how many libraries there are for C to help with web development. (not that I used any of them...)
Sure, since the most impactful open-source projects are old and evergreen. Such as SDL, busybox, Vim, etc.So, if you want to code old but evergreen tools
A weaker integrated GPU, no replaceable parts, less standardized architecture for desktop usage compared to x86... big old list. Also, no fans is not the "benefit" you may think it is.A modern Raspberry Pi has a lot more powerful CPU, no fans, cheaper on the energy bill, and in some scenario ARM is the way to go. It is not legagy as x86 architecture.
Energy consumption when compiling software isn't that big a gap. If you are worried about energy usage, use a 14inch 1024x768 monitor. I notice that's always the real power saver.So, if it is a theorical discussion: YES you can compile with a P4. If it is a pragmatic one, then P4 is probably one of the worst possible choices, considering also the energetic consumption.
Heh, a P4 can happily read docs in a web browser. This concept has been around since the 90s.and you have workarounds for navigating on documentation web sites, using a P4 with 2-3GB of RAM; then this approach can be feasible. But you said:
Energy consumption when compiling software isn't that big a gap. If you are worried about energy usage, use a 14inch 1024x768 monitor.
A P4 would still provide a stronger development environment than a modern Raspberry Pi. Especially since C long ago solved the gap between porting to different processors of varying ages.
Yeah, so the main P4 I use is an IBM NetVista 6790-21G (32-bit Willamette). I also have a more modern Fujitsu Siemens Scaleo P (64-bit Prescott).I really cannot agree. You would have to try it for yourself.
I have all these hardware we speak of and have tried to run some FreeBSD at least once on them. RPi4 is a bad development workstation. P4 is worse.
Its more common the other way round, that devs assume 32-bit ints and pointers are interchangeable breaking code for 64-bit platforms. But yes, this exactly why older machines are useful for testing broken code. Assuming any word size is incorrect and avoiding older hardware just to sidestep your broken code is not good practice.C solved little in this regard, you need to see how various codebases fail to compile or behave in runtime if devs just assumed a 64 bit word size.
Yeah but those same people would then struggle with developing on a Pi (or even some crappy Android phone). People do arrive at weird conclusions daily, I can't protect everyone.Running a x86 platform today for any sort of "non-retro" development is really really something. I'm not saying it is a bad idea throughout, just saying I never heard people do that, yes they run Win7 32 on some ancient hardware with some patched browser for light daily duties etc, but not actual dev efforts...
I do, and often with more exotic machines (big fan of 2001 SPARC machines). But then again, much of my PhD was on resilience and portability of software, so it kind of comes with the territory. But the key message is that development hasn't considerably changed from that era. So needing to buy "modern" machines to develop open-source software is simply incorrect. And you can pick these things up for £30.If you're speaking all of this from theory, then you should try and put it in practice.
You absolutely can. I am not sure what you are doing wrong. I believe FreeBSD even supports i440fx chipsets.My 64-bit Q35 4 core 8 GB ram computer cannot run modern FreeBSD, I would need to compile everything manually.
I don't know Rust, but I'm using (or I'm interested) into many projects written in it, like: Niri wayland compositor; Meta Sapling version control system; Pijul version control system; ripgrep; Alacritty; Helix editor; Zed editor; Meta Buck2.By that I mean no one touched Rust till the US government made a statement about it just recently. Then everyone had to have it and use it for everything. If you didn't, there was something wrong with you.
It doesn't look correct. As a base, under full load that chip alone can get to 16W. Then you want to include the same accessories as the P4 machine. Consider SSD, keyboard, cdrom, etc, it could even start to near 40W. If you remove the dedicated GPU and sound card from the desktop machine, it will bring that down too.If I'm worried about energy usage, I doubt I had to follow your suggestions. If this data, I found on the web is correct, an idle P4 consumes more than a Raspberry Pi 5 at full power: 70W vs 10W. During compilation a P4 will consume 130W, and the compilation times will be longer than on the Raspberry, because it is a lot slower.
So the best AGP card is generally the Radeon HD 4670 AGP. This has ~480 GFLOPs vs the Raspberry Pi 5's ~125GFLOPS.Regarding the GPU: a Raspberry has a rather decent one, supporting Vulkan 1.3, and with Linux drivers. Many P4 systems still use AGP.
I am not sure what you are doing wrong
But the key message is that development hasn't considerably changed from that era. So needing to buy "modern" machines to develop open-source software is simply incorrect. And you can pick these things up for £30.
Naive yes, because I didn't checked. It seems so natural to me that a rather modern ARM CPU can beat the worst processor Intel made, 25 years ago, also in single-core tasks.Its naive to suggest that the Pi5 will be faster for every problem, because the Pentium 4 does have a higher clock, so for single threaded tasks it could still very much remain competitive.
The Raspberry Pi 500+ (2025) is based on the Pi 5. It features the same 2.4 GHz quad-core Cortex-A76 processor as the Pi 500, 16 GB of RAM and an M.2 slot with a 256 GB SSD preinstalled.
So the best AGP card is generally the Radeon HD 4670 AGP. This has ~480 GFLOPs vs the Raspberry Pi 5's ~125GFLOPS.
FreeBSD 15 does not support i386, so it is even worse. At least I can hope that the Linux drivers will be ported to FreeBSD.Also note that there is no FreeBSD support for the Pi5 GPU, so you have Zero GFLOPS.
I have no time to check if a rather modern GPU can work with i386 drivers on Linux or FreeBSD 14. But it is a Frankstein. It does not make logical sense.The P4 era also supported early PCI-e, so this opens you up to considerably faster GPUs. There really is no competition here. Which is quite funny for a many decade old platform.
As a base, under full load that chip can get to 16W. Then you want to include the same accessories as the P4 machine. Consider SSD, etc, it will be around 40W.
never heard of that one (but that's not a big surprise because I live under a rock). *click-click* ...meh. It's a VCS. I don't have repos that big.Sapling version control system
$ sl commit -m "Fix bug"
$ vim broken_file.rs
$ sl commit -m "Add test"
I'm using Sapling in a personal project, on a small repo, and it works wonderfully. It can interoperate with Git repo, with push and pull too.never heard of that one (but that's not a big surprise because I live under a rock). *click-click* ...meh. It's a VCS. I don't have repos that big.
Completely wrong, not much, also because it is a successful project.What's wrong with git?