4 ms·
For non-programmers who do any kind of data processing, spreadsheet applications (Excel, Numbers, Google Sheets) are the closest thing to programming they have,
by underdeserver 5y ago
For non-programmers who do any kind of data processing, spreadsheet applications (Excel, Numbers, Google Sheets) are the closest thing to programming they have, and have a lot less overhead - just throw in the data, write a formula, you get results, no compilation or fidgeting with input and output and so on.
The steps of an algorithm are reflected by cells that reference cells that reference cells.
I've always thought that every highschooler should be taught how to use Excel properly, it really is a superpower in many contexts.
- deleted 5y ago[deleted]
- iagovar 5y agoKnime is way more powerful, but it requires more learning too. It has nodes for programming (R & Python, and I'm pretty sure it has something with JAVA) your own transformation if you want to integrate complex stuff, but it's very capable out of the box. Excel has PowerQuery too, which is very nice but you hit the ceiling pretty easy. Knime eats a lot of data down the throat with modest PC, Excel really struggles with large datasets, not matter how you use or tune PowerQuery. I know here in HN people talk down visual programming, but I've done pretty heavy and complicated stuff with it. It would be way more complicated with pandas.
- tapia 5y agoI've always thought that every highschooler should be taught the basics of programming with an easy language like Python instead. That really is a superpower in a lot more contexts.
- underdeserver 5y agoYes, but often different contexts. Let's say my volunteer org wants to keep track of events, who volunteered in them, etc. and wants to give an award to the volunteer who gave the most hours. How do you do that in Python? Why would you?
- tapia 5y agoFor me, Excel is a tool mostly for entering data manually. In the case you described, it would be good for that purpose. I suppose you would have a column for each volunteer and then just enter data. Then you can read the file with python (pandas) and make a sum over the columns and give the one with most hours. Of course this case is also easy to do in Excel, however, the idea is that if you know more powerful tools (programming in general), then you will be able to do other things that otherwise you would regard as more time-consuming. Maybe you want then to give different awards for age ranges. And if you have too many volunteers then it would not be so easy any more in Excel, but in python you would just know how to do it.
- lanstin 5y agoIt is also a reasonable output format. I have written more than one Python thing that ended up by generating an Excel which I then emailed to people. It was imperfect but saved me a lot of “can you make a graph blah blah blah” type work.
- Icathian 5y agoThat's becoming more common in the US. My spouse teaches middle school STEM and programming is part of the curriculum, beginning with Scratch JR and working up to Python and JavaScript. It's not ubiquitous yet, but it's coming along.
- IshKebab 5y agoThey are in the UK though. I feel like Python is a poor choice these days though. Typescript would make more sense.
- Akronymus 5y agoYeah, typesafety alone makes a HUGE difference. Personally, I'd go to something like haskell or f# though, because of a even better type system IMO. Altough, for learning it, typescript is probably easier and more applicable in the real world.
- ekianjo 5y ago> it really is a superpower in many contexts. It's a trap because once you get comfortable in Excel you have a lot of resistance to try anything more productive than Excel. Seen that numerous times with people who work really fast with Excel yet end up very limited as to what they can actually deal with beyond simple problems.
- pjmlp 5y agoDepends, I worked for a few life science companies and was quite surprised with the VB adoption. Basically it grew out of the fact that many of these companies are focused on Windows, given the software of the data readers and laboratory robots. So it is quite common to have Visual Studio licenses around. A common pattern for the history of many VB packages I found out across the business units, was software that started in Excel, alongside VBA macros, and eventually was ported into VB.
- n1000 5y agoCan confirm. When I started working in academia, we built very sophisticated Excel models. But every new project would ask form ever more sophisticated sheets and workarounds. Once the calculations took more than a few minutes, I moved on to macros. But at that point I realized that I am using Excel as nothing more than a data container. That finally pushed me to learn Python and I felt never more liberated. Whenever I supervise PhD students now, I push them hard to learn programming early on. I am pretty sure never has any one of them had regret for following my advice. It simply adds a few degrees of freedom to their work.
- chrisgd 5y agoDisagree. Wanting to automate and learning functions within functions pushed me to learn how to program in python and R
- MaxDPS 5y agoI was about to comment the same thing. Learning how the logic in excel worked was a fantastic first step into learning programming (python specifically).