On 18/06/2020 11.11, Roland Hughes wrote:
Could someone from such a background learn enough C syntax to write a student C program like this one?
[example program elided]

Maybe. To the point various others are making, just because someone hasn't learned the fundamentals doesn't mean they're incompetent.

OTOH, not everyone can learn competence. The point is, *you just don't know*.

Could that same person write a page swapping system for a Linux-like OS from scratch? No.

Again, *maybe*. Not, perhaps, without learning the fundamentals first, but as noted, just because they haven't learned *yet* doesn't mean they can't. But, again, there are plenty of people that can muddle through basic stuff with "training wheels" languages that *can't* grasp the fundamentals well enough for such tasks, and that's the point you (Roland) and I are making.

When one comes from the scripting/interpreted language background; especially if they never got a degree from a good school that taught them proper fundamentals of software development; that is the training wheels never off the bike.

Put them on C. No garbage collection. Requires proper understanding of the fundamentals, especially Application Design, System Architecture, and Data Structures. Basically it requires the skill to ride a bike that goes very fast and can never have training wheels put on it.

Yup... Some can figure it out. Some won't.

To be fair, I might be in the latter category. I don't recall *formally* learning much about memory management (although there was some generic algorithms stuff); nevertheless, my first professional job was pure C and I managed well enough. I'd like to think I'm competent, if not amazing.

As an example, I don't consider deleteLater a major source of headaches (and most of my stuff *does* run on reasonably modern machines). Almost always if I use deleteLater, it's because I *know* that I can't just delete it *now*. I'm aware of needing to ensure that objects are either a) not deleted while in use, or b) are always referenced through *checked* weak pointers.

(Right now I'm working on unit tests for a non-Qt signal/slot system that needs to handle race conditions between the signal being emitted or destroyed at the same time the receiver is destroyed. Fun times, but not a problem outside of my experience, as it would be for someone that only knows Java/Python/etc.)

--
Matthew
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to