Skip to main content

Intro to Code

Coding Intro 😎


👇 I have to describe you what is Programming and what is Coding.

 


  " As a student I'm really enjoying with coding. For me coding is not just a subject or a class assignment. Coding is a magical process of convert our creative ideas into functional programs. Outside of class ,I work on personal projects to practice and develop my skills."

Coding

  •   Intricate process of crafting instructions, articulated through a programming language to direct a computer in performing specific tasks.

Programming

  •  Precise art of crafting executable brilliance, a symphony of logic and creativity converging in the elegant dance of code.

Languages😃

  • Various types of programming language nowadays we can see. But in the process programming languages translate to binary codes that computer can understand.

Low Level Languages 

  • This type of languages closer to machine code and hardware. They provide little to no abstraction from the hardware architecture of a computer.  

Examples :-  Machine Language

                      Assembly Language

  • Programs written in low languages are typically more hardware specific and require a deep understanding of the computer architecture.

  • So I want to tell you about my experience with Assembly Language. In this language use mnemonic codes. Mnemonic codes are symbolic representation of the operation codes(opcodes) of machine instructions. Mnemonic codes make it easier for programmers to write and understand assembly language instructions.
Before we dive into the code, let's understand why assembly language is worth exploring. Unlike high-level languages, assembly language provides a direct interface with the computer's architecture. Every command is a low-level instruction understood by the CPU, offering unparalleled control and performance optimization.





Some mnemonics codes and uses I will explain,
  1. 1. Data Movement:

    • MOV: Move data between locations.
    • XCHG: Exchange the contents of two registers.
    • LEA: Load effective address.

  2. 2. Arithmetic and Logic:

    • ADD: Add two operands.
    • SUB: Subtract second operand from the first.
    • INC: Increment operand.
    • DEC: Decrement operand.
    • MUL: Multiply unsigned.
    • IMUL: Multiply signed.
    • DIV: Divide unsigned.
    • IDIV: Divide signed.
    • AND, OR, XOR: Bitwise logical operations.
    • NOT: Bitwise NOT.

  3. 3. Comparison and Conditional Jumps:

    • CMP: Compare two operands.
    • TEST: Logical AND and update flags.
    • Conditional Jump mnemonics like JE (Jump if Equal), JG (Jump if Greater), etc.

  4. 4. Control Flow:

    • JMP: Unconditional jump.
    • CALL: Call a procedure or subroutine.
    • RET: Return from a subroutine.
    • INT: Software interrupt.

  5. 5. Stack Operations:

    • PUSH: Push data onto the stack.
    • POP: Pop data from the stack.

  6. 6. String Operations:

    • MOVS: Move string data from source to destination.
    • LODS: Load string data into a register.
    • STOS: Store string data from a register.

  7. 7. Bit Manipulation:

    • BSWAP: Byte swap.
    • BSR, BSF: Bit scan reverse and forward.
    • RCL, RCR, ROL, ROR: Rotate and shift operations.

  8. 8. Floating-Point Operations:

    • FADD, FSUB, FMUL, FDIV: Floating-point arithmetic.
    • FCOM, FUCOM: Floating-point comparisons.

  9. 9. SIMD (Single Instruction, Multiple Data):

    • MMX and SSE instructions for multimedia processing.

  10. 10. System Control:

    • HLT: Halt the processor.
    • NOP: No operation.
  11. Before you begin to code with assembly language, you should know these mnemonics codes. At least you should have an understand about these.

High Level Language

  • This type of languages are more user friendly. Programs written by high level languages generally more portable and easier to maintain.

Examples :- Python , Java , C# , C++ , JavaScript ,  PHP , Swift

      Actually  I am working and still studying with most of this languages.


Translators 


We can divide in to two types.

      Compiler    - Translates the entire source  code into machine code in a single pass

  •  Compiled programs generally have faster execution times because translation is done beforehand.
