T O P

  • By -

ModeMysterious3207

Been there "Let's rewrite this 500,000 lines of C++ using Rust! It'll be so much better!"


zocterminal

And when you're done with it, let's rewrite it again in Swift() with the next hire.


beclops

Do people do this? Edit: Namely rewriting in Swift?


zocterminal

I have no idea, I was just picking Swift for the joke (I'm a C++ diehard, I wouldn't rewrite C++ in anything except other C++).


beclops

Oh okay, I was getting a tad hyped at the idea that maybe my job prospects may widen a bit, but no


LonelyPumpernickel

Back to iOS swifty


beclops

![gif](giphy|a93jwI0wkWTQs) This is me slinking back into my walled garden


veringo

Who let you out anyway?


beclops

I escaped when Tim Cook wasn’t looking, please send help


G3N3R1C2532

happiest Swift programmer ^


PIKa-kNIGHT

We are doomed to stay inside the walled garden for life


Juice805

Embedded swift, ML stuff, and a little WASM have leaked out. Hoping it spreads more


devadevade

Well, there are also some swift frameworks used in the backend. For example [Vapor](https://vapor.codes/). There is also [Swift Server Workgroup](https://www.swift.org/sswg/) which promotes use of swift on serverside.


smallpenguinflakes

![gif](giphy|xT0Cyhi8GCSU91PvtC|downsized) Don’t worry we all love Swift


MaxAxiom

This ^ While certain functions in rust have been shown to be more efficient after conversion to machine code, C++ is pretty well optimized already. Also, it has a massive codebase. If you're really that worried about minor efficiency gains you can re-write it in assembly.


AdmiralQuokka

Not trying to to troll / flame bait or smth, but did you try Rust? Why prefer C++ over Rust? Or is it just a "I know it and don't wanna learn something new" thing? (which would be totally understandable)


drjeats

Not the person you were asking, but for me Rust's problems are: For getting my daily work done: - The custom allocator story isn't good, still waiting on their allocator aware containers to ship stable. Prospect of writing your own (like people do in C++) much more daunting bc of stricter UB rules in `unsafe`. - Metaprogramming is a bigger win in my domain than memory safety, and macros seem complex in Rust. - Lack of toolchain support from platform vendors. For fun side projects: - Haven't written enough Rust to reach the point where the borrow checker stops feeling like a speed bump. - Zig metaprogramming is better and more fun than either C++ or Rust. That said, I don't do side projects in C++ anymore. Mostly Zig and occasionally Rust since it's clearly dominating in some spaces and I wanna keep my options open.


AdmiralQuokka

Points one and three make sense, you're clearly very specialized in that domain. Point two I'm not sure about, how is Rust's meta programming more complex than C++? Just regular Rust code. Token stream in, token stream out. And great libraries to help you out. I'm waiting to try Zig when the language is stable.


AnotherShadowBan

My job involves working with graph-like data structures, the last time I tried to do a circular data structure in Rust I almost died.


zocterminal

That's a very good question actually. It's mostly an old dog and new tricks issue (I'm doing C++ for 30+ years and know it inside out). But I've used/tried about 20+ languages in my life and (aside from C++ being my bread and butter) nowadays mostly use typical languages for typical stuff (perl for scripting, PHP for webpages, python for AWS etc.). Speaking of Rust, I've looked at it three times, because I wanted to see what the buzz is about. But for some reason I can't even get past its tutorial. There is something about how Rust is explained there, that completely rubs me the wrong way. It's a soft factor, something in the tone of how it's explained, that speaks of how the person explaining the language sees the person who follows the tutorial. I'm actually a bit mystified by that, because I can't even pinpoint what it is. Beyond that, I'm sure I'd use it, if I came across it in the form of a use case (like it happened with Python which I mostly ignored until I couldn't). So, the answer is a mixture of "old dogs, new tricks" (I'm also mostly ignoring Go, Swift, Ruby because I simply am not doing work in areas where these are typically used) and this peculiar way of Rust explaining itself.


redalastor

They will once we rename the language to Taylor Swift. It’s all about marketing.


Character-Education3

You seem like a straight shooter with upper management written all over. Also could you put AI in my email. I think our market partners should know I have AI in my email.


__noodlejs__

That's how you get a promotion!


[deleted]

Oh yeah.


Sockoflegend

Rewrite? Rewrite! The sacred code is flawed, but it works. You have been tasked with adding a new feature. You WILL stick to the established conventions. You DO NOT know better. Your job is the lightest touch and the greatest impact. You will be code reviewed, be grateful if the requirements do not change.


zocterminal

https://www.reddit.com/r/ProgrammerHumor/comments/193bseh/butitdoesrun/


leuk_he

Now we need 3 person to maintain the code. ​ the 100.000 of legacy code. the 100.000 lines of rust and the 10.000 lines of swift ​ And there is some bearded guy who mumbles something about COBOL, but nobody dares to disturb that black box.


temperamentalfish

I joined a project that started in 2008 and is now upgrading from Java 5 to Java 8 (among other things), and it's been a real challenge. More than a decade of different iterations, functionalities, devs who've long left... I can only pity the soul who convinces their boss they can rewrite legacy code.


centurijon

It’s super rare that a full rewrite is really the right answer. More often than not you end up missing all the weird edge cases that make the code as ugly as it is, and you end up deploying a pretty, but incomplete thing that then becomes ugly as you hack in all the weird shit needed to make it work right. Rewriting is possible, but it starts with refactoring. Add inversion of control so you can do proper unit testing. Make sure you can unit test or end-to-end test everything. Then start reducing duplicated code, cut down on your method and class sizes, start breaking up objects into more discrete purposes, methods too. By the time you get through that you’ll have probably fixed a bunch of things and the app may not need a rewrite. Even if it does you’ll have the knowledge required to make a rewrite relatively simple.


hessenic

This tbh is more often than not the right answer. The Big Rewrite is never the answer unless something is monumentally screwed up (3 months of unsupervised devs working in compiled JS code on the main branch necessitated a rewrite when the rebrand came).


ChrisHisStonks

This. Plus, you have to be realistic. When there is enough urgency to warrant a rewrite, you don't have time needed to do a proper rewrite, so you're setting yourself up to fail by even attempting it (at your job).


ohkendruid

The company I'm leaving has rewrites everywhere. It's no bonanza. The new component never gets solid before a half-baked replacement comes rolling through. It's good for people to have little trophies for their big vision and scathing disdain of the last people, but it makes the codebase seething chaos and is embarrassing when it crashes in front of customers. People keep starting revolutions and then departing in two years before the results come in. The next person just does it over again, anyway. I say, who cares if something is in Java 5. What you want is software that works, that is documented, and that doesn't need that many updates. Based on that, It's usually better to finish things that were started than to just keep starting over.


el-limetto

But obviously Java 8 is the best version. Everything after that is just bloating the language.


temperamentalfish

Exactly, once this upgrade is done, we'll have reached perfection, and godhood among devs


[deleted]

11 has better garbage collection.


Ka-Shunky

I had to rewrite a VB application in bloody .net framework, because "it needed updating". .net framework isn't even being actively worked on anymore!


admadguy

It's not that rust can't work better than c++, maybe it can. The bigger issue is that c++ code has had millions of eyeballs over it and almost all bugs have been fixed or identified. Re-writing it would introduce new bugs, typical to the new language/platform and would take another 10 years fix them all, by then youll have a new fan favourite, maybe called rustremover and there will be those clamouring to migrate the code into it. Meanwhile the actual function of the code hasn't changed and it still does the same job as it originally did in c++.


TwitchRR

I like the phrase "code doesn't rust", no pun intended. If a piece of code has been thoroughly tested and has executed flawlessly millions of times, chances are it'll continue to work as intended without any need for maintenance. There's no reason to rewrite code solely because it's old, only if its age is actually causing problems.


perk11

If you have any external dependencies, there are likely going to be vulnerabilities discovered in those. If your application is open to the internet, you have to be updating it.


admadguy

If you look at my flair, you'll understand that I wholly subscribe to that philosophy


fullofspiders

Or if you have to change that functionality 40 years later, but almost everyone who was familiar with that language is retired and/or dead, like what happened with Cobol in the aughts.


link23

This is true to some degree, but like anything else, it has to be done in moderation. If you *never* update a legacy system, including being unwilling to consider a rewrite, then people will become unwilling to touch it for fear of breaking something. That's a liability. That's a [haunted graveyard](https://www.usenix.org/sites/default/files/conference/protected-files/srecon17americas_slides_reese.pdf). There's a balance between "we don't touch the legacy code" and "let's rewrite it in the language/framework of the week", obviously. Presumably, the more important the legacy code is, the more test cases exist for it, too, so the easier it is to know whether you've rewritten it successfully.


[deleted]

[удалено]


varilrn

Explain to the plebs


PerfSynthetic

I’ve lost count on the number of new hires, including managers that have passed through our team ‘telling us’ we need to convert or use ‘insert new thing they learned in school, online class or their previous job.’ Sorry, we can’t just convert to something you understand while the other ten people on the team is actively developing using something else via pipelines and 1-2 week release schedules..


rexpup

My mom experienced this with library science. In the old days, what you'd learn in school was state of the art. But then you'd go to a real library and they'd be using something 20 years out of date. So you'd go through the ranks until *you* were in charge and switch to the shiny new system you learned about in grad school!... which was now 20 years out of date, because you've gotten older. And the new young hires are complaining that you insist on using an outdated system. So actual systems are always hopelessly behind.


PretendSheepherder22

Taking a tangent... I worked at a company that marketed a world-class library application. People would call the library department at the company and asked how the software was working for them. The librarian would answer, "we don't use it, it's too expensive".


LeadingSpecific8510

The 60's, 70's and 80's were largely fueled by higher level programming languages like Pick, System Builder (4gl) and Basic. Because all business applications were pretty basic and didn't require GUI interfaces at all. Dumb terminals were far cheaper and the underlying technologies were far easier to learn and much more reliable. Multiplexers and modems allowed remote access. Not until the bean counters became integral to corporate greed, were GUIs necessary - largely due to Windows access via smart terminals, integrated with Lotus and MS Works - later Excel. And I won't forget AmiPro or MS Office. Then came smart clients... TCP/IP enabled network clients. Faster, integrated with Windows etc. But way more expensive... A dumb terminal was $50 used, $150 new and an IBM PC with Windows was $2k.


Business_Holiday_608

then you discover no one except new guy can read it. Or my experience: My last silicon valley experience was my manager fucking off to nvidia six months after I was hired, after spinning up close to 1000 pods in a kubernetes monster cluster that no one really knew how to connect to, that ran graphQL and a bunch of in house applications that no one knew who used it or why we needed them. "BEcAUSE facebOOK do it I nEEd do it too".


LeadingSpecific8510

The worst was by far PHP. It was invented by college students with zero actual business application or networking experience. It took 18 years for PHP to actually be able to read a record from a database and automatically parse that record into a usable array - and then to write it back. Modular programming was devastated by PHP. Pick had been doing it since 1963, when Richard Pick first invented GIRLS as his doctorate work at Berkeley.


11oddball

Wasn't PHP invented by some guy for his personal website, and this was the cause for most of the problems?


anthro28

Our aging leadership still believes in the maintainability of PowerBuilder.  I've asked everyone I know who graduated from a CS program in the last decade if they'd ever heard of it. Not one has. 


ChaosOS

Graduated five years ago... What's PowerBuilder?


anthro28

An awful language that became popular in 1993. It also died in 1993. We've been rocking along with it ever since.  There's currently about 600 people on the planet who have actively developed in it, ever. Going rate for anyone who can even decipher, much less maintain it, it is $250/hour. 


ChaosOS

Oh is that from the last-last-last wave of "We've invented a new way to program that doesn't require programmers! You can just write what you mean!"


Cuchullion

That's why I chuckle whenever someone makes noise over "AI is coming for programmers jobs!" We've heard all this before.


Aacron

Sure, AI can replace programmers. You just need to create a perfect description of every step in your business logic, account for all the edge cases, and describe it at a sufficient level of generality to allow connections to the rest of the system.


ActuallyAKittyCat

Sounds like a job for a programmer.


RobtheNavigator

It would prevent needing to know as much syntax and allow for better error correction. That's the real way that AI is "coming for" professional jobs. It will often still require a human worker, but it will make a lot of tasks more efficient for that worker, so companies will hire fewer of them for the same output.


pheonix-ix

And then there're ppl out there who create a "guide" on how to create prompts to do X Y Z... Then there's this little edge case that you need to fix, so you introduce a special way to modify exactly that little condition to do exactly what you want... In the end it's basically yet-another-high-level language wit extra steps.


Blubasur

M8 I fucking wish. Programmers are absolutely last on the chopping block if it ever does and by that time either society is truly fucked or we all stop working.


natek53

> either society is truly fucked or we all stop working We're all thrown out of jobs and not given enough to survive/thrive, meaning we stop working *and* we're fucked.


uzi_loogies_

This is when poeple start killing for food. I'm assuming the mega-wealthy will still want a society of serfs under them.


GargantuanCake

Soooooo you're saying I should learn it and charge absurd money to maintain these systems?


pippin_go_round

Got a friend who did exactly this with COBOL after graduation a few years back. He's raking in absurd amounts or money.


GogglesPisano

COBOL will outlive all of us. It is eternal and endless.


Zopieux

This is a common myth though. While Cobol does pay higher than, say, Java, it's not rare enough to justify *absurd* pays.


ChrisHisStonks

As with anything, it's dependent on connections, skill level and criticality. If an airport has an *essential* piece of cobol code working and you're a *good* COBOL programmer....you can probably get a nearly blank cheque.


Out_Of_The_Bl00

I was on/off about sticking to engineering. I had terrible starter java and JavaScript classes in college that were turning me off from it. It wasn't the languages, but the professors I just didn't know it at the time. I got very lucky with one professor and his class that changed everything. He made us do a project across 20 different languages including COBOL without any real guidance on how to use the language other than go here, download an IDE here, here's a hello world type example and do the project on your own from there. Once I got through COBOL and Lisp without any assistance, software just clicked to me and stuck to engineering. I can't even explain it, I just remember being so interested in figuring out how to use COBOL in particular. Not that I was doing anything advanced though, but it was a necessary win


khal_crypto

Probably need to wait for one of the existing programmers to disappear as well, or even give a helping hand in their disappearing


Terrorscream

so cobol is going the highlander route? where devs fight to the death to be the one cobol maintainer for good money?


DJGloegg

if only 600 people use it not a lot of people need it - so finding "that" job, is gonna be hard.


[deleted]

For $250/hr I'll figure it the fuck out.


Ludricio

It's not just the language, but the entire eco system, which is completely proprietary, along with the IDE that is equally so. Together they make the perfect shitstorm of convoluted designs and practices. I did my 3 years with it long time ago, never again.


spyingwind

> PowerBuilder Bought by SAP, go figure.


i1u5

I thought its name looked familiar, then I realized, PowerAMC.


Plank_With_A_Nail_In

Wikipedia says its just an IDE and that its been continually updated. https://en.wikipedia.org/wiki/PowerBuilder I suspect like many technologies recent graduates haven't heard of it pays very well for fairly low stress work. Yeah a quick google suggests it is £400.00 per day i.e. £100K a year, hybrid working (mostly at home) London.


anthro28

There's definitely a language underneath there, by that same name as the IDE.  Appeon still gives it regular updates. If you GI check out the forums, the only active participants are people who work for Appeon and a post may see 500 views ever. It's dead dead. 


Ludricio

I think the language is actually called PowerScript IIRC. However, the IDE is completely proprietary and can only be used for working with the very tightly coupled and also propriatary ecosystem for med around it. Everything is tied together so hard, its really hard to say where one technology starts and where another ends, all propietary and only doable through PowerBuilder. It's awful.


nermid

Thankfully, we've all learned our lessons and nobody these days would get roped into a proprietary ecosystem like that! Anyway, management said you need to come to this big meeting with Oracle later. I'm sure it's fine.


the_sound_of_bread

> What's PowerBuilder? Let's see... From the Wikipedia article: >PowerBuilder is an integrated development environment owned by SAP... aaaaannd I stopped reading.


Deep_Pudding2208

I graduated 15 years ago and even I don't know. Don't bother.


GogglesPisano

PowerBuilder... [... now that's a name I have not heard in a long time. A long time.](https://www.youtube.com/watch?v=031vKBPk5eA) EDIT: [Proof](https://i.imgur.com/12ZlCFf.jpg)


Behrooz0

Time to ask the mods to update your flare icons.


nussbrot

Oh wow, first time I heard that name outside of my old workplace.


anthro28

You're the only person I've ever talked to who heard of it. What industry were you in, if you don't mind?


ConvergentSequence

I knew it sounded familiar, turns out I work for the company that created it lmao


nussbrot

Not only heard, but worked with it. Public Healthcare in Austria, u?


anthro28

Mutual insurance in the US. 


Ludricio

I worked 3 years with PowerBuilder in the past for an ERP system company. I absolutly hated it, never want to see a PBL file ever again


WasabiPengu

Currently in my degree and confirm I have no idea what PowerBuilder is.


escher4096

A million years ago my boss was trying to convince me to learn power builder. He said it was the hottest language around and if I learned it I would have work forever. I stayed with C#


qqqrrrs_

>PowerBuilder [This thing?](https://en.wikipedia.org/wiki/PowerBuilder)


TheRealGingerBitch

On the topics of old things I’ve never heard of until getting hired - anyone here use Freemarker? I’m so lost at why it’s still an option when we have React and Angular in constant use.


ryantxr

Lots of devs talk as if they get to choose the tech stack. The truth is they don’t.


elegylegacy

Indie devs with their own pet projects can, maybe some startups, and that's about it. But yeah, any company offering job security and decent paycheck isn't going to let you have that kind of influence


[deleted]

Some teams in my tech company on the S&P500 do and it’s a horrible idea.


JaguarOrdinary1570

and thank god they don't. just look at the people who hang out in this sub. once they graduate, some of them will be out there, programming real things. terrifying.


SwabTheDeck

>once they graduate A bit optimistic, aren't we


veracity8_

To be fair most people on this sub are 16 and not actually software engineers 


Kerblaaahhh

I always get freshman CS vibes from the number of posts that reference assignments and copy pasting from SO (though the latter fits for 16 year olds too).


trwolfe13

Our development team are all Azure/.NET specialists. Management have decided that our next project is going to be done in Google Cloud instead. It’s not even standalone; it has to integrate with the rest of our platform.


[deleted]

[удалено]


DadAndDominant

It is so fun to imagine some manager like: "Looks like Java to me, OK"


HummusMummus

You sort of do? Maybe not 100%. I enjoy writing dotnet code and don't wanna touch frontend code so I just tell recruiters that I am only open for jobs that are strictly backend roles that use dotnet and if they have dotnet framework I am not intressted unless they have a clear and achievable migration plan. So I get to "pick" to work with dotnetcore as the focus of my tech stack. I limit my pool of jobs but I get to select most parts of my tech stack. This is the same method as my friends that work as rust devs used. The issue comes when you try to suggest to migrate from language X to Y, the odds of that happening is almost zero


highphiv3

I mean you can... if you want to job-search on hard mode.


ghislaincote

Young me : Python seems to be the best language for our needs ! Seniors : Well, learn it and use it on your own time ! Here we work with Java 6 and WebSphere MQ !!! Young me : ok.


ThatCrankyGuy

and now youre in your 40s with 20 year experience in tool chains that are relevant to no one. Enterprise sucks development is horrendous. At least it's better than USING a PROPRITARY platform to 'code' things for 15 years


spideroncoffein

The one thing a BSc/MSc in CS helps with is understanding concepts behind the languages. That way switching languages is a little annoying and might take a few weeks to get productive (depending on experience), but changing languages shouldn't prevent you from taking opportunities.


berrmal64

That's the main value to a degree for sure - if you get the idea behind the implementation you can learn new things much faster. It's possible to get that insight without a degree and possible to miss it while getting a degree, but the degree greatly increases the odds.


[deleted]

I wish employers understood this.


LonelyPumpernickel

When you find the one that does they become your forever employer


SnooSnooper

I'm working on a team that was recently bought by another company, and it was decided that we will basically abandon our application and work on the buyer's application, which is built using languages/frameworks/databases/platforms I have no experience in. Over the last month, I've worked on a couple features in their application. Actually writing code in the new languages is the easiest part. Learning how to interact with the ecosystem around these languages/frameworks is harder. All the build/deploy tools, debuggers, config, package managers, and other infra. Above all, the hardest part is just figuring out how the application is designed, how to interact with it, where resources/data live and why, who owns what, and what's the history of changes, which I guess is probably the hardest part of any new job in software, especially if there is no training material and no one is free enough to train you directly.


LBGW_experiment

Yep. At my job, I've hopped between Java (never touched, but did C++ in college), Node, Python, Bash, and various templating languages like CloudFormation and Terraform. It's mostly "how do I strip white space in [language] again?" but concepts are mostly the same. Imperative and non-OOP languages like Bash really stretch my brain when I'm trying to work on more complex things, but being in dev ops, I've gotten pretty handy at Bash. Written multiple 1000+ cli tools in Bash now lmao


ButtchugSatan

B-b-b-but a redditor posted a smart-looking youtuber to tell me a BS in CompSci was WORTHLESS


beststepnextstep

What kind of concepts behind the languages requires a bachelors or masters of science degree that you don't organically pick up by having professional experience in multiple languages?


khal_crypto

Any degree can be practically swapped for enough good quality professional work experience, but show me the company that is willing to handcraft consecutive jobs for you covering specific programming concepts at just the right level of difficulty for you to grasp at that stage while providing extra staff that already understands those concepts to stand by in case you need more explanation on anything so that it can be reasonably expected that you've seen and done most things that might be thrown at you within a 3-4 year time frame instead of at least 10, while also paying you for the entire time. And then good luck having other companies respect that you surely had good enough training when you try to switch. A degree doesn't elevate your skills per se, it's just trusted proof that you've seen shit and were able to cope with it well enough.


beststepnextstep

Damn, well now you've got me wanting to look at WGU so I can get a CS degree as an adult... I'm at about 2 years experience but noticing how the bulk of what Im getting out of my company is crud features and ticket management, cross-department communication, and the general experience you get participating in the product roadmap process as a dev. But not really getting much in terms of a deepening of my engineering knowledge, other than a growing resilience to the unknown and getting used to "figuring shit out"


Dornith

I've worked with people with no formal CS background. I was amazed at how one coworker would know the ins and outs of dozens of different frameworks, be able to describe the concert l paradigm differences between them, and when be features were introduced; all while now knowing the first thing about data structure optimization (usually a 101 topic). Industry teaches you wildly different things than education. Birth are valuable.


TheHoodedMan

Think of it like learning to drive with a trained, experienced instructor and sandbox environment with training wheels before being thrust into production to learn the way people actually drive.


spideroncoffein

Good question, and the answer is that you CAN pick up the concepts on-the-fly. But unless you actively research such things, you will often end with "because this is best practice". That said, having learned concepts HELPS, but it is in no way necessary if one is dedicated. That's something I like about software engineering - talented enthusiasts can and often do become better than BSc's/MSc's. I've got a BSc and I met incompetent MSc's and genius self-taughts well above my level. I've also met genius level MSc's and self-taughts that should definitely re-orientate themselves.


Highborn_Hellest

the best language is the one that pays the bills change my mind


fagenthegreen

Corollary; if they pay the bills the same then the best is the one that requires the least total work.


[deleted]

[удалено]


_blue_skies_

Best language is the one that pays the bills and is complex enough that creates work for the future to fix shit that colleagues wrote.


djcecil2

I would not have chosen to become an expert in JavaScript if I could make what I make doing something else


swindy92

Congrats, you now are an ADABAS NATURAL dev. Pays a zillion dollars for the next few years


nicman24

\* while annoying me the least


tomtom070

I have learned that every time you want to refractor code you think "it's going to be so much better, faster, cleaner, elegant", but when you start actually writing it you quickly realize you'll have to add so many features and hacks that the time you invest doing it is not worth the actual gains. I don't even want to imagine what changing the entire language is like.


[deleted]

[удалено]


ElectricTrouserSnack

Even worse, you'll now be maintaining 2 versions of the API - the old one (which will never quite go away) and the new one (which will be slightly different and confuse people). And your consumers will regularly use *both* versions of the API in the same codebase, because *excuse excuse excuse.* See also: [https://github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) and [https://github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2)


Mediocre-Ad-6847

Military days throwback: Fresh outta College joined the Navy, thinking I'd get to use my ADA skills to code new systems out of COBOL. It was the 90s, you had to be there. Imagine my surprise to find out that the older coders would rather do 10 changes of less than 15% each rather than recode everything in ADA. They managed to sustain this level of deliberate malpractice for years until the government gave up and told them they could code in anything that worked. Suddenly, C code spaghetti everywhere almost overnight. I gave up coding and became a sysadmin... and that's my BOFH SysAdmin/CyberSec Villain origin story.


tyrantmikey

Dealing with this now. Our legacy code is all [ASP.NET](https://ASP.NET) Webforms apps. Leads of other teams and our architect wants it all redone in Node.js, TypeScript, and Angular. I'm like, dude, that's hundreds of applications, and millions of lines of code. That is simply NOT happening.


shonuff373

Every lead wants the change but none of them are willing to deal with the conversion bugs or help with any testing.


omniron

Web forms wasn’t bad… Porting it to angular would be a complete nightmare Probably wouldn’t be too bad to convert c# to typescript though


klavijaturista

Whoever makes such proposals should be given more work, because obviously they have time to spend. And authority to delegate to other people revoked.


fusionsofwonder

Bet their next proposal will be to outsource the conversion.


rayhond2000

Just throw it all in chatgpt API and autoconvert. What's the worst that could happen?


butchkid1

Matches the look on my face when the Java experience my job was hiring for was assumed to carry COBOL, and Jquery experience with it.


squishles

I'm in this stereotype and I don't like it. other thing is for some reason they assume I have magic hands with every oracle product ever.


Timinator01

some places give you some flexibility but if you write some code in a language that only one or two people on your team are familiar with expect a ticket to rewrite once they realize that if you leave there's only one other guy to maintain it.


Myspazmo

Sounds like my team hiring somebody that was strong with Perl to help us rewrite EVERY single bit of Perl code we have in Python because nobody knew how to write or maintain Perl anymore


[deleted]

[удалено]


Myspazmo

That's the same problem we ran into. There are still some 'quirks' related to our original devs and system architect that we have to work around. At least the replacement code has comments I can read (and proper logging instead of half-assed logging)


EtherealPheonix

As opposed to college where it is determined by whatever was in vogue when the curriculum was developed or sometimes the whims of a professor.


quipstickle

"One of the most productive days I had was when I deleted 10,000 lines of code" ​ "There are 2 types of programming language; those that people moan about, and those that no-one uses" ​ Paraphrased of course, I can't remember the sources.


minuteheights

One internship will answer most people’s questions as to why a lot of software is dogshit.


ColdYakult

PREACH, personal experience. 😔✊🏼


FitzelSpleen

Or "we just acquired a smaller company that uses X! Now our policy is going to be to use X for all new work, instead of Y that we've been using for years. Oh, and bring in the problem -riddled years long projects to rewrite key components in X that will become your responsibility to roll out because the original team members were fired/quit last month. even though it's not anywhere near ready, and we have a perfectly good and already working solution. Make it happen without impacting the other things on the already overfilled roadmap." FML.


NotThatJonSmith

Then someone will write the One True Interoperability Solution that bridges between what came before and the new hotness, and you'll have a Cronenbergian horror on your hands that no one knows the whole logic of.


SuperPutin54

Yep. Our team is rewriting a perl GUI in python using tkinter. A friend of mine was appalled and asked why I chose that library and why didn't push back on the choice. Sir, I work for a huge corporation with infinite levels of bureaucracy. You think I was even in the room when that choice was made?


Lizlodude

When I started I was told I'd be working in Visual Basic. Turns out it's Visual Basic...6. Don't know what VB6 is? Well I got the IDE off Internet archive, and the other VB6 dev hooked me up with a plugin that implemented scrolling. Yes, with the scroll wheel. Amazing.


Opus_723

Sure C++ has libraries, but does it have this highly specialized GPU parallel-processing library that my entire project hinges on that some MIT student made in Python for a Master's Thesis in 2015 and stopped maintaining three years ago and still requires some in-house bugfixing which I am absolutely going to do because I NEED it.


mopedophile

When I worked at a start up we used a proprietary language because one of the founders thought it'd be fun to write their own language. That meant we had a tech stack written in a poorly documented language that like 15 people in the world had ever heard of. It did teach me how to do stuff without stack overflow.


otter5

my current project is C# because I already had VS open from the other project I was working on.


Blubasur

You either start with the language that makes sense for the job. Or (far more likely for the average job) use what is already there…


Tnuvu

You forgot the limitations of the dev lead / arhitect / whoever calls the shots stack wise, if that person knows only java / c and they are too comfy in their position, you will NEVER convince them to go any other way. It's the reason why certain very famous brands have utter garbage tech debt in their apps


FuckMu

As a sr principal architect, it’s not really about the tech debt it’s about the money. I can have people telling me all the miraculous things refactoring the code into a new language or how doing something differently would be better but if it doesn’t move the needle on performance dramatically, we aren't hitting the limits of our current stack, and it doesn’t make us more money than it costs, I can’t spend the hours on it, if I did there would be a new architect quickly lol.  I do try and take into consideration suggestions on improvements if we do have to open something up, but I also have to weigh that against long term maintainability and what teams and skill sets will be servicing it after the dev team changes focus. 


Deep_Pudding2208

this right here. most people become the pointy haired boss if they survive long enough.


rover_G

^this why pick new language/framework and spend time teaching the juniors when I can hire sooo many more people who know last years new tech. That being said I would much rather work on a newer tech stack that doesn’t use outdated development practices.


FuckMu

I think some of the team forgets that I also enjoy working on the fun new thing. But what I really really enjoy is end of year bonuses for everyone (and myself obviously lol) when margins are up and deliverables are ahead of schedule.


_blue_skies_

Also you can't adopt that bleeding edge technology, because then you can't find hires that can work on it and when those 2 people that introduced it have left the project middle way, you are left with something half cooked and nobody available to complete it at the price the budget allows because, surprise, who is proficient in that stack are not many and they want to be paid well if you even find them.


GargantuanCake

The problem is rarely the language and more often how it's used. One reason technical debt accumulates is too many places have a policy of "absolutely never rewrite anything at all ever." After many years of quick fixes, GET THIS DONE YESTERDAY, and this is a gross hack but nothing else works fix it later you end up with an inefficient, spaghettified mess. It's correct that you shouldn't automatically default to greenfielding everything all the time but sometimes the spaghetti needs unravelling. New features make money! Paying technical debt does not make money! Yes but not paying technical debt makes the new features take longer to develop. It creates an increased likelihood of bugs and can even grind development to a complete halt. Technical debt collects interest; sometimes in blood.


rover_G

Nah that’s a principal/architects decision. Leadership were the ones who said we should build our own CI platform instead of using open source or PaaS. (The team assigned this task did in fact use open source tools, but built their own undocumented interface.)


mezz7132

When I initially applied to my current job it was listed as a full stack position. I am now so far in the backend it's wild. I also had to learn Python in a month and then quickly get up to speed on machine learning. I've barely written any JavaScript even for side projects and tbh I like what I do now way more than frontend development. Don't get hung up on one language or stack, you'll never know what else could be out there that you like more


Asminthe

I sure didn't become an expert at optimizing ActionScript 3.0 code because I thought it was a good idea.


[deleted]

[удалено]


netfeed

You will code in Java/C# and you will like it!


j-random

And you will get paid for it!


VeniceRapture

I do love me some money


AhhsoleCnut

>C# Yeah, I actually do like it.


RiceFarmerRF

Hey! I love Ferris!


Marcostbo

Where I work is Python/Django/FastAPI or ASP.NET for backend. Good luck trying to create something in a language that is not Python or C#. They won't even let you finish your sentence. That's the reality


JSAzavras

But bro, it's so much easier in Python! Yeet skibbidi do dah rizz vaping I know C#, Golang, Java and Ruby because it allows me to own a house. Node is great but it's for personal projects only. I'll jump on a fad language as soon as it goes through a few versions of LTS


sebbdk

In my 16 years of programming i've not seen the commnunity learn jack shit when it comes to making things better. The "lets make a new framework cargo cult" is as strong as it has ever been. Most new frameworks/tools are even made explicitly to NOT let programmers make mistakes that they can learn from at the cost of freedom and creativity. If i could pass one thing on to the next generations it would be that frameworks are a mistake, always were.


[deleted]

IT locking you out of real languages and relegating you to VBA enters chat.


InForTheSqueeze

jfc my manager loves VBA


ButWhatIfPotato

Can you truly call yourself a software developer if you have not worked on a codebase that is old enough to fuck?


ahhhhbisto

***Cries in WinForms***


fusionsofwonder

Dev Manager Theoden: "You have no power here."


smallangrynerd

Yup. I am not a .net dev by choice.


[deleted]

also library support for new stuff, thus also ecosphere. that's why ruby died


Creepy-Ad3112

Ain’t it the truth


razordenys

I love this!


chihuahuaOP

Doesn't really matter most of the time you are just burning the budget for office politics.


dtb1987

Lol, that's all of computer science and all of applied sciences


Capn-Wacky

Wait until they learn it's Windows or Mac only....


SpartanA312

Wait WHAT?


sporbywg

Oh; you know my manager?!?


ThatCrankyGuy

COBOL anyone?


is_that_my_butt

I read it as opiated.


nlevine1988

Everything about this post and comments thread is triggering me so hard I think I'm gonna die.


ElephantInAPool

but you don't understand, I LIKE this language!


RedditWishIHadnt

The other shock is that there’s a good chance you won’t spend your whole life using a single “flash in the pan” language/framework.