Thoughts
Engineering
Software Engineering covers a broad area dedicated to using computers to design and develop software applications. Probably the biggest consideration is the target of the software. The are three broad targets to consider:
The type of program determines the amount of effort and time required to write, maintain, and document the program. If it's a personal program, your only documentation may be comments in the program or some reference information from a technical book or paper. If the program is used by a local group of people, it may require a user manual, formal technical disclosure, and revision control.
While the first two types of programs may be only part of your job and developed informally as part of your job or project, a commercial program is the job. There may be many people involved, so the development process will be more disciplined.
Phases
All programs have three phases:
Input data can come from many sources. It may already exist as data in the program, be in a file, ask the user for information, or respond to a keyboard or pointing device. Processing the data could involve calculating some equations to generate some results for a report or using some input to update a display or database. Finally, the program generates a report from the results to a printer, plotter, or file.
Now, the simplest program is one that runs from a command or terminal line, reads data from an input file, and writes the result to an output file. For this you will need a computer language compiler or interpreter and an editor. The editor is used to write the program, create the input file, and view the output file.
Languages
If your just starting to program, it might be worth considering using a spreadsheet like Excel in Microsoft Office or Calc in LibreOffice. They both have plotting and a BASIC programming language. This may be all you may need if you programming for personal use.
Python, C++, and Fortran are my preferred programming languages. There are others, but over the long haul Fortran and C++ have been good standards based languages. They have mostly remained backward compatible to older programs. There is not a standard for BASIC so there are many BASIC dialects. Even Python had a big upgrade that left the old version behind.
Development Environments
The are many good software development tools available. Some are free, others are free for personal use, and some are very expensive. You can use your operating system text editor to write programs, and create and view files. Microsoft Visual Code is a free text editor that can be configured to help develop in just about any programming language. It's about half-way between a text editor and an Integrated Development Environment (IDE). Microsoft Visual Studio is available in a free community version.
Resources
►► Visual Studio Code: The open source AI code editor
►► Microsoft Visual Studio: Microsoft Integrated Development Environment
►► Learn To Code: HTML, CSS, JavaScript, Python, SQL, PHP, C/C++, Java, ...
►► Microsoft Office: Word, Excel, VBA, ...
►► LibreOffice: Writer, Calc, BASIC, ...
►► Python: Programming Language Home