Damn they found a way to make python slower
Technology
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
Emulate that shit with Java!
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).
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...
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).
java isn't slow
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..
That made a python interface wrapper arround VB Script.
Wow, Microsoft is now copying LibreOffice. Who could have guesses?
The difference is Microsoft will feed your scripts into training its AI.
Microsoft is stupid, but not too stupid to realize that Excel users are generally tech-illiterate and most of them will produce garbage code.
Gpt/Bing attempts at python code for excel lmao, full circle, ai training on itself
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.
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.
This sounds like a security check. Our liability and ransomware insurance both require scripts to be turned off for excel and word.
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.
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.
Richard Stallman on Service as a Software Substitute:
https://www.gnu.org/philosophy/who-does-that-server-really-serve.html
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
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.
This issue isn't about authoring the script, is about why it needs to execute on the cloud rather locally.
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.
“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.
Surprising no one. You can't even autosave files in Office software anymore unless you use OneDrive.
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
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.
time to mine monero on their servers
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? ...
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.
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.
So this is basically a native version of xlwings that requires exposing your excel data?