Interpreter - Processes and executes the source code line by line during runtime 

  •    Interpreted programs may have a slight performance overhead as they are translated during runtime.

            Let's see about high level level programming languages and uses,

      Python:

    • Uses
    • Web development (Django, Flask)
    • Data science and machine learning (NumPy, Pandas, TensorFlow)
    • Automation and scripting
    • Backend development (using frameworks like Django or Flask)
    • Artificial Intelligence (AI)

  1. JavaScript:

    • Uses
    • Frontend web development (React, Angular, Vue)
    • Backend development (Node.js)
    • Cross-platform mobile app development (React Native)
    • Browser automation (using tools like Puppeteer)

  2. Java:


    • Uses
    • Enterprise-level application development
    • Android app development
    • Web development (Spring, Java Server Faces)
    • Big data processing (Apache Hadoop)

  3. C#:


    • Uses
    • Windows application development (using .NET)
    • Game development (using Unity)
    • Web development (ASP.NET)
    • Cross-platform app development (using Xamarin)
  1. C++:


    • Uses
    • System/software development
    • Game development (using Unreal Engine)
    • Embedded systems programming
    • Performance-critical applications

  2. Ruby:


    • Uses
    • Web development (Ruby on Rails)
    • Scripting and automation
    • Rapid prototyping
    • DevOps (using tools like Chef or Puppet)

  3. Swift:


    • Uses
    • iOS app development
    • macOS app development
    • Watch OS app development
    • Server-side development (using frameworks like Vapor)

  4. PHP:


    • Uses
    • Server-side web development
    • Building dynamic websites and applications
    • Content Management Systems (CMS) like WordPress


  5. "High-level programming languages form the backbone of modern software development, offering a balance between abstraction and control. As we navigate this ever-evolving landscape, understanding the strengths and applications of high-level languages empowers developers to make informed choices and build innovative solutions."


















































































































































































































































































































































Comments

Popular posts from this blog

Artificial Intelligence (AI): Transforming the Landscape of Innovation

Artificial Intelligence (AI): " Transforming the Landscape of Innovation". In the unexpectedly evolving world of generation, Artificial Intelligence (AI) stands as a beacon of transformative power. From revolutionizing industries to reshaping every day life, AI is at the leading edge of innovation. This article delves into the important thing sides of AI, exploring its contemporary nation, ability applications, moral issues, and the consequences for the future. Understanding AI: At its middle, AI refers back to the improvement of computer structures which can perform duties that normally require human intelligence. This contains a extensive variety of capabilities, from hassle-solving and studying to herbal language processing and belief. Machine Learning (ML), a subset of AI, permits structures to enhance overall performance primarily based on enjoy, similarly amplifying their adaptability. Current Applications: AI has already woven itself into the material of diverse

Choosing Your First Programming Language: A Simple Guide

Embarking on your programming journey can be both exciting and overwhelming, especially when faced with the multitude of programming languages available. Selecting the right language for your first steps is crucial to setting a solid foundation. Here's a simple guide to help you navigate this decision-making process . 1.Define Your Goals and Interests Before diving into the array of programming languages, consider your goals and interests. Are you interested in web development, data science, game development, or something else? Different languages are tailored to specific domains, so aligning your choice with your aspirations is key. 2. Ease of Learning For beginners, languages with clear syntax and simple concepts can make the learning curve more manageable. Python, for instance, is known for its readability and simplicity, making it a popular choice for those new to programming. 3. Versatility Opting for a versatile language can broaden your opportunities. Python, JavaScript, and

Achieving Success : Simple stragedies for the journey

 U nlocking the path to success  Success is a journey not a destination. 1.Define your vision "Where there is no vision, there is no hope" - George Washington Carver 2.Set smart goals "Setting goals is the first step in turning the invisible into the visible "   -    Tony Robbins 3.Embrace continuous learning "Continuous learning is the minimum requirement for success in any field" - Brian Tracy 4.Cultivate a growth mindset A growth mindset sees challenges as opportunities for growth  5.Develop strong work ethics "The best way to learn is by doing. The only wat to build a strong work ethic is getting your hands dirty" - Alex Spanos 6.Build a supportive network "Networking is an essential part of building wealth" - Armstrong Williams 7.Embrace  resilience "Resilience is knowing that you are the only one who has the power and the responsibility to pick yourself up." - Mary Holloway 8.Practice mindfulness "Mindfulness mea