Live data from Hacker News

The silent majority in software

vadimkravcenko.com

351–360 of 371 posts

Re: The silent majority in software

#351

Earlier quoted context omitted.

As someone who really appreciates strong typing, I will die on this hill - I hate Typescript. Introducing a transpiled typing system on top of a dynamically typed language is a recipe for all sorts of insane complexity, which is what I experience whenever I try to use TS. If you consider all the time and effort it took to introduce types for every NPM project out there, all the development of the language itself, the…

Did a personal web project and chose TypeScript to see what the rage was about. I spent a ridiculous amount of time trying to design types. At some points I couldn't figure it out, or I ran into some limitation of the language to express what I need. So my code has a bunch of exclamation points everywhere to assert that a null ain't coming. It feels dirty. Just too hard to use for me.

After years and years in C# I spent half a year writing Typescript full time.

IMO it's not that Typescript is limited at all, it's just that the type system is different, more complex and also more flexible - there are typically more ways to define types compared to Java/C#, so a lot more decision points trying to write something elegant, or even just idiomatic/understandable, so IMO the learning curve is steep. And then you get to the fun stuff with more abstract type definitions, infer keyword...

It screwed with my head way more than I thought it would. Structural typing was really different, I had to spend a long time rewiring my brain. But when I went back to C#, I felt like the type system was crude. I lost all the nice and easy ways of writing dynamic code and had to revert to defining surplus kludgy interfaces, delegates, etc. And in Typescript I'd finally figured out how to write null-safe code and remove almost all ugly coercions, then back in C# null references were a real possibility.

Re: The silent majority in software

#352

Earlier quoted context omitted.

Did a personal web project and chose TypeScript to see what the rage was about. I spent a ridiculous amount of time trying to design types. At some points I couldn't figure it out, or I ran into some limitation of the language to express what I need. So my code has a bunch of exclamation points everywhere to assert that a null ain't coming. It feels dirty. Just too hard to use for me.

After years and years in C# I spent half a year writing Typescript full time. IMO it's not that Typescript is limited at all, it's just that the type system is different, more complex and also more flexible - there are typically more ways to define types compared to Java/C#, so a lot more decision points trying to write something elegant, or even just idiomatic/understandable, so IMO the learning curve is steep. And…

Interesting, yeah I had one or two good moments after spending a few hours wrangling my interfaces.

But the frustration left a worse impression than did the benefits. Perhaps if I was being paid to do it and had mentors around to ask for help. But I couldn't find any good advice online.

Re: The silent majority in software

#353
post #113

Earlier quoted context omitted.

I'll elaborate. Firstly, this may be a community of "professionals", but that term means something very different for programmers. No "professional" here is an engineer, as an example, because real engineers would be imprisoned and stripped of title for what the typical programmer does. The dominion to which I refer is the fact that many of these "professionals" work for large advertising corporations who encourage t…

Why is this linked to the nature of UTF-8 and Unix? And since you're explaining your thoughts, are those nature the same or is each one a different facet of the programmer culture? And lastly: do you honestly think most production or data engineers should be imprisoned or stripped of their titles?

>Why is this linked to the nature of UTF-8 and Unix?

Those are just another two sacred cows.

>And since you're explaining your thoughts, are those nature the same or is each one a different facet of the programmer culture?

UNIX and UTF-8 are alike because they were made by the same fools, and both made to avoid upsetting the delicate sensibilities of the disgusting C language. The nature of Hacker News is similar in its ignorance and wastefulness, but it's not a consequence of either.

>And lastly: do you honestly think most production or data engineers should be imprisoned or stripped of their titles?

Sure, probably; it's not as if their titles mean anything anyway.

Re: The silent majority in software

#354

Earlier quoted context omitted.

I've joined a company with a silent majority monolith, and joined at the inflection point where they realise their monolith is strangling them... If your dev guide in the wiki says "to run unit tests, use docker-compose exec monolith test some.package.test_class", you're in danger. This company needs to start breaking the monolith down into, well maybe not microservices, but at least smaller monoliths, if they want t…

No, you just need a sane test architecture. I've worked on monoliths, and none of them required docker compose for unit tests . Now, you may need some extra infrastructure for integration tests, depending on how you architect them, but that's also not a requirement. You could also use mock services, test containers, ... - essentially there's enough ways to make this sane. It's annoying that people take badly written…

