Since its inception, Microsoft Excel has changed how people organize, analyze, and visualize their data, providing a basis for decision-making for the flying billionaires heads up in the clouds who don’t give a fuck for life offtheline

      • @Aceticon@lemmy.world
        link
        fedilink
        English
        5
        edit-2
        10 months ago

        I used to make high performance distributed computing server-systems for Investment banks.

        Since the advent of Just In Time compiling, Java isn’t slow if properly used.

        It can however be stupidly slow if you don’t know what you’re doing (so can something like Assembly: if you’re using a simple algorithm with a O(n) = n^2 execution time instead of something with O(n) = n*log(n) time, it’s going to be slow for anything but a quantum computer, which is why, for example, most libraries with sorting algorithms use something more complex than the silly simple method of examining every value against every other value).

        • @Valmond@lemmy.mindoki.com
          link
          fedilink
          English
          510 months ago

          Just because you can make slow assembler doesn’t make Java fast.

          Java is clunky and not fast compared to C++ which is clunky and fast, Python which isn’t clunky but slow bla bla bla bla…

          • @Aceticon@lemmy.world
            link
            fedilink
            English
            7
            edit-2
            10 months ago

            That’s oversimplifying things.

            For things like algorithms Java can be as fast as C++ because ultimatelly it all ends up as the same assembly code: the differences in performance between one and the other are within the same range as the differences in performance between different C++ compilers or even optimization flags chosen and ultimatelly boil down to how good the implementation of the Java Virtual Machine is for a specific architecture (things like whether the generated assembly takes in account the way the microcontroller handles conditional jumps and cache misses).

            Were Java is slower than C++ is in things like memory management: even the best garbage collection will never beat the kind of carefully handcrafter managing of memory that you can do in C++, though the upside of the different memory management architecture in Java is that your programs don’t just start behaving in weird ways because you incorrectly accessed a variable in stack using a pointer and overwrote other stuff or even the function return address.

            Then again if performance is your greatest consideration you would go for C, not C++ (note that I didn’t say Assembly, as good C compilers are actually better at optimizing than most Assembly programmers).

            • @Valmond@lemmy.mindoki.com
              link
              fedilink
              English
              010 months ago

              Well that was a lot of misconceptions.

              So compiler will make java as fast as C++ but not C++ as fast as C?

              Also, when speed matters it’s never great to have huge Java classes, it just won’t be optimised away (anough) and you’ll have a memory / bus bottleneck.

              Also, if you really want speed you go parallel, IDK if java is up for the challenge lol (can you configure stackspace and so?) or to beat them all, you run it on the GPU (or several GPU lol :-)

              • @Aceticon@lemmy.world
                link
                fedilink
                English
                510 months ago

                I think I didn’t explain myself correctly.

                The Just In Time Compiler in a Java Virtual Machine which does a final compilation step at runtime from JVM assembly to native code will make the typical code in algorithms run as fast as in C++ because ultimatelly they both end up as the same assembly. I’ve actually measure this by the way, though it was years ago.

                However things like memory architectures are different between those languages and the one in C++ can easilly be made faster than in Java, though the downside of that memory architecture is nastier bugs.

                Further, and this time about general performance, if you’re worried about performance above all, then in terms of general performance, C is generally faster than C++: for example virtual functions in C++ objects have calling overheads which function calls when there is no inheritance do not have so unless you don’t use inheritance at all, some function calls in C++ will be slower.

                As for parallelization, I’ve actually worked both in massive parallel Java with distributed computing and GPU computing and they’re completelly different kinds of parallelization with different capabilities and optimal use cases: good luck making a CUDA application optimized for serving paralled requests from millions of clients sourcing data from multiple sources and good luck making an LLM runtime with distributed computing in Java were parts of the pre-trained neural network are in different machines - GPU computing can’t arbitrally decide it needs some data and fetch it whilst the overhead of synching two parts of a Java system running in different machines is way (millions of times?) larger than the overhead of synching read-then-write-access to the same position in a RWStructuredBuffer from 2 different processing units.

                Comparing these two kind of parallelism is not an apple and oranges comparison, it’sm more like an apples and horseshoes comparison.

        • Milady
          link
          fedilink
          English
          1510 months ago

          I mean, whatever speed java has or doesn’t have, what the other person said was emulate, you’ll have your os then on top of that the JVM then on top of that your python implementation, then finally the python code. If that’s faster than os->python imp…

          • @Aceticon@lemmy.world
            link
            fedilink
            English
            210 months ago

            Just like Python doesn’t run from the source code through the interpreter all the time (instead, if I’m not mistaken, the interpreter pass converts the code to a binary runtime form, so interpretation of the source is done only once), so does “modern” Java (I put modern between quotes because it’s been like that for almost 20 years) convert the code in VM format to binary assembly code in the local system (the technology is called JIT, for Just-In-Time compiler).

        • AatubeOP
          link
          fedilink
          -13
          edit-2
          10 months ago

          Plus Java IS slow, quite slower than compiled languages at least

              • @Phrodo_00@lemmy.world
                link
                fedilink
                English
                9
                edit-2
                10 months ago

                If you go that detailed, then the jvm is JIT compiler, not an interpreter, so Java code still mostly runs natively on the processor. Java is quite fast achieving pretty close performance to C++, the only noticeable problems are on desktop because of the slow jvm startup and slow GUI libraries compared to native ones.

              • @Aceticon@lemmy.world
                link
                fedilink
                English
                610 months ago

                There is another compilation step inside the Java Virtual Machine which “compiles” the VM Assembly code to native code at runtime.

                This is what’s called JIT compilation and has been part of the standard Java Virtual Machine for about 2 decades and the default - at least server side - for almost as long (i.e. you have to explicitly pass a parameter to disable it at startup if you want the old runtime interpreted VM opcode behaviour).

                Source: I used to design and develop mission critical high performance distributed server systems in Java for banks since before 2008 and it definitelly is capable of handling it (the bottleneck tended to be the TB-size database, not the Java application).

            • Captain Aggravated
              link
              fedilink
              English
              110 months ago

              Eh…Java source code compiles into bytecode which runs in a virtual machine. Compare this to a language like C which compiles to native machine code. Java still gets interpreted.

              • ChaoticNeutralCzech
                link
                fedilink
                English
                310 months ago

                Performance of non-native bytecode such as Web Assembly can reach quite close (80%-ish) to machine code.

                • @31337@sh.itjust.works
                  link
                  fedilink
                  English
                  210 months ago

                  Yeah, in my personal experience (with numerical compute-heavy code), normal python code, ran in the normal python interpreter, is much slower than the equivalent normal Java code with the normal Java VM (like 50x). Then C/Fortran is ~2x faster than Java (with gcc + optimization flags).

                  I think Java is a good middle-ground between coding speed and execution speed. Sadly, it seems to be dying. And JavaFX is shit for trying emulate full-stack web-dev. The fucking ancient Swing is even better.

                  Scala and Kotlin are OK, but I think they are making the mistake of feature-creep that causes large projects with many people to contain multiple programming paradigms that only some of the team can grok well, instead of a restricted OOP Java codebase that encourages Gang of Four style code. Though, I guess GoF-style code resulted in that crazy complicated “enterprise” Java shit.

              • qaz
                link
                fedilink
                English
                310 months ago

                The bytecode is turned into native code before execution

                • AatubeOP
                  link
                  fedilink
                  -1
                  edit-2
                  10 months ago

                  That’s not how it works. If that really was how it worked there’d be no point even having bytecode; you’d just straight up get the native code. Unless you’re talking about JIT, but your wording seems to be implying that all the bytecode turns into native code at once.

        • @Kaloi@lemmy.world
          link
          fedilink
          English
          1610 months ago

          I was just going to ask how long before Libreoffice has local python scripting. Of course it already has it and MS is copying them in a shittier way, silly me.

        • RheingoldRiver
          link
          fedilink
          210 months ago

          GSheets lets you run python code? I thought they were all js-based

          edit: I misread, you’re saying LibreOffice has Python support, nvm

          • ChaoticNeutralCzech
            link
            fedilink
            English
            3
            edit-2
            10 months ago

            They don’t let you write custom JS scripts, at least not without hacks AFAIK. We are talking about scripting languages for macros like Office’s infamous VBA.

            • RheingoldRiver
              link
              fedilink
              210 months ago

              I think what they let you do is write mini add-ons using the API and support JS in an in-browser editor. Then you have to enable the add-ons. I guess equivalently you can do the same things with an IDE and any language, but it felt like they “officially” supported JS.

    • TWeaK
      link
      fedilink
      English
      2210 months ago

      The difference is Microsoft will feed your scripts into training its AI.

      • @nottheengineer@feddit.de
        link
        fedilink
        English
        1910 months ago

        Microsoft is stupid, but not too stupid to realize that Excel users are generally tech-illiterate and most of them will produce garbage code.

  • umami_wasabi
    link
    fedilink
    English
    6910 months ago

    I don’t get it. Why I need cloud to run Python scripts which can be done locally? Installing Python isn’t hard and MS can bundle it as a library with Office either.

    • @Master@lemm.ee
      link
      fedilink
      English
      1710 months ago

      This sounds like a security check. Our liability and ransomware insurance both require scripts to be turned off for excel and word.

      • umami_wasabi
        link
        fedilink
        English
        1610 months ago

        I believe security threats can be mitigated locally without resorts to cloud.

        Actually, one can argue using cloud is less secure because there is a risk of sensitive data leaked out of cooperate network.

        • @unconfirmedsourcesDOTgov@lemmy.sdf.org
          link
          fedilink
          English
          710 months ago

          You could argue that, but I wouldn’t recommend it.

          Microsoft has a massive amount of resources to throw at securing their environment, whereas most businesses simply don’t have the ability to field a dedicated security team. The solution many reach is to offload risk to your software vendor, in this case Microsoft. Then, if there is data lost, it’s Microsoft’s fault, and it’s their problem to fix, too. It’s not ideal, but it’s the world we’re living in.

        • ChaoticNeutralCzech
          link
          fedilink
          English
          310 months ago

          But Micro$oft never implement any permission system or checks for Visual Basic in Office so any macro can use anything the user has access to. If the scripting language could only access its document’s content in an undoable way without explicit permissions such as to use the filesystem and Internet or modify the Normal template (as opposed to the current system, which does not differentiate between useful scripts and malware and can easily be bypassed by social engineering), the risk would largely be mitigated but Micro$oft does not care.

        • @heyoni@lemm.ee
          link
          fedilink
          English
          310 months ago

          Cloud doesn’t have access to local drives…but in this day and age, python could be containerized or sandboxed. Sounds messy though.

    • ChaoticNeutralCzech
      link
      fedilink
      English
      1510 months ago

      I’ve been asking this for every other cloud service - either companies are jumping on the 10-year-old bandwagon or want to collect data for AI training purposes in a way you cannot just disable in the settings. And of course you cannot self-host your own server.

    • @mrsgreenpotato@discuss.tchncs.de
      link
      fedilink
      English
      510 months ago

      Not everyone has an opportunity to work with Python in their work environment. I’m on the “business” side of the company, capable of doing most of programming stuff myself (Python, C#, SQL, etc.), whereas only “IT” people can work with the proper compileable code. And I’m left out working with VBA macros, or ask IT to write a script for me, which will take 1 year to develop. This change now will improve my local productivity for sure.

      • umami_wasabi
        link
        fedilink
        English
        1110 months ago

        This issue isn’t about authoring the script, is about why it needs to execute on the cloud rather locally.

        • @mrsgreenpotato@discuss.tchncs.de
          link
          fedilink
          English
          210 months ago

          Fair point, maybe I replied to a wrong comment. Nonetheless, I’ve seen comments saying “just use native Python”. Not everyone can do that.

      • @Urbanfox@lemmy.world
        link
        fedilink
        English
        310 months ago

        This happened in my old place - also on the business side. Asked for python, got it, then had it immediately removed because of security risks.

        I told the head that I could still access tables and shit via excel if I wanted so what does it matter? He didn’t realise this, and asked that I told no-one else it could be done. FFS.

    • @looeee@lemmy.world
      link
      fedilink
      English
      410 months ago

      When you save your doc to one drive then you can access it from the web version of office. That’s the reason they’ve been encouraging developers to write add-ins that run from the cloud. I’m guessing that this is for similar reasons

      • AatubeOP
        link
        fedilink
        110 months ago

        You can also access docs by uploading it to the web version of office. Correct me if I’m wrong but last I remembered add-ins don’t choose between desktop and web.

  • @just_change_it@lemmy.world
    link
    fedilink
    English
    6510 months ago

    Does anyone not think Microsoft is going to use all their cloud data for training language models?

    “We promise not to” doesn’t seem realistic to me. Proving they used it is impossible.

    • ChaoticNeutralCzech
      link
      fedilink
      English
      810 months ago

      “We promise not to”

      Where did you quote this from? I think they won’t care, just like GitHub Copilot, or it will be an opt-out feature.

  • @Kethal@lemmy.world
    link
    fedilink
    English
    49
    edit-2
    10 months ago

    This is inside-out programming. I want my code to read data files, not my data files to contain code.

    The first example is how to take cells in the sheet and make a data frame in an Excel equation. That’s easy, pandas.read_excel(): no clound needed, no need to hunt through cells of a sheet to find your code.

  • deweydecibel
    link
    fedilink
    English
    4910 months ago

    Surprising no one. You can’t even autosave files in Office software anymore unless you use OneDrive.

    • @affiliate@lemmy.world
      link
      fedilink
      English
      2810 months ago

      unfortunately the local storage technology just isn’t there yet. we have to rely on the magic of the cloud to handle complex things like auto saving files and running python interpreters

          • @warbond@lemmy.world
            link
            fedilink
            English
            510 months ago

            In general I think emojis add nonverbal context clues to conversations and in my experience are a valuable tool for conveying information quickly. I’m seeing them used in all but the most formal of cases in a work environment and I don’t think that particular train is going to be stopping anytime soon.

            • @And009@reddthat.com
              link
              fedilink
              English
              2
              edit-2
              10 months ago

              That gives me a great idea to design emojis for corporate use. The ones that we have are unsuitable but like you said… They add a layer of communication

    • @ZodiacSF1969@sh.itjust.works
      link
      fedilink
      English
      110 months ago

      Yeh that pisses me off. When I looked that up, I saw that on the Microsoft help forums their response was ‘well, you never really had that feature locally anyway’.

  • Laura
    link
    fedilink
    English
    3110 months ago

    time to mine monero on their servers

  • @Eheran@lemmy.world
    link
    fedilink
    English
    2210 months ago

    Holy shit Excel is still like it was 20 years ago. And now, when they want to add such a useful feature, it comes with that bag of crap with it? Fucking hell. I know why I switched all non-trivial stuff to python.

    Defining reusable functions? Diagrams with parametric ranges? (Only the title can be a cell reference, nothing else) Zooming in diagrams? More than 1 x axis? More than 2 y axis? …

    • ChaoticNeutralCzech
      link
      fedilink
      English
      3
      edit-2
      10 months ago

      Even a basic thing like XY scatter plots is absolutely terrible. I had made dozens of them before but in 365, when I selected the data and clicked “Scatter Plot”, it refused to assign the left column to X and the right to Y. I fought for 10 minutes with “Chart Series” and then gave up to look up the solution. Also very few trendline functions are available, the default axes look like crap and min/max is broken for logarithmic charts.

      Not to mention that one third of all options is in a keyboard-unfriendly, laggy “responsive” UI while the rest is in windows that barely changed since 1995, and are completely missing in the web version. Localization has only become sloppier and you want centimeters rather than inches in Office Online? Fuck you.

      • AatubeOP
        link
        fedilink
        210 months ago

        I agree with the rest but I think the ribbon concept itself is nice and they actually updated the UI for Windows 11

        • ChaoticNeutralCzech
          link
          fedilink
          English
          210 months ago

          I like Ribbon too but the Home tab keeps getting used to give spotlight to rather unimportant new features. Also, the Windows 11 redesign is horrible, the buttons are spaced out too far. At home, I use my old legal copy of Office 2007 via Wine of I need to correctly open Office files while getting used to the messy icons and dropdowns of LibreOffice.

          • AatubeOP
            link
            fedilink
            410 months ago

            LibreOffice also has a ribbon. Just go to View → User Interface and select “Tabbed Bar” or something like that. I like contextual groups (which needs experimental features enabled, unfortunately) better since it’s like the MS office “group descriptions” but it isn’t fully suited for Impress yet so groupedbar (non-compact version also experimental) is a nice middle ground.

      • @Eheran@lemmy.world
        link
        fedilink
        English
        210 months ago

        Oh those numbers? That is a date. I will delete the original numbers and replace it with something else. Good luck.

        Excel is one of those examples of a software that is only used everywhere because it used to be the best and it is overall not bad. So “everyone” already knows it and the incentive to move to something else is fairly small, because it would only be so much better. But still, why are they not developing it further? Completely crazy.

        • @BastingChemina@slrpnk.net
          link
          fedilink
          English
          110 months ago

          I feel like excel is still used everywhere because it’s the kind of Jack of all trades.

          There is a better alternative for all the applications excel is used for but no alternative that can do all at once.

          • AatubeOP
            link
            fedilink
            110 months ago

            LibreOffice? I mean some features are missing but I don’t see why you’d need them

            • @barfplanet@lemmy.world
              link
              fedilink
              English
              210 months ago

              Maybe it’s because I’m so accustomed to Excel, but Libreoffice Calc is so painful to use. Not the app that’s going to win people over.

        • ChaoticNeutralCzech
          link
          fedilink
          English
          110 months ago

          Not developing it further? They are bound to their shortsightedly developed xlsx format and they need to make sure legacy stuff doesn’t break… However, the Win11-style redesign is a regression, and the Czech spell checker has been flagging a completely normal verb class as ancient for years, and the heavily-touted Web Sources cannot even parse JSON. They also keep adding shit like Online Images (with Bing), automatic image recognition that I imagine collects shitloads of AI training data and of course support links that only open in Edge even though it works no better than your default browser. I wonder where the prosecutors who brought M$ to court for bundling IE with W95 are today.

          • AatubeOP
            link
            fedilink
            210 months ago

            Unfortunately that case only ended in an order for Microsoft to share its API for at least 5 years and for the DOJ to have full access to MS stuff including source code during this time

    • @venusenvy47@lemdro.id
      link
      fedilink
      English
      110 months ago

      Does xlwings require any specific Python installation? Can I use it with my WinPython 3.10 installation on Windows 10?

      • AatubeOP
        link
        fedilink
        1
        edit-2
        10 months ago

        As long as it can run Python, yes. It functions as a library just like VBA.