A place for me to ask questions and feel inferior haha

Hello everyone. Returning to the forum. I have been here before. I just wanted to start a thread so that I can ask questions. I am wanting to learn to code, I even signed up for a computer science course a while back but that didn’t last long as I wasn’t able to devote the time needed. Now I just want to try to learn at my own pace.

My goal is just to learn to code. What got me into this was we were having trouble with a cnc at work regarding something called a “post” which is a bunch of javascript that takes the 3d programming done on the computer (tool paths and cutters and stuff) and turns it into code the machine can understand.

Seeing all the pages of javascript was fascinating and it made me realise how much computer science is important within the engineering and machining trade due to how much computer controls is the way of the present and even more in the future.

Post processor authoring has always seemed to border on black magic to me because to truely get the most out of it you need a deep understanding of all logic in the machine and the insane, poorly documented quirks cough FANUC cough the controller has.
Things can get especially hairy when complex probing cycles get incorporated into post.

Are you running hsmworks or fusion? I believe they use javascript for their post, but master and a bunch of others use their own language with inline C at times.

we were for the longest time a mastercam shop, but we have been moving to fusion for some weird reason (cheap is all I can think of.) We got a cnc lathe with a seimens control and we could not find a post that would allow anything beyond basic turning. It wouldn’t allow the live milling tools on the lathe turret. I don’t run the machine much but I believe they got it working.

I just found reading the pages of post code to be really fascinating.

1 Like

My plan is to not restrict myself to one language.

I don’t have to feel inferior because I already know I am.
It seems logical to me to learn one language first before pursuing another.
After all, how do you eat an elephant? A: One byte at a time.
But then, what do I know? I haven’t written a line of code in my life.
When my daughter starts talking about Python to me my eyes glaze over and I’m in never-never land. Think I’ll just stick to building computers. :laughing: Wishing you the best!

Yeah I should have worded my self differently. I meant that I don’t want to limit myself to only knowing one language but I want to learn one at a time.

The only thing that worries me is that I might get bored. I don’t really have any ideas for something I want to “build” or whatever. I just want to learn. I know you have to start with the basics and the low end stuff but “Hello World” isn’t hugely exciting.

I come from a world of reaction to your action so the encouragement is seeing what you are doing actually doing something.

There are a couple ways to learn

  1. Buy a textbook/course that gives you a project to learn concepts around for example (neural nets from scratch or free code camp)
  2. Take a course at a community college
  3. Find a project or app you are passionate about (ie this thing I use daily is unreliable, let me see if I can do a better job)

I recommend option 1 given that you have tried the other options
And here’s links to example
https://nnfs.io

I am currently doing the first two examples you mention. But kind of cheating regarding the community college deal. So I own the original C language book, the C++ book and some digital books. But I also am taking advantage of that free CS50X course that Harvard puts out.

1 Like

Whatever works for you. Personally, I need hands on examples and modding sample code. I don’t have the attention span to read apply theory from a textbook to write code

C/C++ are great for performance applications.It definitely have a steeper learning curve, but if you understand the concepts and can program in it, picking up other languages (python and javascript) is much easier

I am a mix of both. I love the theory and science of things. But I also need examples of existing work purely because I find that it easier to look at how someone else has done something to get an understanding of how something has worked.

One thing that really frustrates me with any kind of training is the trainers tendency to not be able to talk to beginners who don’t know anything about the subject matter.

It is like trying to tell a person to change spark plugs in a car, well they first have to know what a spark plug is.

Yeah it’s a challenge for instructors, good teachers will figure out what parts confuse students and adjust lessons accordingly.

I’ll get memed on, but chatgpt and large language models have been amazing at explaining and debugging code. If you ever get stuck or can’t find a answer, you can try and see what it says. Keep in mind it isn’t perfect, and has a tendency to be confidently wrong, but if you gave exhausted your resources it’s a great tool

The free Harvard cs50 course is really good so far. The lectures I like because they actually tell you what everything is and give examples of doing things right and wrong. Really nice to have things explained as to what they are.

For example nobody should just assume that people know that “or” Is represented by || in C.

Even something as fundamental as a compiler, they actually explain what a compiler is and does.

I like that. I sometimes wonder if some of the YouTube tutorials even know what the why of what they are teaching is.

Haha I just had a reminder of the ego of computer tech people that I despise.

On the cs50 course they give instructions to upload your code for marking. My instructions weren’t working so I casually asked a question on the community page for the course. I had to laugh at one of the responses.

“You have to be smart to do this course…”.

Thankfully I don’t have that problem, the hospital had me tested.

That ego stuff rubs me the wrong way. Makes me want to turn something really complicated into something simple just to tick those people off.

CNC machines are interesting beasts. Some of them are windows based within the controllers however I have definitely seen Linux in the background when starting up one with a Siemens controller. I already use and know Windows since I daily drive it so not really something I need to learn the basics of how to use. However I do wonder if I should put Linux onto a secondary drive or something so as to be able to learn how to use it.

Though there are so many distributions and if I am going to learn Linux I would like to learn the one that is actually used professionally in the real enterprise world.

I never found code camps that interesting to be honest.

If you are at work - there might be a job you find irritating, a task that is repetitive, job you have to do every day that you think you could automate, a task that people do that you think you could make easier.

This is how I got into programming, at its heart - laziness - I thought I could make an application that could do the job faster, better, and without me having to do it.

That is how I made my first 5 applications, all dumb little tools to get a job done.

I started with VBA macros in excel (because my job at the time involved a lot of excel work) - I then reached the limit of what I Could do there and moved to C#.

I then took a more programmatic role and had to learn python for the role - but having done VBA and C# python was pretty easy.

At this point, learning a new language is just about learning new syntax.

1 Like