Programming language agnosticism is the only way to move forward in life

17 points by amano-kenji 11 hours ago

I'm not going to speak about specific languages because they will distract readers.

What I discovered over years is that I should just use the right tools for each job. Trying to use a specific language outside its well-established niches resulted in a lot of wasted time.

You can spend years on silencing every little inconvenience and every little noise by trying to use a specific language everywhere. That doesn't work. Resisting every little inconvenience will only result in more friction in life. Ignore little inconveniences and little noises. Just swim with the flow by using the right tools for each job. Don't swim against it by obsessing with specific tools.

If you want to move forward in life, you have to just suck it up and use the right languages for each task.

You may not like the fact that a specific language doesn't have specific constructs, but it can get this current job done quickly without fuss.

Developing attachment to a specific language that's not going to maintain its sharp edge for very long anyway will only lead to time waste and disappointments.

Screw programming languages. Just focus on accomplishing the task at hand quickly.

If your life satisfaction depends on using specific programming languages, you won't have a good life. Just get things done, and move on, and enjoy free time and wealth.

To have the best life possible or even just a good life, most of the time, you will just have to use tools you don't particularly like and have to do things you don't feel like doing.

Are you trying to have fun with programming languages? Or, are you trying to get things done quickly in programming languages? Speed is infinitely more important than fun.

austin-cheney 5 hours ago

I feel the same way about OOP. When OOP was invented in the 70s and then popularized in C++ it solved real problems of scaling software with critical memory limitations. Now it’s just code style. It’s now excess unnecessary code to provide a familiar architecture that really gets in the way.

I just want to solve my software problems with portable solutions without excess decoration and vanity. My career has shown me the more code decorations a developer requires to deliver an application the more they are concerned about themselves and their own needs as opposed to the software problem/solution.

  • skydhash 3 hours ago

    One of the things I'm learning away from is "magic". Magic methods, reflection, and configuration with code (JS world, Gradle). Especially when such magic is powering conventions. The only exception is lisp macro as it's mostly code that produce code with a simple mechanism: quoting.

    IDEs are places you'll find such magic. To write a simple mobile app, you'll need GBs of SDK because they couldn't bother coming up with a simple solution first.

    • austin-cheney 2 hours ago

      Yeah, I just like simple light weight code editors that open quickly. Notepad++ is super old, but its still incredibly popular and maintains a faithful following. VS Code is super popular because it tries to not be an IDE like the actual Microsoft Visual Studio IDE. Its also why I never liked Eclipse, because it just feels really slow.

      At any rate, I was thinking about what I wrote earlier. Why is it that there is a direct correlation between code vanity and self-orientation?

      I think the answer is anxiety. Some people cannot start from a clean slate. There is too much uncertainty in making original decisions. They just need a little bit of guidance and some people need so much guidance it feels like copy/paste. The more fearful or cowardly a person becomes the more fear avoidance becomes the paramount concern. At the extreme end, like layers of frameworks super-imposed upon each other in JavaScript land, the more autistic it feels to me. At the extreme end nothing matters more than immediate comfort from already known patterns, and everything else becomes a holy war.

      • skydhash 19 minutes ago

        You don't even have to start from a clean slate. There's a lot of materials that outline design choices and their impact. I believe it's mostly not applying YAGNI. They come up with the kitchen sink, and then proceeds to have breaking changes shortly as they always make a mistake somewhere. And then you have people cargo-culting the sink and piling more on top of it.

        Complex problems exists, but any complex solution I've seen is something that tries to solve many problems at once.

frou_dh 2 hours ago

Certain domains are a lot more wide open than others though. If you want to develop a command-line program that does something with files and possibly the network, then many many languages are suitable. If you want to develop a proper desktop GUI application (using mature design/layout tooling, naturally) then the field of suitable languages is cut down massively, and trying to shoehorn one in is indeed inadvisable.

sky2224 7 hours ago

In my case, I use Lisp because I'm trying to cause a Racket.

0xCE0 6 hours ago

Computer executes only one programming language: its own machine code. Everything else is just people's own mess of how to convert something that usually resembles English to this machine code.

  • fuzzfactor 3 hours ago

    Sometimes all I log in for is to upvote the underdog.

    I hope people are not dismayed because because they know different microprocessors actually do require different machine code. They've got to look deeper than that :\

    As an ex-CEO myself I do appreciate a good executive overview without getting into every little bit & byte ;)

    Fortunately it was good to learn from a time when you could expect every dissimilar device to have its own unique higher-level language so you wouldn't have to do any assembly code.

    This time I want people to think about what it was like when no choices appeared to be on the horizon yet.

    For a while there, without a mainframe, you weren't going to have any choice of language anyway. Most of the time not even then. For early microprocessor devices (like scientific instruments), the language was part of the "firmware" in ROM. Except they didn't call it firmware yet because it was permanent and that's a lot more solid than merely firm. Everything burned into ROM at the factory really did need to reach a level of completion requiring no further updates, of course. To be worth money to begin with. That was table stakes too.

    For the foreseeable future. It wasn't supposed to bother you that there were no choices of language.

    Not like there was only one mandated language that everyone must adhere to all the time.

    Just the opposite, you never knew what kind of syntax and logic chain you might need to get involved with before you could get a new device to fall in line.

    You, the programmer, were expected to be agnostic from the get-go so you could program all kinds of equipment using whatever language each manufacturer had come up with.

    Hardware can be hard, and at the beginning it was completely incapable of being agnostic itself because the demands were so great.

    You were expected to be able to sit down, power up [0] and begin programming, using a particular hardware's single inbuilt language along with the reference manual for syntax, no IDE or anything.

    The device as a whole was programmable in whatever language it was supplied with. Otherwise not at all.

    Some people were fine only learning how to program one series of hardware device, others could program just about anything that came along. It takes all kinds.

    Even if it's a high-level language, if it's the only thing you've got to work with it's by nature the "machine's code", with some of the same strengths and limitations of the unique machinecode that underlies different processor architectures when you have no choice there. If you do zoom in.

    [0] No booting involved for the ones that ran from ROM, basically just initialization.

moomoo11 26 minutes ago

The only people who obsess over languages are the core contributors (1%) or the guy who has been a mid level senior for 20 years and kind of stopped growing/learning years ago (95%)

Everyone else is the SWE turned entrepreneur who doesn’t give a fuck and just wants fastest ROI. Aka using a hammer instead of a saw to put in a nail.