What programming language should none professionals learn?
Programming was once considered a basic skill in modern society, just like driving, that none professionals should also master, and it is also taught in primary and secondary schools. But in reality, its popularity is far worse than driving, and there are very few people who master this skill. The knowledge learned in school is forgotten because it cannot be used in work.
Why is this happening?
To answer this question, we first need to answer: Why do we need to learn programming? What do you want to do after learning?
Except for a few individuals who are highly interested (who are likely to become professional programmers), the purpose of most none professionals learning programming should be to assist with daily work. There are indeed many things that can be easily solved by programming, while doing them manually can be very cumbersome. For example, merging 500 Excel spreadsheets, generating employee cards using a roster, and so on. There are many training classes on the street that advocate promoting work efficiency after learning XXX, which will also make many workplace people tempted.
This purpose requires learning two levels of content:
The first level is the basic logic of the program.
For example, variables, branches, loops, and so on. Without understanding these, almost no program can be written. However, this part of the content is not complicated or too much. Friends who have a basic understanding of using Excel formulas can master it with a little effort. Moreover, almost all programming languages have similar abilities in this area, and even use similar keywords and syntax rules. If you have mastered one language, it is easy to learn others, which can be extrapolated.
However, after learning this level of content, you can only solve some arithmetic problems of primary and secondary schools, such as solving chicken and rabbit problem, decomposing prime factors, etc. Practicing your brain is ok, and it is almost useless for assisting daily work.
Unfortunately, facing none professionals, many tutorial books and even training courses end here, or in other words, can only teach to this level, as will be explained later.
To apply what you have learned, you must also learn the second level of content, which is structured data and its operations.
The daily work that we hope to solve by programming, which is actually processing the data at hand, most of these are Excel spreadsheets or data that can be filled into Excel spreadsheets, such as:
This type of data has a name called structured data. Only by mastering the concepts of structured data and common operations such as tables, records, fields, grouping, joins, etc., can one truly cope with daily work. Structured data usually appears in batches (tables usually have many rows of data), so it is important to be familiar with the concepts related to sets, however high school mathematics knowledge is sufficient.
Unfortunately again, unlike countless courses on the first level of basic logic, tutorials for none professionals rarely involve knowledge of structured data. Perhaps only database courses will systematically explain these things, but they are the foundation of daily work and not so difficult for none professionals to master. For example, do you often use Excel for filtering, summarizing, and even doing joins (the word “join” may not be understood, but it is actually what VLOOKUP does)? But without systematic learning, one will become confused when encountering more complex situations.
After mastering both levels of knowledge, none professionals can truly handle daily work with ease, and their work efficiency is impressive.
Then, which programming language to learn?
For the first level of knowledge, there is theoretically a lot of room for choice, and even any language can be chosen, because this is a common content of all programming languages. Then just choose a programming language that is good at handling structured data, which is convenient for learning the second level of knowledge and can also be applied.
In principle, this is the case, but when facing friends with zero foundation, the environmental configurations cannot be too complicated, or they will faint. Zero foundation friends need to install and be ready to use, or even better without installation.
领英推荐
In the early days (over 30 years ago), machines had their own BASIC language, which was indeed usable without installation.But I can’t figure out why it’s all gone now, and I can’t say if this is progress or regression.
There are two main languages that do not need to be installed now, one is JavaScript that comes with the browser, and the other is VBA that comes with Excel. Although these two things do not need installation, if you really want to use them, you need to understand many concepts inside browsers and Excel (called objects in professional terms), which are even more difficult than the program logic itself and are not suitable for beginners.
Sometimes I miss BASIC back then.
How about Python with training classes all over the street? It looks very beautiful.
If it is only used to learn the first level of knowledge, Python can be said to be no problem. It is not difficult to install only basic feature packages, and writing code to run in the development environment is not a problem.
But if you want to learn structured data, for most none professionals, we can confidently say: you cannot master it! Not to mention applying what has been learned. The reason can be referred to as follows: Actually, you will never be able to master Python
Not to mention Java, C/C++, and so on. Object orientation is originally an advanced thing that is not suitable for beginners to understand; Structured data processing ability is almost zero, and learning it is useless; The development environment is also very complex, after all, these things are for professionals to work on large software, and complexity has its own reason.
It is unimaginable for primary and secondary schools to teach Java as a computer enlightenment course.
What about SQL? Its structured data processing capabilities are sufficient for beginners, and it is truly something they can master. It is also a quirk that can skip to the second level without learning the first level (so we mentioned “almost” before, not absolutely), and can make quite complex queries without understanding the concepts of variables or loops.
However, there are still challenges. SQL needs to run in the database, but none professionals usually cannot handle the installation of the database and have no ability to dump Excel into the database (otherwise they cannot process it with SQL). As a result, even after learning, there is no place for practical application.
After all the talk, isn’t there no suitable language to learn?
Yes, if you look at these mainstream programming languages, there really isn’t. Either you cannot master it, or learning it won’t be of much use.
Because of this, although programming concepts have been hyped up, none professionals have never been able to use them, constantly asking what to learn. No matter how many training classes there are, it’s useless. The training classes don’t have the ability to improve or invent programming languages. This is essentially a matter of not having eggs, not a matter of how to make an omelet.
Probably only esProc SPL is a programming language suitable for none professionals with zero foundation.
As a programming language, SPL has a complete set of basic program logic (first level knowledge); The full name of SPL is Structured Process Language, which was invented to deal with structured data. Its structured data processing ability is extremely strong, and it can be said that it has the most complete ability in this area among current programming languages, far exceeding Python and SQL, and we will not go to details here. One-click installation, easy to write and debug in a grid, carefully designed syntax and rich function library for easier mastery; It can directly read and write and calculate Excel files, and even execute SQL on files (so it can also be used to learn SQL).
However, SPL was not specifically invented for beginners, but to solve the problems of SQL being difficult to write and too slow. But when you actually use it, you will find that its system is simple and easy to use, which is very suitable for beginners to learn programming. The key is to truly apply what you have learned.
Interested friends can search for information on SPL forums, and here are SPL programming books, SPL Programming ,and there are also a lot of practical cases here for people in the workplace Desktop and Excel Data Processing Cases.
Finally, esProc SPL is open source. It is here https://github.com/SPLWare/esProc.