[HN Gopher] Tooling has improved for ambitious software developers
       ___________________________________________________________________
        
       Tooling has improved for ambitious software developers
        
       Author : jdorfman
       Score  : 40 points
       Date   : 2024-03-21 20:23 UTC (2 hours ago)
        
 (HTM) web link (therealadam.com)
 (TXT) w3m dump (therealadam.com)
        
       | armchairhacker wrote:
       | This is a behind-the-scenes sort of improvement which has been
       | happening since the late 2010s while real applications have
       | seemingly gotten worse.
       | 
       | What's actually happening is that there are a lot of bloated,
       | buggy, badly-designed programs today because they simply wouldn't
       | have existed prior to the improvements in developer tooling. In
       | some cases because the software has a much broader scope made
       | possible by the tooling (distributed "webscale" sites with
       | massive data throughput and configurability). Alternatively (or
       | additionally), sometimes the developer(s) are mistakenly using a
       | tool (e.g. Kubernetes) that is way too webscale/generalized for
       | their purpose and/or itself wouldn't have existed prior to
       | improvements in development tooling.
       | 
       | Good software still exists today. It's just gold lying around in
       | a forest of junk, whereas it used to be more like less-shiny gold
       | lying around in a barren plain.
        
         | jjackson5324 wrote:
         | > while real applications have seemingly gotten worse
         | 
         | Can you elaborate on this? I'm not sure I agree.
         | 
         | Modern day applications are doing far, far more than they were
         | 10-15 years ago. Much more traffic, much more data, much more
         | tracking (unfortunately), etc.
        
           | whstl wrote:
           | Performance of software has gotten significantly worse pretty
           | much everywhere. Older computers can't run the things we run
           | today, which is obvious. "Handing more traffic and data" is
           | purely due to the amount of hardware used.
           | 
           | I would also argue that quality has gone down significantly
           | (unless you talk about enterprise apps, where quality was
           | always abysmal) and the cost of making software has also
           | increased, even if we adjust for developer salary. But those
           | are just personal opinions.
        
           | QuadmasterXLII wrote:
           | Teams is a gigabyte and takes literal minutes to open.
           | Facetime was 14 years ago and did not take literal minutes to
           | open.
           | 
           | (I hate to be the sort of person who exaggerates, so I
           | decided to go through the effort of actually timing Teams for
           | this comment so that I could give it a fair number. I return
           | bearing no such measurement, as today it decided to instantly
           | segfault on open.                   Exception Type:
           | EXC_BAD_ACCESS (SIGSEGV)         Exception Codes:
           | KERN_INVALID_ADDRESS at 0x0000000000000008         Exception
           | Codes:       0x0000000000000001, 0x0000000000000008
           | Termination Reason:    Namespace SIGNAL, Code 11 Segmentation
           | fault: 11         Terminating Process:   exc handler [40516]
           | )
        
             | Freedom2 wrote:
             | I had the opposite. Teams opened in seconds, but FaceTime
             | actually segfaulted for me:                   Exception
             | Type:        EXC_BAD_ACCESS (SIGSEGV)         Exception
             | Codes:       KERN_INVALID_ADDRESS at 0x0000000000000008
             | Exception Codes:       0x0000000000000001,
             | 0x0000000000000008              Termination Reason:
             | Namespace SIGNAL, Code 11 Segmentation fault: 11
             | Terminating Process:   exc handler [40516]
        
           | nottorp wrote:
           | > Modern day applications are doing far, far more than they
           | were 10-15 years ago. Much more traffic, much more data, much
           | more tracking (unfortunately), etc.
           | 
           | Yes but are you sure the 'more' is in the user's interest?
           | 
           | I'd say 90% isn't. Out of which maybe half is less
           | development cost because you can throw layers upon layers of
           | bloat upon the user, and half is spyware.
        
             | jjackson5324 wrote:
             | No but the company isn't trying to develop software that's
             | best for the user. They're trying to develop software
             | that's best for their bottom line.
        
         | zer00eyz wrote:
         | The web was better when there was a barrier to entry. You must
         | be at least this smart to host a website turned into "post on
         | social media platform xxxx".
         | 
         | Development was better when you must be at least this skilled
         | to build software.
         | 
         | I read a post yesterday where someone was so proud of their bad
         | permissions system... Well someone was unaware of how linux
         | permissions and groups work and what a group even is was (and
         | how it might be represented in a directory to be managed).
         | 
         | As for "web scale" well, all of that autoscaling is just auto-
         | spending. "Cattle not pets" would be a great metaphor but
         | cattle are valuable, most people are leased on chicken farming
         | and own nothing. (If that analogy is lost on you, do your home
         | work and be appalled, but it is on point).
         | 
         | Remember kids, its called a container for a reason, its how we
         | isolate your shitty application from bringing down the rest of
         | the system or the hardware that you dont understand!
        
       | packetlost wrote:
       | Have IDEs gotten faster, or have processors gotten faster to the
       | point that it's now feasible to use a heavy IDE without wanting
       | to tear your hair out? I personally think it's the latter.
       | 
       | This isn't really an assessment on the utility of IDEs. I think
       | they're a net positive for the people that get benefit from them.
        
       | doctor_eval wrote:
       | > Notably, I have not used Kubernetes but the anecdotal data does
       | not lead me to think I'm missing out on much.
       | 
       | My experience as a single developer on a new project is that the
       | usability of K8s has improved dramatically in the last decade.
       | 
       | I use Vultr VKS; setting up a small cluster takes a few minutes,
       | it's super cheap, and now I have a deployment environment with
       | automatic redundancy, zero downtime upgrades, and much more.
       | 
       | It's not perfect, but I absolutely love it, and it's made my life
       | so much easier. I do hate yaml with a passion, and there's a lot
       | of boilerplate, but IDEs and templates make it bearable, and in
       | any case it's a small price to pay for all the automation I get.
        
         | redeux wrote:
         | > usability of K8s has improved dramatically in the last
         | decade.
         | 
         | I sure hope so. It's only been around for 9 years!
        
       | slily wrote:
       | Visual Studio 5-10 years ago with C#/.NET Intellisense was a
       | great experience and high performance. I have yet to replicate
       | that in the bloated Electron IDEs these days, there are still
       | constant issues with autocompletion and navigation being slow or
       | not working randomly for some reason even on my $3000 desktop PC
       | from last year, I haven't found debugging (properly with
       | breakpoints and variable tracking) to be viable compared to
       | "printf debugging" since my Visual Studio days, and the UX of
       | VSCode has not caught up to Visual Studio for bigger projects,
       | file navigation is particularly awful and between the floating
       | toolbars that disappear on a whim and ridiculously narrow
       | scrollbars you'd think they're making it difficult on purpose.
       | 
       | It's an improvement from a certain baseline, but Visual Studio
       | set a higher bar for me personally.
        
         | dweekly wrote:
         | Delphi, Turbo Pascal, Visual Basic, and HyperCard were all
         | _really_ fast ways to build GUIs some 20+ years ago.
        
         | berkut wrote:
         | Yeah, as someone who's been attempting to use VSCode to do
         | Python and Rust dev over the past three years, I'm continually
         | surprised by people who say VSCode and the Rust analyzer plugin
         | is a Good/Great IDE env.
         | 
         | It so often seems non-functional to me: auto-completion just
         | doesn't work consistently, even on really simple things - you
         | firstly normally have to save your file first, and even then
         | often if I restart VSCode it will then work again on something
         | it didn't a minute ago, and other times I can never get it to
         | complete things. And this is happening on two different Linux
         | machines and a MBPro M2 in multiple projects, so I don't think
         | it's just a one-off bad configuration I've somehow got.
         | 
         | Its auto-indenting when writing code is insane as well, it
         | seems everyone must be running rustfmt all the time, even on
         | code as they're writing it? It never seems to get the indents
         | right on new lines for me, I'm either having to add them or
         | remove them.
         | 
         | At the end of the day it's what you get used to I think, but
         | Visual Studio 15-20 years ago was pretty good (other than the
         | bloody pause for "Updating intellisense"), I've yet to find
         | anything as good for Python as PyCharm, and QtCreator (CLion
         | was pretty good as well) is still the best Linux/MacOS-based
         | C/C++ dev env I've found (but recent versions of it are getting
         | worse IMO what with all the complicated "Kit" build config
         | stuff).
        
       | calrain wrote:
       | > With luck, the options for doing so without paying a monthly
       | tithe to dozens of vendors will improve over the next decade!
       | 
       | This is why I've started digging deep into setting up a homelab
       | environment, with the goal to be implementing local source
       | control, automation pipelines, AI inference models, and hosting.
       | 
       | I feel it's important to keep skills fresh rather than paying
       | others to do.
       | 
       | It is important to focus on what you're good at, but it's also
       | important to know what is really going on at the infrastructure
       | layer.
       | 
       | BTW. on premise compute for homelab environments is incredibly
       | cheap right now! (Looking at you 'second hand Dell Optiplex'
       | gear)
        
         | roland35 wrote:
         | It's cheap as long as you don't look to closely at your
         | electric bill ;)
        
           | closewith wrote:
           | Depending on where you live, that home lab is also a handy
           | resistance heater.
        
           | calrain wrote:
           | This is where the right model hardware shines.
           | 
           | There are low power machines that idle on 8 watts (Dell
           | Optiplex Micro Form Factor), and my whole lab costs around
           | USD$100 a year to run on local power prices.
           | 
           | You're right, it's really important to pick components that
           | are low power.
           | 
           | With Home Assistant automation, you can even start and stop
           | machines so they only draw power when you need, e.g. for a
           | testing pipeline.
           | 
           | I couldn't recommend more the channel "Jim's Garage" on
           | YouTube to help someone get started in this space. Fantastic
           | content!
        
           | quickslowdown wrote:
           | I have a rack mount server, 3 "gaming" desktops, a mini dell,
           | a ton of raspberry pis, and a few miscellaneous devices
           | running. My bill is $10 more than my brother who's a nurse
           | and has 2 computers, a Switch, and a TV.
           | 
           | I know in theory the electric bill could/should be way
           | higher, but I just haven't found this to be the case.
        
       | politelemon wrote:
       | > The options free of lock-in for such a service are limited-to-
       | nascent2.
       | 
       | Everything is a lock-in of some kind or to a degree, even k8s or
       | EC2s can be depending on the complexity, of which there exists
       | heaps in k8s. It's a different kind of lock-in, the self
       | inflicted variety.
        
       | xnx wrote:
       | > Notably, deploying software doesn't seem to have improved much
       | at all for the individual developer. Heroku, in its prime, is
       | still the golden standard.
       | 
       | I feel this. There are a lot of PaaS options, but very little
       | portability between them.
        
       | irrational wrote:
       | > AI assistants/copilots can wear the hat of "better
       | autocomplete" today and may wear the "help me understand this
       | code" or "help me write a good PR/commit message" hat later. I'm
       | skeptical about the wisdom of handing off the latter to a
       | program, but we'll see how it goes.
       | 
       | The vast majority of PR/commit messages I see (approaching 100%)
       | are basically a JIRA ticket number and the name of the ticket,
       | and that message is used over and over again for multiple commits
       | under that same ticket. I'm not sure Copilot could do any worse.
        
       | givemeethekeys wrote:
       | What would the author consider to be, "large software"? Has the
       | tooling improved such that a person has to remember less of the
       | system?
        
       ___________________________________________________________________
       (page generated 2024-03-21 23:01 UTC)