Why teach Pascal in schools if the most popular programming language in the world is JavaScript?

The problem of “we teach one thing, but in practice another is required” is well known. But are the expectations associated with computer science classes too high? Or is there an expectation that after music lessons children will be musicians, craftsmen – masters, and drawing – artists?

Why bother with school at all? If someone thinks that it is better to study Python, then give the child the opportunity to study Python, if C++, then C++, etc. Or does your heart “sore” for all the children in the country?

But then questions may arise for any lesson. Why sand a shovel shaft during labor lessons if in practice you will most likely have to solder something? Why go skiing in physical education if in life you will have to run more often (to catch public transport). If you think it’s better to solder and run, do this with your child.

A computer science teacher and a programmer are two different professions. And computer science lessons are not programming classes, as someone might think, but the same theoretical discipline for general development, like on average 90% of lessons at school.

To understand this, it is enough to open work programs and teaching aids. They state such a volume of everything that needs to be given to students that the only way to become acquainted with it is to sit in computer science classes and continuously read textbooks and specialized literature.

Programs and methods are written for reporting, but the reality is a couple of orders of magnitude more modest. But does anything stated need to be implemented in reality in order to comply with the Federal State Educational Standard?

Within the framework of computer science, one can state the study of the basics of programming. But in practice, this will mostly be solving (mathematical) problems using a computer. Can writing code to solve educational problems be called practice? On the one hand, it is possible. To solve them, a computer is used, not a piece of paper. But, on the other hand, what kinds of problems are proposed to be solved, theoretical or practical?

If 1 hour per week is allocated for a computer science lesson, then what programming language can be learned during this time? No. The computer science program lasts 36 hours. During this time you won’t even learn to play on a computer.

No matter how simple the programming language is, after a day you won’t remember what was covered in the lesson. Programming is a practical skill that can be developed by sitting at the computer for at least 1 hour every day and practicing. And how many people are willing to sit for 1 hour every day and solve mathematical problems on a computer? Yes, there are a lot of more interesting things to do than sort arrays and multiply matrices.

It turns out that you either need to enroll in programming clubs or educate yourself.

Imagine a situation where during a music lesson there are 30 people sitting in the class with guitars. Is it possible to say that these lessons involve learning to play the guitar? Of course not. 2-3 interested schoolchildren will learn something while studying at home. Several excellent students will diligently bring guitars to class and pluck the strings (if necessary means necessary). And the rest are not interested at all and don’t need it. Why do something if you don't have to?

Is riding a bike fun? Yes! But imagine a situation where in a physical education lesson everyone was given bicycles and told to do 50 laps around the school. Will everyone go happily? No matter how it is. Everyone will go if you give an electric scooter instead of a bicycle, because you don’t have to do anything on it. Stand up straight and press the button.

Around you can hear the opinion that computer science is uninteresting, computers are old, and it’s better not to look at textbooks.

What does an interesting lesson mean for each specific student? A lesson where you don't have to do anything? Take out your smartphone and do whatever you want – here’s an interesting lesson. In your time, remember which lesson evoked the most positive emotions? Wasn't it the last one that was canceled and you could go home early?

Previously, I also thought that, for example, learning through games was interesting. But playing a computer game and creating a computer game are not the same thing. Many people want to program and develop games, but only until they find out what it actually takes and how much effort it will require. No, we’d rather watch funny videos and play balls in smartphones.

Children come to computer science lessons with different levels of preparation. Some have already programmed, while others did not have a computer at all until that moment. Some people are calm about mathematics, while for others it is one of their unloved and incomprehensible subjects. There are 30 people in the class and how can we make it interesting for everyone? Let this not happen.

When you have been doing something for many years and become a professional in this matter, it seems that it is so elementary that you need to expand and deepen the training program. And they add a program of more sections and materials to study. As a result, children study full time, but they say: “The workload is heavy, because schoolchildren study for only 5 days.” Isn't the training program overblown?

In addition to lessons, there is additional education, within which you can give practice. But a significant part of additional education is a continuation of theoretical lessons.

It turns out that the main program is trying to take as much time as possible from additional education, replacing practice with theory. Okay, but can a school provide the same level of skills as specialized educational institutions, clubs and courses? Isn’t it better to pay attention to what additional classes each student has?

No matter how many music lessons you take a week, you won’t learn to play the piano. No matter how many physical education lessons you give, the results will not be the same as in the sports section. No matter how many computer science lessons you take, you will not learn to program as well as in specialized programming courses.

Organizing a programming club at school is not a bad idea. But, like any field of activity that requires technical training tools, a big problem arises here – where and on what to conduct classes? If a table and chairs are enough for learning English, then equipped workstations are enough for programming. They are in the computer science classroom, but will they give it to an outsider? Unlikely. This means that an additional lesson will be taught by a computer science teacher. What if he is not a programmer or is interested in something other than Python, computer graphics, games and robotics?

Let's remember our computer science lessons. From my own experience, I will say this: no matter what programming language we studied at school (or rather at the educational program) and at a technical university, the result would be the same – nothing. He began to appear only when a computer appeared in the house and began programming for two hours every day on his own, and then at work.

Let's imagine a situation where programming is actually taught in computer science classes. Is Pascal suitable for this?

There is an opinion that it doesn’t matter what programming language you try to learn at school, because the main thing is to understand the basics, and they are the same in any language.

If you follow this logic, then, for example, you can say this: it doesn’t matter what musical instrument you use to study the basics of music, because they are the same everywhere. Okay, take a transverse flute and use it to show the basics – harmonic intervals, chords and basic harmonic turns. Does not work?

