30 years ago I programmed a.o. with Turbo Pascal in a DOS environment with extended memory, but also in a Unix environment with Fortran.
You often had to create your own graphical environment with lines and corners to create rectangles (think of Windows to gather or present information).If someone had a low resolution color screen and I myself have a “high” resolution black/White Hercules video card, your self-written “GUI” doesn’t always fit on someone else’s screen.
In the DOS environment only one program at a time (M. U. V, the so-called TSR programs) turned.The programs were procedural (always the same sequence and everything was in a great program. Nowadays almost everything is object oriented).
Your programs had to fit on a floppy disk.When compiling, you could choose whether to compile the used function libraries or to use Dlls that were often at risk due to incompatibility between DLL versions. You did not have a mouse and no TCP stack (Internet) but did Hayes codes to send modems (dialing into a BBS).
A lot has changed and the best change is the advent of StackOverflow.Before you spent hours toil to solve a problem, you bought thick books to learn a language. Nowadays I quickly look at StackOverflow how others have solved it.
I learned programming at my eleventh when I was in the sixth grade of elementary School (which is now called Group 8).That was on a Sinclair ZX81 with a total of 16 Kb of memory (and little photo on your smartphone is more than 300 times as big). The language was basic and within a few months I made games that my classmates played. This was somewhere in 1982. Already quite quickly came the language C and in assembly programming could of course also. These are two languages that are not changed in the base in thirty years.
In order to come back to the question of whether programming has become easier, you can not actually give a clear answer.Learning programming has become easier, but software has also become much more complex with more layers and you need to know a lot more and then it used to be. So you have to learn to master the entire stack and it consists of so many layers that the weather has become too much and you almost have to specialize.
So whether it has become easier determined especially what you need to program:-)
Thirty years ago I was not born yet, so I can’t answer from my personal experience.That being said, I think the answer is twofold.
On the one hand, the complexity of software has increased enormously.Expectations are also a lot higher. 30 years ago, a terminal interface was still the norm, while today we have games like Red Dead Redemption 2. Even fairly simple applications today have quite a lot of possibilities that 30 years ago either would have been impossible or would require a lot of expertise and time.
On the other hand, there are many more frameworks and higher programming languages that largely absorb complexity.Where you would have written everything in C 30 years ago, you are now writing a few lines of Java or Python that appeal to an external API and you’re done. If you have any problems, you can go to StackOverflow. In addition, you need to take much less account of a limited working memory than 30 years ago.
You can compare it a bit with motoring.60 years ago the road network was less complex, but you didn’t have any help either. Today, the road network is much more complex and traffic is much busier, but we also have navigation systems that help us bypass congestion and show us the quickest route.
No, Fred Brooks has a famous article on this topic written in 1986 “No Silver Bullet in Software Engineering” http://worrydream.com/refs/Brook. … This article describes the complexity in each software project and how there is no technology in existence that can give programmers an order of magnitude more efficiency in programming.New computer languages, Ides, management techniques everything contributes to a better environment to do your work, but it remains difficult to take real big steps forward. It remains a fact that there is still a lot of software being written the projects on GitHub alone are endless. No one has made the overview or the things you need to be done by someone else, and therefore software is written endlessly.
On the other hand, many standard components are now available such as databases, search engines, website toolkits and all such things that were barely available thirty years ago.But that also makes the software projects that are written to be complex. More tools, means more variables that need to be kept under control. Today’s programmer just needs to be able to use many more different software tools.
Compared to thirty years ago, I really don’t have to laze every day behind my computer and tell my colleagues that we used to have so much harder.I would rightly get a blow to my head if I could say so.
Thirty years ago there were a lot of less accessible programming languages and therefore also a lot less languages that you as programmer could confuse the syntax with each other.In addition, 30 years ago, we had a lot less to do with complex network functionalities, backward compatibility and legacy code.
The number of tools we now have to make programming easier has risen explosively, but that is because programming itself has become more difficult.Programming is more than just writing lines of text. Programming is analyzing a problem, splitting the problem into manageable pieces and writing a code that solves the problem described with as few bugs as possible.
Over the last thirty years, problems and programming have become more complicated and difficult; Not easier.
Initially I wanted to give a response to Henri Koppen’s reply, but my motivation was long enough to come to a self-contained answer:
The synopsis of “You have to program determines whether it is easy or not” I find a salient summary, however, I do not entirely agree that certain languages require that you choose a library to be able to get started at all (although many JS or Python programmer is not dirty).
Just like it used to be, today’s knowledge of the environment (in which your program is run) is of interest to the choices you make.Nowadays it does help that libraries and tools are made very fast and publicly available while you were previously dependent on books and had to purchase a compiler update for so many years (Hello Borland!). You also have to invest time in studying the possibilities of your development environment-as well as the working environment with associated quirks in which your program is going to run-and then get started yourself Go to write your program. Today we know the luxury that you can Google a solution, because we can speak of common “design patterns” that you are supposed to know to make a program understandable for people who are going to take over the maintenance.
I believe that the latter is the biggest difference with thirty years ago.Programmers must now have knowledge of a problem and can write down existing solutions rather than from the main instructions; It is now more important to be familiar with design and behavior patterns that your program needs to meet in order to be usable.Where you could have been “creative” with the development of your contextual menu, you have to deliver something today that is similar to the menus of other software that your users know because otherwise no dog understands anything (as if someone Read a manual today).
Given the rapid developments and changes in both graphic design and UX (how often does a new way to run an instruction on a touchscreen or move a taskbar?), it is not sensible nowadays to make your own render Write routines, drivers or interfaces.Learn the problem you need to solve, be aware of the solutions that are already available, and if possible choose a library that’s easy to use within the context of your program. Choose one that is well maintained and also known among colleagues. You can still write it yourself, but nowadays you also have to weigh up “is that worthwhile and does not take less time to use a pre-existing solution“?
So my contribution is: it has not become easier, but the work is a tad different as it used to be.
When I put my first steps into programming thirty five years ago, it was in Fortran.I had to punch punching cards for that. What seems like it long ago!
Nevertheless, I think it is more difficult nowadays. Different reasons.In the first place, there are more programming languages. They all have many more commands than they used to. That more appeals to your memory. Furthermore, the complexity of what we are programming is usually higher.