Where can I learn programming?

Status
Not open for further replies.

Atreyo Bhattacharjee

Commendable
Feb 7, 2017
42
0
1,580
I am an absolute beginner and know nothing about computer programming. Where can I got to learn? I want to get from knowing nothing, to independently making my own applications.
 
The basic requirement is to be able to understand and work out the logic involved.

Some step by step process that addresses everything that needs to be done.

Years back it was called flow-charting. Becoming a lost art.

If you can work out the logic and visually represent that logic the programming language becomes just a matter of syntax.

Most kids today are doing programming.

My "starter" recommendation is Scratch 2 via MIT. Free.

The software drives home good programming practices and logic requirements.

May seem silly until you actually try to create your own programs. Then you will realize that there is some discipline and deeper understanding involved.

Syntax becomes secondary.
 

sean.seoltoir.ss

Prominent
Oct 28, 2017
3
0
510
You can learn some of the basics of programming online, but that's a lot different than what is necessary to become a professional software engineer. Just because you can combine code fragments from others posted online and make it kind of work for you doesn't mean that you can design a system from scratch. There's a reason that it takes a 4 year degree to become a software engineer. There's a lot to learn and there's not really a shortcut. If you are really interested in it, go to a used bookstore or one of the bookstores near a university where the students sell their textbooks back and buy one of the older textbooks. Work your way through the freshman and sophomore courses to get a good background and then go to the courses like Data Structures, System Analysis and Design, Distributed Systems, and such. Just remember though, even if you have read through all the textbooks that would be necessary to get a BS degree in CS, don't expect any company to hire you. The degree is important, even though it does include a lot of useless courses (humanities and such) that you will never need in your career.

If you are going to be wanting to develop programs in any of the languages similar to 'C' (or derived from it), a good book to have is K&R's "C Programming Language". It is *the* book for 'C' programming.
 

13thmonkey

Distinguished
Jan 10, 2006
797
3
19,210


Awesome answer, without the infrastructure and thought process around the coding only comparatively trivial tasks can be accomplished, 80% of coding is a thought process.
 

sean.seoltoir.ss

Prominent
Oct 28, 2017
3
0
510


What you can learn online might give you enough knowledge to hack together something that can do a simple task, but that's about it. You need more than that for complex projects. Let's compare it to designing a building... Without a formal degree from a good university, you would be the equivalent of the guy who could build a dog house or maybe even a utility shed. He would not be up to the task of designing a commercial building with a complex electrical, HVAC, and plumbing systems, much less calculating loads, stresses, etc.

In my career, I've worked on DoD contracts, NASA projects, avionics, along with other projects that were not quite as interesting. When there literally are lives depending upon the correct execution of your code, it puts it in an entirely different perspective. Your code has to work 100% of the time and it has to work exactly the same way EVERY time it is executed with the same inputs. For example, you would want to use statically linked libraries since you don't want an O/S update to cause your program to run differently. I have written systems for companies that are still being used 20 years later and have not had any modifications made to them.

 
With no disrespect intended towards anyone, I would prefer to teach an architect to code than to teach a programmer to design buildings.

Either way you need to have the necessary infrastructure and thought processes in place to make it all work.

The real root of it all is that you need a development team with the applicable skills (however obtained) to match requirements to design, do development, coding, testing, implementation, and afterwards support. And for the most part nowadays do all that while always being pushed to do more, faster, and cheaper....

Just think about the effort required each year (and perhaps even more so in the future) with respect to changing, correcting, and updating income tax software.... The financial folks need to provide the logic regarding the working calculations. And the programmers need to provide the logic necessary to correctly do the computations.

Gets all the murkier with some of the design applications now available to end-users. E.g., Building design software, electronic circuit design software, financial tools going beyond the "spreadsheet" concepts. Yet, even spreadsheets now include some sophisticated financial functions.

Children are using all sorts of simulations to help them learn. Farming simulators, zoo simulators, amusement parts, and team role playing games. They use the simulators to work out possible solutions, consider trade-offs, make a decision and try a solution. 3D printers are now in many schools and even libraries. Kids are challenged to create something by working through the necessary thought processes, do some coding, and then "print".

Doing all that helps children (and everyone actually) develop thought processing and logic skills at some level.

Software is a tool - the intent is to allow the user to focus on the end objective sans the tedious grunt work plus some oversight to minimize end-user errors.

And I will certainly concede that knowing the underlying concepts and being able to do the grunt work is a very good thing.

What makes it all more fascinating is that VR/AR is literally taking it all to another level....

Looking forward to the day when we can all put on VR googles, "drag and drop" various income tax statements, forms, and other documents into folders and voila! - taxes done, verified, and securely filed online.

Yet we will most likely still be waiting for our refund checks. :-(

Professional software engineers will use their skills to create the tools. The end-users will need to understand how to use and apply those tools.

Everyone needs to be able to work out and understand what needs to be done. And everyone needs to start somewhere: online, military, college, OTJ even.

 

13thmonkey

Distinguished
Jan 10, 2006
797
3
19,210


If you can consider doing that in VR, then you can do it now with a folder, the complexity lies in manipulating and then understanding each 'document' you give it which is not going to happen for another 2-3 years at least. The AR/VR piece is almost trivial in comparison.
 
No disagreement per se. However, we may already be getting there.

E.g.:

https://www.taxact.com/support/902/2016/export-and-download-csv-files-from-brokerages

If I remember correctly I only have to download or import some tax documents/files (.csv) to a certain folder and the tax software finds the file and reads in the numbers.

Some pre-established standard format being used by financial institutions to report to the IRS and the data also made available to the filer.

Avoids the end-user/filer having to rekey in all the relevant transactions.

So I put on my VR glasses, login to the stock company, "reach" into my files, "pick" out the desired file, "carry" the file to the tax software box that shows as "1099"(or whatever), and "drop" it all in.

Different flavor of importing.

Numbers get crunched, forms completed, and maybe I "reach' in again and "carry" the end return to a box labeled "IRS". Done.

Sans any CTRL C or CTRL V keyboard fingerings. Or "Download now" buttons.

To some extent keyboards are becoming a bit problematic for me. If I can just wave my hands around to get things done, even trivial things, I am all for doing that.

Just starting to look into VR coding tutorials and such. "Hello World stuff" - no grandiose plans.

And thinking about my Christmas wish list... VR headset maybe. TBD.





















 
Status
Not open for further replies.