I’ve tried learning programming on and off for years

Page 1 of 2 [ 26 posts ]  Go to page 1, 2  Next

usagibryan
Toucan
Toucan

User avatar

Joined: 13 Jul 2020
Gender: Male
Posts: 273

13 Dec 2022, 10:17 am

But I have nothing to show for it.

I took programming classes as part of my online degree in IT over a decade ago but I remember struggling with it. I thought I'd try it own my own and read Java for Dummies and Beginning Programming with Java for Dummies by Barry Burd (we used Java and Eclipse in the class so that was all I was familiar with). I remember these books being fairly digestible and fun to follow along with. I heard Android apps were written in Java and got the idea that it'd be fun to try to write Android apps. I attempted to read Android Application Development for Dummies by Barry Burd but it was much more difficult to follow along with. I think it was slightly out of date which threw me off and I didn't understand XML.

Then I read a book about C++, I don't remember what book it was exactly or if I finished it but I was able to follow along and I enjoyed it. At the same time I received the SparkFun Inventor's Kit as a gift and followed along with the list of Arduino projects in the little booklet, and had a LOT of fun programming that thing. I think seeing the real life effects of the code (LEDs flashing in a sequence, making a servo move, making it sing the theme to Super Mario Bros., etc) was more satisfying and less abstract. I wasn't sure how to continue on my own though.

I then read Head First C#, I struggled with this one because they made you use pre-made code (I guess the idea was to learn how to code on a team, which meant working with code other people wrote?) and halfway through the author tells you to make a Space Invaders game and I didn't know how to begin.

I also followed along with Khan Academy, Code Academy, free computer science lectures using Python on YouTube, etc. I'm sure I'm leaving out other resources and books.

Most recently I read Automate the Boring Stuff with Python. I was excited about this one because I think maybe one of my problems is I'm always learning theory but nothing practical and this is supposed to be a book about programming for non-programmers. At first I was having fun and forgot how much fun it was to experiment with code, made my own silly little side programs (nothing too fancy, mostly just variations and combinations of what the book already taught me). But it wasn't long before I found these concepts getting harder to wrap my head around and I found I wasn't able to figure out the projects you're supposed to do on your own at the end. I'd end up having to look up the answers more and more, and eventually gave up around chapter 7 when I was expected to make some kind of dice game and was completely lost. I was a little discouraged because this was supposed to be a book about programming for non-programmers, do I just not have the brain for this?

I'm giving Automate the Boring Stuff with Python another shot right now, re-reading from the beginning, but at this point I'm absolutely sick of learning about while loops and if else statements and what a variable is for the millionth time. I seem to be stuck in a cycle that has been going on for years (it's not like I've spent every waking moment trying, I lose and re-gain interest in cycles). I try learning how to program from a book or online course, will already be familiar with the basic concepts, but then get lost when I have to create something on my own with no guidance, or best case scenario I finish the book and understand it but have no idea where to go from there.

It's as if I've read a million cookbooks that explain what an oven is and that if you put salt in food it makes it salty, etc, over and over then it's like "ok now make your own recipe" and I have no clue how to begin. If I'm not given step-by-step instructions or if the book is ever so slightly out of date so that what's on my screen is slightly different from what is described I completely lose my way. I seem to need a lot of handholding, or maybe I'm just not logical or inventive enough for this?

When I was a kid I love K’NEX (never had legos) but I never really made anything interesting on my own, I always just followed the instructions in the booklets. Maybe I'm lacking creativity?

I have a friend who swears by the Odin Project. I tried the Odin Project but it was a LOT of reading, and it seems focused on web development which I honestly am not as interested in as making apps or games. I considered trying again but he's been doing it for years and you are expected to collaborate with others which seems daunting. I also found I struggled to understand how to use Github (embarrassing to admit but I always just save my code in Google Drive).


_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents. We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far. The sciences, each straining in its own direction, have hitherto harmed us little; but some day the piecing together of dissociated knowledge will open up such terrifying vistas of reality, and of our frightful position therein, that we shall either go mad from the revelation or flee from the deadly light into the peace and safety of a new dark age"


Radish
Veteran
Veteran

User avatar

Joined: 10 May 2022
Age: 64
Gender: Male
Posts: 13,233
Location: UK

13 Dec 2022, 10:33 am

Maybe you just don't have the personality and type of mind to become a programmer. I took to it like a duck to water and spent my working life writing commercial software in various languages. I found computers far easier to communicate with than people.


