Computer Programming Frameworks: Friend or Foe
I must make it from scratch. This thought has been influencing my decisions over my entire career. Maybe it was my peers, who told me as a young programmer that if you cannot program in Assembly then you really don't have any control over your application. Maybe it was my grandmother, who told me that when you make a cake from scratch, you know exactly how much of every ingredient has been put into your recipe, and you can control that. Someone gave me the idea, and it stuck with me.
As I developed my skills, programming languages became more abstract from the low-level commands that Assembly offered, and with each abstraction, I have become more hesitant. Are we loosing control of our software?
If you program for iOS or Android, you no longer have to think much about memory management. The framework handles that for you. You no longer have to think much about signal detection and connection maintenance over network communications. The framework does that also. Every year, the major SDKs and Frameworks hold conventions to spread the word about how the framework is changing. They tell you that some code will not work any more, because they have decided to change how they handle one process or another. The decisions are no longer ours, they belong to the framework makers.
I may sound like I am against the frameworks. I am not.
After 30 years of trying to do everything at the lowest programming level possible and trying to maintain full control over every process, I am finally starting to make the switch, and the frameworks have become my most valuable tool.
It is true that I give up control over the inner workings of my application, but the speed at which we can develop is now so fast that relying on OPC (other people's code) to get to market faster is more important than determining exactly how you will loop over an event listener.
I have spent 3 years trying to code a program from scratch for a medical clinic. My employer liked this approach, because the code was all his, and that means that he does not need to worry about licensing. I have made more progress over the last year using Angular, and then Angular2, using Bootstrap 3 and now Bootstrap 4, and experimenting with Laravel, then I have made in the first 3 years.
My advice to young programmers is this. Embrace the frameworks. Use them. You will find at times that you are limited in what you can do by the choices that another programmer has made, but this should not stop you from making a work-a-round, or digging deeper into the code. We will figure out any licensing problems when the time comes; in the mean-time, the medical clinic will benefit from code that meets their needs when they need it.
As I developed my skills, programming languages became more abstract from the low-level commands that Assembly offered, and with each abstraction, I have become more hesitant. Are we loosing control of our software?
If you program for iOS or Android, you no longer have to think much about memory management. The framework handles that for you. You no longer have to think much about signal detection and connection maintenance over network communications. The framework does that also. Every year, the major SDKs and Frameworks hold conventions to spread the word about how the framework is changing. They tell you that some code will not work any more, because they have decided to change how they handle one process or another. The decisions are no longer ours, they belong to the framework makers.
I may sound like I am against the frameworks. I am not.
After 30 years of trying to do everything at the lowest programming level possible and trying to maintain full control over every process, I am finally starting to make the switch, and the frameworks have become my most valuable tool.
It is true that I give up control over the inner workings of my application, but the speed at which we can develop is now so fast that relying on OPC (other people's code) to get to market faster is more important than determining exactly how you will loop over an event listener.
I have spent 3 years trying to code a program from scratch for a medical clinic. My employer liked this approach, because the code was all his, and that means that he does not need to worry about licensing. I have made more progress over the last year using Angular, and then Angular2, using Bootstrap 3 and now Bootstrap 4, and experimenting with Laravel, then I have made in the first 3 years.
My advice to young programmers is this. Embrace the frameworks. Use them. You will find at times that you are limited in what you can do by the choices that another programmer has made, but this should not stop you from making a work-a-round, or digging deeper into the code. We will figure out any licensing problems when the time comes; in the mean-time, the medical clinic will benefit from code that meets their needs when they need it.
Comments
Post a Comment