<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Shaik Reshma on Medium]]></title>
        <description><![CDATA[Stories by Shaik Reshma on Medium]]></description>
        <link>https://medium.com/@shaikresh05?source=rss-1fcbbd2a0eb9------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*Hg9WwzQvSvOB881V</url>
            <title>Stories by Shaik Reshma on Medium</title>
            <link>https://medium.com/@shaikresh05?source=rss-1fcbbd2a0eb9------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 28 May 2026 03:13:46 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@shaikresh05/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[The World of Artificial Intelligence: AI to Generative AI]]></title>
            <link>https://medium.com/@shaikresh05/the-world-of-artificial-intelligence-ai-to-generative-ai-cedbceef447e?source=rss-1fcbbd2a0eb9------2</link>
            <guid isPermaLink="false">https://medium.com/p/cedbceef447e</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[genai]]></category>
            <category><![CDATA[deep-learning]]></category>
            <dc:creator><![CDATA[Shaik Reshma]]></dc:creator>
            <pubDate>Mon, 25 May 2026 10:41:49 GMT</pubDate>
            <atom:updated>2026-05-25T10:42:29.481Z</atom:updated>
            <content:encoded><![CDATA[<blockquote><strong>INTRODUCTION</strong></blockquote><p>Today, terms like <strong>AI</strong>, <strong>ML</strong>, <strong>DL</strong>, and <strong>Generative AI</strong> are everywhere. People hear them in movies, mobile apps, social media, interviews, and technology discussions. But many get confused because these terms are closely connected.</p><blockquote><strong>What is Artificial Intelligence (AI)?</strong></blockquote><p>Artificial Intelligence (AI) is the broad field of creating machines or software that can perform tasks that normally require human intelligence.</p><p>These tasks include:</p><ul><li>Understanding language</li><li>Recognizing images</li><li>Making decisions</li><li>Solving problems</li><li>Learning from experience</li></ul><blockquote><strong>Examples of AI</strong></blockquote><ul><li>Voice assistants like Siri and Alexa</li><li>Google Maps route suggestions</li><li>Face unlock in phones</li><li>Chatbots</li><li>Recommendation systems in YouTube and Netflix</li></ul><blockquote><strong>What is Machine Learning (ML)?</strong></blockquote><p>Machine Learning is a subset of AI.</p><p>In traditional programming, we write rules manually for the computer. But in Machine Learning, the computer learns patterns from data and makes predictions automatically.</p><blockquote><strong>Simple Definition</strong></blockquote><p>Machine Learning is a method where computers learn from data without being explicitly programmed for every task.</p><blockquote><strong>How ML Works</strong></blockquote><ol><li>Collect data</li><li>Train the model using data</li><li>The model learns patterns</li><li>The model predicts results for new data</li></ol><blockquote><strong>Example</strong></blockquote><p>Suppose we give thousands of email examples marked as:</p><ul><li>Spam</li><li>Not Spam</li></ul><p>The ML model learns patterns from those emails and later predicts whether a new email is spam or not.</p><blockquote><strong>Types of Machine Learning</strong></blockquote><h4>1. Supervised Learning</h4><p>The model learns using labeled data.</p><p>Example:</p><ul><li>Predicting house prices using previous house data</li><li>Predicting exam results</li></ul><h4>2. Unsupervised Learning</h4><p>The model finds patterns without labeled outputs.</p><p>Example:</p><ul><li>Customer grouping</li><li>Market segmentation</li></ul><h4>3. Reinforcement Learning</h4><p>The model learns through rewards and penalties.</p><p>Example:</p><ul><li>Self-driving cars</li><li>Game-playing AI</li></ul><blockquote><strong>What is Deep Learning (DL)?</strong></blockquote><p>Deep Learning is a subset of Machine Learning.</p><p>It uses structures called Neural Networks, which are inspired by the human brain.</p><p>Deep Learning works especially well with:</p><ul><li>Images</li><li>Videos</li><li>Audio</li><li>Large amounts of data</li></ul><blockquote><strong>Examples of Deep Learning</strong></blockquote><ul><li>Face recognition</li><li>Speech recognition</li><li>Self-driving cars</li><li>Medical image analysis</li><li>Language translation</li></ul><blockquote><strong>What is Generative AI?</strong></blockquote><p>Generative AI is a special type of AI that creates new content.</p><p>Unlike traditional AI that mainly predicts or classifies data, Generative AI can generate:</p><ul><li>Text</li><li>Images</li><li>Music</li><li>Videos</li><li>Code</li></ul><blockquote><strong>Examples of Generative AI</strong></blockquote><ul><li>ChatGPT writing answers</li><li>AI image generators</li><li>AI music creation tools</li><li>AI video generators</li><li>AI coding assistants</li></ul><blockquote><strong>Difference Between AI, ML, DL, and Generative AI</strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/740/1*vvAg5MGKJ27CygR4FVkNZw.png" /></figure><blockquote><strong>Relationship Between AI, ML, DL, and Generative AI</strong></blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RgOWLPfwHIyPIjxyTM4oLw.png" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cedbceef447e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Unlocking the Power of MySQL: A Deep Dive into the World’s Favorite Database]]></title>
            <link>https://medium.com/@shaikresh05/unlocking-the-power-of-mysql-a-deep-dive-into-the-worlds-favorite-database-d279de287f1f?source=rss-1fcbbd2a0eb9------2</link>
            <guid isPermaLink="false">https://medium.com/p/d279de287f1f</guid>
            <category><![CDATA[data-storage]]></category>
            <category><![CDATA[sql]]></category>
            <category><![CDATA[database]]></category>
            <category><![CDATA[crud]]></category>
            <category><![CDATA[mysql]]></category>
            <dc:creator><![CDATA[Shaik Reshma]]></dc:creator>
            <pubDate>Mon, 28 Jul 2025 11:49:14 GMT</pubDate>
            <atom:updated>2025-07-28T11:49:14.086Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>Introduction to MySQL: More Than Just a Database</strong></h3><p>In the digital age, <strong>data is king</strong> — and managing that data is a serious responsibility.</p><p>Enter <strong>MySQL</strong> — an open-source, reliable, and lightning-fast relational database management system. Whether it’s powering your favorite app or storing your college project data, MySQL is the <strong>engine behind the scenes</strong>.</p><p><em>“MySQL is not just a tool, it’s the memory of millions of modern applications.”</em></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/736/1*KEIWS8ioqltQCbvCCZEVDg.jpeg" /></figure><h3><strong>Applications of MySQL: Where Is It Used ?</strong></h3><p>MySQL is everywhere. Here are just a few real-life use cases:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/989/1*7EwPwvFx8nuLuKQSMxEnnA.jpeg" /></figure><h3><strong>Advantages of Using MySQL</strong></h3><ul><li><strong>Open-Source</strong>: Free to use, with a vast developer community</li><li><strong>High Performance</strong>: Optimized for fast access</li><li><strong>Secur</strong>e: Supports roles, authentication, and encryption</li><li><strong>Scalable &amp; Flexibl</strong>e: Handles large data efficiently</li><li><strong>Cross-Platform</strong>: Works on Windows, Linux, Mac</li></ul><h3>Before MySQL: A Peek into the Past</h3><p>Before MySQL came into existence in <strong>1995</strong>, people used:</p><ul><li><strong>Flat File Systems</strong> (like CSV or TXT): Difficult to search, filter, and relate</li><li><strong>Excel</strong>: Good for tabular data but limited in logic and automation</li><li><strong>Custom File-Based Programs</strong> (e.g., in C or Java): Required manual read/write handling</li><li><strong>DBMS</strong>: Non-relational systems that lacked proper data linking</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-LikCGsds5gbQkW0nPBFUg.png" /></figure><p>MySQL revolutionized this by offering:</p><blockquote><em>Structured storage<br>Easy querying with SQL<br>Relational linking using </em><strong><em>foreign keys</em></strong></blockquote><h3>What is MySQL ? Let’s Get Real…</h3><p>MySQL is an open-source <strong>Relational Database Management System (RDBMS)</strong> that uses <strong>SQL (Structured Query Language)</strong> to manage and manipulate data.</p><h3>Real-World Comparison:</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/673/1*9zv1QATH2COtJ8VivGfboA.jpeg" /></figure><p>Just like in a library, you organize, store, and retrieve information using <strong>logic</strong> — and MySQL does this at digital scale.</p><h3>CRUD Operations in MySQL</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/741/1*1yL_RWyaXWNT6-qfi8uI5g.jpeg" /></figure><h3>Example SQL Queries:</h3><pre>-- Create<br>INSERT INTO students (name, age) VALUES (&quot;Reshma&quot;, 22);<br><br>-- Read<br>SELECT * FROM students;<br><br>-- Update<br>UPDATE students SET age = 23 WHERE name = &quot;Reshma&quot;;<br><br>-- Delete<br>DELETE FROM students WHERE name = &quot;Reshma&quot;; </pre><h3>Constraints in MySQL: Rules That Protect Your Data</h3><p><strong>— &gt; Common Constraints and Their Purpose:</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/540/1*gCk_spFQhVbMGZfSOr32wA.jpeg" /></figure><h3>Types of Commands in MySQL</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/875/1*twVWiuu70JylF1sNpdw_sQ.jpeg" /></figure><p>Absolutely! Below are <strong>code examples</strong> for each type of SQL command in <strong>MySQL</strong>, complete with comments to explain what each command does.</p><h3>1. DDL — Data Definition Language</h3><p><em>Used to define and modify the </em><strong><em>structure</em></strong><em> of the database</em></p><pre>-- Create a new database<br>CREATE DATABASE IF NOT EXISTS companyDB;<br><br>-- Use the database<br>USE companyDB;<br><br>-- Create a table<br>CREATE TABLE employees (<br>    emp_id INT AUTO_INCREMENT PRIMARY KEY,<br>    emp_name VARCHAR(100) NOT NULL,<br>    department VARCHAR(50),<br>    salary DECIMAL(10,2)<br>);<br><br>-- Alter the table to add a new column<br>ALTER TABLE employees ADD email VARCHAR(100);<br><br>-- Drop the table (permanently deletes it)<br>DROP TABLE employees;<br><br>-- Truncate table (deletes all records but keeps structure)<br>TRUNCATE TABLE employees;</pre><h3>2. DML — Data Manipulation Language</h3><p><em>Used to </em><strong><em>modify data</em></strong><em> inside tables</em></p><pre>-- Insert data into the table<br>INSERT INTO employees (emp_name, department, salary, email)<br>VALUES (&#39;Reshma&#39;, &#39;IT&#39;, 60000.00, &#39;reshma@example.com&#39;);<br><br>-- Update existing data<br>UPDATE employees<br>SET salary = 65000.00<br>WHERE emp_name = &#39;Reshma&#39;;<br><br>-- Delete a record<br>DELETE FROM employees<br>WHERE emp_name = &#39;Reshma&#39;;</pre><h3>3. DQL — Data Query Language</h3><p><em>Used to </em><strong><em>retrieve data</em></strong></p><pre>-- Select all data from the table<br>SELECT * FROM employees;<br><br>-- Select specific columns<br>SELECT emp_name, salary FROM employees;<br><br>-- Select with condition<br>SELECT * FROM employees WHERE department = &#39;IT&#39;;</pre><h3>4. DCL — Data Control Language</h3><p><em>Used to </em><strong><em>control permissions</em></strong><em> on database objects</em></p><pre>-- Grant SELECT permission to a user<br>GRANT SELECT ON companyDB.employees TO &#39;user1&#39;@&#39;localhost&#39;;<br><br>-- Revoke permission<br>REVOKE SELECT ON companyDB.employees FROM &#39;user1&#39;@&#39;localhost&#39;;</pre><blockquote><em>Note: These require you to have user accounts created using:</em></blockquote><pre>CREATE USER &#39;user1&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;password&#39;;</pre><h3>5. TCL — Transaction Control Language</h3><p><em>Used to manage </em><strong><em>transactions</em></strong><em> (groups of SQL commands that succeed or fail together)</em></p><pre>-- Start a transaction<br>START TRANSACTION;<br><br>-- Insert a new employee<br>INSERT INTO employees (emp_name, department, salary, email)<br>VALUES (&#39;John&#39;, &#39;HR&#39;, 50000.00, &#39;john@example.com&#39;);<br><br>-- Commit (permanently save changes)<br>COMMIT;<br><br>-- OR: Rollback (undo changes)<br>ROLLBACK;<br><br>-- Savepoint allows partial rollbacks<br>SAVEPOINT step1;<br><br>-- More inserts or updates...<br>INSERT INTO employees (emp_name, department, salary)<br>VALUES (&#39;Anu&#39;, &#39;Sales&#39;, 45000.00);<br><br>-- Rollback to the savepoint<br>ROLLBACK TO step1;</pre><h3>Final Thoughts: Why MySQL Still rules the Data World</h3><p>In a world where data is constantly growing in volume, velocity, and variety, <strong>MySQL remains a timeless choice</strong> — for both beginners and industry giants.</p><h3>Here’s why MySQL continues to stand strong:</h3><ul><li><strong>Fast &amp; Reliable</strong>: Optimized for performance and trusted by companies like Facebook, Netflix, and YouTube.</li><li><strong>Easy to Learn</strong>: Clear SQL syntax makes it beginner-friendly.</li><li><strong>Open Source</strong>: Completely free with enterprise-level capabilities.</li><li><strong>Secure</strong>: Fine-grained user access control with roles and permissions.</li><li><strong>Flexible &amp; Scalable</strong>: Perfect for projects of all sizes — from college projects to global enterprise systems.</li><li><strong>Cross-Platform</strong>: Works on Windows, Linux, and macOS, and integrates with almost every programming language.</li></ul><blockquote><strong><em>MySQL is not just a technology — it’s a mindset.</em></strong><em><br>A mindset that values structure, logic, efficiency, and clarity in how we handle data.</em></blockquote><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d279de287f1f" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Role of Distance Metrics in Machine Learning: A Deep Dive into Euclidean and Manhattan…]]></title>
            <link>https://medium.com/@shaikresh05/clustering-and-classification-unveiled-a-deep-dive-into-euclidean-based-learning-models-286dce066a5e?source=rss-1fcbbd2a0eb9------2</link>
            <guid isPermaLink="false">https://medium.com/p/286dce066a5e</guid>
            <dc:creator><![CDATA[Shaik Reshma]]></dc:creator>
            <pubDate>Mon, 21 Jul 2025 16:07:08 GMT</pubDate>
            <atom:updated>2025-07-22T05:02:00.455Z</atom:updated>
            <content:encoded><![CDATA[<h3>The Role of Distance Metrics in Machine Learning: A Deep Dive into Euclidean and Manhattan Distances</h3><h3><strong>1. Understanding Distance Metrics in 1D and 2D Data</strong></h3><p>Distance metrics are foundational in machine learning for determining similarity or dissimilarity between data points. Two of the most commonly used distance metrics are:</p><h3>- Euclidean Distance</h3><p>It measures the “straight-line” distance between two points in space.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*gHbO-EpXBhFkcuhXLMXLjQ.jpeg" /></figure><h3>- Manhaattan Distance</h3><p>Also known as “Taxicab” distance — it calculates the total vertical and horizontal distance traveled.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/546/1*XZMJusfmwV90P15NS1LrcQ.jpeg" /></figure><h3>2. Role of Euclidean Distance in Machine Learning Algorithms</h3><p>Euclidean distance is essential for many machine learning algorithms, especially in:</p><ul><li><strong>Clustering (Unsupervised Learning)</strong> — K-Means, K-Means++</li><li><strong>Classification (Supervised Learning)</strong> — K-Nearest Neighbors (KNN)</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*LeOGWkJ9qRG9xAh2-azWfw.jpeg" /></figure><h3>A. K-Means Clustering (Unsupervised)</h3><p>K-Means uses Euclidean distance to assign unlabeled points to the nearest centroid.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/303/1*caHpTOcNcTu5kxbbuGs60g.jpeg" /></figure><ol><li>Initialize <strong>K</strong> centroids randomly.</li></ol><p>2. Compute Euclidean distance from each point to all centroids.</p><p>3. Assign points to the nearest centroid.</p><p>4. Update centroids by averaging points in each cluster.</p><p>5. Repeat steps 2–4 until centroids stabilize.</p><h3>Application on Unlabeled Points:</h3><p>Using points F–J, K = 2:</p><ul><li>Initial centroids: C (3,1), E (7,6)</li><li>Assign F, G, J closer to C; H, I closer to E</li></ul><h3>B. K-Means++</h3><p>An improved version of K-Means where initial centroids are chosen <strong>probabilistically</strong> to be far apart.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/286/1*ZLgpkWGorn6U9ihBm99G5w.jpeg" /></figure><ol><li>Choose first centroid randomly.</li><li>For each remaining point, compute its distance to the nearest existing centroid.</li><li>Select next centroid with a probability proportional to the squared distance.</li><li>Proceed as K-Means.</li></ol><p><strong>Advantage:</strong> Reduces chance of poor clustering due to bad initial centroids.</p><h3>C. K-Nearest Neighbors (KNN) — Supervised</h3><p>KNN classifies a new data point based on majority vote from its K nearest neighbors.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/341/1*dcrHceLpRycNVjbQfhGBXg.jpeg" /></figure><ul><li>Choose K (usually odd).</li><li>Compute Euclidean distance between the test point and all labeled points.</li><li>Pick K nearest points.</li><li>Assign the label based on majority.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*DtAr990ai6eVeKs-FQ55rA.jpeg" /></figure><h3>Data Point Layout for All 10 Points (2D plot) generate these diagrams</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/497/1*fJhurhCKfY7uk-e5vOvNig.jpeg" /></figure><p>Here’s the 2D scatter plot displaying all <strong>10 data points</strong>:</p><ul><li><strong>Blue &amp; Green circles</strong>: Labeled points from <strong>Class 0</strong> and <strong>Class 1</strong></li><li><strong>Red Xs</strong>: Unlabeled points to be used in clustering/classification</li><li>Each point is labeled (A–J) for easy reference</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=286dce066a5e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Magic of Fibonacci and the Power of Recursion]]></title>
            <link>https://medium.com/@shaikresh05/the-magic-of-fibonacci-and-the-power-of-recursion-dddc9d13b66e?source=rss-1fcbbd2a0eb9------2</link>
            <guid isPermaLink="false">https://medium.com/p/dddc9d13b66e</guid>
            <category><![CDATA[blog]]></category>
            <category><![CDATA[recursion]]></category>
            <category><![CDATA[python]]></category>
            <category><![CDATA[stack]]></category>
            <category><![CDATA[fibonacci]]></category>
            <dc:creator><![CDATA[Shaik Reshma]]></dc:creator>
            <pubDate>Fri, 20 Jun 2025 05:45:59 GMT</pubDate>
            <atom:updated>2025-06-20T05:45:59.344Z</atom:updated>
            <content:encoded><![CDATA[<p>Have you ever noticed patterns in the world around you? From the spirals of a sunflower to the branching of trees, nature often reveals hidden mathematical beauty. One such captivating pattern is the Fibonacci series, and understanding it often leads us to a powerful programming concept: recursion.</p><p><strong><em>What is the Fibonacci Series?</em></strong></p><p>The Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones, usually starting with 0 and 1. So, it looks like this:</p><p>0,1,1,2,3,5,8,13,21,34,…</p><p><strong><em>Formulating the Fibonacci Series</em></strong></p><p>We can formally define the Fibonacci series with a simple recurrence relation:</p><ul><li>F0​=0</li><li>F1​=1</li><li>Fn​=Fn−1​+Fn−2​ for n&gt;1</li></ul><p>Where Fn​ represents the n-th Fibonacci number.</p><p><strong><em>Is the Fibonacci Series in Nature? Absolutely!</em></strong></p><p>The presence of the Fibonacci series in nature is one of its most fascinating aspects. It’s not just a mathematical curiosity; it’s a fundamental principle governing growth and arrangement in many living organisms.</p><p>Here are some striking examples:</p><ul><li><strong>Flower Petals:</strong> Many flowers have a number of petals that correspond to Fibonacci numbers: lilies (3), buttercups (5), delphiniums (8), marigolds (13), asters (21), and daisies (34, 55, or 89).</li><li><strong>Seed Arrangements in Sunflowers:</strong> The seeds in a sunflower are arranged in spirals, and the number of spirals in each direction (clockwise and counter-clockwise) are almost always consecutive Fibonacci numbers (e.g., 34 and 55, or 55 and 89).</li><li><strong>Pinecones:</strong> Similar to sunflowers, the scales on a pinecone also exhibit Fibonacci spirals.</li><li><strong>Branching of Trees:</strong> The way tree branches divide often follows a Fibonacci sequence. A main trunk grows until it produces a branch, creating two growth points. The new branch grows, and then divides again, and so on.</li><li><strong>Fruit Sprouting:</strong> The bumps on pineapples and the arrangement of seeds in berries can also display Fibonacci patterns.</li></ul><p><strong><em>Why is the Fibonacci Series Important in the Scientific Field?</em></strong></p><p>Beyond its aesthetic appeal in nature, the Fibonacci series holds significant importance in various scientific fields:</p><ul><li><strong>Biology and Botany:</strong> As seen above, it helps explain growth patterns, branching, and the arrangement of leaves and seeds. This understanding can be crucial in fields like agriculture and plant breeding.</li><li><strong>Computer Science:</strong> It’s a classic example used to teach concepts like recursion, dynamic programming, and algorithm analysis. It also appears in data structures like Fibonacci heaps.</li><li><strong>Mathematics:</strong> It’s a rich area of study in number theory, with connections to the Golden Ratio (ϕ≈1.618), which itself appears in art, architecture, and even human proportions.</li><li><strong>Financial Markets:</strong> Some analysts use Fibonacci retracement levels in technical analysis to predict potential support and resistance levels in stock prices.</li><li><strong>Art and Design:</strong> The Golden Ratio, derived from the Fibonacci sequence, has been used for centuries to create aesthetically pleasing compositions.</li></ul><p><strong><em>What is Recursion?</em></strong></p><p>In the world of computer programming, <strong>recursion</strong> is a powerful technique where a function calls itself directly or indirectly to solve a problem. Think of it as a set of Russian nesting dolls, where each doll contains a smaller version of itself.</p><p><strong><em>What is the Core Idea of Recursion?</em></strong></p><p>The core idea of recursion revolves around breaking down a complex problem into smaller, identical subproblems until a simple “base case” is reached. Once the base case is solved, the results of the subproblems are combined to solve the original problem.</p><p>Every recursive function needs two main parts:</p><ol><li><strong>Base Case(s):</strong> One or more conditions that define when the recursion stops. Without a base case, the function would call itself infinitely, leading to a “stack overflow” error.</li><li><strong>Recursive Step:</strong> The part where the function calls itself with a modified input, moving closer to the base case.</li></ol><p><strong><em>Generating the First Ten Fibonacci Series Numbers Using Recursion in Python</em></strong></p><p>Let’s put our knowledge of Fibonacci and recursion into practice. Here’s a Python function to generate Fibonacci numbers using recursion, along with an explanation and a look at the call stack.</p><pre>def fibonacci_recursive(n):<br>    &quot;&quot;&quot;<br>    Generates the n-th Fibonacci number using recursion.<br>    &quot;&quot;&quot;<br>    if n &lt;= 1:<br>        return n  # Base cases: F(0) = 0, F(1) = 1<br>    else:<br>        # Recursive step: F(n) = F(n-1) + F(n-2)<br>        return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)<br><br># Generate the first 10 Fibonacci numbers (F(0) to F(9))<br>print(&quot;First 10 Fibonacci numbers:&quot;)<br>for i in range(10):<br>    print(f&quot;F({i}) = {fibonacci_recursive(i)}&quot;)</pre><p><strong><em>Code Explanation:</em></strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/820/1*CiuP5uWWb-ebeh_jXlbmLA.png" /></figure><p><strong><em>Understanding the Call Stack (Example for </em></strong><strong><em>fibonacci_recursive(4))</em></strong></p><p>The call stack is a memory area that keeps track of the active functions in a program. When a function is called, a “frame” is pushed onto the stack, containing its local variables and the return address. When the function returns, its frame is popped off.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/783/1*cGBKO4at4JBsFLLYiN7qAQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/832/1*MfNncOticBx-ctXBHoTI7Q.png" /></figure><p>As you can see, the stack grows with each recursive call and shrinks as results are returned. While elegant, this particular recursive implementation of Fibonacci can be inefficient due to repeated calculations. For larger numbers, iterative solutions or memorization (dynamic programming) are often preferred.</p><p>The Fibonacci series and recursion are beautiful examples of how elegant mathematical concepts find their way into the natural world and the core of computer science. Understanding them not only broadens your mathematical horizons but also equips you with fundamental programming paradigms.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=dddc9d13b66e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[From Zeroes to Heroes : The Amazing Journey of How We Talk to Computers ]]></title>
            <link>https://medium.com/@shaikresh05/from-zeroes-to-heroes-the-amazing-journey-of-how-we-talk-to-computers-de4034860f48?source=rss-1fcbbd2a0eb9------2</link>
            <guid isPermaLink="false">https://medium.com/p/de4034860f48</guid>
            <category><![CDATA[human-computerinteraction]]></category>
            <category><![CDATA[history-of-technology]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[computer-science]]></category>
            <dc:creator><![CDATA[Shaik Reshma]]></dc:creator>
            <pubDate>Thu, 22 May 2025 11:20:02 GMT</pubDate>
            <atom:updated>2025-05-22T11:20:02.380Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>From Zeroes to Heroes : The Amazing Journey of How We Talk to Computers 🚀</strong></h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/735/1*DnbS-u9SZ2aNTNYMsj-Kag.jpeg" /></figure><p>Ever wondered how your favorite app, game, or even the website you’re on right now came to life? It’s not magic (well, mostly not!), but the result of something called <strong>programming languages</strong>. These are the special languages humans use to give instructions to computers, turning lines of code into the digital experiences that shape our world.</p><p>Think of it like this: computers, at their core, only understand “on” or “off,” “yes” or “no” (you might know this as 0s and 1s). Imagine trying to write a novel using only those two words! Programming languages are the clever translators that let us express complex ideas in a way that computers can eventually understand.</p><p>So, grab a coffee, and let’s take a thrilling ride through time to see how these languages grew up — from a simple idea to the powerhouses they are today!</p><h3>The Code Time Machine: A Quick Trip Through Programming History 🕰️</h3><p>Programming languages didn’t just pop into existence. They evolved, with each generation learning from the last, making it easier and more powerful for us to tell computers what to do.</p><h3>The Spark: Ada Lovelace &amp; The First “Program” (1843 — The Idea)</h3><ul><li><strong>What was it for?</strong> Way before computers as we know them, Ada Lovelace, a brilliant mathematician, wrote down detailed instructions for a machine (Charles Babbage’s Analytical Engine, which was never fully built in her time) to calculate a sequence of numbers. This is often called the <strong>world’s first computer program</strong>!</li><li><strong>Tech Level:</strong> Purely theoretical — instructions for a mechanical wonder.</li><li><strong>Imagine it:</strong> Detailed step-by-step notes, like a complex recipe for a machine that only existed on paper.</li></ul><h3>The Grunt Work: Assembly Language (Late 1940s — Early 1950s)</h3><ul><li><strong>What was it for?</strong> To give instructions to the earliest computers in a slightly more human-friendly way than raw 0s and 1s (machine code). Think of it as short, cryptic commands.</li><li><strong>Tech Level:</strong> <strong>Low-level</strong> (very close to how the computer actually “thinks”).</li><li><strong>A tiny taste (looks like this):</strong></li><li>Each line is a tiny step for the computer.</li></ul><figure><img alt="Each line is a tiny step for the computer." src="https://cdn-images-1.medium.com/max/782/1*_06qgLGmWePd0ExKlC42OQ.png" /></figure><h3>FORTRAN (1957) — The Number Cruncher</h3><ul><li><strong>What was it for?</strong> Scientists and engineers needed a way to do complex math without pulling their hair out. FORTRAN (FORmula TRANslation) was born!</li><li><strong>Tech Level:</strong> <strong>High-level</strong> (more like human language, less like machine talk).</li><li><strong>A tiny taste:</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/780/1*83Wg4xyFWHxLrDBOtRmnKg.png" /><figcaption><strong>Suddenly, math on computers became much more approachable!</strong></figcaption></figure><h3>LISP (1958) — The Brainy One</h3><ul><li><strong>What was it for?</strong> Designed for Artificial Intelligence (AI) research. It’s all about manipulating lists of information and is known for its unique, parenthesis-heavy look.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste (calculating a factorial):</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/780/1*F8GD7iMQhFp7h_HpvVm3hw.png" /></figure><ul><li><em>It looks different, but it’s super powerful for certain kinds of problems!</em></li></ul><h3>COBOL (1959) — The Business Buddy</h3><ul><li><strong>What was it for?</strong> Businesses needed to process lots of data — payroll, inventory, you name it. COBOL (COmmon Business-Oriented Language) was made to sound a bit like English to make it easier for business folks.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste:</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/785/1*yaQeTc6XOYwFzWIvfxI7pQ.png" /></figure><ul><li><em>For decades, COBOL was the backbone of big business systems.</em></li></ul><h3>ALGOL (1960) — The Trendsetter</h3><ul><li><strong>What was it for?</strong> A universal language for writing algorithms. It didn’t become a huge commercial hit, but it introduced ideas (like organizing code into neat blocks) that almost every modern language uses.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste (adding numbers):</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/783/1*HMOq20JaYHQymV5ydNoALg.png" /></figure><h3>BASIC (1964) — Your First “Hello, World!”</h3><ul><li><strong>What was it for?</strong> To make programming super easy for beginners. Many early home computers came with BASIC!</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste:</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/775/1*vi3onCEBHDnfZWilX0CARQ.png" /></figure><ul><li><em>Simple, right? It got a lot of people hooked on coding.</em></li></ul><h3>C (1972) — The Power Tool</h3><ul><li><strong>What was it for?</strong> Building operating systems (like the famous Unix) and other powerful “under-the-hood” software. It’s fast, flexible, and lets programmers get close to the computer’s hardware.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>, but with <strong>low-level superpowers</strong>.</li><li><strong>A tiny taste:</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/785/1*M94DrMJMDbvWZRR2f5hrkQ.png" /></figure><ul><li><em>C is like the trusty, powerful wrench in a programmer’s toolkit. Many other languages are inspired by it.</em></li></ul><h3>SQL (1974) — The Data Whisperer</h3><ul><li><strong>What was it for?</strong> Talking to databases! SQL (Structured Query Language) lets you ask for specific information, update it, and organize it.</li><li><strong>Tech Level:</strong> <strong>High-level</strong> (but very specialized for data).</li><li><strong>A tiny taste (finding cheap electronics):</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/775/1*8wjaDnoNbKjSwLZ9uEGMgA.png" /></figure><ul><li><em>If you have data, you probably use SQL or something like it.</em></li></ul><h3>C++ (1983) — C With Superpowers (Objects!)</h3><ul><li><strong>What was it for?</strong> Took C and added “Object-Oriented Programming” (OOP) — a new way to organize code using “objects” (we’ll talk more about this!). Great for big projects like game engines or complex applications.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste (a simple greeting):</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/777/1*2mF2GuoteBpS24ydVQ9dMw.png" /></figure><h3>Python (1991) — The Friendly All-Rounder</h3><ul><li><strong>What was it for?</strong> Just about everything! Web development, data science, AI, scripting everyday tasks. Python is famous for being easy to read and write.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste:</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/769/1*0iGfjYRd63X7XU8IgN2FEA.png" /></figure><ul><li><em>Python’s popularity has exploded because it’s so versatile and beginner-friendly.</em></li></ul><h3>Java (1995) — Write Once, Run Anywhere</h3><ul><li><strong>What was it for?</strong> Big company applications, Android apps, and web servers. Java’s big promise was that you could write your code once and it would run on almost any computer.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste:</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/781/1*Y-NUIu6xtWCe7q05c7iVqQ.png" /></figure><h3>JavaScript (1995) — Making Websites Come Alive</h3><ul><li><strong>What was it for?</strong> Originally, to make web pages interactive (think clickable buttons, animations). Now, it’s used for building entire websites (front and back end!) and even apps.</li><li><strong>Tech Level:</strong> <strong>High-level</strong>.</li><li><strong>A tiny taste (popping up a message in a browser):</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/773/1*FrQdLJSTF78qRjBgPGrzEA.png" /></figure><ul><li><em>If you’re Browse the web, JavaScript is working hard behind the scenes!</em></li></ul><h3>And many more! C# (2000) for Microsoft apps and games, Go (2009) for speedy network tools, Swift (2014) for Apple apps, Rust (2015) for super safe and fast systems… the family keeps growing!</h3><h3>Cracking the Code: What Are These “Concepts” Anyway? 🤔</h3><p>As languages evolved, they introduced powerful ideas — building blocks that programmers use every day.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/735/1*h3p-FptQ2m-8qXcB7iV7Ng.jpeg" /></figure><h3>What’s “Assembled Code”?</h3><p>Imagine you write a letter in English (your assembly language program). But your friend only understands Morse code (the computer’s machine code). An <strong>assembler</strong> is like a skilled telegraph operator who translates your English letter perfectly into Morse code. <strong>Assembled code</strong> is that resulting Morse code message — the instructions the computer can <em>actually</em> run.</p><h3>High-Level vs. Low-Level: Speaking to the Machine</h3><ul><li><strong>Low-Level Languages (like Assembly):</strong> These are like talking to the computer in its very basic, almost native tongue. You have a lot of control, but it’s super detailed and tricky, like building a LEGO masterpiece with only the tiniest, single-stud bricks.</li><li><strong>High-Level Languages (like Python or Java):</strong> These are more like talking to the computer in a human-like language. They hide a lot of the complicated details, letting you build amazing things faster, like using pre-built LEGO kits and bigger bricks. You trade a tiny bit of direct control for a lot of ease and speed.</li></ul><h3>Variables: Your Code’s Sticky Notes</h3><ul><li><strong>What’s a variable?</strong> Think of a <strong>variable</strong> as a labeled box or a sticky note where you can store a piece of information (like a number, a name, or a true/false value) that your program needs to remember or change later.</li><li><strong>Example (Python):</strong> age = 30 (Here, age is the variable, and it&#39;s holding the number 30).</li><li><strong>When did they show up?</strong> The idea of having names for storage spots was key from early on. <strong>FORTRAN (1957)</strong> really made them a standard feature, letting you say X = 10.5 and the computer knew what you meant.</li></ul><h3>Pointers: The Address Book for Your Data</h3><ul><li><strong>What’s a pointer variable?</strong> This is a special kind of variable. Instead of holding data itself (like the number 30), a <strong>pointer</strong> holds the <em>memory address</em> of where that data is stored. It&#39;s like having an address in your address book that tells you where your friend age lives.</li><li><strong>When did they show up?</strong> While early machine code always dealt with addresses, <strong>C (1972)</strong> made pointers a famous (and sometimes feared!) feature for high-level programmers, giving them direct access to memory.</li></ul><h3>Variables vs. Pointers: The Value vs. The Location</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/828/1*4-ckDYfzU94VDuJy2EWNLw.png" /></figure><p><strong>Simple Example (Conceptual, like in C):</strong></p><p>Imagine memory as a street with numbered houses:</p><pre>House #101: [  Value: 30  ]  &lt;-- This is where &#39;age&#39; lives. &#39;age&#39; *is* 30.<br>House #205: [ Address #101 ]  &lt;-- This is &#39;address_of_age&#39;. It *points to* House #101.</pre><ul><li>age (variable) gives you 30 directly.</li><li>address_of_age (pointer) tells you to go to House #101 to find the value. If you follow the pointer, you find 30.</li></ul><p>Pointers are powerful for managing memory directly, especially when you need to work with data that can grow or shrink, but they also require careful handling!</p><h3>Conditional Statements (if, else): Let Your Code Choose Its Adventure!</h3><ul><li><strong>What are they?</strong> These are the “decision-makers” in your code. An if statement checks if something is true. If it is, the code does one thing. If not (that&#39;s where else comes in), it can do something different.</li><li><strong>Example: Python</strong></li></ul><pre>temperature = 35<br>if temperature &gt; 30:<br>    print(&quot;It&#39;s a hot day!&quot;)<br>else:<br>    print(&quot;It&#39;s not too hot.&quot;)</pre><ul><li><strong>Why are they important?</strong> They let programs react! Without them, every program would run the exact same way every time, which isn’t very useful for games, apps, or anything that needs to respond to you or the world.</li><li><strong>When did they show up?</strong> <strong>FORTRAN (1957)</strong> had an IF statement. <strong>ALGOL 60 (1960)</strong> refined this, making it easier to build complex decision paths with if-then-else structures.</li></ul><h3>The “Aha!” Moments: When Cool New Ideas Arrived 💡</h3><p>These concepts didn’t all arrive at once. Here’s a peek at when they first made a big splash:</p><blockquote><strong>Variables:</strong></blockquote><p><strong>First Seen:</strong> Early forms in the 1950s, but <strong>FORTRAN (1957)</strong> made them mainstream. Imagine programming before you could just say x = 10!</p><blockquote><strong>Conditional Statements (if, else):</strong></blockquote><ul><li><strong>First Seen:</strong> <strong>FORTRAN (1957)</strong> with its IF. <strong>ALGOL 60 (1960)</strong> brought us the if-then-else structure we know and love, letting programs make choices.</li></ul><blockquote><strong>Loops (for, while — doing things over and over):</strong></blockquote><ul><li><strong>First Seen:</strong> <strong>FORTRAN (1957)</strong> had a DO loop (like a for loop). This stopped programmers from having to write the same code many times.</li></ul><blockquote><strong>Functions (mini-programs inside your program):</strong></blockquote><ul><li><strong>First Seen:</strong> <strong>FORTRAN (1957)</strong> let programmers create SUBROUTINEs and FUNCTIONs. This was huge for organizing code and reusing bits of it, like having a specialized helper for common tasks.</li></ul><blockquote><strong>Objects/Classes (making digital “things”):</strong></blockquote><ul><li><strong>First Seen:</strong> This was a game-changer! <strong>Simula (around 1967)</strong> was the pioneer, letting you define “objects” that had their own data and behaviors (like a digital “Car” object that knows its color and how to “drive”). <strong>Smalltalk (1970s)</strong> then really ran with this idea.</li></ul><blockquote><strong>Code Blocks / Scoping (keeping variables tidy):</strong></blockquote><ul><li><strong>First Seen:</strong> <strong>ALGOL 60 (1960)</strong> introduced the idea of begin and end to group code. Variables created inside a block stayed inside, preventing a messy free-for-all.</li></ul><blockquote><strong>Exception Handling (dealing with errors gracefully):</strong></blockquote><ul><li><strong>First Seen:</strong> <strong>PL/I (1964)</strong> had early ways to handle unexpected situations. Later, languages like C++ and Java made try-catch blocks popular, so your program doesn&#39;t just crash when something goes wrong.</li></ul><blockquote><strong>Pointers (getting direct memory access):</strong></blockquote><ul><li><strong>First Seen:</strong> <strong>PL/I (1964)</strong> and especially <strong>C (1972)</strong> made pointers a well-known feature, giving programmers more control (and responsibility!).</li></ul><blockquote><strong>Concurrency / Multithreading (doing multiple things at once):</strong></blockquote><ul><li><strong>First Seen:</strong> Early ideas were in operating systems. <strong>Ada (1983)</strong> was designed with this in mind. <strong>Java (1995)</strong> made it easier for everyday programmers to make their programs do several things simultaneously. <strong>Go (2009)</strong> introduced “goroutines” as a super easy way to do this.</li></ul><h3>Code That Means Business: How Languages Power the World 👔💼</h3><p>Different jobs need different tools, and it’s the same with programming languages in the business world!</p><ul><li><strong>The Old Faithful — COBOL:</strong> Imagine banks in the 1960s and 70s. They had mountains of transactions, payrolls, and customer records. <strong>COBOL</strong> was built just for that — to process huge amounts of business data reliably. It was designed to be a bit like English so that business managers could (kind of) understand what the programs were doing. Many of these crucial systems, though old, still run today!</li><li><strong>The Engine Room — C and C++:</strong> What makes your computer’s operating system run? Or that super-fast video game? Often, it’s <strong>C</strong> or its more powerful cousin, <strong>C++</strong>. These languages are fantastic for building the foundational software that everything else sits on because they’re efficient and give programmers deep control. Think of them as building the high-performance engines and a strong chassis for a car.</li><li><strong>The Data Librarian — SQL:</strong> Every time you search for a product on Amazon, book a flight, or check your bank balance online, you’re likely using something that talks <strong>SQL</strong>. SQL is the master language for organizing, finding, and updating information in databases. It’s not for building whole apps, but it’s the unsung hero that makes sure all your business data is safe and sound.</li><li><strong>The Corporate Workhorse — Java:</strong> “Write once, run anywhere” — that was Java’s big promise. Big companies loved this because they could build massive, complex systems (think online banking portals or global inventory systems) that would work across many different types of computers. It’s also the main language for building Android apps, so it’s in your pocket too!</li><li><strong>The Swiss Army Knife — Python:</strong> Need to quickly automate a boring task? Build a website? Dive into a mountain of sales data to find trends? Or even experiment with Artificial Intelligence? <strong>Python</strong> has become the go-to for all this and more. It’s relatively easy to learn, reads like plain English, and has a ton of free tools (libraries) that do almost anything you can imagine. Businesses love it for its speed of development and versatility.</li><li><strong>The Web Magician — JavaScript:</strong> What makes websites interactive and fun, rather than just static pages? <strong>JavaScript!</strong> It started by making buttons clickable and images change in your browser. Now, with tools like Node.js, JavaScript can power entire web applications, from what you see (frontend) to what happens on the server (backend). If a business has a modern web presence, JavaScript is almost certainly involved.</li></ul><p>Each language found its sweet spot by being really good at solving certain kinds of problems, helping businesses run smoother, smarter, and reach more people.</p><h3>The Story Continues…</h3><p>And that’s a whirlwind tour of how we learned to talk to computers! From Ada Lovelace’s visionary notes to the AI-powered tools of today, the journey of programming languages is all about making it easier for human creativity to translate into digital reality.</p><p>What’s next? New languages will surely emerge, and existing ones will keep evolving, bringing even more exciting possibilities. The one thing that’s certain is that these remarkable tools will continue to be the building blocks of our future. So next time you use your phone or browse the web, take a moment to appreciate the incredible evolution of code that made it all possible!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=de4034860f48" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>