Deutsch English Français Italiano |
<v4c7br$1lki1$3@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: David Brown <david.brown@hesbynett.no> Newsgroups: comp.lang.c Subject: Re: Baby X is bor nagain Date: Wed, 12 Jun 2024 15:20:59 +0200 Organization: A noiseless patient Spider Lines: 83 Message-ID: <v4c7br$1lki1$3@dont-email.me> References: <v494f9$von8$1@dont-email.me> <v49seg$14cva$1@raubtier-asyl.eternal-september.org> <v49t6f$14i1o$1@dont-email.me> <v4bcbj$1gqlo$1@raubtier-asyl.eternal-september.org> <v4bh56$1hibd$1@dont-email.me> <v4br2g$1jfqf$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 12 Jun 2024 15:20:59 +0200 (CEST) Injection-Info: dont-email.me; posting-host="56b4a0ed48525cf719a93689486bb34c"; logging-data="1757761"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/Vb+pWkc1NBgAhAy4T+a952vYBeh3cGX8=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Cancel-Lock: sha1:EQalrPWZklInPP8YR8WGN3O5I+g= Content-Language: en-GB In-Reply-To: <v4br2g$1jfqf$1@dont-email.me> Bytes: 5431 On 12/06/2024 11:51, Malcolm McLean wrote: > On 12/06/2024 08:01, David Brown wrote: >> On 12/06/2024 07:40, Bonita Montero wrote: >>> Am 11.06.2024 um 18:15 schrieb Malcolm McLean: >>> >>>> These are Baby programs. But they use a cut down GUI. So they need >>>> to get fonts and images into the program somehow. And so Baby X does >>>> that by converting to 32 bit C arrays which can be compiled and >>>> linked as normal. And for that, you need a tool. Writing a tiff file >>>> decoder is not a trivial exercise. >>> >>> I converted my code into sth. that produces a C-string as an output. >>> Printing that is still very fast, i.e. the files produced are written >>> with about 2.6GiB/s. But the problem is still that all compilers don't >>> parse large files but quit with an out of memory error. So having a >>> .obj output along with a small header file would be the best. >>> >> >> How big files are you talking about? In an earlier thread (which I >> thought had beaten this topic to death), "xxd -i" include files were >> fine to at least a few tens of megabytes with gcc. And it would be, >> IMHO, absurd to have much bigger files than that embedded with your >> executable in this manner. I can understand wanting some icons and a >> few resource files in a PC executable, but if you have a lot of files >> or big files then a single massive executable often does not make much >> sense as the binary file. >> >> If you /do/ want such a file, it is typically for making a portable >> package that can be run directly without installing. But then you >> don't mess around with inventing your own little pretend file systems, >> or embedding the files manually, or using absurd ideas like XML text >> strings. You use standard, well-established solutions and tools such >> as AppImage on Linux or self-extracting zip files on Windows. >> >> > You don't get what Baby X is all about. True. > > These solutions will not work for the audience I am trying to target. > Baby X is clean, portable, and simple. As much as I can make it. And > it's meant to be easy for people who are just beginning programmers to use. Who are these people? And why would they care if it is "clean", whatever you mean by that? Why would they care about portability? The great majority of developers spend most of their time targeting a single platform. Beginners are unlikely to have more than one OS to work with. I think cross-platform portability between Linux and Windows is usually a good thing, but not a big issue for beginners. Macs and other systems are irrelevant in practice. And no one - apart from you and a guy called Paul - have the slightest interest in making gui toolkits in string C89/C90. To the nearest percent, no one, beginner or expert, writes gui programs in C. "Simple" is good. Big toolkits like GTK, wxWidgets or Qt can easily be overwhelming for beginners. But too simple and limited is not helpful either - once the beginner has made their "Hello, world" gui with an OK button, they need more. Why should anyone pick Baby X rather than, say, FLTK? > > But the main focus now is help and documentation. The improved ls > command is now in the shell, and the next task is to improve the "help" > command, at the same time as writing more docs. The two tasks naturally > go together, and the website is beginning to gel. > To be clear here, I do not want to discourage you from your project in any way. I am trying to ask questions to make you think, and to focus appropriately. It seems to me that Baby X is your real passion here and the project that you think will be useful to others (regardless of what I may think of it). I believe your "Filesystem XML" and even more so, your shell and utilities like "ls", are a distraction and a rabbit hole. It does not make sense to spend months developing that to save the user a couple of seconds packing or unpacking the XML file to normal files. Help, documentation and examples are going to be much more valuable to users.