7 ms·
Excel is literally 2D programming. Us mortal developers who can only put lines below one another are incapable of comprehending it, so we only get to ask the wi
by nottheengineer 3y ago
Excel is literally 2D programming. Us mortal developers who can only put lines below one another are incapable of comprehending it, so we only get to ask the wise finance people how their enigma works.
On a serious note, I dread excel. If your PC is set to german, excel will translate the VBA keywords to german. But if you want to type them, you have to do that in english and then have excel translate them.
I don't want to accept that crap like this is the standard.
- wiz21c 3y ago> Us mortal developers who can only put lines below one another At least my spaghetti code goes into one direction only...
- eastern 3y agoYes, but I bet your code cannot reveal its own spaghetti:-) Excel has long had an option to display 'precedent' and 'dependent' cells. You can actually see the spaghetti right there. https://support.microsoft.com/en-au/office/display-the-relationships-between-formulas-and-cells-a59bef2b-3701-46bf-8ff1-d3518771d507 https://support.microsoft.com/en-au/office/display-the-relat...
- quickthrower2 3y agoNow do that for the VBA!
- rzzzt 3y agoWith side-effect free functions: https://youtu.be/0yKf8TrLUOw https://youtu.be/0yKf8TrLUOw
- netsharc 3y ago> But if you want to type them, you have to do that in english and then have excel translate them. Huh? At least in the versions I've used I've always needed to type the commands in German. There's even an online German - English Excel dictionary...
- nottheengineer 3y agoI wittnessed this very fuckery with my own eyes just two weeks ago: It was an excel file created in pandas that threw an error on english commands but worked if the code included german ones. I don't know how or why that happens, I just know I need to get away from it.
- vector_spaces 3y ago"2D programming" is normally called array programming, and it's common in scientific computing, ML, and finance. It does require a different mindset, kind of similar to SQL but not exactly. See APL, K, q, NumPy, matlab, Julia, and friends for languages that embrace this paradigm
- Philpax 3y agoI don't think you're talking about the same thing? The parent poster is talking about Excel's ability to spread computational steps across rows and columns (i.e. the structure of the code itself), while array programming traditionally refers to writing computations over arrays (i.e. the structure of the data)
- eternityforest 3y agoThe 2D aspect is the part of Excel I don't understand. Why does it have to be a grid? It's great for laying out things meant to print, and making invoices and stuff... But why didn't we have code files and proper fixed layout DB-style tables as "pages" that can go in a workbook? Maybe keeping everything as 2D as possible is a necessary compromise for the spatial thinkers out there, and they just wouldn't want it if it was full of boring linear stuff. I love the reactivity and the concept that anywhere you put a value, you can put an =expression. But the 2D stuff seems like it's for the people who always have a sense of where things are in space. They've done a good job of convincing people that it's not programming and they can do it, I can't really complain, because if Excel didn't exist we might all still have to use paper on a regular basis, or completely unstructured text files.
- nottheengineer 3y agoWhen doing calculations on paper, you can write your interim results anywhere. That's what excel copies. It's also why text in excel files will gladly overflow into adjacent cells.
- mikewarot 3y agoThe overflowing text isn't actually stored in the adjacent cells, it's just displayed on top of them. The difference is important.
- eternityforest 3y agoThat kind of thing seems very natural if you've done any calculations on paper recently(Which most business people have) but seems strange to programmers who haven't. You would think the ideal would be to allow everything Excel currently does, but also have some other model with more separation of code, data, and visuals, like node-based programming and separate cloud-synced pure tables. Excel can almost cover a lot of "real programming" use cases, but not quite. The upgrade path seems to be Excel to Access to Custom app, rather than Excel to Excel but with more of the advanced features.
- function_seven 3y ago
- mikewarot 3y agoExcel is a quite powerful mix of declarative programming (formulas in cells), and imperative programming (VBA procedures, event triggers, etc). If you're not ready for it, it'll break your brain. The main danger in Excel is that any area of a sheet can be treated as a pseudo table.... except it really isn't, and you can inadvertently sort some fields, while leaving the others alone, effectively scrambling your data.
- tombert 3y agoI have grown a respect for Excel in the last decade or so. It's slow, it's clunky, and it's far from perfect, but I think it's among the most approachable language out there. A lot of people using Excel, even some of the more advanced stuff like if statements and logic, don't even realize that they're writing programs, and I think that's genuinely awesome: people are able to utilize the power of programming by accident. I still use spreadsheets all the time for small number crunchy things, just due to how it's "reactive by default". I find it's actually really useful to immediately see everything update after changing a value. Admittedly, I mostly use Google Sheets nowadays simply because it's "good enough" and much easier to share with friends. Could I write a program to do all that number crunching that performs better? Obviously yes, I could start a new Julia project and mop the floor with Excel or Google Sheets in regards to saving cycles, but that would take me 20x longer and I'd lose all the nice features of a spreadsheet. Granted, this is coming from a strictly Anglo-American perspective; I cannot speak to Excel's ability to use other languages.
- harry8 3y agoGnumeric is actually a good excel. The stats routines are shared with R so if ever someone demonstrates a bug, it is fixed! Free, fast, accurate. Pick any three! http://gnumeric.org http://gnumeric.org
- quickthrower2 3y agoI find a spreadsheet (Google Sheets will do) is a great thinking tool. Any thinking will involve probably some maths and some tables. Excel is built for both.
- benhurmarcel 3y ago> I cannot speak to Excel's ability to use other languages. I find it's an overblown issue. Those of us that prefer functions in English can just set Excel to use it. When someone sends you a file it displays in your chosen language. And having the default being localized makes it usable for the majority of people who don't speak English.
- trimethylpurine 3y agoI can't understand why so many finance people won't just learn SQL.
- quickthrower2 3y agoSQL is not a replacement for Excel.
- trimethylpurine 3y agoNot a replacement, but it should be used for sharing data and reviewing your logic. Table joining is just plain easier in SQL.