Let me just say, Django was designed to be a monolith.

Also, people who put code that reaches out to external systems in __init__.py are the devil, but the people who decided "sure, let's execute code when we import a module or package, even if we're just importing it to use a class, that sounds reasonable" are the super-devil.

Re: The silent majority in software

#355
post #266

Earlier quoted context omitted.

Usually not for unit tests.

Well you can do the same with a monolith too right, just pull some random code out of the codebase and compile it without anything else, plus the tests for it. It gives the same guarantees as the microservices unit tests.

Not when it's Django, sadly.

Re: The silent majority in software

#356
post #165

Earlier quoted context omitted.

This is why those that benefit from the current status quo are trying to dismantle and destroy education, right? We can't let the people read, know, or think about what you wrote. It's destabilizing and "dangerous" to their way of life.

Well, mass education was never about learning to read, know, or think. It was about making factory workers, clerks, and (later) office staff. Elite education, and especially luxury education for the children of the elite, was about learning to read, know, and think - mainly because it was still tied to an earlier humanistic and scholarly tradition where those things were important. That lasted a short while, say unti…

I think this is a re-work of "Chinas Totalitarian Bet". So there is a theory that the reason Middle East armies are basically expensive and crap is that the elites of the Saudis and Kuwaitis and Iraqis have loads of money but are despots and won't trust anyone but the most loyal / ethnically familial close with real power. So the tank battalions are lead not by talented colonels but by a cousin of the royal family. Spend six million training a nobody from nowhere Tom Cruise to be a fighter pilot? Make all the princes pilots. Let a sergeant train with a Anti Tank weapon. No way. They might aim at the cousin in his tank.

This is the opposite of the (more) meritocratic USA. Decision making is pushed downwards and the coherent mission is aligning all.

It is worth noting that a lot of ISIS / al-quida success is attributed to having to let go of this attitude - their central driving mission meant everyone was loyal, this decision making and training could be pushed right down into cells. Anyway I am not an expert here.

The point being that Totalitarian regiemes have a hard time making militaries that are flexible and responsive. And that rolls over to factories and civil servants etc.

Now the guardian writer Jon (?) and up with Chinas Totalitarian Bet - china knows this but thinks software and the surveillance state changes the game enough that either no-one can get out of line enough before their digital footprint catches them (again see al-qeueda) or that they can just give direct orders to be followed like Amazon warehouse packers and that will allow such flexibility and change.

So yeah mass education was about teaching the masses to think. And the people in say Victorian Britain who said this will end their way of life were actually right - fortunately for us.

The question now is can software replace our thinking? Can we all just do as we are told ? Will a society of drones be worth living in or even be productive enough to survive? And will the opposite, a more democratic more meritocratic and more fair and generous society be more productive innovative and worthwhile. I say Yes to the last and no to all others.

Re: The silent majority in software

#357
post #305
post #273

Earlier quoted context omitted.

already said it. point is - *it's not worth it*. placed a small bait and that's pretty much all you took away from the post. why even bother? it's much easier to live w/o giving a crap that random dude from the interwebz might assume I'm a racist. unless you are an established public figure with bunch of sheep dancing around - exactly this is always the response. snarkiness, down votes, timeouts, public shaming. then…

I hate to be the bearer of bad news, but the concept of persona non grata predates the internet.

internet used to be different

Re: The silent majority in software

#359

Earlier quoted context omitted.

I forget the exact quote I read on HN once, but it made me laugh, all concurrent systems will eventually recreate Erlang. If you think of Microservices and even Kubernetes Clusters and company, they're all barely doing a fraction of what Erlang can do, because Erlang had the right concept, it was just 40 years ahead of its time.

Virding's First Rule of Programming: "Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang."

That's the one! Thank you! I didn't realize it was from one of the founders of the language, which actually makes a LOT of sense. I wonder what tech he saw back then that made him think of it, I can only come up with more modern examples.

Re: The silent majority in software

#360

Earlier quoted context omitted.

Virding's First Rule of Programming: "Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang."

That's the one! Thank you! I didn't realize it was from one of the founders of the language, which actually makes a LOT of sense. I wonder what tech he saw back then that made him think of it, I can only come up with more modern examples.

He was writing in 2008, so probably some Java thing

http://erlang.org/pipermail/erlang-questions/2008-January/03...

Post reply on HN