3 ms·
> Learning programming has never been easier. I disagree. If only because as programming has gotten easier, what constitutes even a simple app has gotten a lo
by wvenable 9y ago
> Learning programming has never been easier.
I disagree. If only because as programming has gotten easier, what constitutes even a simple app has gotten a lot more demanding.
- throwaway2016a 9y agoThat is a decent point. To write even a basic web app properly you need to know a half a dozen libraries. To deploy it you need to know even more plus probably know about infrastructure and networking. Then to write the frontend you need to know several specifications and libraries for that as well. For many applications parallel and concurrent processing is not a nice to have but mandatory and apps can be distributed across hundreds of machine. I remember reading RFCs when I was getting started. You could learn all of HTTP by reading two RFCs. Now you have to read a dozen if you want comprehensive knowledge of just HTML.
- keithnz 9y agoyou don't, install meteor, you can be writing a simple deployable web app in no time. Easier than I've ever known it, to the point I've helped non programmers get started with it and they can get productive with it pretty easily and deploy things for real use. Very few apps need to be distributed across hundreds of machines, but even there, there's so much tech available to make it pretty easy. No need to deal with the details of the nightmare that was RPC / DCOM / CORBA
- throwaway2016a 9y agoMeteor just defers the problem until you need to scale. It is also pretty hard to do security well with Meteor (not impossible, it can be done effectively, just really easy to mess up if you don't pay attention). You also may be right about hundreds but a great many apps need to be distributed across more than two. Edit: also, for the record, as a millennial I did have to deal with DCOM. Although granted most are shielded from it.
- keithnz 9y agoso, it easy until you are super successful and need to scale big? ok...... this is fantastic :) Security isn't that hard, it has a user system built in, which gives you a boost, the problem you are trying to tell be about is, it's really easy to do things client side that you may not be careful enough.... But yes, in the future I expect we have better ways to approach security that will make it easier too.
- throwaway2016a 9y agoThe security issue is that by default it is easy to accidentally make it so that any user can see and edit every other user's data. The one Meteor project I worked on at scale we specifically wrote integration tests to try to read and write other user's data just to make sure we didn't have a hole open up. Because we did have a whole open up and we learned from our mistake. Part of the problem of Meteor is that it is "magic" in a lot of ways. Because so many things are so easy, when something doesn't work the way you want (like there is a performance issue) it is often difficult to figure out.
- xfer 9y agoLearning programming has gotten easier(for the better), because of better tools(finding bugs, debugging etc), better resources(you can google almost any beginner questions and very high probability, you find your solution). However, over the years problems we solve have been way bigger. But if you can solve these problems, then learning the programming aspect of it has actually been easier and better than in the past.
- wvenable 9y agoI agree. But the sheer volume of technologies, requirements, and tools makes it a net loss in my opinion. I just recently built my first Android application and even with years of cross platform development experience it was still daunting. Thanks to all the available online resources, I built my application without actually learning how anything really works. So I finished an app, it works, but I still don't consider myself an Android developer. I feel a lot applications are built this way. Maybe building toy application has gotten significantly easier but actually building a useful application on an active platform is much more daunting. And really debugging a desktop application 20 years ago wasn't much different than it is now. But now I have to connect through emulators, browsers, etc. There's so much more crap in the way.
- keithnz 9y agohow's it a net loss? you said you recently went from zero to a deployed android app? you got software working on a platform you don't even understand fully and have it published to a network of millions and millions of people? How is that not EASY? That wasn't even possible not so long ago.
- wvenable 9y agoWas it easier than building a Windows app in Visual Basic in the 90's? No, it wasn't. But you make a good point. But it wasn't easier because the tooling was better (it wasn't) or the debugging was better (it wasn't) or the whole ecosystem makes more sense (it doesn't). It was easier because I could google for every problem, error message, code snippet, or issue. And that Googling was absolutely necessary. What's interesting is that I really didn't learn much. Without any access to the Internet I couldn't reproduce it. I think the conclusion isn't that programming is easier, it's that the Internet is awesome. The Internet makes everything easier -- cooking, car repairs, home renovations, physics, chemistry, etc. Software development is a bit harder.