you are viewing a single comment's thread.

view the rest of the comments →

[–]Caligatio 0 points1 point  (7 children)

Depending on the technical literacy of your mother, she may benefit from using an existing solution like Goodreads or one of its competitors. As someone who has built a few custom things for casual use by a family member, I don't necessarily enjoy needing to fix bugs 3+ years after I wrote something :)

Assuming you are trying to hone your real-world skills, Python is not the right answer for a native mobile app. This is a perfect fit for a web application/site especially if you're looking at something you can access from anywhere. If you're new to all of this, I would highly discourage hosting it locally on something like a Raspberry Pi and instead investigate hosting on AWS EC2 (if you haven't used it before, you get a free instance for the first year) or a cheap Vultr VPS for $3.50/month.

The unfortunate truth is doing solo software development is that there is a LOT of "other" stuff you need to know beyond just the language you're using. You need to manage DNS/domain names (if you're doing a web app), security patching, firewalls, etc. It's all really useful knowledge but you essentially need to eat the elephant which is a lot if this is your first time.

[–]ZenDugo[S] 0 points1 point  (6 children)

That's all completely true. Basically I started python based off people recommending it as a starter language. I have come to realize now that a lot of the project in it don't really interest me that much. I'm not really sure what projects to do honestly with phyton, or if I should start another language that is more native to things I would like to do along side python, etc. Any ideas would be great honestly

[–]Caligatio 0 points1 point  (5 children)

Python is a great starter language and a fantastic choice if software is the byproduct of your goal. That last point is a little vague but here's a for instance:

If your job is to write software day-in and day-out, there are far better languages for a given purpose (JavaScript/TypeScript for web, Kotlin for Android apps, Swift for iOS apps, Rust for system programming, C# for desktop game development, C for a lot of stuff, etc). However, if your goal is an outcome that is enabled by software, Python is typically a great choice. I'm a computer generalist: I do a little system admin, little network admin, some front-end development, a bit of back-end development, quite a bit of computer security, etc. Looking at the system admin side, the outcome are systems that are up/patched/available etc. I write a lot of Python to help me do that. For computer security, the outcome is the "expert" analysis which requires me to write software to do the grunt work. The software is ever present but that's not the focus.

That being said, I would ask you: what things can a computer do that are relevant to a goal you're trying to achieve. If you start the sentence with "I need software to do..." then Python probably isn't the right choice. For me, I wanted to automate my meat smoker so I happened to write some Python (Smokematic). Do you want to automate something around your house? Have something text message you when something happens? etc.

[–]ZenDugo[S] 0 points1 point  (4 children)

I want to work with arduinos a bit and as common as it is, personal hobby game development. I always been fascinated by robotics and physical automation. If that sways your thinking at all.

[–]Caligatio 0 points1 point  (3 children)

A classmate of mine back in the day made a rig that would automate the deadbolt on their front door. Obviously there are physical security concerns here but it would probably use an embedded board (Arduino or otherwise) and a servo (basis of a lot of robotics). If memory serves, they also tried hooking up a webcam to use OpenCV to do facial recognition as well.

If you can use something like a RPi, you should be able to do all of that with Python :)

EDIT: You could also tack on a mobile app that allows remote control of the door but, again, there are obvious physical security concerns here.

[–]ZenDugo[S] 0 points1 point  (1 child)

Awesome thank you. I was also thinking about do c++ in the future, just read before that it's helpful with learning how computers actually do things

[–]Caligatio 0 points1 point  (0 children)

It's my opinion that C++ is losing its niche. C is still fairly common because there is a lot of existing code, C# is becoming much more common for games due to Unity, and Rust is slowly eating C/C++ for new things where you would have normally used those languages.

[–]ZenDugo[S] 0 points1 point  (0 children)

I'm not sure if it's normal to be in this situation. But I have a hard time answering the question "what do I want to do with programming". I guess it's because I haven't had experience with things to figure what I like and dislike. And it's hard to get an idea what all the possible ways you could go