Hacker Newsnew | past | comments | ask | show | jobs | submit | narayanbs's commentslogin

And who are you to certify?? Look at yourself first.


Presumably not a deranged Hindu nationalist? Seems good enough...


ahh.. isn't that sweet, a Nazi is happy he isn't a brown Hindu.


What? Nazis didn't really have much against Hindus or Arabs (well yet anyway..) in fact tried hard to appeal to them and had quite a bit of success.

Also, I don't quite get you? are you calling me a Nazi? Is that a compliment given your previous far-right rhetoric? I'm sorry you seem to be sending some mixed signals...


So basically, the feeling the tool gives you becomes more important than the task they are intended to perform.


If you're a programmer, do you like working with a nice computer or a bad one?

I usually actually like working with a somewhat mediocre one, I prefer my computer to have the power and specs of most of the people who will be using what I make, if it works good on mine maybe works good on theirs.

This also lets me treat computers as commodities, essentially disposable. I do not lavish a lot of care on them. Use them, keep them backed up, break them, throw them away.

But then I got this new M1, and I think it is so much better than all the other ones I normally use, including older Macs which I do not consider to have been better than any of the other computers I had. It's so good I want to go buy another one in case my wife is using it and I have to make do with another not as nice computer. To use the lesser computers is irritating to me. I feel less productive without it.

Does the feeling the tool gives you become more important than the task they are intended to perform? If that feeling is you do the task better with the tool than maybe yes.


I have a Thinkpad x220 and modern lenovo laptop. The latter has a metal frame, and is quite nicely built by modern standards; and of course it's far more powerful than the thinkpad, which is from 2011.

But I like the thinkpad way more. It's sturdier, the keyboard has real keys that stick up and not these horrible chiclet macbook-style keys that every single laptop has now, it has the thinkpad nipple, you can remove/replace the battery by flipping two latches, you can access/replace the hard drive/ssd, ram, wifi card etc. By undoing 6 screws or so, and I just prefer the old thinkpad aesthetic.

I never want to "upgrade" to the modern form factor; I think it's worse in every way. When I work on the modern laptop, and then take out my thinkpad for personal computing, I feel relief at how nice it is to type on the thinkpad! It's crazy. It's very annoying to me that nobody's making laptops like that anymore. I use DWM and other lightweight tools, so the 2011 laptop is snappier than the 2022 one (programmers get worse at their jobs/adbicate any responsibility for performance faster than hardware gets better), but at some point it might be nice to have a faster processor.


"To use the lesser computers is irritating to me. I feel less productive without it."

It might not be just a feeling but real. Waiting for a window to open. Waiting for code to compile. Waiting for a process to finish. Vs not waiting.

I surely did notice the difference, when I aquired a gaming laptop, compared to my disposible laptops before. It was a huge boost for developing while away from the desktop (but now it is broken and I am thinking about getting an M1, too)


The thing is the M1 does actually compile code faster than a 2015 Macbook Pro. I use both, for things like word processing I find they both work equally well.

Notebooks are much less varied in the types of work you do with them. It's mostly pen or pencil to paper kind of work.


If you have to take notes, why not feel like a wizard while you do it?


I think they can be equally important. A tool is only useful if you use it, and enjoying a tool makes you use it more


Nah. The feeling's an extra cherry on top. I'm doing whatever I'm using the notebook for (mostly do-do lists with the occasional diary entry, also the dream log notebook I keep next to the bed), and sometimes I look at the journal as I'm doing this and go "writing in this book makes me feel like a wizard, yay!"


The right feeling helps you do the task.


The feeling the tool gives you while performing the task, is what make the task more likely to actually get done (this is Atomic Habits #4 (iirc?), make it rewarding).


It's no different than those spending money on custom keyboards


Agree with you one hundred percent. I was more concerned about the way i use the fashionable office supplies than what my intention in buying them was in the first place.


> Pollution so think it seems like you could dish it up in a bowl. And it's that way at 30,000 ft, in a plane, flying between the two points.

What a load of bullc$ap. Even greta thunberg wouldn't make up things like this.


Either you are confusing verbosity with complexity or you have never actually written a "complex" software in C++. There are too many things to think about while writing a piece of code in C++, most often than not, you are bound to get things wrong.


I've written and shipped plenty of software with modern C++. Ownership and move semantics mean that after writing a few helper and utility functions, things go pretty smoothly. The most concise and direct software I've written has all been in C++. I can organize and transform data directly instead of jumping through hoops or suffering from enormous amounts of overhead and indirection in a scripting language.

Not to mention I can create stand alone executables that have no dependencies and wind up smaller than most scripting language's interpreters for entire openGL based programs with GUIs.

One thing that doesn't often seem to get considered here is what your user wishes you wrote it in. I don't want my software to come as an assortment of scripts that depend on interpreters that themselves might have dependencies. One file is all it has to be.


There are plenty of directly compiled languages with good performance, linking to C APIs, and higher level abstractions.

Rust, Haskell, Go, and Erlang come to mind.


I am not confusing verbosity with complexity and I have written all kinds of C++ software over a career of 15 years ranging from legacy core banking systems to hardware drivers. In fact, the simple C++ code often tends to be verbose.

When you are writing complex software, you are bound to get things wrong in any language, not just C++.

What I am arguing for is that C++ code need not be complex even if the C++ language itself is complex or the software is complex.

If you have an argument against this, please make it substantiatively without resorting to insinuation about the kind of work I do or not do.


I apologize if i sounded condescending, and coming from a BFSI background myself, it was such a relief to write software systems in Java after years of C++. I agree "C++ code need not be complex", but the language itself is so designed that most often than not, you end up heading down a slippery slope.


Being a veteran programmer,i find it funny how the article sounds like the stuff we used to read back in 2004-2005, during the heydays of spring and EJB.


You took the words right out of my brain as I was scrolling through the comments. My internal dialogue literally was "This is EJB all over again", which admittedly may be a bit too much but as they say history never repeats but often rhymes :-)

In this go around I think the value of discreet, well factored services clearly have merit but it's really a question of just how often you truly have something that's a good candidate for this pattern. From what I've seen in some places it's used as a reason to rewrite systems and not worry about doing a good job creating well abstracted software because the integrity of the overall system is some other team's problem.

This article is really well written and does a great job shedding light on the truth. Thank you for sharing.


Thanks for the comments. When I was writing the article I kept on thinking that really this is just the same old fundamental problem in a new guise, which is in many ways just how to manage component boundaries and dependencies, particularly when you are looking at a system which is being handled by more than one person.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: