9 ms·
This thread is also a good read: https://twitter.com/Aella_Girl/status/1522633160483385345 https://twitter.com/Aella_Girl/status/1522633160483385345 Shows that
by alexb_ 4y ago
This thread is also a good read: https://twitter.com/Aella_Girl/status/1522633160483385345 https://twitter.com/Aella_Girl/status/1522633160483385345
Shows that a lot of people, ESPECIALLY programmers, vastly overestimate the competence of the average person when it comes to whatever they are an expert at. You may think that this person is silly - but that is tainted by your past experience of already knowing it warping what you think the baseline average knowledge level is at. And this issue would have never been solved for normal people - the only reason this barrier was ever breached for this person was due to their large twitter following. Most people don't have that luxury.
So, if you think it's hard for someone who is already a programmer - think about how needlessly complicated the entire ecosystem and everything surrounding it is for the average person. It's no wonder many people basically view anything past the surface level of computers as dark magic, and we call people good with these magical devices "wizards".
- alexb_ 4y agoWas going to edit this in but it quickly turned into a related rant about the state of things: if you don't want that, scroll past. The real problem is that there's no more room for the technological "middle class". We've gotten to the point where you cannot be SLIGHTLY interested in computers, want to make a quick app for yourself, or make something small to share with the world. You either have to have no interest at all (and live in blissful ignorance) or be so into this type of stuff that you might as well just make it a career. In between these two extremes lies a valley of frustration and needless complexity, where everything is always breaking and changing because we found out what was used 2 years ago is actually bad but THIS TIME IS DIFFERENT! because now we found a solution that is totally going to work forever this time. It's exhausting to even think about. Many people got their start programming with something like messing with simple Visual Basic stuff. I, and I'm sure many others who are reading this, started with a TI-83 and a desire to cheat on my math quiz. I know that I'm going a little off the rails here, and this has become more of a rant than anything meaningful, but I really, really hate how there's quickly becoming no space for that sort of thing - nowhere for people formerly uninterested in technology and programming to get their feet wet, nowhere to make a quick application to accomplish a small task, etc..
- tosh 4y agoIn a sense no-code tools are today’s Visual Basic.
- mike_hearn 4y agoWell, not really. The no-code tool of the 90s was Access or maybe Excel. VB was useful exactly because it was code, but simplified. One thing the Microsoft stack really nailed was a smooth(er) on-ramp. There was a big gap between VB and C++ which is partly what motivated the development of C#/Java but otherwise, you could start with Excel or Access, move up to VBA and build an actually useful app that delivered business value. Then you could take those skills and move to VB6 and build "real" apps that you could ship to users and charge money for, build whole businesses around. You could learn some Win32 using VB/Win32 interop and then progress to C, and from there, to C++, or later from VB to VB.NET and then C#. The web stack sort of killed all that. You can start with HTML and get some results pretty fast but you'll very rapidly hit the limits of what can be done there and suddenly be hit with this giant wall of complexity. NodeJS helps because now you can use the same language on backend and frontend, but even getting to the point where you have a frontend and backend requires mastering a heap of tech with appalling usability (like UNIX). And the modern JS ecosystem is sufficiently complicated that you'll hit problems like the ones described in the article. One way to fix this is to bring the VB6 model back, by making desktop apps great again. It can be done. There are toolkits that make it easy to write standalone cross-platform apps (e.g. JVM languages+JavaFX, Flutter, the new C# stuff, Qt, etc). There's no fundamental reason distributing desktop apps must be difficult, it's just a neglected area of tooling. And that's a nice segue to my current startup, which is tackling exactly that problem. We've produced a tool that makes distributing desktop apps as easy as distributing web apps is (or easier!). It takes the output of your build system (if any) as inputs, and builds self-updating packages for Windows, macOS and Linux without needing you to actually have any of those platforms. It can also fully sign those packages itself (without needing macOS or Windows), or self-sign them in which case you get a `curl | bash` type install experience and the PowerShell equivalent for Windows. Finally it produces a simple download HTML page that detects the user's OS and gives them a nice big green button to click. We've talked to one well known tech firm that wants to integrate this into their products and a driving reason is, in fact, educational. They have a lot of new programmers who use their developer tools and who learn with a desktop toolkit because it's easy to get things on the screen, there's one language to learn, it's all cleanly following the principles they're taught in class (like objects) and so on. But then they hit a wall when they want to show their friends and family what they're doing, or graduate to actually getting real users. Smoothing that on-ramp should help a lot. At the moment the tool is in private beta, but if you want to try it email me (address in my profile). After public launch it'll be free for open source projects, licensed for commercial projects. Thinking about a feature that automatically bundles source and adds a "view source" button to the apps, to help students who haven't yet mastered uploading code to GitHub.
- kaoD 4y ago> needlessly complicated IMO this is unfair characterization. If using Photoshop is driving, programming is building an internal combustion engine vehicle. You cannot expect to just randomly google for car-making tutorials and get an SUV done in a weekend. Heck, you can't even expect to be able to build a very simple combustion engine from basic principles without a lot of study. I'm not saying this is Aella's fault or anything, it's fair to have wrong expectations, but calling this "needlessly complicated" is not fair either. If I had to take something away from that Twitter thread is how marvelous is that someone without any programming experience has been able to programatically manipulate CSV data in a couple of days.
- deleted 4y ago[deleted]
- rovek 4y agoI feel a bit of this every time there are pushes to get everyone to code, it's very weird. Sort of related is the expectation that you should just be able to switch into a programming career in a few weeks. You can't do that with almost any other meaningful career but for some reason you "should" be able to for programming and there are very profitable businesses selling the lie that you can.
- zelphirkalt 4y agoI agree, the expectation of everyone being able to switch to a programming career is of course ridiculous. Neither should this be the expectation nor should everyone actually get into a programming career. Better to leave that to the professionals, who have chosen this path and have the necessary education to avoid building in the typical traps. Learning programming can take a week, but mastering it may take a lifetime. Just the fact, that a person can write a little bit of code, does not mean, that it must become their profession. However, I do think, that people should be able to make use of the tools they have. Learning a little bit of programming can get people going a long way and there are so many learning resources out there, that you can learn more any time you want. (Of course tutorial hell is a thing.) We really should encourage people to become computer literate and to become enabled. There is no reason to keep our knowledge from people.
- lionkor 4y ago> the only reason this barrier was ever breached for this person was due to their large twitter following I feel like their approach to solving the problem actually does represent how most people deal with it - they ASK someone. There are hundreds of massive programming discord servers, with extremely engaged tutors, helpers, and resources. If you want to learn to program, you'll need guidance, and I think that's OK. You won't go buying any old welder and some metal and just start welding (or at least it won't go very well). You'll seek out people who already do it, get advice, or maybe even seek an education in it if you are really aiming for the long term. Programming looks like it has a low barrier of entry, because you don't have to commit to much. To weld you need to buy (or rent) a welder and material, to do carpentry you need to buy at least some basic tools, to work on your car you need a car, to be an architect you'll need to pay someone to build it, etc. For programming, you seemingly only need a computer (or even just a phone), which most people have access to. This apparent lack of need for commitment makes it look like "it shouldn't be that hard", but that's IMO a complete misunderstanding. This is why I'd prefer hiring people who have at least somewhat of a formal programming education. In my university, for example, we learned how to use git, linux, write JS, CSS, html, c++, php, do SQL, manage and design databases, and generally just learned a lot of "background knowledge". With that, it's trivial to pick up almost any tech afterwards. For anyone else trying to get into programming, join a discord or reddit, or slack, or matrix, or IRC community, which is focused on what you're learning. It will save you weeks of trying.
- alexb_ 4y agoHave you ever actually tried to do this? Programmers are extremely opinionated people. If you somehow manage to get past the barrier of "pretending to look smart so you can even ask a question without getting flamed to hell and back (hello, stackoverflow!)" you will be met with people suggesting different things, which quickly devolves into a giant argument about which thing is better and why this guy is so stupid for liking that thing over this thing and it becomes absolutely impossible to get anything done. And again, there is a baseline expectation of knowledge that people have which is far, far too high. Even if, by some miracle, you get someone telling you to type "xyz" in the terminal, I doubt anyone has enough patience for the next question of "what's a terminal". This is the baseline understanding we need to allow for and the vast majority of tech enthusiasts, programmers, and others just don't get that.
- enlyth 4y ago>I don't wanna learn how programming building blocks work as I use them to build a lil rando pile, I want to learn how they work as I use them to build the actual house I want. Well, unfortunately some things are difficult, and knowing fundamentals helps you with those difficult tasks. I also don't complain that I can't learn to fly a plane by starting the engine with zero knowledge and learning while taking off. The author then goes on to say that in four days they learned everything they wanted to do, without any programming background, so I don't understand why these tweets are written in such a dramatic way
- dkdbejwi383 4y agoThis was my thought too. When learning to drive, I don't really care about what the clutch is or does, I want to know how I can go from my house to the shop, or my house to my friend's house. But I understand that I need to be aware of the components and processes that go into driving a car. I can't just sit in it and expect it to whisk me away.
- moribunda 4y agoThis thread for me looks like a narcissistic attention seeking rather than real process. She could simply start learning on datacamp - i went back to it after many years and it's perfect. Low level of entry, "box where you write python code and it runs", you don't have to install pandas, but course will teach you to do it if you want. She began this thread from saying that she started a few courses... Hard to believe. Or she didn't wanted to pay for it to get them at a professional (in educational terms) level. She wants to analyze her data - cool, but seriously, it's like any ignorant person would say that they want to do anything that requires some expertise... I want to build a car, why it's so difficult?!?! Twitter help!
- thepasswordis 4y agoRead the rest of this persons twitter, or their website for that matter. No I don’t think there is anything enlightening whatsoever about their experience “trying” to learn to program. They spent 10 minutes installing the interpreter, and then got upset for their social medial followers because they weren’t immediately able to write software to do something useful with their CSV. I cannot think of any other discipline where “I bought a woodworking shop and then couldn’t immediately make cabinets 10 minutes after walking inside” would be considered insightful towards anything other than the person writing it. There are SO many people who spend their time trying to help others program. Literally thousands of them. “Aella” could have spent an hour watching any of their videos or reading any of their tutorials instead of this.
- mike_hearn 4y agoI think the problem here is that there's so many tutorials, articles etc telling people that if they want to do data analysis then the best way is to use Python without making it clear that this advice is predicated on you already having a programming education. If you start with a CSV file and want to do some analysis, without knowing programming, then you need to using a spreadsheet app, but this context isn't being reliably given to people. Instead they absorb a background assumption that "real" data analysis is based on programming and immediately drown when they try it.
- 3np 4y agoOn the thread: Author has unrealistic expectations. They should pick up a Python intro book and work through at least the first couple of chapters. In the time they cluelessly floundered around they probably would have had most of their outstanding issues cleared out.
- alexb_ 4y agoAn astonishing number of people here are missing the point. Doing something like "making a small script to analyze CSVs" has become a massively complicated undertaking requiring you to follow random guides that might be 6 months old (practically half a century in these circles), install random programs and dependencies using other random programs and dependencies that you don't even understand, and do many steps that seem like completely nonsense. Yes, it's incredibly complex. It doesn't have to be and a lot of it is completely unnecessary, driven by the tech world's inability to stick with literally anything for more than a few years before collectively deciding it's all trash and you should REALLY be using this brand new thing that only half works instead. It doesn't need to be this hard, and that's what I'm trying to say. Using this to shit on the person for thinking their simple task would be simple is completely missing the point - if anything, it proves it.
- aahortwwy 4y agoDownload Python. import csv ?
- thepasswordis 4y agoDownload python. Data = open(“file.csv”, “r”) For line in data.readlines(): Print(line.split”,”)
- Verdex 4y agoWell... Blah1, blah2, "blah3, blah4", blah5 Maybe using a library is a better route.
- thepasswordis 4y agoOkay sure, but I have processed millions of lines of csv data using readlines and split. Eventually yeah you’re going to run into something with characters you don’t like, but that’s just a teaching/learning moment!
- moribunda 4y ago
- mft_ 4y agoHonestly, reading the thread from my perspective (as a self-taught amateur) I get some of the frustration, but also see that the tweeter was their own worst enemy. The basic basics - how to install Python, handle modules, and maybe execute scripts, would have been dealt with in the first few minutes of many beginner tutorials - and would have handled all of their initial teething frustrations. And while I get the desire to build something real (I don’t think I’ve ever completed a full tutorial as I always dive off into what I wanted to make in the first place) not even being willing to sit for an hour to learn the basics is far beyond ‘goal oriented’ - and is obviously seriously limiting and self-defeating.
- astrobe_ 4y agoFor this profile, a fully integrated environment like Squeak/Pharo or Racket would be a better option. Perhaps even just Emacs! :-) I won't disagree with you about the needless complexity, but OTOH programming does have a certain level of essential complexity, and profanes don't realize that "just upload the CSV" is fundamentally not an easy task; think about what you'd need to do if you were to do it from scratch in assembly. Lines in a text file is not something "the computer" or many OS have a concept of. I think a few developers could ragequit. Of course, there is the "batteries included" solution - that is gluing together libraries with a simple language. Here I would rather see something like Lua rather than Python because OO is already an interference for normies. This is doable, the particular failures of Python here (or any of the languages I've mentioned) are to blame on Python's ecosystem (perhaps being too normie-friendly is a curse, because you sometimes end up with poorly done tools and libs - I see it in Lua too). One last word: I learned programming from books alone with Basic (back in the days when phones had wires and I didn't have to shave). The books provided the source of simple games that I were to type in (Basic was a CLI but you could list and edit lines, better than the "Python Box" :-), test and then hack. This is a much easier approach than starting from scratch, and by the end of the Twitter thread it seems that this is what this person eventually came to - people would give them a basic program they could hack.
- bowsamic 4y agoThe person in that twitter thread clearly has some issues beyond learning Python, their response was extremely angry, dramatic, and entitled. "Angry tears welling up" is not a reasonable response to learning anything, especially when not having a deadline and just learning it for fun. To me this reads more like a mental health breakdown live streamed on twitter than of something that actually says anything about Python. I wouldn't be comfortable interacting with them at all
- nisegami 4y agoAella_Girl has a reputation in other communities for being a bit unhinged, so that tracks.
- the_only_law 4y agoMay not be a popular opinion, but a lot of the “rationalist” scene often feels more like a club of sophists.
- bowsamic 4y agoHmm https://knowingless.com/get-my-eggs/ https://knowingless.com/get-my-eggs/ > Get My Eggs > I think my genes are wonderful, I’d like to see more of them in the world, and I don’t have any immediate plans for reproducing myself. > If you’re interested in using my eggs to reproduce, I’m down to discuss this in exchange for payment for my time and fear of needles. I have ancestry, health testing, and family history I can share. > Contact me at aellasinbox@gmail.com; sometimes my responses go to spam, so be sure to check spam!
- Planktonne 4y ago> a lot of people, ESPECIALLY programmers, vastly overestimate the competence of the average person This is always true, but I think it's a slight misdiagnosis here specifically. The problem isn't over-estimating competence but under-estimating complexity. I've watched a bunch of very smart, highly-competent people bounce off JS; that's not a fault with them but with the ever-changing and overly-complicated ecosystem.
- cxr 4y ago> It's no wonder many people basically view anything past the surface level of computers as dark magic, and we call people good with these magical devices "wizards". The dirty secret is that, due to the consultant effect, that feeling tends to owe its existence to those "wizards" who are happy for things to remain that way (and go around making it so where it's not already). The Computer Lib Pledge (<https://archive.org/details/springer_10.1007-978-3-319-16925-5/page/n64/mode/1up https://archive.org/details/springer_10.1007-978-3-319-16925...>): The purpose of computers is human freedom. I am going to help make people free through computers. I will not help the computer priesthood confuse and bully the public. I will endeavor to explain patiently what computer systems really do. I will try to answer people's questions kindly, or explain that I do not have time. I will not treat any question as a dumb question, since there is no such thing. I will not give misleading answers to get people off my back, like "Because that's the way computers work" instead of "Because that's the way I designed it." I will stand firm against the forces of evil. I will speak up against computer systems that are oppressive, insulting or unkind, and do the best I can to improve or replace them, if I cannot prevent them from being bought or created in the first place. I will fight injustice, complication, and any company that makes things difficult on purpose. I will do all I can to further human understanding, especially through the new visualizing tools of interactive computer graphics. I will do what I can to make systems easy to understand, interactive wherever possible, and fun for the user. I will try not to make fun of another's favorite computer language, even if it is COBOL or BASIC. So help me. -- Ted Nelson
- mola 4y agoThat Twitter post seems a bit whiny. The expectation that a general purpose language, basically a huge professional toolset would be readily obvious to a non professional who doesn't even grasp the concepts of variables in imperative programming. If I would step in a wood workshop I don't expect I'll be able to produce much without first aquiring some basic skills. The OP thinks that being Goal oriented should give them magic abilities to understand the tools without learning them. A Very odd expectation... This doesn't absolve Python though, the whole dependency story is rather bad and the language have many warts. But, The ecosystem can never be simple enough for someone like the OP while still be an OSS distributly developed general purpose seelanguage.
- emehex 4y agoFrom the linked thread: > I don't wanna learn how programming building blocks work as I use them to build a lil rando pile, I want to learn how they work as I use them to build the actual house I want. If what I'm learning isn't connected to a payoff, then I lose the stamina to wade through the problems. As a teacher, this resonates
- aa-jv 4y ago> vastly overestimate the competence of the average person Computers have gotten vastly more complicated to program than they used to be. The reason for this is, other programmers are not really motivated to make it easy. It is also wise not to underestimate the fact that intentionally incompetent interfaces make it all a ball of puke. Most programmers are puke surfers these days, maybe not so much in in the embedded world so, but for sure up front in the ''mainstream'' of javascript/web development. Just kidding, embedded has puke surfing too.
- deleted 4y ago[deleted]
- meragrin_ 4y ago> Shows that a lot of people, ESPECIALLY programmers, vastly overestimate the competence of the average person when it comes to whatever they are an expert at. Sorry, no it does not. It shows me a lot of people are perfectly competent but lack the motivation or proper expectations. Once the person gets more into the data analysis, I'm sure they'll realize why tutorials just don't show how to do data analysis.