💾 Archived View for dazlab.uk › tinylog › _tl0007.gmi captured on 2024-05-26 at 14:34:58. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

    ▀██                  ▀██          ▀██
  ▄▄ ██   ▄▄▄▄   ▄▄▄▄▄▄   ██   ▄▄▄▄    ██ ▄▄▄
▄▀  ▀██  ▀▀ ▄██  ▀  ▄█▀   ██  ▀▀ ▄██   ██▀  ██
█▄   ██  ▄█▀ ██   ▄█▀     ██  ▄█▀ ██   ██    █
▀█▄▄▀██▄ ▀█▄▄▀█▀ ██▄▄▄▄█ ▄██▄ ▀█▄▄▀█▀  ▀█▄▄▄▀

A Tiny Constellation of Ideas

Another sub-entry in the Tinylog of dazlab.

⬅️ Back

Learning C#: The Proper Way

I have read boundless articles, tutorials, books and primers; watched hours of video; listened to days-worth of programming podcasts, and I'm beginning to see that I haven't been able to demontstrate much C# know-how to show for it. My problem is that I find abstract thinking hard. I can get to grips with a procedural langauge, one that deals with pointers and character arrays - things at the machine level. Abstracting away and having to think in terms of OOP is a challenge for me.

It took me a long time to realise that this was the major stumbling block in my development. When I tried to apply the same abstract thinking to mathematical problems, I realised that I faced the same challenges. So, for me the thinking and the problem-solving has to be grounded in reality, not abstract constructs.

At any rate, it's not theory but application that interests me; I don't want to know the ins-and-outs of the C# language - or, indeed, *any* language - just for the sake of it. Sure, you need to know these things in order to succeed. But it's the *doing* that matters, and the knowing should follow along.

Given this mindset, I've decided to get back to the ABCs by jumping in and *doing* stuff with C#. Pointless stuff, sure. For example, I've decided that re-implementing common UNIX commands in a C# class library would be a nice, practical exercise. There's absolutely no reason for doing so - the C versions are better, more robust and certainly faster than any C# variant would be. However, there is enough complexity in these seemingly simple command-line tools that it should server as a useful endeavour nontheless.