Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Tell HN: Modern Is Not Better
15 points by fouc on Sept 27, 2023 | hide | past | favorite | 21 comments
Lately, I've been thinking about the term "modern" in the tech industry. It's a word that often appears in software projects as a badge of honor, but what does it really mean, and is it always a good thing?

When a project proudly declares itself as "modern," it implies that it's up-to-date and built with the latest technologies. But does that automatically make it better? Let's consider the example of TeX, a typesetting system created by Donald Knuth in 1979. Despite its age, TeX is still considered a robust and dependable tool for document formatting. Would anyone suggest replacing TeX with a "modern" alternative simply because it's newer?

My point is that "modern" can sometimes be a vague and overused term. Instead of relying on this label, it's more informative to understand what specific technologies, practices, or improvements a project brings to the table. Saying "we've adopted Rust for better memory safety" or "we've transitioned from telnet to web sockets for enhanced performance" provides a clearer picture of what makes a project stand out.

So, the next time you encounter the term "modern" in tech, take a moment to dig deeper and understand what it really means in that context. Newer doesn't always mean better, and the true value of a project lies in its specific innovations and improvements.



> Let's consider the example of TeX

OK, let's. Vanilla TeX doesn't support Unicode or OpenType. Thus we have the “modern” engines XeTeX and LuaTeX. XeTeX natively reads UTF-8 encoded Unicode input and uses HarfBuzz for OpenType. LuaTeX provides a Lua-based API and TeX primitives for multilingual typesetting. Additional custom behaviors can be created using TeX and Lua code or via plugins written in C/C++.

https://www.overleaf.com/learn/latex/Articles/Unicode


Your comment proves the point by being specific about the improvements that XeTeX and LuaTeX bring, rather than using "modern" (which may simply mean "new") and assuming the reader knows why something new would be better in this case.

Edit: Sorry if my comment sounds adversarial. Your comment sounded that way to me, but intended tone doesn't always come across well on the internet. I just wan't sure what the point of your comment was when the topic is about a general point and your comment is about a narrower point (that the specific example cited might be a bad one) which doesn't affect the general point.


We're still left with the original TeX being unsuitable for the 21st century. Times change, requirements fluctuate, expectations vary. Another area where TeX/LateX have fallen behind: accessibility. It's possible to coerce LaTeX into generating documents usable by the visually impaired, but it's not part of vanilla TeX.


I agree with your points about Tex as a specific case (I didn't know about improvement made over time before), but let me see if I am understanding how your comment relates to the general point correctly.

Are you saying that "modern" is a fine label because of the hollowing?

- Times change - Requirements changes - Expectations change

And that, when something is described as "modern" (compared to its "outdated" predecessors), that's because it tries to address changing times?

I'm not sure that this is true (I don't know one way or another) when it comes to common usages of the word "modern" as applied to software.

