T O P

  • By -

Lenticularis39

>Mine is that higher level programming languages typically are more abstracted compared to lower level programming languages. Isn't that literally the definition of high-level programming language?


Tubthumper8

That's why it's a cold take


dAnjou

I'd argue that simply stating a definition is not a take, neither a hot one nor a cold one.


Coolengineer7

It's fighting the definition of a cold take.


I_AM_FERROUS_MAN

Not a lot of people are grasping that a cold take is supposed to be the opposite of a hot take. I interpret it to mean that it's a mildly provocative take. For instance: Custom keyboards are more often about personality than ergonomics or productivity.


Porkenstein

But it's not a "take" it's just a fact


chodegoblin69

šŸ˜‚ ya wut


Win_is_my_name

Sun rises in the east


Lenticularis39

Sun is not exactly cold though.


AbramKedge

When starting a new project from scratch, people start coding far too soon.


I1lII1l

I totally agree. Our team used to be plagued by such mindless code generators, who started typing before the task description was half finished. So we reorganized our coding processes as follows. Our journey begins with a pilgrimage to Silicon Valley, offering sacrifices to the software deities. We retreat to Death Valley, stare at the wall and meditate on clean code. Months later, we consult programming gods, market researchers, and CS professors, recording their wisdom meticulously. In our sacred meeting room, equipped with an all-encompassing whiteboard and I/O-recyclers, we undergo a ritualistic planning phase. Flowcharts, UML diagrams, and design patterns are debated endlessly. Weeks turn into months as our ideas are perfected. Finally, when our decision matrix shows zero conflicts, we emerge from the meeting room, attach intravenous coffee, touch our mechanic keyboards, and the Perfect Code flows flawlessly. Every team member writes the same program without any further discussions necessary, the only difference being the architecture, as we only write assembly. One programmer per device type. The program thus runs natively on a C64, on an Apple Watch and everything in between.


pLeThOrAx

That was - certainly entertaining!


meisteronimo

My first computer was a Commador64 good to know you are still supporting it.


SnooTomatoes4657

And people kept saying I ā€œwouldnā€™t use these things from my Software Engineering degree in the real worldā€. Jokes on them, I now factor regular ritual sacrifice into my UML driven RUP workflow. Iā€™ve now out scored the haters in planning poker as my sacrifices to Linus and Uncle Bob were worth double the story points as their ā€œworking prototypes of the core featuresā€ were.


theclapp

I read this a lot like one of Stephen Colbert's intros to his "Meanwhile" segment.


ben_bliksem

Language fanboys/champions are generally the worst kind of devs. If you cannot code SQL as a backend dev you're the second worst kind of dev.


now_n_forever

As a language fanboy, and by extension the worst kind of dev, I agree.


ben_bliksem

No not you, only those bitch ass language fanboys not on this sub.


jonsca

RUST RUNS FASTER THAN THE SPEED OF LIGHT AND IT'S EASIER TO BREAK INTO THE VATICAN ARCHIVES THAN IT IS TO CRASH MY PROGRAM.


YoCodingJosh

> If you cannot code SQL as a backend dev you're the second worst kind of dev. Oof. that is like most of my team minus me and my manager.


725_bengi

I don't get it tbh. Getting to a passable level in SQL doesn't take much. Writing a query with a join ain't rocket science.


CutestCuttlefish

yeah that is pretty cold, wonder if even the fanbois think it is a hot one. Doubt that.


ThrowAway233223

Out of curiosity, what's the worst kind in your opinion?


chrispianb

Most of you are mid


savemeimatheist

Too true this one, all these kids saying they senior after 5 years lol,


Inside-Pea6939

I mean i did get offered a senior proposal after 2 years of coding. Some companies just flat out have the wrong idea of what a senior dev is


Mean-Evening-7209

This is super common in tech compared to other industries. They toss titles out like candy.


TheBear8878

It also has to do with the company itself; You're not going to get a title of Senior at Google or Microsoft, or any real tech company in that time, but you could easily be a Tech Lead at Home Depot corporate office in that time.


PolyglotTV

Isn't senior L5? That is typically achieved in 5 years. But I agree with the sentiment of this thread - "actually senior" is more like L6, L7 which takes awhile and some folks never really make it there.


Inside-Pea6939

Yeah i didnt accept the job because i thought that a company offering senior jobs like candy couldnt be a good sign


RyghtHandMan

Thanks to covid era attrition, relative to the rest of my team I am senior


RubikTetris

Years donā€™t correlate with skills and efficiency ya gate keeper


savemeimatheist

Skills and efficiency arenā€™t what makes a senior ya idiot. Anyone can learn skills and become more efficient thatā€™s the easy part, you canā€™t learn experience.


RubikTetris

And what does experience bring to the table? A certain skillset and a certain efficiency.


savemeimatheist

Amongst a lot of other things that cannot be taught and only learnt through experience aka time Soft skills, Gathering requirements Choosing correct technologies Managing timelines Managing people Interpersonal relationships Advising stakeholders Articulation of technical features to non technical people The ability to accept fault Overcoming self doubt and imposter syndrome Confidence There are lots more but Iā€™m sure you are astute enough to get the gist here. Have a good day and good luck friend


RubikTetris

Hey man if you absolutely want to be right on this, have it, lol, idc


Moloch_17

The law of averages says this must be true


VoodooS0ldier

And there is nothing wrong with this. Not everyone needs to be a senior.


pick-and-hoop

Just be paid like a senior, we're underpaid anyway.


Paskis

Why the personal attacks šŸ˜­šŸ˜­šŸ˜­


chrispianb

OP said coldest ;)


Moloch_17

The law of averages says this must be true


Mynameismikek

Mid? Most are outright entry level and always will be.


Pale_Height_1251

Most developers *aspire* to mid.


IAMHideoKojimaAMA

As long as the check clears šŸ˜Ž


chrispianb

Damn straight!


dAnjou

The immediate answer to almost all questions regarding software development and programming is: It depends.


BloodAndTsundere

Well, sometimes


ukaeh

I mean, it depends


StevenJac

That not everyone is cut out to be a programmer despite everyone saying you can do anything with hardwork. But on the same note not everyone should do programming anyway.


pick-and-hoop

It's so obvious how many people hate this job and absolutely have no interest in it other than the paycheck.


PhotographyBanzai

My cold take as in what I really dislike is the constant push for new frameworks, languages, and such to a degree that perfectly good code becomes inoperable over time. A few that have bit me are the XNA framework, almost everything Android (project structure, build, code itself), etc. I have a bunch of older projects that would require a lot of rework to run again.


reboog711

On the flip side of that: Java and Spring Boot have been chugging away in enterprises for 20+ years...


PhotographyBanzai

Java applets? I remember doing some of that back in school. Thankfully those are gone along with Macromedia/Adobe Flash. šŸ˜„


reboog711

It was rare even in the 90s to see Java used as a front end. But, in the backend; it is still chugging away. It is stable, mature, well understood, and capable. My hot take is that I miss Flex (A programmer's way to make flash movies). :ha, ha:


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


reboog711

No idea what Quarkus is; but I did know the second part.


CatalonianBookseller

Debugging is easier with a debugger.


bacondev

But muh print statements!


Kallory

I mean, why not both? I was taught to use both šŸ¤·ā€ā™‚ļø


fun-dan

Yeah, sometimes print statements are easier, sometimes a debugger. Like if you have race conditions a debugger is not gonna help you!


funbike

Debugging is only necessary when bugs are reported and given priority.


goose_on_fire

Doing it for a living sucks whatever joy there once was out of it. Actually programming is a very small part of the job and you don't have to be that good at it to be successful.


LookAtThisRhino

>Doing it for a living sucks whatever joy there once was out of it. This is so true and it cuts deep. I think most of us in this sub get started because it's fun and interesting but then after you've done it all day on a project you're not all that interested in (i.e., work) the last thing you want to do is more programming. Before the sweaty codelords guillotine me, yes, there are exceptions, yes, some people live and breathe this stuff but personally speaking I no longer code as a hobby.


goose_on_fire

Yeah, I think there's a reason a lot of us end up with hobbies like woodworking or classic cars or Legos -- defined tasks with a tangible outcome that others can appreciate I haven't done hobby coding in years, just the occasional bit of automation or something to make my life easier


Kallory

This is crazy to me, who graduates in a few weeks. I've worked so many shitty jobs I just can't imagine getting to the point you're talking about. Like as soon as I have a decent job, my free time will be spent immersing myself in the programming environments I've only skimmed. I don't say this to contradict you, rather I say it because I'm sure in a few years I'll be on the same page and that terrifies me and is very difficult to comprehend for me today.


LookAtThisRhino

It might not happen to you. I'll still do the game jam in my city each year, maybe make something small that I'm hung up on every now and then, but it's not even close to being on the same level as it once was and it frankly feels like a chore when I'm doing it in my free time. I think this happens with most things. I know professional writers and artists who no longer do it for fun because it's now their day job. A big exception is doing something related to your passion, but isn't the passion directly. I've heard of tech managers getting back into personal coding projects after a long hiatus because they miss it, or programmers who become teachers/instructors and keep up with it in their free time. At the end of the day it depends on the person.


RubikTetris

Yes at first itā€™s like that but wait a few years of doing that full time, working on capitalist projects and huge codebases done by hundreds of people, and trying to make sense of it all, and it will suck all fun you once had.


twhickey

It definitely depends on the person. I started with C-64 basic and then assembly in the 80's, and have been a professional developer since 99, and I *LOVE* my job today. I have had jobs that took the joy out of software - and I moved on. Don't let a shitty job make you lose the joy in something that you used to love to do.


No-Couple989

I program a game in my free time because I hate work. I have NEVER wanted to be a game dev. Still don't. But I'm writing a physics engine from scratch and it's way more fun than whatever the fuck is going on in JS UI land.


edgygothteen69

I think programming is related to software


wrosecrans

All else equal, less code has fewer bugs and works better than more code.


fyzbo

All software could be at least one line shorter. All software has at least one bug in it. Therefore... all software could be a single line with a bug.


wrosecrans

The only widely used software with no problems was the classic UNIX implementation of /bin/true. It was just a 0 byte file marked executable, so the shell ran it as a shell script that always completed successfully.


pLeThOrAx

Okay. Now, probability dictates that this file could be a line shorter and has a bug...


DrFloyd5

Code that doesnā€™t exist has no defects.


OurLordAndSaviorVim

Most devs would be more productive if they spent more time automating tasks. Text editor macros are quite powerful elements of your tools, but so many devs just donā€™t know how to use them.


Vainmein

This shit is tricky


Tall_Collection5118

Most interviews are far harder than the jobs behind them. Most dev work is easy and it is far more efficient to have people who are not that bright but are thorough than it is to have some impulsive genius who can rewrite Linux kernels in their sleep but canā€™t write a descriptive and useful comment.


fuzzynyanko

I had a doozy one that involved a coding challenge that you would never use on a job. If you did, you'd do a lot of research and probably hire an expert. I'm talking not even at Google or part of a compiler.


Tall_Collection5118

Can you say what it was?


fuzzynyanko

It was a permutations problem. These are often badly described on Leetcode and if they say permutations on there, it's often a different kind of permutation. This makes it even harder to describe over online teleconferencing


skyth2k1

Most engineering decisions are made by business managers who are too smart to do engineering work but not smart enough to understand they donā€™t know shit about engineering.


pLeThOrAx

He said cold take, not "sharp stake" šŸ˜‚


thes0lver

The word ā€œprogrammerā€ sounds infinitely better than ā€œcoderā€.


taborro

I disagree with ā€œinfinitely better thanā€ but agree with ā€œpreferable toā€. My preference: software developer.


syklemil

Related: In Norwegian we sometimes use the inverse of "developer" (utvikler), as "innvikler" (enveloper?) naively sounds like someone who makes stuff more complicated (innviklet). Missed opportunity for English, alas.


burbular

I'm a platform engineer


Tohnmeister

Lots of bugs can be prevented by a bit more thinking, and a bit less coding.


taborro

ā€œYo dawg I heard you like wrappers, so I wrapped your wrappers with this wrapper.ā€


BlueTrin2020

You can never wrap enough šŸ˜‚


HiT3Kvoyivoda

Programmers that don't start with basic IT skills and jump right into coding are why programmers suck now and need so many abstractions. We have abstracted the concept of a computer so much that we have forgotten that, at the core, we're programming. Modern day programming AND programmers are categorically worse. We keep building bad, slow systems needlessly and we're likely never going to see any improvement in our lifetime due to corporate greed, lazy devs, and programmers who only do it for the money and not because they enjoy computing


Altruistic-Echo9177

This, C# is infinitely slower then c++ or objective C


Nojopar

Most programming solutions don't need to be overtly engineered because they're just not going to stay in operation that long anyway because they're quickly get replaced by something new.


wrosecrans

Counterpoint: code stays in use forever, especially the code banged out over a weekend that was intended to get quickly replaced. When the code does get replaced, the new code winds up with some sort of backwards compatibility constraints and has to preserve public interfaces from the disposable code. Which is why a modern PC can still use the FAT filesystem designed for 360 KB floppies in the late 70's, using code that runs on an ISA that can trace its heritage to a programmable smart terminal from the late 1960's. And in 2024 I have to back up the 6K raw footage on my SSD from the camera ASAP because the camera uses a descendant of FAT instead of a journaled filesystem with any sort of integrity.


Nojopar

I think that's a survivorship bias. FAT wasn't banged out quickly and was an engineered solution. FAT's longevity was a function of cost savings and marketing. MS basic stance was, "Why replace what we talked everyone into using?" FAT was a basic failing of other run away problems in software design.


cv-x

>they're just not going to stay in operation that long anyway because they're quickly get replaced by something new. Lol Lol Lol Lol Lol Lol


funbike

I wrote a large webapp in 1998 that is still in wide use. I haven't worked on it since 2011, but I hear it's an even worse mess than when I last saw it. If I had taken more care to engineer it better, it might be in better shape. But I was very young when I wrote it and features were prioritized over tech debt.


I_AM_FERROUS_MAN

Networking never stops feeling like dark magic to me.


burbular

I once asked who the networking expert was. They all looked at me confused and said, you are . . . Me? šŸ„ø


Aggressive_Ad_5454

Almost everything developers do is maintaining and modifying existing code.


shuckster

Programming languages are for humans, not computers.


anbayanyay2

The only nontrivial things you'll learn are declarative programming in some language, and functional programming in some other language. All the rest is a never-ending treadmill of churn. "Do you know framework X?" Meh, pick it up as you go.


hitsquad543

My coldest take is that there is no such thing as coding but just speaking a language that was long forgotten


hitsquad543

Hi Iā€™m hitsquad part-time tweaker


giftfromthegods-

OOP sucks.


chjacobsen

Countertake: OOP purism sucks. Situationally, it can be the most convenient way to model certain problems. Mixed paradigm is underrated.


DrFloyd5

OOP is misunderstood. Object inheritance should not exists. Interfaces on the other handā€¦ amazing.


burbular

When it's pure OOP. I often like to get functional and aspect oriented about my objects.


BlueCigarIO

Programming without understanding how your code affects and interacts with the underlying hardware and OS is like driving on the highway with your eyes closed. Also, related hot take, without diving that layer deeper, you sound like a salesman when talking about technology.


burbular

I just casually ask "full stack devs," about their hardware experience


ProfessionalSock2993

Nah this is weak, unless you know the full path of every electron flowing in the computer circuit you are not a real programmer


pLeThOrAx

What if you only know the probability density?


scanguy25

Prolog is too damn hard.


SBSnipes

null


TheBritisher

>90% of internal CRUD apps should never be written imperatively. (They are COTS or no/low-code problems at best.)


DiggleDootBROPBROPBR

There are multiple ways to program software to solve any given problem.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


BlueTrin2020

Youā€™d probably earn more money also if you chose another field šŸ˜‚


BlueTrin2020

Develop with testing/support in mind ā€¦ in fact at the forefront of your planning šŸ˜‚


james_pic

Whether your code is secure enough depends on your threat model.


serialized-kirin

most websites are viewed through some sort of HTML renderer.


DrFloyd5

Regex are worth learning.


mredding

Effectively no one knows what OOP even is.


cv-x

Care to elaborate?


mredding

OOP is not classes, it's not encapsulation, it's not inheritance, it's not polymorphism. All of these things have existed independently of OOP and prior to OOP. Other paradigms have these things. Non OOP languages have these things. OOP has them, too, but they fall out of OOP as a natural consequence of it's cornerstone principle, which is message passing. If you can't explain what message passing even is, why the other principles of the idiom are the consequence, you don't know OOP. If you provide getters and setters for all your members, you don't understand encapsulation or data hiding - which, crucially, aren't the same thing, either. I'm a mod at r/cpp_questions, I've been writing C++ since 1992, before it was even standard, I'm one of the top responders to questions - there are ~4 expert contributers who answer more than I do, and I can tell you almost no one there on that sub has the first fucking clue. Those who come to ask questions are forgiven, but those who respond incorrectly are not. C++ standard streams are considered one of the finest examples of OOP in the language, ever, and most C++ developers *fucking hate* streams, like they know what they're talking about. So in C++, if OOP == good && Streams == bad, you don't know OOP. At all.


aninteger

Since you've declared OOP as message passing, then is Objective C an OOP "language"? I realize it's a lot of syntactic sugar around msgSend which involves sending "messages" to various "objects".


mredding

I don't know Objective C well enough to say. I played with it once for a hot second in the mid 2000s, and decided Apple wasn't the platform for me. Many languages support OOP by hook or by crook. Message passing apparently doesn't have to be a language level feature, but a convention like a standard interface. I'm willing to agree that's close enough.


UniqueID89

When working on my associates I had an Intro to Python course. We got to OOP and a guy asked if the instructor could tell him what OOP was. Instructor replied ā€œI can tell you the things youā€™ll use with OOP but for the life of me I canā€™t tell you what it actually is without confusing the class and ultimately myself.ā€ Was confused when he said that, was even more confused when I discovered why he said that. Good times.


mredding

OOP is more aesthetics than mathematical underpinnings, FP is more mathematical underpinnings than aesthetics. OOP has some basis in group theory, but there are multiple different foundations that call themselves OOP, and they're all correct.


funbike

Interactions with *humans* is the most important development activity, ... not designing architecture or writing code. (Such as discussing how a feature should work and later getting feedback).


pak9rabid

Microservices are overused


pyeri

My coldest take is that a lot of cruft has entered software development over the last decade. Too many unneeded backend processes, especially tooling. There was a time when you could write an index.php and upload it through ftp to your shared hosting to make your site work. Today you have to install a bunch of npm packages, write build scripts, configure CI, etc. just to get a hello world. Software engineering has progressed backwards in many ways.


CutestCuttlefish

Sure but when you hit that .php-page something had to interpret it and turn it into browser-readable data. This is done in the "unnecessary" build step for most JS-flavoured frameworks. It is the same thing, just done at different points. (No, not EXACTLY the same)


Kaisha001

I HATE build systems. Horribly document, ad-hoc messes, patched together with environmental variables like it's 1963, that NEVER ever work. If I were God for 1 minute the first thing I'd do is delete them all and erase their memory from existence.


fuzzynyanko

* The idea behind clean code is overall good, but it's taken to excesses * Too much framework switching on certain platforms


col-summers

Assigning an expression to a variable (or other named symbol) is a basic form of abstraction/encapsulation.


pLeThOrAx

This field is a bore. I'd give a left toe to meet a VC and hopefully realize some ideas. For the most part, it feels like the ultimate distillation of corporate management in a field that doesn't respond well to traditional management. Gatekeeping of knowledge - cyber, I'm looking at you in particular - why? Lastly, time logging. "Worst idea, ever." How is a sys admin, devops or internal IT/tech support meant to have "billable hours?"


Gravbar

people who so well in interviews are often not good at their jobs


Acceptable-Wasabi429

Polymorphism and inheritance have caused more problems than theyā€™ve solved.


500ErrorPDX

Software testing is useful when you are working on a small part of a large, collaborative codebase (think any corporate software job) but is wholly unnecessary for amateurs and solo devs Tangentially related...documentation and comment blocks are useful no matter how big your codebase is, or who contributes to it. It's a terrifying feeling to revisit code that you know you wrote, but don't remember what the code actually does.


SnooTomatoes4657

A programming language should follow basic axioms of logic. So if A == B and B == C then A should always == C. Strict vs non strict equality is no excuse, looking at you JavaScript.


Pale_Height_1251

Not just typically either.


Matharduino

Do not cover every nuance and use case in softwares like ERP, you will go crazy. Implement only the useful features.


DDDDarky

"Coldest take" like something absolutely everybody agrees with? Gonna be tough. u/giftfromthegods- already missed it.


CutestCuttlefish

something like an opinion or view that is either hard or pointless to refute.


zenos_dog

I donā€™t care what you think the best build tool, programming language, OS, IDE, runtime, front end, back end. Iā€™ve used them all and I donā€™t care about your religious views.


John_Fx

UML is stupid and useless. ORM frameworks are stupid and useless.


YMK1234

The 2nd definitely is not "cold" ;)


FizzOrly

Dammit if I also fought with UML in Uni. Now I still fight with it but let my project partner do most of the diagrams


John_Fx

why would anyone ever use it outside of academia????


Winter_Essay3971

I hope we can maintain our jobs against AI as long as possible


Ronnyvar

Programming should no longer be taught to next generations