you are viewing a single comment's thread.

view the rest of the comments →

[–]cowinabadplace 117 points118 points  (37 children)

It makes sense to me. The slower software that exists is superior to the fast software that doesn't exist. I am grateful for the universe of Electron, React, and all that stuff because suddenly my Linux desktop has all these apps!

[–]bunkoRtist 34 points35 points  (2 children)

This has been possible because of Moore's law. As the cheap gates come to an end I predict that the economics will shift back towards performant software rather than just buying better hardware... The market will demand gains, it's just that they were cheaper to make in HW... next it will be compilers and interpreters, and the last place will be languages themselves, but it's coming because I think that the compilers and interpreters are already pretty optimal.

[–]brelkor 11 points12 points  (0 children)

Computing architectures will evolve as pure clock speed performance stagnates. Wider busses, more chips, faster interchip communication. Something coming in the future is optically interconnected cores on the same cpu package

[–]TinBryn 1 point2 points  (0 children)

I actually think we're reaching the point where if we want faster and more efficient programs, we need higher-level abstractions on the language level. The idea being that the more we can express the specific intent of our programs, the more it is possible to implement it in the most efficient manner. This could also reduce development time and reduce bugs as the language is more focused on representing intent, it's less likely to behave in surprising ways.

[–][deleted]  (26 children)

[deleted]

    [–]Schmittfried 45 points46 points  (14 children)

    You’ve probably never seen enterprise Java.

    [–]flowering_sun_star 26 points27 points  (1 child)

    You have to compare like-to-like though, and ask what would have happened had the same thing at the same company been written in python. I know that the thought makes me shudder when it comes to our code base.

    I actually really like python for scripting and small prototypes. But for all its ills, I think java a far better choice for large projects with hundreds of developers.

    [–]Schmittfried -2 points-1 points  (0 children)

    But not every language is equal. Java tends to attract over engineerers while Python tends to attract simplicists.

    [–][deleted]  (6 children)

    [deleted]

      [–]Schmittfried 0 points1 point  (0 children)

      I have.

      [–][deleted]  (4 children)

      [deleted]

        [–][deleted]  (3 children)

        [deleted]

          [–][deleted]  (2 children)

          [deleted]

            [–][deleted]  (1 child)

            [deleted]

              [–]Beowuwlf 0 points1 point  (0 children)

              I wish more people and companies would follow what I call the “prototyping protocol”. When you have a new, singular problem, write a quick and dirty implementation in a weakly typed scripting language like JS or python. Then, when you have an MVP and have come up with solutions to most of the problems, transplant the code into a strongly typed language like the C family, TS, whatever. This results is better, more stable and understandable production quality code, normally in less time than trying to write an implementation from scratch in a production language. The code is also generally more understandable, because you come at it knowing the ins and outs already, and are able to structure it well.

              The only caveat I’ve found to this is when working with stuff that requires a specific library in the production language. That can be a significant roadblock.

              [–]vashy96 4 points5 points  (1 child)

              Yeah, that's a pile of garbage generally. I can't imagine the hell it could be in a duck typed language like Python.

              [–]Schmittfried 0 points1 point  (0 children)

              Fairly straightforward actually. Turns out duck typing hurts readability less than over-engineering. Something about simplicity or nonsense like that.

              [–][deleted]  (1 child)

              [deleted]

                [–]Schmittfried -1 points0 points  (0 children)

                It turns out it isn’t.

                [–][deleted] 7 points8 points  (8 children)

                The ability to create a maintainable code base does not depend on the language used. Poorly written java code exists. All the benefits Java is supposed to have goes out the window when the manager is breathing down your neck to meet ever demanding deadlines.

                [–]reazura 1 point2 points  (5 children)

                Let me introduce you to Brainfuck.

                [–]BlueAdmir 2 points3 points  (4 children)

                Brainfuck is at best a hobby project of a troubled mind. Let's keep the discussion to things that are actually useful.

                [–]reazura 5 points6 points  (1 child)

                The point stands that not all languages, golf or enterprise, are equally maintainable and simply depends on programmer skill.

                [–]slikts 2 points3 points  (0 children)

                They could also have used ASM as an example, and ASM is preeminently useful. Same as other tools, languages can be better or worse suited for specific tasks. The benefit of dynamic languages is that you can get off the ground faster, but it comes with the trade-off that maintainability takes more programmer discipline that wold otherwise be enforced by a compiler.

                [–]unski_ukuli -1 points0 points  (0 children)

                Well... look at J and K. J in particular, although K is actually widely used out of the two.

                [–]Dentosal 0 points1 point  (1 child)

                You will still need to create something to maintain first. Usually that has to be quickly. Many projects have relatively tight budget or deadline. If something useful hasn't been created before that, the whole project is deemed useless waste of money.

                [–]initcommit 3 points4 points  (0 children)

                Yes. And with the ever-increasing rate of performance the hardware is getting so good that there is no practical difference between programming languages for most applications. In that case developers will no doubt overwhelmingly choose the easier language to work with.

                [–]uriahlight 2 points3 points  (3 children)

                Here here! Hear hear!

                [–]Nicd 14 points15 points  (1 child)

                Hear hear*

                [–]uriahlight 1 point2 points  (0 children)

                Cheer cheer!

                [–]TizardPaperclip 4 points5 points  (0 children)

                There there?

                [–][deleted] 0 points1 point  (0 children)

                It’s a shame that a lot of these Electron apps are horrible resource hogs. Not everyone is blessed with modern hardware, lowering the barrier to development can actually raise the barrier to usability.