3 ms·
A little off-topic, but I've been teaching myself how to code. Programming is, indeed, not as complex as one thinks. But there's a massive (and frustrating) gap
by spaceman_2020 4y ago
A little off-topic, but I've been teaching myself how to code. Programming is, indeed, not as complex as one thinks. But there's a massive (and frustrating) gap between building a function vs building a deployable app.
Deploying an app with strong security, user account control, caching, server side rendering, etc. involves dealing with way more issues than most coding courses cover.
I just wish online tutorials focused as much on building, say, user authentication, as they did on solving programming problems. The latter might be good for learning how to code, but the former is what you need to bring the stuff to life.
- Fire-Dragon-DoL 4y agoThere are so many layers that pile up on a developers knowledge that I feel disoriented when I try to teach my wife. I agree, courses should focus on that, the problem is that to START coding you need to at least know: text editor, some http,some html, some css, bash (or similar) with common commands and env setup, git, probably some sql, maybe some js, some server side language/webserver. This to do something meaningful, and I'm not even involving a framework. Given that, it kinda makes sense focusing on just coding to start, then you can remove that from the list.
- zabzonk 4y agoyou don't need much (or any) of this stuff in order to write desktop applications. so many people here seem to think that everything is web-based, and it really isn't.
- BrutalCoding 4y agoYou’re right, but if you would Google “build desktop application” for example, you’ll see Electron in the top 3. I could imagine that many new devs will think building desktop applications requires JS, HTML and CSS. To make things more confusing, it’s possible to use Electron with Rust, React, and/or even Python. These can be combined too, all in all it could be quite confusing for some.
- zabzonk 4y agoi'd say that if you are learning programming, don't start with a gui framework, or with trying to write gui apps. start with something like python, using its standard libraries.
- BrutalCoding 4y agoI’m on your side, using Python to draw a smiley in the terminal is a fun and good way to learn in my opinion. I think I started with Visual Basic Scripting as a kid. I had fun by just using Windows own Notepad.exe, writing down a script in there and saving it as a .vbs file. Now out of the sudden I made something that produced ‘scary’ pop-ups on the screen and opened and closed the CD drive repeatedly. Later on, in some PC games I played, I got annoyed (and mesmerized) by hackers. That made me look into DLL injections and cheat engines. I’d say to anyone that’s new to programming, find what languages are considered “easy” and find out if you can do what interests you, like in my case trying to have infinite ammo in a game. Another idea, look into moving a servo motor (Arduino + Raspberry Pi, or just the Pi on its own). A “robot” that shoots a rubber band. I’ve made that for fun and started to add a camera into the mix, adding OpenCV to recognize people and make it shoot. It’s similar to a LAW (killer robot) but without the killing part! My point is, do whatever project sounds fun and try to to do that with a language that is considered easy for the job.
- Fire-Dragon-DoL 4y agoYou can still write a web applications with just JS, some HTML (no css) and no familiarity with command line. And you can write a frontend-only application with just html, css and js and nothing else, true. Still, if you want to do anything more than writing something for yourself, you need all of that unfortunately.
- zabzonk 4y agowhy do you think that? i had, before retirement, been a professional programmer working for large businesses such as investment banks, and neither i or the people i worked with ever used html, js or css, or any other web technologies. the world my be wider than your experience of it.
- Fire-Dragon-DoL 4y agoAll true I guess. I would still expect a vcs + command line familiarity and text editor for any developer a requirement. I would also be surprised if there wasn't an alternative for storage that needs to be learned, for another language. So even eliminating js, html and css, there is a UI toolkit of some sort to learn, a storage mechanism to learn. The layers are still there.
- Jtsummers 4y agoNo you don’t. Web programming is highly visible, but hardly essential to all programming or even the most useful systems.
- grepLeigh 4y agoCheck out the Django Girls tutorial, which I've routinely run for 40-50 attendees in an all-day workshop. By the end of the day, you'll have an app that can be deployed to a PaaS like PythonAnywhere or Google App Engine: https://tutorial.djangogirls.org/en/ https://tutorial.djangogirls.org/en/ My recommendation for new programmers who want to "get shit done" is to learn a kitchen-sink framework. Rails or Django are my usual recommendations, because these have tons of examples of user accounts, role-based access control, caching, deployment, etc.
- HeyZuess 4y agoI think this is relevant to many subjects. I know nothing about cars, but I can probably pick up a book or watch a few videos about and have a reasonable basic knowledge, but there is no way I am going to go out and tune up a car. The learning of many core principles is quite easy, but gain a breadth and depth of knowledge is the difficult part. A lot of this only comes from the application of skills. I have been programming for a very long time and the amount of information I know I don't know is huge let alone the information I don't know that I don't know. But then again in my day job I probably do not need to know a lot more than I know, and within that context programming is easy.