Staff RevisionsWhat is your MyCard?The New World OrderWho wants to be on the Advertising Team?


Computer Help & Chat

Get help with computer-related problems, or just chat about hardware, software, emulation, programming, networking, smartphones/tablets or pretty much any other computer topic.

WARNING: This topic delves into "programmer depression." Stay away if it's hard on you.

For the longest time, programmers have been trying to make their own jobs easier, as well as making it easier to get friends and family into coding. Those of us who code, feel that coding is easy, while those who do not, do not feel it is easy. The overall question we have to ask ourselves is, "How much does making it easy take away from what can be done, nullifying the whole point of making it easy?"

I feel every coder (that is, those who try to deepen their knowledge of their tools, as opposed to skiddies who simply try to modify work to do what they want without bothering to understand how it works) has tried to write wrappers for code they hardly understand, as well as trying to reinvent code they hardly understand. Because it is hard for us, and since we hear how hard coding is, when we finally make a breakthrough, we feel the need to share our libraries, explanations, and so forth, so that these things that were hard for us, but are now so unbearably simple, become simple for others, and they can benefit from our struggle without having to repeat it. But how much easier should we make it?

On the topic of libraries, there are so many out there, and many of these don't inherently have their purpose made without existing familiarity with said library, or, at least, the problem they are meant to help with (and, let's be honest, we coders tend to be as good at describing things to each other as we are to people who don't code). Oftentimes, documentation is so sparse, you often end up having to read the entire bit of code to see how to use it, by which time, you're probably better off having had made it yourself, then you'd've at least learned from the experience and have a larger portfolio.

On the other hand, we get tools where people, instead of making things harder, they've straight up made a GUI just to allow others to make code. While people who are new to coding (or don't code at all) are now able to make the things that you can make, you've only ended up replacing yourself. Not only do your users do what you do without learning anything, but they also tend to be more successful at it (how many people make games and products anymore with their coding knowledge, vs how many people make games and products using Unity, Gamemaker, etc?).

