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

Jumpstart Your Career: Become a Frontend Developer in One Month

1. Understanding the Basics (Days 1-5):    - HTML: Learn the structure of web pages.    - CSS: Understand styling and layout techniques.    - JavaScript: Introduction to scripting for interactivity. 2. Building Your Skills (Days 6-15):    - Responsive Design: Learn to create websites that work on all devices.    - Version Control: Get familiar with Git and GitHub for collaborative work.    - Frontend Frameworks: Explore popular libraries like Bootstrap or frameworks like React or Vue.js. 3. Putting Theory into Practice (Days 16-25):    - Projects: Work on small projects to apply what you've learned.    - Portfolio Development: Build a portfolio showcasing your projects and skills.    - Code Reviews: Get feedback from peers or mentors to improve your code quality. 4. Diving Deeper (Days 26-30):    - Advanced CSS: Explore animations, transitions, and preprocessors like Sass.    - ...

6G networks explained: Everything you need to know

Just as the 5G juggernaut rolls on across the world, the comms industry is actually gearing up for – and exploring the potential opportunities from – the next generation of wireless: 6G. Since the onset of the transformational 3G mobile standard in 2001, the world of communications became used to the arrival of a new generation in mobile networking every decade. Each new-generation wireless has been designed to provide substantially higher capacity and much lower latency than its predecessor, bringing in a new range of applications and use cases that were not previously supported. 6G will be no exception. Work to create future 6G network specifications is already being planned by standards body 3GPP, with initial 6G networks built on the foundations of 5G . 6G networks are expected to run in the very high GHz and 1THz frequency bands, offering throughput speeds of well over 10 Gbps through up to three 160 MHz channels leading to potential micro-second latencies. Why is 6G necess...

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...