[HN Gopher] Programming Style Influences
       ___________________________________________________________________
        
       Programming Style Influences
        
       Author : panic
       Score  : 15 points
       Date   : 2022-05-10 10:32 UTC (1 days ago)
        
 (HTM) web link (tratt.net)
 (TXT) w3m dump (tratt.net)
        
       | cyberbanjo wrote:
       | I don't write C at all and the *++argv thing is obvious to me?
       | Look at the pointer of argv, then look at its sibling?
        
         | pm215 wrote:
         | That's not what the expression does. It means "first increment
         | argv (so it points to the thing at index 1 in the original argv
         | array); then dereference it". (Contrast *argv++, which
         | dereferences at the initial pointer value, and then increments
         | the pointer variable.)
         | 
         | A lot of that sort of pointer pre/post-increment/decrement
         | comes down to "idiomatic ways to write things", which are
         | easier to read when you've seen them a hundred times before.
         | Personally for this specific case I'd have split the increment
         | to its own line -- because conceptually the job that is doing
         | is "skip over the program name in argv[0]", whereas everything
         | else in the if() is the entirely separate "see if the next
         | argument, if any, is '-n'".
        
       | Supermancho wrote:
       | That echo command immediately made me wonder why the nflag wasnt
       | initialized to 0, saving 2 lines of code.
        
       | eternityforest wrote:
       | I have no idea who my code style influences are.
       | 
       | I don't really think about code that much, any more than most
       | people think of paper plates. I would know a bad one if it's
       | flimsy or dirty, otherwise I don't think of them at all unless
       | they are really exceptional.
       | 
       | There are programmers I respect, and take inspiration from, but
       | mote for their architecture, functionality, or documentation,
       | then their code.
       | 
       | Come to think of it, I have actually only read a few files of
       | code at most from most of my favorite programmers.
       | 
       | RealThunder is one of my favorite programmers in the world. I
       | don't know what he did or how he did it, but he fixed the
       | topological naming issue in FreeCAD, and made it about 5x more
       | practical, and mostly solved one of the key missing things in the
       | whole FOSS ecosystem. He didn't just make a proof of concept or a
       | script you can maybe get to work in an hour, he literally has an
       | AppImage on his GitHub, taking some really algorithms and making
       | true _software_ with them, not just code.
       | 
       | He has his issues, but I respect Poettering for how solid,
       | consistent, and comprehensive his recent software is, and how he
       | wasn't afraid to go beyond "init system" and make a real _system
       | management daemon_.
       | 
       | I respect Torvalds because... Linux works. It's an OS. It's good
       | at being an OS. And because he is open to new technologies like
       | Rust. I'm not sure I could name anything specific about the
       | kernel that makes it special, besides the fact that it's not
       | buggy and has all the features you need, but that's a good thing.
       | It just needs to be an OS, with lots of community support and
       | drivers.
       | 
       | I respect Van Rossum for the way he curated the feature set of
       | Python, never allowed it to be left behind by changing tech, and
       | really, really, valued practicality.
       | 
       | I respect Wim Taymans for making media sane again. There are
       | essentially no major issues with PipeWire aside from
       | compatibility issues due to it being new.
       | 
       | GStreamer is admittedly at times a nightmare to work with, but
       | that's just because media is hard. For a huge class of problems I
       | wouldn't really think of using anything else.
       | 
       | Fabrice Bellard is wonderful because he does world class things,
       | any one of which would be noteworthy, in multiple domains,
       | usually involving some pretty amazing low-level algorithmic work.
       | 
       | And then there's the stuff that's hard to attribute to any one
       | person as far as I know, but still greatly influences me.
       | 
       | Freedesktop provides an absolutely amazing amount of convenience
       | to the user with very little programmer effort to interact with
       | it.
       | 
       | NetworkManager brings all your network needs together in one
       | place, along with Firewalld that brings all your firewalling
       | together the same way.
       | 
       | Debian is, along with red hat, near synonymous with Linux for me,
       | and they rarely stray from or fail at the mission of providing a
       | rock solid OS where packages don't break.
       | 
       | I wish SyncThing would expand just slightly and offer plugin
       | support, but nonetheless they are the shining example of how
       | self-hosting anything should be.
       | 
       | Linux Mint is unrivalled, as far as I can tell, at being what
       | Windows always should have been.
        
       ___________________________________________________________________
       (page generated 2022-05-11 23:01 UTC)