But programming is something completely different. Algorithms, variable, array, loop, conditional operators, mathematical operations, etc. – the same thing everywhere.

Let’s not catch the author of the idea of ​​equality of programming languages ​​in words and suggest returning to the study of Assembly, but let’s try to find arguments and facts about the practical feasibility of studying Pascal in the current conditions.

“They haven’t written anything in Pascal for a long time” is a strong argument, but in response we will immediately hear a scattering of “advantages”:

  • Pascal is an extremely simple and understandable language, which was specially developed as an educational language and there are a lot of materials on it

  • Pascal is a compiled language. The compiler itself checks for errors

  • Pascal is a strongly typed language with a clear logical structure

  • Yes, there is no OOP in Pascal, but it is in Delphi

Pascal is an extremely simple and understandable language that was specially developed as an educational language.

If we talk about the simplicity of Pascal, then the issue is controversial.

Once upon a time, I myself started with Pascal, then switched to Delphi and was an admirer of this programming language. In those distant years, I voted with both hands for learning Pascal, not Basic and especially C. But the development of web technologies, mobile devices, robotics and artificial intelligence has led to the fact that many problems in practice are solved using scripting languages ​​much more conveniently, faster, more flexible and more efficiently.

Now my work requires knowledge of web technologies, and in those rare moments when Delphi opens, every time I catch myself thinking that I am drowning in code and trying to run underwater, experiencing the resistance of the water column. This applies not only to syntax in the form of endless begin and end, assignment operations, and so on. This concerns, first of all, the efficiency of solving a practical range of problems, when problems are solved in JavaScript using standard tools simply without the need to remember which components can provide basic functionality.

So Pascal is designed to solve other problems! Yes, each language has its own scope. Delphi developers offer tools for both web and mobile development. But tell me, if you need to develop a website, application or service, will you choose Delphi for the server part and database or something more practical? And when developing mobile applications, FireMonkey or something else?

Pascal now is not the same Pascal from the 80s. But the fact is that with the advent of window operating systems, the entire concept of development has changed. It was structured programming in the DOS operating system that was effective (and the only one available before the advent of OOP). And in windowed operating systems, all work is built around objects. And we are still studying transistors so that we can later move on to microcontrollers when processors are needed.

Pascal is a compiled language

The Pascal compiler is really good. But is having a compiler an advantage when learning? Without a compiler, schoolchildren are unable to write a working application? Yes, as evidenced by a large number of different training platforms using script engines. And a large number of successful web projects suggests that it is possible to obtain a fairly reliable system without using a compiler.

Pascal is a strongly typed language with a clear logical structure

In the days of structured programming languages, this was an advantage. With the development of web and mobile technologies, and now artificial intelligence, the concept has changed. What is required now is flexibility and adaptability.

Can Pascal execute code given by a string, creating dynamic objects on the fly without having to restart the project? So it was created for someone else. Yes, but now, basically, this is what is required, and not something else.

It was said a lot that strict XML would replace HTML, but this did not happen. XML is used in writing mobile applications and as a format for storing tree data structures, but it has not replaced lax HTML.

Programmers, using strictly typed languages, set clear boundaries and boundaries for users to do this and that. But practice has shown that users prefer to work according to their own understanding. If they were limited in some way, now they will simply switch to another resource where there is no such restriction. That is, the emphasis has shifted from the need to “build” users to giving them freedom and subsequent control over what they do.

If earlier browsers tried to somehow teach users how to write correct markup, now developers have abandoned this futile idea and focused on ensuring that browsers provide good functionality and are as resistant as possible to both incorrect markup and errors.

Previously, the site was the domain of only their developers and nothing could be done about it. Now you can install plugins and partially modify the functionality of the site for yourself if the developers are not going to do this.

It may sound loud, but learning Pascal these days is like asking a robotics class to start the class by learning the basics of electricity. Imagine, students have Lego robotics kits in front of them, and they are given electricity kits so that they first learn Ohm's law as the basis for everything powered by electricity. Can't you just start with robotics right away? You definitely need to first learn notes for a month, so that you can then show 3 “yard” chords on the guitar.

Why study structures first if we are in the environment of objects? We have the opportunity to make applications, display graphical data, and use ready-made libraries. Why solder a board with a microcontroller if you can take a ready-made one and immediately start programming it to solve practical problems?

Scratch, App Invertor, Roblox and dozens of other learning systems are object-based environments. We are surrounded by objects, objects in the browser, objects on the screen of smartphones. Without any immersion in encapsulation, inheritance and polymorphism, you can meaningfully work with existing objects and understand what it is for and how it can be useful further. Do we need to understand this? It seems to me that it is necessary. Otherwise, it will turn out like in a movie about martial arts: “Teacher, I’ve been standing on one leg for a week now. What is this for? I want to break boards with my finger, but I don’t know what I’m doing.”

JavaScript is inconvenient because it has ready-made functions, thanks to which you do not need to write algorithms to implement them? Is it now necessary to manually write something that already exists in the form of ready-made sorting, filtering, etc. functions? This is how algorithms pump up the brain! Yes, for those who are interested in it or who are forced to do it. But for others, who once missed something or prefer other types of activities rather than sitting at a screen in front of tasks, this is an incomprehensible and hated activity.

So why study Pascal at school? To comply with Federal State Educational Standards. But no one prohibits learning any other programming language in parallel outside of this standard.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *