An other question had the option about optimizing for collaboration, and I think apart for purely personal stuff that your write like private poetry, that should always be criteria number one.
Dev Compass – Programming Philosophy Quiz
91–100 of 115 posts
Re: Dev Compass – Programming Philosophy Quiz
#92GPT-5’s results: Your Programming Philosophy You prefer elegant, high-level solutions that are intuitive and accessible to other developers. You likely favor functional programming, clear abstractions, and code that reads like prose. Abstract ↔ Concrete: +3 Abstract Human ↔ Computer Friendly: +11 Human-Friendly
You prefer elegant, high-level solutions that are intuitive and accessible to other developers. You likely favor functional programming, clear abstractions, and code that reads like prose.
Abstract ↔ Concrete: +4 Abstract Human ↔ Computer Friendly: +9 Human-Friendly
Re: Dev Compass – Programming Philosophy Quiz
#93Earlier quoted context omitted.
Mmm I don’t think I agree. The way I structure code in C or rust is subtly different than how I’d write the same program in Java. OO python or Ruby looks different from data oriented Python or Ruby. They’re all imperative programs though. “OO vs Imperative” isn’t the right name for that design choice.
The way I was taught "imperative" encompasses both "object-oriented" and "procedural", much like "declarative", the opposite of imperative, captures both functional and logic.
C++ and Java are imperative languages because functions are expressed as a list of imperative statements. But there’s nothing inherently imperative about structs and classes. Or any of the concepts of OO. You could have encapsulation, inheritance and polymorphism in a functional language just fine if you wanted to. Haskell fits the bill already - well, depending on your definition of OO.
Re: Dev Compass – Programming Philosophy Quiz
#94I tried to finish this quiz but just can’t. Every question I got was a very big, “it depends on context…” “Do you prefer strong static or dynamic or a mix?” Well… are we teaching 9th graders an intro to coding, writing a quick script to answer a bespoke data question, or writing a data processing library? “On algorithms I focus on…” Okay, well… do we care about performance? Where is it running? How often will it run?…
Avoiding questions just because it depends on context might be a valuable way to signal to other people that you're careful and considerate, and that definitely has value. But quizzes like this are explicitly designed to be contextless. You're supposed to answer with your gut feeling, the first step in the random walk. Someone who actually depends heavily on context and doesn't have a strong preference either way wil…
> Someone who actually depends heavily on context and doesn't have a strong preference either way will answer quickly, and end up near the center on all dimensions of intere
Which is basically all that this test is good for. If you're not somewhere around the center, you're either a junior dev or not a very good dev.
Re: Dev Compass – Programming Philosophy Quiz
#95Earlier quoted context omitted.
Oh a bug, surely. How is the quiz supposed to give you insights when it's unanswerable?
By forcing you to make a decision without context. Similar to how when presented with the trolley problem some will ask many follow up questions about the individuals on each track, the train, etc. That’s not the point.
Not the OP, but what would be the point to that? In any practical scenario there is always context, isnt it? I guess I don't quite get what we are trying to measure here.
Re: Dev Compass – Programming Philosophy Quiz
#96Earlier quoted context omitted.
I took it as “when working in the kinds of things things I prefer to work on using my preferred tools.” For example, I prefer a mix of static and dynamic typing. Even for performance optimization where technically I do all four of the options, trying to write performant code from the start is what I prefer to do when possible. This isn’t about the right tool for the job as much as what kinds of tools to you prefer to…
yes, the mutually exclusive answers (radio buttons) are a quiz smell. they could have used a mix of radio buttons and check boxes, per question, as appropriate, i.e. check boxes for questions where more than one answer is applicable, and radio buttons for the rest.
I could easily answer that. I love solving the kinds of problems that call for strong static typing and careful specifications and unit testing. I also love the opportunity to “whip up a script” in what feels like a hacker speedrun.
I absolutely adore teaching newcomers intro to programming. Holy crap the glimmer in their eyes when they grok what this opens them up to… I skip past all the “computer science” and jump into making a small game and sharing it with friends via web. Or even just Autohotkey to show them how they can become a hacker of their own computer habits.
Re: Dev Compass – Programming Philosophy Quiz
#97Call this a Myers-Briggs for programming style?
Re: Dev Compass – Programming Philosophy Quiz
#98Earlier quoted context omitted.
+1 abstract and 0 Neutral. I thought the imperative vs object oriented was strange, since they are the same thing.
Mmm I don’t think I agree. The way I structure code in C or rust is subtly different than how I’d write the same program in Java. OO python or Ruby looks different from data oriented Python or Ruby. They’re all imperative programs though. “OO vs Imperative” isn’t the right name for that design choice.
https://www.youtube.com/watch?v=mrY6xrWp3Gs To summarize: Block scope is procedural. Wrapping that up in other abstractions like objects, which are fancy closures, eventually ends up in OO.
When talking about OO, people often conflate the data design with the program abstractions. Ofc you program differently in languages that have dedicated data structures and idioms around domain driven design^1, which take advantage of imperative execution within those mechanisms as well.
eg Java Spring - Spring has a lifecycle. It's imperative. Beans and other annotations have a lifecycle. It's also imperative.
^1 Domain driven design is still the norm and any efficiency observed from circumventing (or ignoring) the design is considered novel, which should inform the industry that there might be a better way. Good enough wins out again.
Re: Dev Compass – Programming Philosophy Quiz
#99So many "best practices" are truly repugnant, like XML, microservices, TDD, Design patterns, DRY, OOP, functional programming, codes of conduct, 75% of "devops"
Many of us found those things repugnant at the time and were lambasted for being a contrarian. Now in hindsight people are coming around. We're the ones who care about the machine, prefer short variable names, write necessary tests and do printf debugging. We just want to build stuff that is correct and elegant. Just leave us be.
I don't think any trend is good enough to apply to everyone in the trade. It would be better to divide up into factions so you can find communities that suit your preference.
I was just born this way.
Re: Dev Compass – Programming Philosophy Quiz
#100E.g. the debugging question: I use all of those methods to some degree. But I "think logically about the code" (or whatever that choice was) nearly 100% of the time, so I felt compelled to pick that one even though I didn't feel like it represented me all that well.