I don't think there is any harm in being more precise about what improvements have been made so it's clear to readers/consumers. (My mind doesn't automatically equate "modern" with the things you've listed, and that's likely the case for other people too.)


OK, so now you're arguing the meaning of "modern", but perhaps you should refine your original point. Do you have specific examples of incorrect applications of the label "modern"? Are you just objecting to vagueness?


I didn’t write the very first post we’re all commenting on, but I think the objection to vagueness is in that very first post. “My point is that ‘modern’ can sometimes be a vague and overused term. Instead of relying on this label, it's more informative to understand what specific technologies, practices, or improvements a project brings to the table.”

I don't have any stats to bring up to decisively say one way or another, but people express discontent about modern JS framework churn, yearning for server-side templates solutions of old and other complaints about "modern" software. That might or might not be misguided, but it exists.


If the objection is "don't use the term ’modern’ as if it automatically means better”, I agree, but there are also other terms that are essentially marketing speak, and not just for software. Right now we're seeing a rash of “AI-enabled” claims, as if just evoking that two-letter acronym is a selling point. Even words that once had specific meanings, like "agile" or "smart" (as in smart homes, smart cars, smartwatches, etc) have been co-opted as some kind of feel-good claim.

The OP seems to argue for describing the concrete and specific benefits and risks of technologies and practices, and comparing those with the organization's goals and problems.

I stand by my suggestion to tighten up the the original observation and provide more specifics for “modern” when used vaguely. What connotations have become associated with the term, and what implications are problematic when using “modern”?


Haha I spent so long 3 weeks ago finding a font that would work on XeLaTeX to generate business documents programmatically

not a fun endeavor. Yak-shaving at its best (worst?)


Really? Should work with any OpenType font. Are you generating in a language that doesn't use roman-ish alphabet? You're not wrong that working with TeX can involve a lot of yak shaving in general. Sometimes finding the right template can solve a lot of problems. I use Eisvogel. https://github.com/Wandmalfarbe/pandoc-latex-template


No this was in English but I needed the math characters, like for example, ≥

I ended up settling on Latin Roman Math (something like that). I needed to use pandoc to convert Markdown files generated dynamically into a PDF that looked reasonably OK. It wasn't great to have to use the Latin Roman * fonts to begin with given audience but at least I found something. Thanks for linking that I'll take a look :)


Obviously to use a character you need some font containing that character — this is not specific to XeTeX; it's just that in many other programs this “font fallback” happens silently behind the scenes (will pick up a random font from your system containing that character), while with a typesetting system you need to be more explicit. I wrote a bit about that here: https://tex.stackexchange.com/a/377729


The key is that while many fonts have representations for Unicode math points, math symbols and math display are their own things, and typesetting them is not the same as typesetting text. As with musical notation, math typesetting has its own requirements and rules. Knuth created TeX as a way to typeset complex mathematical formulae. TeX has math mode, a completely separate environment. There's more to typesetting it than choosing a font that has the desired symbols.


"Modern" is one of my pet peeves.

It tells us very little about what's being described. Use your words!

Some negative implications: * not well tested * no community * not robust * fragile * moving target * no tooling

Maybe not always true, but the non-modern options usually do much better in these areas.


> When a project proudly declares itself as "modern," it implies that it's up-to-date and built with the latest technologies.

> Would anyone suggest replacing TeX with a "modern" alternative simply because it's newer?

No, “modern” implies that the existing solutions have some shortcomings which are perceived to be due to old age or legacy/tech debt.

That’s why no one is proposing an alternative to TeX.

Whether that perception of old age therefore bad is valid or not is a different question. Chances are that the “modern” solution will end up reinventing the wheel and rediscovering why the old tools did things a particular way.

Other times modern means the new tool cherry-pick the best part of its predecessors and omit the bad parts.


> That’s why no one is proposing an alternative to TeX.

Hmm you can use typst[0], it's modern and, of course, written in Rust.

Joke aside, this look more friendly for devs. I think I will try it the next time I need to write paper-like documentations.

[0] -- https://github.com/typst/typst


I like the term as it brings excitement. To me modern just means new. Sure, maybe these things haven't been battle tested or widely adopted but they still have a place. The last thing we want is to be stuck with something legacy and unable to progress.

As with all things YMMV. I like having the flexibility of reaching into the toolbelt and having all the tools available, but you can be sure I'll pick the best tool for the job.


Actually I was having this same conversation a couple of days ago. Despite all the advances in build systems I still find Makefiles and make so dependable and just works. Yes yes it not a fancy nor bundled with a lang/domain specific dependency manager. But I can just get started!


I remember when "ANT" files were considered modern.

https://en.wikipedia.org/wiki/Apache_Ant


Since you bring up Donald Knuth, TeX and "modern software development", you might be interested in his "earthshaking announcement" from 2010: https://www.youtube.com/watch?v=eKaI78K_rgA


At least I didn't have to click through a Medium subscription CTA to read this.


More generally that relates to "innovation VS progress". Systematically linking the two concepts is a bias.




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

Search: