Skip to main content

Compendium Article 1: From Coding Hurdles to Drag-and-Drop Dream - The Evolution of Computer Programming



From Coding Hurdles to Drag-and-Drop Dream: The Evolution of Computer Programming

        Creating something that can be used and enjoyed by people worldwide has always been my goal, and programming is the key to making that a reality. But several limiting factors can affect an individual's ability to learn how to program. Learning how to program can be challenging for a variety of reasons. Lack of prior knowledge or experience in mathematics or computer science can make it difficult for individuals to understand the mathematical concepts and algorithms required by programming languages. Additionally, some individuals may struggle with the linear, logical approach of programming and find it difficult to grasp the underlying concepts.

    Moreover, programming requires a significant amount of time and dedication, which can be challenging to find, especially for individuals with other commitments like work or family. Access to resources can also be a limiting factor, especially for individuals who live in areas without access to technology or education. Furthermore, access to quality educational resources and programming tools can be expensive, making it difficult for those without the financial resources to invest in their learning. Finally, mental blocks or fear of failure can limit individuals from taking risks and experimenting with new programming concepts.

Overcoming Obstacles: A Journey Through the Evolution of Programming

    In the early days of computing, computer creation was a significant challenge due to the limited technology and resources available. Babbage and Ada Lovelace faced numerous difficulties in building the first computer, including a lack of funding, technical limitations, and a shortage of skilled engineers. Additionally, programming was in its infancy, and the concept of computers and their capabilities were not well understood. This made it difficult for early computer programmers to create efficient and effective programs. The limited knowledge of computer architecture and the lack of standardization in the field made it challenging for these pioneers to overcome the technical obstacles they encountered. Nevertheless, their contributions paved the way for future advancements in the field of computing and programming.

    Programming languages come in many forms today. Programming languages can be divided into low-level, assembly-level, and high-level. Low-level programming languages allow direct control over hardware and system resources. These demanding languages provide additional control and performance for operating system development, device drivers, and embedded systems. They are less portable, error-prone, and debuggable than higher-level languages. Assembly-level programming languages provide more hardware control than high-level languages while remaining easy to use. System programming, gaming, and scientific computing employ them. High-level programming languages are simpler but offer less hardware control. Web development and desktop apps use them. They may not be suitable for system programming or embedded systems due to performance issues. 

Unleashing the Power of Simplicity: The Future of Effortless Programming


    While taking TEC 101 at the University of Arizona Global Campus, I was introduced to Scratch, a simple programming tool developed by MIT. Scratch's "drag and drop" programming technique is event-driven, which makes it intuitive for beginners. Being able to work with Scratch was a blast. As my experience with the program grew, I figured out how to start and stop events and arrange loops. In contrast to traditional programming, visual programming tools like Scratch use a "what you see is what you get" or "drag and drop" method rather than having users write code in a particular language. Instead of utilizing binary code, Scratch allows users to create programs using graphics and other building elements that are more recognizable to the everyday computer user. This facilitates learning since the user can see the program's features and how they work together, which is especially helpful for visual learners.

    Programming is going to get even easier to use in the future. Platforms that need little or no coding will remain vastly popular, making it more straightforward for people without programming skills to create applications. Furthermore, machine learning and artificial intelligence improvements may result in more intelligent programming tools that advise changes and even generate code on the user's behalf.

    In the past, programming required a deeper understanding of machine and assembly languages, which made it more time-consuming and challenging. This made it harder for the typical person to access. High-level programming languages, on the other hand, which employ more recognizable and abstract notations, have made programming more approachable and enabled more effective coding.

    Programming in the past offered the benefit of being more challenging and requiring a better understanding of the underlying technology, giving the programmer a stronger sense of control over the computer and its operations. Future programming options are likely to be more varied and open, enabling a greater spectrum of people to participate in creating technology and its applications.

    Look at the video I made with the help of Scratch, telling a brief story about my computer programming aspirations! Now, sit back, relax, and hopefully, you'll be inspired.





Comments

Popular posts from this blog

Compendium Article 9: A Newbie's Introduction to Object-Oriented Programming, Java, and tutorial links to keep you motivated

            Hello fellow Java noobs! As my journey continues further into the world computing and specifically programming, we’ve now arrived at Object-Oriented Programming (OOP) and Java. The names alone sound intimidating, but don’t worry! I'm here to explain what Ive learn to your ------from one beginner to another. Getting Started 1.       Go to the Oracle website or OpenJDK to get the Java Development Kit (JDK). 2.       Pick the JDK version that matches your computer (Windows, macOS, Linux) and download it. 3.       Open the downloaded file and follow the on-screen setup instructions. 4.       To check if Java is installed, type java -version in your command prompt or terminal. If you see a version number, you're all set! 5.       For writing Java code, you'll need an IDE (a program where you’ll write the code)....

Compendium Article 4: Roots to Routes - Understanding How Your Requests are Traced and Analyzed

Tracing Your Requests: A Journey Through Ping and Trace Commands      For many years, network hops and latency have been measured by ping and traceroute. Network engineers and administrators have benefited from using these tools to analyze and track network performance. Information is now more accurate and current thanks to modern tools. Because both experts and everyday users use these tools to identify and resolve network problems, they are crucial to the infrastructure of the modern internet. What is Ping Routing and Trace Routing? Ping      A Ping measures packet round-trip time and IP host reachability. It sends the target host a request and waits for a reply. If the host responds, the round-trip time is determined. You can analyze internet connectivity (Hoffman, 2017). Traceroute      Traceroute shows how IP packets travel. A request is also sent from the host. When hosts send the message, IP addresses between the host and destination ...

Compendium Article 6: The Digital Guardian - Securing Information and Systems in the 21st Century

  Network Protection    Safeguarding confidential and sensitive information      Information and system security are vital for the success of any business or organization. To maintain a competitive edge as technology advances and the digital world becomes more interconnected, it is essential to safeguard private and sensitive information against unauthorized access and theft. Businesses must take a proactive approach to increase information and system security by developing a customized information security policy, developing secure and manageable passwords, remaining current on the latest technology security threats and vulnerabilities, configuring network security measures to prevent unauthorized access, infiltration, and data theft, and installing anti-virus software and other malware protection on all company-owned devices. This paper will present basic information on the importance of information and system security in today's digital age, as well as p...