|
Yes to this!
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
|
|
|
|
|
Rubber Duck Debugging.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I once explained to a new boss how parameter passing works in a compiler we were doing. Midway through explaining, I noticed a bug, ran off to create a work item to fix.
|
|
|
|
|
does your code go through a Code Review process where you are not the one reviewing your code?
|
|
|
|
|
Unfortunately this code I'm working on presently does not, because I don't have the resources for it. It's a personal endeavor and I am presently the only contributor, though I'd welcome others.
I do have some people that use it, so it has undergone some informal use case testing and review in that respect but that is all.
I'd love to be able to change that.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
|
|
|
|
|
Review on my code is typically done by me, and as I’m trying to fall asleep. That’s when the “Oh bubblegum!” moment happens.
Time is the differentiation of eternity devised by man to measure the passage of human events.
- Manly P. Hall
Mark
Just another cog in the wheel
|
|
|
|
|
I a new person and coding it’s new and it difficult any tips .
|
|
|
|
|
Gosh, I might be the worst person in the lounge to ask at the moment, since I've been coding since 1986. It's hard for me to remember the parts that people struggle with these days. It has been so long since I learned to code.
I started with an easy language. In my case Applesoft BASIC, but that is a dead language and I wouldn't bother.
Python is supposed to be easyish to use. There are tutorials on geeksforgeeks.com and tutorialspoint.com that can help you do specific things.
Really you should try to code something and when you get stuck, ask by going to the "quick answers" menu, and then "Ask a Question"
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
|
|
|
|
|
Pick a language - I'd personally recommend C# as it forces you to correct syntax errors before you can run code, unlike Python or PHP.
Then get a course, or a book and follow it from beginning to end, doing every exercise.
This may also help: How to Write Code to Solve a Problem, A Beginner's Guide[^] - it gives you a technique to get you started on a problem.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
And don't start with an IDE. Start with a basic text editor until you get a little bit of the hang of it. IDE's can do too much for you.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
I'd disagree with that, I think.
Yes, an IDE does too much for you sometimes, but that's offset by having the debugger integrated into the dev environment - so "early stage developers" are more likely to find and hopefully use it. And debugging is hard when you get started, so anything that helps them to fix their code means they learn faster and better.
We do learn a heck of a lot more from mistakes than successes!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Ok, I concede the use of a debugger. Point taken.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
Truly this is a week of miracles: today someone on the internet was swayed by logic and yesterday I saw a BMW driver use his indicators*!
These things never happen: what in in store for tomorrow?
* No, really. And correctly too. I was so surprised I assumed I was still asleep and dreaming.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I'm with Griff on this one. Being able to set break points and see how information is passed in an IDE helped me understand coding that much more.
|
|
|
|
|
Yeah, I disagree as well. I eschewed IDEs for most of my career favoring just plain vi--even on Windows--but since discovering Visual Studio Code, that all changed. With its VIM plugin, I can have the best of both worlds--a vi-like UI with all the VSC bells and whistles.
For a complete newbie, an IDE can be a help and a hindrance. The sheer volume of options, settings, and plugins cam be a challenge and can quickly overwhelm a first timer.
I'm like OP. My career is nearing a close. My first coding experience was also in 1986. The language was Exec2, and the hardware was an IBM System 370 mainframe. That was a different time. There were few tools available (Anyone here remember troff?), few language options, and no Internet to use for research. Now, starting out can be both easier and harder. Easier because there are so many more options to choose from and harder also because there are so many options to choose from. At least there are many great sources of information these days, but this is even problematic because misinformation is just as common as the good stuff.
Of course Kimmie needs to tell us a little bit more about what kind of programming they want to do. If unknown, my tip is to start with defining that.
Cheers,
Russ
|
|
|
|
|
I remember TRS-80 BASIC. TROFF and TRON to trace program execution. Now I use print statements to include variable values and don't output line numbers except before and after conditional branching.
The old days weww so much simpler, but we didn't have enough RAM to work out bugs easily.
|
|
|
|
|
LOLs The troff (pronounced T-Roff) I was referring to is the old typesetter symbolic language processor for formatting documents.
|
|
|
|
|
I have clue on coding but I like try if you don't want me here I will go. I do not have any experience in this. Tell me where can go to learn and don't have to both anyone thank you Kimberly Hall
|
|
|
|
|
It is worth having a look at the way the Git project writes it's Commit messages and it's documentation in terms of shifting from a subjective style of writing about what happened, to an objective imperative style. After a while of following along you start to see how you can stop apologising for what happened, and instead assert what is happening. We are taught (English 101) to write long waffle sentences, rather than short, concise and informative ones that we really need here.
git/Documentation/SubmittingPatches at master · git/git · GitHub[^] The "Describe your changes well" section is a good start.
|
|
|
|
|
honey the codewitch wrote: Just writing out how to use it uncovers areas for improvement.
I also shored up some function names that were out of step with my conventions. I've had that happen myself. I'll notice little inconsistencies in how things are implemented, usually the sort of thing you refactor after some experience with the code. If a class is sufficiently complex, it's as if it forms a grammar. Making sure the right things are "nouns" and "verbs" and are named appropriately is sometimes easier to see when you're talking/writing about the code rather than creating the code itself.
Software Zen: delete this;
|
|
|
|
|
I don't document the code, so much as document the application/utility -- such as how to use it, how to specify command-line parameters or write a script.
But, yes, that often leads to reviewing the code and making improvements.
In some cases, I begin with a document of the list of features I want and such.
|
|
|
|
|
I look at my app, and if something needs documenting, I figure it's probably too hard and should be rewritten. My documentation mostly consists of (control) tooltips.
I used to create elaborate help files (using Help Workshop, etc) until someone decided to condense my help into a "guide" ... sort of like ketchup on one's filet mignon.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Libraries like my graphics library pretty much demand documentation if anyone is going to use them.
There are simply too many features to expect someone to find their way around by themselves.
For example, my graphics lib supports 3 different types of fonts, each with different capabilities.
I mean, The STL demands documentation simply for the breadth of it, never mind the complexity.
I try to keep my code as simple to use as possible, and no simpler. Even in those cases, sometimes a project just demands documentation.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
|
|
|
|
|
API's are different. I contrast "user" documentation and "system" documentation. And I use Visio for both. And Excel. And Word. Creating "internets".
"Users" bother with none of the above. I create "user interfaces".
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Gerry Schmitz wrote: My documentation mostly consists of (control) tooltips.
Ooh, I really hate apps that assume that I will have the same mental model as the developer, especially when I don't . The expectations can easily lead into traps one can't get out of, and worse, ditching the app or tool.
That said, it is really frustrating trying to explain something when you haven't established common ground from the start (the "your breakfast may be different from mine" problem). So at least having a purpose, concepts and usage approach documented will give users a clue as to where the code is going, especially if the app is 'special' (i.e. different to regular expectation).
|
|
|
|