[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)