If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Announcement
Collapse
No announcement yet.
April Fools' Or Should Wayland Switch Away From Using C?
A seasoned developer who fully understands the architecture behind the problem can implement a quality solution in any language that meets the problems requirements.
So a seasoned developer who knows x86 can implement a quality solution by typing opcodes into a hex editor? Or is machine code no longer a language?
Ridiculous.
Does anybody here believe that the quality of software depends on the features of a programming language rather than on the abilities of the developers?
Does anyone here believe that the quality of of a construction project would differ if the workers were given coins instead of power drills? Of course tools and their features matter. Only an imbecile thinks otherwise
Your post only ridicules the first half of his claim, namely the half that says
Does anybody here believe that the quality of software is bounded above by the features of a programming language rather than on the abilities of the developers?
Now does anyone here really believe that a certain language places lower bounds on software quality, regardless of how stupid a developer might be?</s> I hardly need to ask...
Your post only ridicules the first half of his claim, namely the half that says
Now does anyone here really believe that a certain language places lower bounds on software quality, regardless of how stupid a developer might be?</s> I hardly need to ask...
Better to catch the corner cases in the test suite than have an application engineer phone them in from the field.
Does anybody here believe that the quality of software depends on the features of a programming language rather than on the abilities of the developers?
Yes. There are errors that you can't do in some languages. They would be statically found by compiler.
Have you heard of Sapir–Whorf hypothesis? I know it is originally not about programming. Most programmers knew about this hiphotesis even before "Arrival" movie
reply to post #30
If you want to write a Wayland client, you do not have to use the C bindings. If you choose to write a Wayland client using libwayland-client, you do have to use the C bindings, because libwayland-client is the C-language bindings library generated from the Wayland protocol spec.
Wayland is language-neutral. Language agnostic. It is not written in C. You do not have to use C.
Yes but Wayland Developers also invest they time in writing reference library. This library is influencing others projects and de facto it is a library of choice for most projects directly interfering with Wayland.
Anyway most programmers should use GTK+ or QT5 or some other GUI toolkit.
Last edited by coastiron; 03 April 2017, 11:59 AM.
This is clear to me that this was "one" of the (pseudo-) reasons why c was chosen, but I think the real/main reason was that the "wayland" developers grew up with c ! There is so much software in the unix world that is written in c that should have been written with c++ from the beginning. As far as I understand mir is based on c++ [I didn't check it closer since I don't like their license].
I have not attempted either C or Haskell. I have barely any programming skills, and I have barely managed to add anything to C++ projects.
So tell me, does Haskell have everything it needs to replace C for systems programming, particularly the examples of Wayland and Linux kernel we're discussing? Does it have any serious issues compared to C (in systems programming), or is it just the inertia of people to switch over (like the inertia of regular computer users to switch from Windows to Linux)? Is Haskell fundamentally harder to program in than C?
I would like to see that the linux world starts to rewrite old code - so that we can build on safer libraries. Let's stop with c, and use it just in very specific places. You even don't need c for writing the kernel: check out for example this: http://okmij.org/ftp/cpp-digest/toy_OS.txt
I do agree that there are some projects that would be worth changing to a different language, but don't rewrite C as C++. C++ is also problematic, and should actually be replaced by better newer languages. Please don't treat C++ as the modern way which everything should switch to.
Also, C is more compatible. D is fully compatible with C, but not compatible with all C++ projects. I'm not an expert, so I don't really understand how it works. I read that OGRE is not compatible with D because it uses multiple inheritance (which D does not support). But then, doesn't Qt use multiple inheritance? Qt is also C++, but has bindings for D.
D was actually written as an alternate continuation of C rather than a continuation of C++. It's goal is to better implement the functionality of C++.
I think there are some C++ projects worth rewriting in D. It would be easier for newbies like me to contribute, but also make development faster in general.
Comment