5 ms·
I don't know how to code and I don't know where to start. When I've attempted to start in the past, with Python, I've quickly become massively overwhelmed and g
by coreyisthename 4y ago
I don't know how to code and I don't know where to start. When I've attempted to start in the past, with Python, I've quickly become massively overwhelmed and given up or slowly faded into inaction.
Scratch has always seemed like it would be a good entry level sort of thing, but then I see all of this stuff about 8 year olds using it and everyone talking about it being only for children.
I understand that it's meant to be visual and intuitive for kids and whatnot, but it's discouraging, because I almost feel ashamed for wanting to use it.
Maybe it's that I have so little confidence in my mathematical skills and other "logic-related" things that I'm nervous to even start, just to avoid the shame accompanying my inability to achieve anything with a platform literally designed for elementary school kids.
Just venting a little bit. Anyone have any advice for getting started? There are so many little projects and seemingly simple things I'd like to do with my PC, like running custom scripts on my Pis, making cool AHK macros, creating home cockpit stuff for MSFS, etc.
It's incredibly discouraging to see people making all of these incredible things that I daydream about constantly, knowing that I am completely unable to even scratch the surface.
Pity party over.
- f47il 4y agoI'm kind of a beginner, but as someone who really likes getting visual feedback, I think 2D gamedev is a good place to start. Try Godot [1] which uses GDScript, a language similar to Python or Unity [2] which uses a more complex scripting language (C#) but has a lot more tutorials for it. [1] - https://godotengine.org/ https://godotengine.org/ [2] - https://unity.com/ https://unity.com/
- titchard 4y agoI've been teaching an afterschool class for the last six or so years for kids using scratch, whilst yes its aimed at that level - it does allow you to understand concepts so easy, especially as you can build, rearrange and change like lego bricks. I find out stuff I didn't know when I am just noodling around designing lesson plans for the next week - what you learn will follow you and help with other coding.
- Cthulhu_ 4y agoI understand where you're coming from, every language or tool you look into opens up a Pandora's Box of tooling and libraries that you Should Be Using, and it's difficult to see the forest from the trees. For me this goes back all the way to PHP, where you don't just do, idk, "php helloworld.php", but you had to set up Apache, MySQL, and everything that comes with it, or some Windows application that sets up a server. Anyway, that's not really practical advice. I'd say, either use Python, avoid any libraries or tooling, just stick to basic python scripts to get to grips with it. Make some of the tools you mentioned, or else do a series of challenges - Advent of Code is coming up, but that quickly goes pretty advanced. Alternatively, I've had a lot of fun with pico-8; it's an intentionally constrained environment where you can only see a dozen lines of code at once in low resolution blocky text. It removes any inclination for e.g. libraries or clean code, in favor of just pragmatism. Learned a few tricks there too, like practical applications of the mod operator and the like.
- japanuspus 4y agoHave you looked into some of the "fantasy consoles," such as Pico8 [0] or TIC80 [1]? These emulate "8-bit machines" with graphics and sound, and are completely self-sufficient systems. Compared to real 8-bit machines, your creations can easily be shared as they can be exported to run directly on web pages. The shared place for projects is also a wonderful place to learn from others: from running a game to inspecting the code is a matter of pressing `esc`. [0]: https://www.lexaloffle.com/pico-8.php https://www.lexaloffle.com/pico-8.php [1]: https://tic80.com/play?cat=0&sort=2 https://tic80.com/play?cat=0&sort=2
- dartharva 4y agoSICP is your messiah: https://web.mit.edu/6.001/6.037/sicp.pdf https://web.mit.edu/6.001/6.037/sicp.pdf
- cxr 4y agoThe dirty secret of programming education is that Python is, in practice, a sort of dead end for the majority of the people that it gets pushed on. There's a veneer of simplicity and approachability due to the design of the language itself, but (by-and-large) people often don't progress with it in a meaningful way and don't pick up good practices. (NB to pre-empt the backlash: "often don't" doesn't mean "no one does".) In that regard, it's not terribly dissimilar from Scratch or, say, the path of VBA programmers. Given that it involves the possibility of an annoying installation and setup on platforms where it isn't available by default, and the tooling past that point is itself a bit of a backwater, it's surprising that we're still sticking this out over the decades and still pointing newcomers to Python. We probably should have done something about it by now—where that involves fixing the Python ecosystem, or putting efforts elsewhere. I'm not alone on this. Konrad Hinsen has written extensively from a first person perspective on this as someone who 1. seems to like Python, but 2. has to deal with its (mis)use in the sciences.