_________________
This space intentionally left blank.


DanielW
Veteran
Veteran

User avatar

Joined: 17 Jan 2019
Age: 35
Gender: Male
Posts: 1,833
Location: PNW USA

13 Dec 2022, 10:40 am

What do you want to write code for? Do you have a reason to learn that is compelling enough for you to hyperfocus on it for hours on end? If not, coding may simply not interest you enough beyond what you have learned in your research. For me, writing code can be fun. I can spend hours trying and revising and learning to do the same basic task in the most elegant way possible, or with the fewest lines of code etc. Thats fun for me - its not fun for everyone.



usagibryan
Toucan
Toucan

User avatar

Joined: 13 Jul 2020
Gender: Male
Posts: 273

13 Dec 2022, 11:33 am

DanielW wrote:
What do you want to write code for? Do you have a reason to learn that is compelling enough for you to hyperfocus on it for hours on end? If not, coding may simply not interest you enough beyond what you have learned in your research. For me, writing code can be fun. I can spend hours trying and revising and learning to do the same basic task in the most elegant way possible, or with the fewest lines of code etc. Thats fun for me - its not fun for everyone.


I do always have fun when I start learning again but then I hit a wall. To be honest I'm not really sure why I'm trying anymore. Once a upon a time I wanted to make my own video games and apps. The idea of making my own video game or computer game sounds like a lot of fun and seems more viable now with all the 2D indie games out there. I kind of look up to Toby Fox a little, this guy is younger than me and made a hit 2D game and not only programmed it but wrote the story, the music (I also want to write my own music and video game music composer is my dream career), etc, all except the art. Same story with the guy who made Stardew Valley. I'm always coming up with ideas for my own apps and games.

I enjoy puzzles, problem solving, and troubleshooting. I work in IT, it's been 7 years and I'm pretty sure I'll be doing this for the rest of my life, unless I can find a more suitable career and pull off a switch, which is getting harder to imagine the older I get, but it seems like there is a limit to how far you can go in IT without learning how to code. I should at least learn how to do scripting and automate tasks.

Some side hobbies I've wanted to get into for a long time are electronics (I like hardware and working with my hands so why not?), robots and I'm very curious about home automation. I've played a little bit with Arduino and Raspberry Pi and it's a lot of fun.

I don't know if this is relevant but I also enjoy Linux and working inside the terminal, typing commands and navigating (Hacknet is a fun game on Steam for this). I installed WSL on Windows and decided to follow along with Automate the Boring Stuff with Python that way, using VIM, instead of on Windows. There is something kind of cool about navigating a terminal without the help of a GUI, it would be neat if I could get my hands on a very old pre-GUI computer and learn how to use it just using the CLI.

I just feel like I am missing out without knowing how to code and I should already know how to do something practical by this point.


_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents. We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far. The sciences, each straining in its own direction, have hitherto harmed us little; but some day the piecing together of dissociated knowledge will open up such terrifying vistas of reality, and of our frightful position therein, that we shall either go mad from the revelation or flee from the deadly light into the peace and safety of a new dark age"


ToughDiamond
Veteran
Veteran

User avatar

Joined: 15 Sep 2008
Age: 71
Gender: Male
Posts: 11,143

13 Dec 2022, 12:01 pm