Worse yet, after spending so much time making these things and cleaning the up to make them user friendly, the libraries and/or technology on which our code depends has become deprecated, and our users move onto the next big thing. And this doesn't even address whether or not we have ideas on how to improve coding styles to make the projects more efficient or easier for our users to use, if you're in a professional setting, because you're not allowed. And if you're a lonely coder trying to this, you'll never take off before it's time to start all over again when you can't port your code anymore (this is extremely bad for webdevs, which is why, even though their coding isn't at the same level is mine, i still respect them for putting up with this). To top it off, the people with the jobs are either webdevs, people in foreign countries (since they're cheaper and importing and exporting code is free, unlike with physical products), or someone using a tool to do the coding for them. And to top it off, rumors are that AI will be able to write javascript and php code, replacing the need for webdevs, too (supposedly, there are actually working models already). And I won't even go into the whole degree/certification thing.

Having learned numerous programming languages falling into disuse, worked with assembly of various architectures which are bound to be replaced, coded countless samples of libraries now deprecated, wrote my OS kernel, coding tutorials, wrote many libraries to get code portable across multiple platforms, even almost finished writing my own assembler/compiler, realizing that everything i've coded and made is worthless to everyone other than myself, i am left with one question to ask, "Why the fuck do we continue to do this to ourselves?"

settingsOptions
There are 5 Replies

"Why the fuck do we continue to do this to ourselves?"

It's extremely fun. Quit worrying about long-term impacts and get to the next exciting project.

(how many people make games and products anymore with their coding knowledge, vs how many people make games and products using Unity, Gamemaker, etc?).

There's no difference between people making a game with Unity / its scripting language and people making a game from "scratch" with a bunch of libraries.

If you ever find yourself coding something truly from scratch (COUGHGTX0COUGH) you end up falling into the same pattern as your entire codebase slowly gets replaced by functions and systems you've built to do a lot of the work for you.

Posted October 17th by Xhin
Xhin
 

And to top it off, rumors are that AI will be able to write javascript and php code, replacing the need for webdevs

The problem with this isn't that AI can't write code (they totally can) but that the process of turning business ideas into code has always worked the same way and AI's are nothing but sophisticated programs.

People that have done a lot of websites think "oh hey I should build some tools for myself so I can do these things faster" and they develop a platform that handles maybe 90% of business logic. These platforms already exist, there's no reason to program an AI to create them, but they all fall victim to the same problem -- relentless creeping scope change.

Projects might start out like "I need it to do X,Y,Z and handle these things and also sort these things a certain way" and a sophisticated language parser could read it and spit out code (or a programmer, which is just a sophisticated language parser that runs on coffee instead of electricity), BUT THEN inevitably the client always wants something that can't be built with existing tools, existing AI's, or even existing programmer expertises, and the programmer has to think and plan and compare the plan with the existing codebase and so forth. We're a long long way from having AI that can do that.

Posted October 17th by Xhin
Xhin
 

It's extremely fun. Quit worrying about long-term impacts and get to the next exciting project.


It is, but then when it falls apart it's depressing. It's like a short-term relationship that you put all your energy into. The lust and euphoria is absolutely wonderful, but then you're trying to open your chest when it ends with her running off with some other dude.

There's no difference between people making a game with Unity / its scripting language and people making a game from "scratch" with a bunch of libraries.


There's actually a huge difference in terms of quality. Most users don't see it, but Niklaus Wirth did (or rather, he described the phenomena overall). There's also the investment thing: the people most likely to succeed are the ones who did the least work. Which, I can understand, life's not fair, and that's what capitalism is all about, but why do those of us with more knowledge continue to screw ourselves over this way?

If you ever find yourself coding something truly from scratch (COUGHGTX0COUGH) you end up falling into the same pattern as your entire codebase slowly gets replaced by functions and systems you've built to do a lot of the work for you.


I usually don't have to revise my code much, but that's because i try to foresee whether or not i'm gonna have to replace it in the future, which, if it does depend on a library or something, I often find myself worrying about how much longer it'll last. Though, that is probably why i prefer lower-level development: i totally loved my kernel until i found out UEFI was going to make life difficult.

The problem with this isn't that AI can't write code (they totally can) but that the process of turning business ideas into code has always worked the same way and AI's are nothing but sophisticated programs.


From what I can see, javascript is still primarily for website formatting, and most businesses just want something to help them sell products, not some facing coding to make the site flashy. Therefore, I can't imagine why AI would fail to perform.

People that have done a lot of websites think "oh hey I should build some tools for myself so I can do these things faster" and they develop a platform that handles maybe 90% of business logic. These platforms already exist, there's no reason to program an AI to create them, but they all fall victim to the same problem -- relentless creeping scope change.

Projects might start out like "I need it to do X,Y,Z and handle these things and also sort these things a certain way" and a sophisticated language parser could read it and spit out code (or a programmer, which is just a sophisticated language parser that runs on coffee instead of electricity), BUT THEN inevitably the client always wants something that can't be built with existing tools, existing AI's, or even existing programmer expertises, and the programmer has to think and plan and compare the plan with the existing codebase and so forth. We're a long long way from having AI that can do that.


Programmers are also way more expensive. But, with AI, it'd be easier to rebuild from scratch, and since you're not paying it an hourly wage (and it can type faster, anyway) it's alot easier to rebuild from scratch. To be fair, I'm not sure what AI is capable of, and I will argue that some of the predictions about AI capabilities are overblown, especially with Moore's Law slowing down (and, no, quantum computers cannot surpass transistor computers without changing the definition [to be fair, they have done this with super conductors], so that won't solve the problem we're facing).

Posted October 17th by Kohlrak
Kohlrak

when it falls apart it's depressing

Why do your projects fall apart?

There's actually a huge difference in terms of quality

Depends on the game company. You can make an amazing game in unity, or you can make a shit game from scratch. The "quality" aspect has to do with the game creators, not the software they use.

And most businesses just want something to help them sell products

Yeah but "most businesses" can be handled by programmer-free platforms like wix or maybe WordPress if they're more complicated. If they do e-commerce, there's Magento and things like it out there. AI won't help those people because existing frameworks will help them.

Likewise, most custom solutions fall into something that a natural language parser could understand and write code for. However there's so many outliers with codebase additions and very custom projects that an AI has no hope of replacing everything until they've replaced humanity entirely.

Posted October 18th by Xhin
Xhin
 

Why do your projects fall apart?


Any number of reasons, such as i find that there's already a product on the market that does what i want, does it better, and is affordable (usually free); i find that the target purpose itself will become deprecated; the library I have to use will become deprecated and/or replaced, but updating and/or porting is impractical; the list goes on.

Depends on the game company. You can make an amazing game in unity, or you can make a shit game from scratch. The "quality" aspect has to do with the game creators, not the software they use.


Not the quality i mean. As a coder, one who does things in assembly, I often look at bloat as a part of quality, and if it's excessive, it's low quality. Although home-coded games can have bloat, your drag-and-drop created games generally have alot of bloat, and not just from the fact that they run on VMs.

Yeah but "most businesses" can be handled by programmer-free platforms like wix or maybe WordPress if they're more complicated. If they do e-commerce, there's Magento and things like it out there. AI won't help those people because existing frameworks will help them.


Except, they're not as common, because they're living under a rock (my experience), or managers read X, Y, and Z publications that say it makes them look cheap and hurts their business to use something that can be easily identified.

Likewise, most custom solutions fall into something that a natural language parser could understand and write code for. However there's so many outliers with codebase additions and very custom projects that an AI has no hope of replacing everything until they've replaced humanity entirely.


They don't have to replace everyone entirely, but the issue is that we're slowly replacing more and more of ourselves with our programs. Where's the threshold before we say realize we're killing our own job security?

Posted October 18th by Kohlrak
Kohlrak
Reply to: The fall of the programmer

Enter your message here


Site Rules | Complaints Process | Register Complaint Facebook Page
GTX0 © 2009-2017 Xhin GameTalk © 1999-2008 lives on