I wish I knew more useful things about how to program. As it is, I'm just a dabbler. I've written some stuff that's been very useful to me but I'm sure I've done it all "the wrong way." The way I work is to just find out the bare minimum I need to know to automate the process I'm trying to automate. As for languages, I've always gone for the easiest, so that's been Sinclair BASIC, Z80 assembly language, GwBASIC, JustBASIC, DOS, and Mouse Recorder Pro code (that's a very easy "language" that allows me to automate mouse operations, keypresses etc.).

I've often toyed with the idea of learning a "proper" language but haven't found any efficient, reliable path to doing that. And I don't want to buy anything. But by combining the aforementioned languages with existing Windows utilities I've been able to do pretty much everything I've wanted to do. So apart from an uneasy feeling that by not investing enough time in pursuing a conventional path I'm somehow missing out, I'm not unhappy with my homespun methods.

I do most things in life the "wrong" way like that. When I try to toe the party line I flounder.



DanielW
Veteran
Veteran

User avatar

Joined: 17 Jan 2019
Age: 35
Gender: Male
Posts: 1,833
Location: PNW USA

13 Dec 2022, 12:50 pm

It sounds to me like you like the idea of being a programmer more than anything. There isn't anything wrong with that. If you really want to learn to code, you need a reason strong enough to motivate you to keep learning. If not, that's OK too.

I'd make video games myself, but I lack the art skills. If you'd rather focus on the music or concepts for video games, focus on that, there will always be someone who can help with coding - the vast majority of games are a collaborative effort. Maybe you need just need to find or build your team?



Mona Pereth
Veteran
Veteran

Joined: 11 Sep 2018
Gender: Female
Posts: 7,810
Location: New York City (Queens)

20 Dec 2022, 9:35 pm

usagibryan wrote:
Most recently I read Automate the Boring Stuff with Python. I was excited about this one because I think maybe one of my problems is I'm always learning theory but nothing practical

Or perhaps you just didn't learn the theory well enough to be able to figure out how to apply it in real life?

Given what you said elsewhere about your IT work, it doesn't sound to me like your problem is a lack of practical technical knowledge.

usagibryan wrote:
and this is supposed to be a book about programming for non-programmers. At first I was having fun and forgot how much fun it was to experiment with code, made my own silly little side programs (nothing too fancy, mostly just variations and combinations of what the book already taught me). But it wasn't long before I found these concepts getting harder to wrap my head around and I found I wasn't able to figure out the projects you're supposed to do on your own at the end. I'd end up having to look up the answers more and more, and eventually gave up around chapter 7 when I was expected to make some kind of dice game and was completely lost. I was a little discouraged because this was supposed to be a book about programming for non-programmers, do I just not have the brain for this?

Sounds to me like you may have been having difficulty with computer science concepts, beyond just programming per se.

Have you tried brilliant.org's Computer Science Fundamentals?


_________________
- Autistic in NYC - Resources and new ideas for the autistic adult community in the New York City metro area.
- Autistic peer-led groups (via text-based chat, currently) led or facilitated by members of the Autistic Peer Leadership Group.
- My Twitter / "X" (new as of 2021)


elbowgrease
Veteran
Veteran

User avatar

Joined: 1 Aug 2017
Age: 38
Gender: Male
Posts: 1,505
Location: Arcata,CA

21 Dec 2022, 7:30 pm

usagibryan wrote:

I don't know if this is relevant but I also enjoy Linux and working inside the terminal, typing commands and navigating (Hacknet is a fun game on Steam for this). I installed WSL on Windows and decided to follow along with Automate the Boring Stuff with Python that way, using VIM, instead of on Windows. There is something kind of cool about navigating a terminal without the help of a GUI, it would be neat if I could get my hands on a very old pre-GUI computer and learn how to use it just using the CLI.

I just feel like I am missing out without knowing how to code and I should already know how to do something practical by this point.



If you can set up a linux install somewhere (even in a VM, but better on a dedicated ssd), you can really easily set it up to be terminal-centric (or just go to the terminal instead of using the gui). Doesn't have to be an ancient machine to make that happen, and you can really get the most out of your hardware if the machine isn't trying to use it to run a bunch of eye-candy on you desktop. I'd recommend Linux Mint if you want something easy to install that usually works right out of the box with a minimum of hassle. You can learn how to tinker with that, and if you like it you can start distro hopping through Linux and the BSD's.
Tiling window managers are fun. Check out i3wm. I think I've seen people with that installed on windows. I really don't know anything about windows at this point, though.



JustFoundHere
Veteran
Veteran

Joined: 13 Jan 2018
Age: 60
Gender: Male
Posts: 2,140
Location: California

24 Dec 2022, 5:13 pm

Personally, I'm what might be described as 'somwhat technically orientated.' that is data/information analysis is my forte' - which current TECH. is unable to fully process.

I view those programing languages/APPs with interest which seem to take more intuitive approaches to coding/programming (yet, are still not intuitive enough).

Have you assessed "low code" APPs? - that is stories on "low code" APPs are common when assessing the more intuitve appraoches to programming.

What specifically are golas/obectives in applying programming?

Hope this helps!



Fenn
Veteran
Veteran

User avatar

Joined: 1 Sep 2014
Gender: Male
Posts: 2,404
Location: Pennsylvania

24 Dec 2022, 5:51 pm

I can program in many programing languages. By that I mean if I can do something by hand, I can automate it and make the computer do it. I have found challenges both in writing and programing when the code gets too big for me to keep it all in my head. I also have trouble working in a team. You mentioned “not knowing where to begin”. I am usually successful with code I can make in terms of “input processing output”. The inventor of Smalltalk (by some considered as tge first Object Oriented programing languages, Allen Kay, says “people do not think on Turing Machines”. Perhaps some people do not, bit I do.
I have had a hard time with Object Oriented programing and Event Driven because the “input processing output” model is much harder to follow.
I am the kind of person who feels like he knows nothing about a subject unless he knows everything about the subject.
Writing a video game is more complicated than some Perl or Bash one-liners. Or a python “one-screen-er”. Once a program gets big enough it needs to be broken into pieces. The pieces need to be connected somehow. The code needs structure. For me this is about the point where things get shaky - knowing what to put in and what to leave out. Knowing when to “grow the tree” and when to “trim the tree”. Sometimes TDD helps sometimes it doesn’t. Sometimes Breaking code into procedures/functions/methods helps sometimes it doesn’t. I have a tendency to try make small unimportant parts “perfect” and never finish others. Even bigger programs need a team. That is even harder for me.


_________________
ADHD-I(diagnosed) ASD-HF(diagnosed)
RDOS scores - Aspie score 131/200 - neurotypical score 69/200 - very likely Aspie


renaeden
Veteran
Veteran

User avatar

Joined: 12 Jun 2005
Age: 47
Gender: Female
Posts: 2,173
Location: Western Australia

26 Dec 2022, 5:47 pm

I went to college to learn programming after a year of learning general IT stuff and getting a Certificate 3. I then set out to get Certificate IV in Programming. I thought I'd like it and that it would come naturally to me.

Boy was I wrong. I learnt Java first. Sort of. The teacher must have been good because none of the other students had any problems. I struggled though. It was a foreign language to me. None of it made sense but somehow I completed the Java module. Next was C#. And a different teacher. One who disliked me on sight. She thought that since I completed Java, C# should come easily to me. But it didn't. I began to fear going to class. I felt sick to my stomach every time I thought about it. I couldn't continue so I quit.

In the Certificate 3 course I did, I had learnt some HTML and CSS. Is that programming? I found that I enjoyed that because results were quick and obvious. It made sense to me. I had fun making web pages about things I was interested in.

So yeah, autistic and crap at programming. I wish I could do it because I'd have a good paying job by now. Instead I'm a cleaner.



Mona Pereth
Veteran
Veteran

Joined: 11 Sep 2018
Gender: Female
Posts: 7,810
Location: New York City (Queens)

27 Dec 2022, 5:55 am

renaeden wrote:
Boy was I wrong. I learnt Java first.

Not a good first language, IMO.

Even in very short programs, Java has an awful lot of required boilerplate (class, main method, etc.) that does absolutely nothing for you in a short program of the kind that a beginner would write. To a beginner, all this stuff is likely just intimidating and confusing.

Python is a much better first language. IMO, Java should wait until you are writing big enough programs that classes, methods, etc. actually become useful.

In Python, it's possible to write a simple short program with no boilerplate. Python also has the advantage (for beginners, and for teachers thereof) of forcing the programmer to indent properly. This requirement may be annoying, but it can help you get a better feel for program structure early on, and it also gets you in the habit of writing programs that are easy for humans to read.

But, for very large programs, Java is the best language, IMO. Java is the easiest of the popular programming languages in which to do good software engineering.

Java is the programming language I use most of the time.


_________________
- Autistic in NYC - Resources and new ideas for the autistic adult community in the New York City metro area.
- Autistic peer-led groups (via text-based chat, currently) led or facilitated by members of the Autistic Peer Leadership Group.
- My Twitter / "X" (new as of 2021)


Fenn
Veteran
Veteran

User avatar

Joined: 1 Sep 2014
Gender: Male
Posts: 2,404
Location: Pennsylvania

27 Dec 2022, 8:23 pm

Usagibryan,
What kind of game did you want to write?
I might be willing to collaborate.


_________________
ADHD-I(diagnosed) ASD-HF(diagnosed)
RDOS scores - Aspie score 131/200 - neurotypical score 69/200 - very likely Aspie


Fenn
Veteran
Veteran

User avatar

Joined: 1 Sep 2014
Gender: Male
Posts: 2,404
Location: Pennsylvania

01 Jan 2023, 7:38 pm

I am brushing up on my C++ programming (and related topics) as part of my current job search.

I just made note of these web sites / web pages.

Code Review Stackexchange
Code Review Stackexchange - What is On-topic for Code Review Stackexchange?
Code Review Stackexchange - What Should I NOT Ask on Code Review Stackexchange?
Software Engineering Stackexchange
Software Engineering Stackexchange - What is On-Topic
Software Engineering Stackexchange - Other Related Stackexchange Sites

These sites can help with learning how to program.


_________________
ADHD-I(diagnosed) ASD-HF(diagnosed)
RDOS scores - Aspie score 131/200 - neurotypical score 69/200 - very likely Aspie


JustFoundHere
Veteran
Veteran

Joined: 13 Jan 2018
Age: 60
Gender: Male
Posts: 2,140
Location: California

03 Jan 2023, 5:40 pm

In searching for books with the keywords 'Intuitive' and 'Programming' - The 2022 BOOK: 'Polished Ruby Programming: Build Better Software with More Intuitive, Maintainable, Scalable, and High-Performance Ruby Code.' are one of those few books mentiong these keywords in the title. (Python receives a few mentions (for comparison purposes) in this BOOK.)

The programming laguages Ruby, and Python are the most intuitive languages, and are good languages to learn for those who treat programming from practical, intuitive perspectives.



usagibryan
Toucan
Toucan

User avatar

Joined: 13 Jul 2020
Gender: Male
Posts: 273

05 Jan 2023, 12:32 pm

UPDATE: So I'm slowly continuing with Automate the Boring Stuff with Python however over the holiday break I discovered Pygame, a Python module for making video games. Specifically I discovered this YouTube video and am now addicted to following tutorials on this channel (he's REALLY good).



I'm having a blast with this. Never have I been more engaged in programming. I've taken the games from these tutorials and tinkered with them, added to them, broke them to better understand them, etc. I made Pong, I'm almost done with the Snake and after this I'm doing Space Invaders. My goal right now is to make a vertically scrolling shooter like Xevious or TwinBee. I have to learn the shooting mechanic which I'll learn from Space Invaders and then figure out how to consistently create enemies that appear on the screen and collide individually, and create a scrolling background.

I went back to Automate the Boring Stuff after this and suddenly found it easier to follow!

renaeden wrote:
I went to college to learn programming after a year of learning general IT stuff and getting a Certificate 3. I then set out to get Certificate IV in Programming. I thought I'd like it and that it would come naturally to me.

Boy was I wrong. I learnt Java first. Sort of. The teacher must have been good because none of the other students had any problems. I struggled though. It was a foreign language to me. None of it made sense but somehow I completed the Java module. Next was C#. And a different teacher. One who disliked me on sight. She thought that since I completed Java, C# should come easily to me. But it didn't. I began to fear going to class. I felt sick to my stomach every time I thought about it. I couldn't continue so I quit.

In the Certificate 3 course I did, I had learnt some HTML and CSS. Is that programming? I found that I enjoyed that because results were quick and obvious. It made sense to me. I had fun making web pages about things I was interested in.

So yeah, autistic and crap at programming. I wish I could do it because I'd have a good paying job by now. Instead I'm a cleaner.


This kind of mirrors my experience. Went to school for IT (and still work in IT), no problem there. First started with Java, then C#, had an awful time. Now I'm learning Python as well as using Pygame to make games and I'm having an easier and more enjoyable time.

Fenn wrote:
Usagibryan,
What kind of game did you want to write?
I might be willing to collaborate.


I like retro games. Right now since I'm just starting to learn how to make games I'm going to be making arcade style games. A 2D platformer like Super Mario Bros. 3 would be fun too, as would a text based adventure game since you technically don't need to worry about graphics for that.

But my dream game would be a story driven RPG in the style of old Square games like Chrono Trigger or Final Fantasy 4. Or maybe an "open world" 2D Dungeon Crawler like Zelda (I like the idea of the entire game being one giant dungeon though). Something like Shining in the Darkness would also be fun to make. Making music is also a hobby of mine so I want to make my own music and insert it into the games. I need to learn how to make pixel art and how to create a story.


_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents. We live on a placid island of ignorance in the midst of black seas of infinity, and it was not meant that we should voyage far. The sciences, each straining in its own direction, have hitherto harmed us little; but some day the piecing together of dissociated knowledge will open up such terrifying vistas of reality, and of our frightful position therein, that we shall either go mad from the revelation or flee from the deadly light into the peace and safety of a new dark age"