<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Henry Dioniz</title>
    <description>The latest articles on Forem by Henry Dioniz (@henrylehd).</description>
    <link>https://forem.com/henrylehd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1366243%2Fd3759fb4-842e-4505-8443-9892531b1a1b.png</url>
      <title>Forem: Henry Dioniz</title>
      <link>https://forem.com/henrylehd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/henrylehd"/>
    <language>en</language>
    <item>
      <title>🛡️ A Swahili SMS Scam Dataset and a Machine Learning Tool to Use It</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Sun, 15 Jun 2025 20:28:44 +0000</pubDate>
      <link>https://forem.com/henrylehd/a-swahili-sms-scam-dataset-and-a-machine-learning-tool-to-use-it-19li</link>
      <guid>https://forem.com/henrylehd/a-swahili-sms-scam-dataset-and-a-machine-learning-tool-to-use-it-19li</guid>
      <description>&lt;p&gt;In Tanzania 🇹🇿, scammers are getting smarter. They often pretend to be someone you know or trust a relative, a friend, a landlord, or even a job recruiter. Their goal? To trick you into sending them money.&lt;/p&gt;

&lt;p&gt;You’ve probably seen texts like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;“&lt;code&gt;Ni tumie kwa namba hii Jina litakuja SALOME KALUNGA, hiyo ni namba yangu mpya ya Halotel&lt;/code&gt;”&lt;/li&gt;
&lt;li&gt;“&lt;code&gt;Utanitumia kwenye ii 0615810764 airtel jina MARIAM NDUGAI namba yangu inadeni usiitumie&lt;/code&gt;”&lt;/li&gt;
&lt;li&gt;“&lt;code&gt;MZEE LUKA KIMBANGU tiba asili biashala kazi masomo utajili kesi kuludisha mke&amp;amp;mume piga (0787-406-889)(0787-406-889)&lt;/code&gt;”&lt;/li&gt;
&lt;li&gt;“&lt;code&gt;666,KARIBU FREEMASON UTIMIZE NDOTO KATIKA BIASHARA, KILIMO,UFUGAJI,MACHI MBO,MICHEZO N.K KWAMHITAJI KUJIUNGA PG: 0786543210 AU 0786543210&lt;/code&gt;”&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;These messages are &lt;strong&gt;dangerous&lt;/strong&gt;, &lt;strong&gt;deceptive&lt;/strong&gt;, and sadly, &lt;strong&gt;very common&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As a Tanzanian tech enthusiast and developer, I wanted to do something about it.&lt;br&gt;
So I created &lt;strong&gt;Bongoscam dataset&lt;/strong&gt; an open dataset of over 1,500 Swahili SMS scam examples, and a basic machine learning model to help detect them.&lt;/p&gt;
&lt;h2&gt;
  
  
  📊 The Dataset: Swahili SMS Detection
&lt;/h2&gt;

&lt;p&gt;I collected and labeled &lt;strong&gt;1,508 real Swahili messages&lt;/strong&gt;, split into two categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;scam&lt;/code&gt;: &lt;code&gt;Suspicious, misleading, or fraudulent messages.&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;trust&lt;/code&gt;: &lt;code&gt;Legitimate or safe messages.&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Example entries:
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;category&lt;/th&gt;
&lt;th&gt;sms&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;scam&lt;/td&gt;
&lt;td&gt;"IYO PESA ITUME KWENYE NAMBA HII 0657538690 JINA ITALETA Magomba Maila"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;trust&lt;/td&gt;
&lt;td&gt;"Nashukuru kwa kupokea simu yangu. Tutalifanyia kazi."&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;➡️ &lt;strong&gt;Download the dataset on Kaggle:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.kaggle.com/datasets/henrydioniz/swahili-sms-detection-dataset" rel="noopener noreferrer"&gt;📥 swahili-sms-detection&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🧠 The Model: Simple but Effective
&lt;/h2&gt;

&lt;p&gt;To demonstrate what’s possible, I built a lightweight machine learning model using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧹 CountVectorizer &lt;code&gt;for converting text to numeric features&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;🤖 Multinomial Naive Bayes &lt;code&gt;classifier&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;📈 98.7% accuracy on test data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model is wrapped in a Flask API and deployed as a simple website for public use.&lt;/p&gt;

&lt;p&gt;You can test it live here:&lt;br&gt;
👉 &lt;a href="https://bongoscam.vercel.app" rel="noopener noreferrer"&gt;&lt;strong&gt;bongoscam.vercel.app&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  📦 Project Structure
&lt;/h2&gt;

&lt;p&gt;You can explore or contribute via GitHub:&lt;/p&gt;

&lt;p&gt;🔗 GitHub: &lt;a href="https://github.com/Henryle-hd/BongoScamDetection" rel="noopener noreferrer"&gt;BongoScamDetection&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone the repo&lt;/span&gt;
git clone https://github.com/Henryle-hd/BongoScamDetection
&lt;span class="nb"&gt;cd &lt;/span&gt;bongoscam

&lt;span class="c"&gt;# Install frontend&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;frontend
npm &lt;span class="nb"&gt;install&lt;/span&gt;

&lt;span class="c"&gt;# Install backend&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;backend
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt

&lt;span class="c"&gt;# Run backend&lt;/span&gt;
python main.py

&lt;span class="c"&gt;# Run frontend&lt;/span&gt;
npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🔌 API Example
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Endpoint:&lt;/strong&gt; &lt;code&gt;POST /api/predict&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Request:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sms"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Iyo ela tuma humu kwenye vodacom 0655251448 Jina lije ALLY ISSA"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Response:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"prediction"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"scam"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"sms"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Iyo ela tuma humu kwenye vodacom 0655251448 Jina lije ALLY ISSA"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🔄 Why This Matters
&lt;/h2&gt;

&lt;p&gt;This project isn’t just about coding. It’s about &lt;strong&gt;digital safety&lt;/strong&gt;.&lt;br&gt;
Millions of people in East Africa rely on SMS for communication.&lt;br&gt;
Without strong tools or education, &lt;strong&gt;they’re vulnerable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;By:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-sourcing the data&lt;/li&gt;
&lt;li&gt;Making the model public&lt;/li&gt;
&lt;li&gt;Supporting Swahili language&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...I'm hoping this becomes a &lt;strong&gt;starting point for more localized ML solutions&lt;/strong&gt; — in Swahili, for Africa, by Africans.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✍️ Final Thoughts
&lt;/h2&gt;

&lt;p&gt;BongoScam dataset is a small step toward fighting digital fraud in Tanzania, but I believe it can grow with your input.&lt;br&gt;
If you're a:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developer 🧑‍💻&lt;/li&gt;
&lt;li&gt;Linguist 🌍&lt;/li&gt;
&lt;li&gt;Security researcher 🔐&lt;/li&gt;
&lt;li&gt;Student 📚&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;…there’s something in this project for you.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Test the tool&lt;/strong&gt; at &lt;a href="https://bongoscam.vercel.app" rel="noopener noreferrer"&gt;bongoscam.vercel.app&lt;/a&gt;&lt;br&gt;
👉 &lt;strong&gt;Explore the dataset&lt;/strong&gt; on &lt;a href="https://www.kaggle.com/datasets/henrydioniz/swahili-sms-detection-dataset" rel="noopener noreferrer"&gt;Kaggle&lt;/a&gt;&lt;br&gt;
👉 &lt;strong&gt;Contribute code&lt;/strong&gt; via &lt;a href="https://github.com/Henryle-hd/BongoScamDetection" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💬 Got feedback or want to collaborate? Drop a comment or find me on &lt;a href="https://tz.linkedin.com/in/henry-dioniz-99897924b" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; or GitHub.&lt;/p&gt;

&lt;p&gt;Let’s build AI that speaks &lt;strong&gt;Swahili&lt;/strong&gt; and protects people, not just data.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>opensource</category>
      <category>python</category>
    </item>
    <item>
      <title>Vibe Study With AI: Flashcards, Tests &amp; Chat — All in Your Terminal</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Sat, 07 Jun 2025 09:55:46 +0000</pubDate>
      <link>https://forem.com/henrylehd/vibe-study-with-ai-flashcards-tests-chat-all-in-your-terminal-4c1n</link>
      <guid>https://forem.com/henrylehd/vibe-study-with-ai-flashcards-tests-chat-all-in-your-terminal-4c1n</guid>
      <description>&lt;p&gt;A while back, I was struggling with studying.&lt;/p&gt;

&lt;p&gt;I had tons of videos saved, links bookmarked, PDF notes everywhere… but I felt overwhelmed. I would start watching a lecture and forget it the next day. I kept thinking — &lt;em&gt;"There must be a better way to study, something smarter."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That’s when the idea hit me:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if I could build a tool that takes all these materials — YouTube, web pages, files — and helps me study them using AI?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that’s how &lt;strong&gt;MTABE&lt;/strong&gt; was born. A command-line tool that became my &lt;strong&gt;study assistant&lt;/strong&gt;, &lt;strong&gt;tutor&lt;/strong&gt;, and even &lt;strong&gt;exam prep coach&lt;/strong&gt; — all in one.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Why I Created MTABE
&lt;/h2&gt;

&lt;p&gt;I needed a simple tool that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Helps me &lt;strong&gt;create flashcards&lt;/strong&gt; from any topic&lt;/li&gt;
&lt;li&gt;Generates &lt;strong&gt;custom tests&lt;/strong&gt; to quiz myself&lt;/li&gt;
&lt;li&gt;Allows me to &lt;strong&gt;chat with AI&lt;/strong&gt; about what I’m learning&lt;/li&gt;
&lt;li&gt;Works with &lt;strong&gt;YouTube&lt;/strong&gt;, &lt;strong&gt;web content&lt;/strong&gt;, &lt;strong&gt;PDFs&lt;/strong&gt;, and more&lt;/li&gt;
&lt;li&gt;Runs right from my &lt;strong&gt;terminal&lt;/strong&gt; (no need for heavy apps)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that’s exactly what MTABE does.&lt;/p&gt;

&lt;p&gt;I’ve been using it quietly for months during my study sessions. It helped me vibe with learning in a way that felt fun and natural. So now, I’m finally ready to share it with all of you.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What MTABE Can Do
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ Add Your Notes
&lt;/h3&gt;

&lt;p&gt;You can load notes from different sources:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mtabe add mynotes &lt;span class="nt"&gt;-t&lt;/span&gt;                     &lt;span class="c"&gt;# Type or paste notes&lt;/span&gt;
mtabe add lecture &lt;span class="nt"&gt;-y&lt;/span&gt; &lt;span class="s2"&gt;"https://youtube.com/..."&lt;/span&gt;  &lt;span class="c"&gt;# From YouTube&lt;/span&gt;
mtabe add article &lt;span class="nt"&gt;-w&lt;/span&gt; &lt;span class="s2"&gt;"https://example.com"&lt;/span&gt;      &lt;span class="c"&gt;# From website&lt;/span&gt;
mtabe add book-notes &lt;span class="nt"&gt;-l&lt;/span&gt; &lt;span class="s2"&gt;"D:&lt;/span&gt;&lt;span class="se"&gt;\c&lt;/span&gt;&lt;span class="s2"&gt;hapter1.pptx"&lt;/span&gt;      &lt;span class="c"&gt;# From local path&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🧠 Make Flashcards With AI
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpahdr2c9in99mj7qngwn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpahdr2c9in99mj7qngwn.png" alt="flash card" width="800" height="328"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mtabe flash &lt;span class="nt"&gt;-f&lt;/span&gt; mynotes
mtabe flash &lt;span class="nt"&gt;-l&lt;/span&gt; &lt;span class="s2"&gt;"D:&lt;/span&gt;&lt;span class="se"&gt;\m&lt;/span&gt;&lt;span class="s2"&gt;yfile.pdf"&lt;/span&gt; &lt;span class="c"&gt;#local path&lt;/span&gt;
mtabe flash &lt;span class="nt"&gt;-w&lt;/span&gt; &lt;span class="s2"&gt;"https://example.com"&lt;/span&gt;
mtabe flash &lt;span class="nt"&gt;-y&lt;/span&gt; &lt;span class="s2"&gt;"https://youtube.com/watch?v=xxxxx"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;When requesting flashcards, specify the number you want or any more instructions (e.g., "Give me 10 cards")&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Question&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpocb6k61dlack8mt8bs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpocb6k61dlack8mt8bs.png" alt="Question" width="557" height="207"&gt;&lt;/a&gt;&lt;br&gt;
Answer&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmzegvbo7z4dzgtp2cz9g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmzegvbo7z4dzgtp2cz9g.png" alt="Answer" width="800" height="151"&gt;&lt;/a&gt;&lt;br&gt;
End Summary&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5eszux3hx9sfeyf4ytf7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5eszux3hx9sfeyf4ytf7.png" alt="summary" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🧪 Generate Practice Tests
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mtabe &lt;span class="nb"&gt;test&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; mynotes
mtabe &lt;span class="nb"&gt;test&lt;/span&gt; &lt;span class="nt"&gt;-l&lt;/span&gt; &lt;span class="s2"&gt;"lecture-notes.pdf"&lt;/span&gt;
mtabe &lt;span class="nb"&gt;test&lt;/span&gt; &lt;span class="nt"&gt;-w&lt;/span&gt; &lt;span class="s2"&gt;"https://example.com"&lt;/span&gt;
mtabe &lt;span class="nb"&gt;test&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; &lt;span class="s2"&gt;"https://youtube.com/watch?v=xxxxx"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;You can specify question types:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Multiple choice&lt;/li&gt;
&lt;li&gt;    True/false&lt;/li&gt;
&lt;li&gt;    Essay&lt;/li&gt;
&lt;li&gt;    Fill in the blank&lt;/li&gt;
&lt;li&gt;    Short explanation&lt;/li&gt;
&lt;li&gt;    Short answer&lt;/li&gt;
&lt;li&gt;    Mix of different types&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Example Multiple choice test&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fux6tdi4tctpj2porx5er.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fux6tdi4tctpj2porx5er.png" alt="Example Multiple choice test" width="800" height="745"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test Results&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10h4etgt3b244dnzcfbh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10h4etgt3b244dnzcfbh.png" alt="Test Results" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  💬 Chat With Your Study Materials
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;mtabe chat &lt;span class="nt"&gt;-f&lt;/span&gt; mynotes
mtabe chat &lt;span class="nt"&gt;-l&lt;/span&gt; &lt;span class="s2"&gt;"unit2.pdf"&lt;/span&gt;
mtabe chat &lt;span class="nt"&gt;-w&lt;/span&gt; &lt;span class="s2"&gt;"https://example.com"&lt;/span&gt;
mtabe chat &lt;span class="nt"&gt;-y&lt;/span&gt; &lt;span class="s2"&gt;"https://youtube.com/watch?v=xxxxx"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Chat Examples:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;“Explain this topic like I’m 10 years old.”&lt;/li&gt;
&lt;li&gt;“Give me 3 examples of supply and demand.”&lt;/li&gt;
&lt;li&gt;“Summarize the notes in 5 bullet points.”&lt;/li&gt;
&lt;li&gt;“Quiz me on what I just uploaded.”&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjh5f1kohshh9rryunx0.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhjh5f1kohshh9rryunx0.gif" alt="Chat Examples" width="720" height="675"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠 Setup Guide
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python &lt;span class="nt"&gt;-m&lt;/span&gt; venv venv
&lt;span class="nb"&gt;source &lt;/span&gt;venv/bin/activate  &lt;span class="c"&gt;# Windows: venv\Scripts\activate&lt;/span&gt;
pip &lt;span class="nb"&gt;install &lt;/span&gt;mtabe
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First time you use MTABE, it will ask for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your &lt;strong&gt;Groq API key&lt;/strong&gt; (you can get one from for free &lt;a href="https://console.groq.com/keys" rel="noopener noreferrer"&gt;console.groq.com&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Your &lt;strong&gt;name&lt;/strong&gt;, &lt;strong&gt;study level&lt;/strong&gt;, and &lt;strong&gt;area of focus&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helps it personalize your study experience!&lt;/p&gt;




&lt;h2&gt;
  
  
  📁 Supported Formats
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PDF, Word, Excel, CSV, PPTX&lt;/li&gt;
&lt;li&gt;Text files&lt;/li&gt;
&lt;li&gt;YouTube videos&lt;/li&gt;
&lt;li&gt;Web articles&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔥 Why You’ll Love It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No need to open 10 tabs — study everything in one place&lt;/li&gt;
&lt;li&gt;Easy to use, even if you're not a tech expert&lt;/li&gt;
&lt;li&gt;You can create your own quizzes and flashcards instantly&lt;/li&gt;
&lt;li&gt;It's open source — improve it if you want&lt;/li&gt;
&lt;li&gt;It’s made by a learner… for learners 💛&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ✨ Ready to Try It?
&lt;/h2&gt;

&lt;p&gt;🔗 &lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/Henryle-hd/mtabe" rel="noopener noreferrer"&gt;https://github.com/Henryle-hd/mtabe&lt;/a&gt;&lt;br&gt;
📦 &lt;strong&gt;PyPI&lt;/strong&gt;: &lt;a href="https://pypi.org/project/mtabe/" rel="noopener noreferrer"&gt;https://pypi.org/project/mtabe/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;If MTABE helps you, share it with a friend. If you want to suggest features or contribute, I'm always open to collab. Let's keep building tools that make learning fun and easy.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6el0xqwtfxn45s7fstrx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6el0xqwtfxn45s7fstrx.png" alt="bye" width="800" height="129"&gt;&lt;/a&gt;&lt;/p&gt;




</description>
      <category>ai</category>
      <category>cli</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>NPM vs NPX: What's the Difference?</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Sun, 04 Aug 2024 11:05:44 +0000</pubDate>
      <link>https://forem.com/henrylehd/npm-vs-npx-whats-the-difference-4dol</link>
      <guid>https://forem.com/henrylehd/npm-vs-npx-whats-the-difference-4dol</guid>
      <description>&lt;p&gt;If you're new to the JavaScript ecosystem, you've probably encountered the terms NPM and NPX. While they sound similar, they serve different purposes. Let's break down what each one does and when to use them.&lt;/p&gt;

&lt;h2&gt;
  
  
  NPM: Node Package Manager
&lt;/h2&gt;

&lt;p&gt;NPM (Node Package Manager) is the default package manager for Node.js. It allows you to install and manage JavaScript packages for your projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  What NPM does:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Installs packages&lt;/li&gt;
&lt;li&gt;Manages dependencies&lt;/li&gt;
&lt;li&gt;Runs scripts defined in package.json&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Example of using NPM:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install a package&lt;/span&gt;
npm &lt;span class="nb"&gt;install &lt;/span&gt;lodash
&lt;span class="c"&gt;# Run a script defined in package.json&lt;/span&gt;
npm run start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  NPX: Node Package Execute
&lt;/h2&gt;

&lt;p&gt;NPX is a package runner tool that comes bundled with NPM (version 5.2+). It allows you to execute Node.js packages without installing them globally or locally.&lt;/p&gt;

&lt;h3&gt;
  
  
  What NPX does:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Executes packages without installation&lt;/li&gt;
&lt;li&gt;Runs one-off commands&lt;/li&gt;
&lt;li&gt;Avoids global package conflicts
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Run create-react-app without installing it globally&lt;/span&gt;
npx create-react-app my-new-app

&lt;span class="c"&gt;# Run a specific version of a package&lt;/span&gt;
npx cowsay@1.4.0 &lt;span class="s2"&gt;"Hello, NPX!"&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Key Differences
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Installation&lt;/strong&gt;: NPM installs packages, while NPX executes packages without installing them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usage&lt;/strong&gt;: NPM is for managing project dependencies, while NPX is for running one-off commands or trying out packages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope&lt;/strong&gt;: NPM operates on your project's node_modules, while NPX can run packages that aren't in your project at all.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  When to Use Each
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Use &lt;strong&gt;NPM&lt;/strong&gt; when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need to install packages for your project&lt;/li&gt;
&lt;li&gt;You want to manage your project's dependencies&lt;/li&gt;
&lt;li&gt;You're running scripts defined in your package.json&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Use &lt;strong&gt;NPX&lt;/strong&gt; when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want to run a package without installing it&lt;/li&gt;
&lt;li&gt;You need to execute a one-time command&lt;/li&gt;
&lt;li&gt;You want to try out a package without adding it to your project&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;NPM is your go-to for managing packages, while NPX is perfect for quick executions and trying out new tools without cluttering your system.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>node</category>
      <category>npm</category>
      <category>npx</category>
    </item>
    <item>
      <title>Understanding Package, Dependency, and Module in JavaScript</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Sun, 28 Jul 2024 15:40:14 +0000</pubDate>
      <link>https://forem.com/henrylehd/understanding-package-dependency-and-module-in-javascript-j02</link>
      <guid>https://forem.com/henrylehd/understanding-package-dependency-and-module-in-javascript-j02</guid>
      <description>&lt;p&gt;I've noticed some confusion around the terms "package," "dependency," and "module." Let's clarify these concepts to help you use them correctly in your projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Package
&lt;/h2&gt;

&lt;p&gt;A package is a collection of files bundled together to provide a specific functionality. In the JavaScript ecosystem, packages are typically distributed via npm (Node Package Manager). A package usually contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One or more JavaScript files&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;package.json&lt;/code&gt; file describing the package and its dependencies&lt;/li&gt;
&lt;li&gt;Documentation and other related files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples of popular packages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;React&lt;/li&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;Lodash&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dependency
&lt;/h2&gt;

&lt;p&gt;A dependency is a package that your project relies on to function correctly. Dependencies are listed in your project's &lt;code&gt;package.json&lt;/code&gt; file and are installed using npm or yarn. There are two types of dependencies:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Production dependencies: Required for your application to run in production&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;express (Web application framework)&lt;/li&gt;
&lt;li&gt;react (UI library)&lt;/li&gt;
&lt;li&gt;mongoose (MongoDB object modeling tool)&lt;/li&gt;
&lt;li&gt;axios (HTTP client)&lt;/li&gt;
&lt;li&gt;moment (Date manipulation library)&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Development dependencies: Used only during development&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;jest (Testing framework)&lt;/li&gt;
&lt;li&gt;webpack (Module bundler)&lt;/li&gt;
&lt;li&gt;eslint (Linting utility)&lt;/li&gt;
&lt;li&gt;babel (JavaScript compiler)&lt;/li&gt;
&lt;li&gt;nodemon (Development server with auto-restart)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"dependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"express"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^4.17.1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"react"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^17.0.2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"mongoose"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^6.0.12"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"devDependencies"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"jest"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^27.3.1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"webpack"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^5.60.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"eslint"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"^8.1.0"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Module
&lt;/h2&gt;

&lt;p&gt;A module is a self-contained unit of code that encapsulates related functionality. In JavaScript, modules can be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CommonJS modules (used in Node.js)&lt;/li&gt;
&lt;li&gt;ES6 modules (supported in modern browsers and Node.js)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples of built-in Node.js modules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fs (File System operations)&lt;/li&gt;
&lt;li&gt;http (HTTP server and client)&lt;/li&gt;
&lt;li&gt;path (File path manipulations)&lt;/li&gt;
&lt;li&gt;crypto (Cryptographic functionality)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples of custom modules you might create in a project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;userAuthentication.js&lt;/li&gt;
&lt;li&gt;databaseConnector.js&lt;/li&gt;
&lt;li&gt;utilities.js&lt;/li&gt;
&lt;li&gt;apiRoutes.js&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Modules help organize code, prevent naming conflicts, and allow for better code reuse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Understanding these terms is crucial for effective JavaScript development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Packages are distributed bundles of code&lt;/li&gt;
&lt;li&gt;Dependencies are packages your project relies on, either for production or development&lt;/li&gt;
&lt;li&gt;Modules are units of code organization within your project or packages&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Understanding the Difference Between Websites and Web Apps</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Tue, 30 Apr 2024 20:39:31 +0000</pubDate>
      <link>https://forem.com/henrylehd/understanding-the-difference-between-websites-and-web-apps-9gg</link>
      <guid>https://forem.com/henrylehd/understanding-the-difference-between-websites-and-web-apps-9gg</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;br&gt;
In the vast expanse of the digital world, two primary entities stand out: websites and web apps. Understanding their distinctions is crucial for navigating the online landscape effectively. Let's explore the disparities between these platforms and illustrate their unique characteristics through practical examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Traditional Websites: A Gateway to Information and Branding&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Objective:&lt;/strong&gt; Traditional websites serve as gateways for marketing, branding, and information dissemination.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; Consider the official website of Apple, showcasing their products through visually captivating designs and compelling narratives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Features:&lt;/strong&gt; Emphasis on design creativity, engaging content, and user-friendly navigation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhug79hbpauur4qk8eo35.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhug79hbpauur4qk8eo35.gif" alt="apple landing page gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Dynamic Web Apps: Tailored Experiences and Functionality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Objective:&lt;/strong&gt; Web apps are designed to offer tailored experiences and specific functionalities to users.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; Explore YouTube, a dynamic web app that dynamically fetches content from its database, offering personalized recommendations and interactive features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Features:&lt;/strong&gt; Focus on user interaction, intuitive design, and efficient task execution.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F445udcl898qdh8iqyol5.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F445udcl898qdh8iqyol5.gif" alt="youtube content gif" width="620" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Research and Development: Crafting User-Centric Experiences&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Approach:&lt;/strong&gt; Building web apps requires extensive research, user experience considerations, and validation of ideas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; Compare the development process of Wikipedia (a traditional website) with that of Google (a dynamic web app) to understand the depth of research and user-centric design involved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Elements:&lt;/strong&gt; Understanding target audience, competition analysis, and performance optimization.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Design Philosophy: Balancing Creativity and Functionality&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Approach:&lt;/strong&gt; Designing a web app emphasizes simplicity, functionality, and mobile responsiveness.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; Analyze the clean and intuitive design of Google's search interface, optimized for quick access and seamless user interaction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Aspects:&lt;/strong&gt; Streamlined layouts, intuitive navigation, and mobile-friendly interfaces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Implementation Challenges: From Concept to Deployment&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Process:&lt;/strong&gt; Developing web apps involves complex coding, iterative testing, and ongoing maintenance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; Contrast the development timeline of a standard website with that of a dynamic web app like YouTube, highlighting the extended timeframe and continuous updates required.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Considerations:&lt;/strong&gt; Technical requirements, scalability, and post-deployment management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
In the digital realm, traditional websites and dynamic web apps serve distinct purposes, each catering to diverse user needs and objectives. By understanding their disparities and examining real-world examples, we can navigate the digital landscape with clarity and purpose, leveraging the strengths of each platform to achieve our goals effectively.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>webapp</category>
      <category>website</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Understanding SQL vs. NoSQL Databases: A Beginner's Guide</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Tue, 09 Apr 2024 13:29:28 +0000</pubDate>
      <link>https://forem.com/henrylehd/understanding-sql-vs-nosql-databases-a-beginners-guide-121e</link>
      <guid>https://forem.com/henrylehd/understanding-sql-vs-nosql-databases-a-beginners-guide-121e</guid>
      <description>&lt;p&gt;In the world of databases, there are two main types: &lt;a href="https://aws.amazon.com/what-is/sql/" rel="noopener noreferrer"&gt;SQL&lt;/a&gt; and &lt;a href="https://www.mongodb.com/nosql-explained" rel="noopener noreferrer"&gt;NoSQL&lt;/a&gt;. But what's the difference between them, and how do you choose the right one for your needs? Let's find out!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fscsioqdh89dvnbvk7rm9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fscsioqdh89dvnbvk7rm9.gif" alt="sql vs Nosql" width="432" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What are SQL and NoSQL Databases?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/what-is/sql/" rel="noopener noreferrer"&gt;SQL&lt;/a&gt; (Structured Query Language) databases are relational databases. They organize data into tables with rows and columns, and they use SQL for querying and managing data. Examples include &lt;a href="https://www.mysql.com/" rel="noopener noreferrer"&gt;MySQL&lt;/a&gt;, &lt;a href="https://www.postgresql.org/" rel="noopener noreferrer"&gt;PostgreSQL&lt;/a&gt;, and &lt;a href="https://www.sqlite.org/" rel="noopener noreferrer"&gt;SQLite&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On the other hand, &lt;a href="https://www.mongodb.com/nosql-explained" rel="noopener noreferrer"&gt;NoSQL&lt;/a&gt; databases are non-relational databases. They store data in flexible, JSON-like documents, key-value pairs, or wide-column stores. Examples include &lt;a href="https://www.mongodb.com/" rel="noopener noreferrer"&gt;MongoDB&lt;/a&gt;, &lt;a href="https://www.couchbase.com/" rel="noopener noreferrer"&gt;Couchbase&lt;/a&gt;, and &lt;a href="https://cassandra.apache.org/_/index.html" rel="noopener noreferrer"&gt;Cassandra&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Comparing Strengths and Weaknesses&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt;&lt;br&gt;
SQL databases are typically vertically scalable, meaning you can increase capacity by upgrading hardware. NoSQL databases, however, are horizontally scalable, allowing you to handle large volumes of traffic by adding more servers to your database cluster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistency:&lt;/strong&gt;&lt;br&gt;
SQL databases provide strong consistency, ensuring that all clients see the same data at the same time. NoSQL databases often sacrifice strong consistency for scalability and performance, offering eventual consistency where data may not be immediately consistent across all nodes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Structure:&lt;/strong&gt;&lt;br&gt;
SQL databases are rigid in structure, requiring a predefined schema before data insertion. NoSQL databases, on the other hand, are schema-less or schema-flexible, allowing you to store unstructured or semi-structured data without a predefined schema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds1vwd3ssqrlm0aq9cut.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fds1vwd3ssqrlm0aq9cut.jpg" alt="choose right tool" width="500" height="376"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choosing the Right Solution&lt;/p&gt;

&lt;p&gt;Use SQL databases when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You have a structured data model with clear relationships between entities.&lt;/li&gt;
&lt;li&gt;Your application requires ACID (Atomicity, Consistency, Isolation, Durability) transactions.&lt;/li&gt;
&lt;li&gt;You need complex queries involving joins and aggregations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use NoSQL databases when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your data is unstructured or semi-structured, such as JSON documents.&lt;/li&gt;
&lt;li&gt;You need to scale horizontally to handle large volumes of data or traffic.&lt;/li&gt;
&lt;li&gt;You prioritize flexibility and agility over strict consistency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Free video resources: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SQL: &lt;a href="https://youtu.be/HXV3zeQKqGY" rel="noopener noreferrer"&gt;freeCodeCamp.org&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MySQL: &lt;a href="https://youtu.be/5OdVJbNCSso" rel="noopener noreferrer"&gt; Bro Code &lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;NoSQL:&lt;a href="https://youtu.be/xh4gy1lbL2k" rel="noopener noreferrer"&gt; freeCodeCamp.org&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MongoDB:&lt;a href="https://youtu.be/c2M-rlkkT5o" rel="noopener noreferrer"&gt; Bro Code&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In summary, the choice between SQL and NoSQL databases depends on your specific requirements. SQL databases offer strong consistency and are ideal for structured data with complex relationships, while NoSQL databases provide scalability and flexibility for handling unstructured or semi-structured data at scale. Understanding the strengths and weaknesses of each type will help you make an informed decision based on your project's needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feur61jkyj763akrfqo6r.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feur61jkyj763akrfqo6r.gif" alt="bye" width="600" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sql</category>
      <category>beginners</category>
      <category>database</category>
      <category>nosql</category>
    </item>
    <item>
      <title>Understanding the Difference Between Type and Interface in TypeScript</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Tue, 02 Apr 2024 18:31:49 +0000</pubDate>
      <link>https://forem.com/henrylehd/understanding-the-difference-between-type-and-interface-in-typescript-m8j</link>
      <guid>https://forem.com/henrylehd/understanding-the-difference-between-type-and-interface-in-typescript-m8j</guid>
      <description>&lt;p&gt;As a JavaScript or &lt;a href="https://www.typescriptlang.org/" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt; developer, you might have come across the terms &lt;strong&gt;type&lt;/strong&gt; and &lt;strong&gt;interface&lt;/strong&gt; when working with complex data structures or defining custom types. While both serve similar purposes, they have distinct characteristics that influence when to use them. In this blog post, we'll delve into the differences between types and interfaces in TypeScript, providing examples to aid your understanding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interfaces&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Interfaces in &lt;a href="https://www.typescriptlang.org/" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt; allow you to define the structure of an object. They provide a way to define contracts within your codebase, specifying the properties and methods an object must have. Interfaces are often used for object shapes and are particularly useful for ensuring consistency across different parts of your codebase.&lt;/p&gt;

&lt;p&gt;Here's an example of defining an interface in &lt;a href="https://www.typescriptlang.org/" rel="noopener noreferrer"&gt;TypeScript&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kr"&gt;interface&lt;/span&gt; &lt;span class="nx"&gt;Person&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;john&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Person&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;John&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;age&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nf"&gt;greet&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`Hello, my name is &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above, we define an interface called &lt;code&gt;Person&lt;/code&gt; with properties &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;age&lt;/code&gt;, as well as a method &lt;code&gt;greet&lt;/code&gt;. Then, we create an object &lt;code&gt;john&lt;/code&gt; that adheres to this interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Types in TypeScript, on the other hand, offer a more flexible approach to defining shapes of data. They allow you to create aliases for primitive types, union types, tuples, and more complex structures. Types are not limited to object shapes and can be used to represent a wide range of data.&lt;/p&gt;

&lt;p&gt;Here's an example of defining a type alias in TypeScript:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;Point&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;number&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;point&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Point&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Above, we create a type alias &lt;code&gt;Point&lt;/code&gt; representing an object with &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; numeric properties. Then, we create an object &lt;code&gt;point&lt;/code&gt; using this type.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to Use Type or Interface&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;According to the TypeScript &lt;a href="https://www.typescriptlang.org/docs/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;, the choice between using a type or an interface depends on the specific scenario and personal preference. However, there are some general guidelines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Use Interfaces&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;When defining shapes of objects with specific properties and methods.&lt;/li&gt;
&lt;li&gt;When you want to enforce a contract that objects must adhere to.&lt;/li&gt;
&lt;li&gt;When working with object-oriented patterns like implementing classes.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Use Types&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;When creating aliases for primitive types, union types, tuples, or any other complex data structure.&lt;/li&gt;
&lt;li&gt;When you need to use computed properties or mapped types.&lt;/li&gt;
&lt;li&gt;When you want to compose types together using intersection or union operators.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Understanding the difference between type and interface in TypeScript is crucial for writing clear and maintainable code. While interfaces are great for defining object shapes and enforcing contracts, types offer flexibility and versatility in defining various data structures. By choosing the right tool for the job, you can improve the readability and robustness of your TypeScript codebase.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: When would you prefer using an interface over a type in TypeScript?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference:&lt;/strong&gt; &lt;a href="https://www.typescriptlang.org/play#example/types-vs-interfaces" rel="noopener noreferrer"&gt;TypeScript example&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>beginners</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Is React a Framework or a Library?</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Fri, 29 Mar 2024 20:36:46 +0000</pubDate>
      <link>https://forem.com/henrylehd/is-react-a-framework-or-a-library-27md</link>
      <guid>https://forem.com/henrylehd/is-react-a-framework-or-a-library-27md</guid>
      <description>&lt;p&gt;Ever dabbled in web development? If so, you've likely come across terms like "libraries" and "frameworks." Both are tools that developers use, but they serve different purposes. Let's break it down before diving into React!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Libraries:&lt;/strong&gt; Imagine a toolbox filled with specialized tools for specific tasks. That's essentially what a library is. It provides a collection of pre-written code snippets (functions, classes) that developers can integrate into their projects to achieve particular functionalities. They offer flexibility and allow developers to choose the tools they need.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example: Lodash (JavaScript Library)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Shuffle an array using Lodash&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;numbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;shuffledNumbers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;shuffle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;numbers&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;shuffledNumbers&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Output: [..., shuffled order of numbers]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Frameworks:&lt;/strong&gt; Think of a framework as a pre-built structure, like a house frame. It provides a foundation and core functionalities that developers can build upon. Frameworks often dictate a specific way of doing things, offering a more structured approach to development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example: Django (Python Framework)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Create a basic view function in Django
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hello_world&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;hello.html&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;message&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Hello, World!&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Now, the star of the show: React!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;React is a &lt;strong&gt;library&lt;/strong&gt;, not a framework. It focuses on building user interfaces (UI) with reusable components. These components are like building blocks that developers can combine to create complex interfaces. React offers a declarative way of describing what the UI should look like, leaving the "how" to React itself.&lt;/p&gt;

&lt;p&gt;This flexibility allows developers to choose other libraries for routing, state management, and other functionalities, creating a custom development stack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reasons React is a Library:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focuses on a specific aspect (UI)&lt;/li&gt;
&lt;li&gt;Offers flexibility in choosing other tools&lt;/li&gt;
&lt;li&gt;Requires developers to make more decisions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Test Your Knowledge!&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Which of the following best describes a library?&lt;br&gt;
 a) Provides a complete structure for development&lt;br&gt;
 b) Offers pre-written code for specific tasks&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;True or False: Frameworks offer more flexibility than libraries.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Remember&lt;/strong&gt;, understanding the distinction between libraries and frameworks can help you choose the right tools for your projects. Keep coding and exploring new technologies to enhance your skills!&lt;/p&gt;

&lt;p&gt;whether you're using a library or a framework, the key to great work is passion and dedication. Happy coding! 🧑‍💻&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Motivational Quote:&lt;/strong&gt;&lt;br&gt;
"Every great developer you know got there by solving problems they were unqualified to solve until they actually did it." → &lt;em&gt;Patrick McKenzie&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Let vs. Const: Choosing the Right Tool for the Job in JavaScript</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Wed, 27 Mar 2024 22:48:02 +0000</pubDate>
      <link>https://forem.com/henrylehd/let-vs-const-choosing-the-right-tool-for-the-job-in-javascript-3cj2</link>
      <guid>https://forem.com/henrylehd/let-vs-const-choosing-the-right-tool-for-the-job-in-javascript-3cj2</guid>
      <description>&lt;p&gt;Today we're diving into the world of variable declarations, specifically focusing on &lt;code&gt;const&lt;/code&gt; and &lt;code&gt;let&lt;/code&gt;. These keywords might seem similar, but understanding the subtle differences between them is crucial for writing clean, maintainable, and bug-free code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Const: The Unchanging Guardian&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;const&lt;/code&gt; keyword declares a variable with a fixed value. Once assigned, this value cannot be reassigned later in your code. Think of it as a constant – a fundamental truth that remains unwavering throughout your program. Here are some ideal use cases for &lt;code&gt;const&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Constants:&lt;/strong&gt; When dealing with values that shouldn't change, like mathematical constants (e.g., &lt;code&gt;const PI = 3.14159;&lt;/code&gt;) or configuration settings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Array and Object References:&lt;/strong&gt; While you can't reassign the variable itself using &lt;code&gt;const&lt;/code&gt;, you can still modify the contents of arrays and objects referenced by the variable. This allows you to create an array or object and then manipulate its elements without accidentally overwriting the entire reference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;colors&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;red&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;green&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;blue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;yellow&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// This is allowed - modifying the array elements&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;colors&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Output: ["red", "green", "blue", "yellow"]&lt;/span&gt;

&lt;span class="c1"&gt;// This would cause an error:&lt;/span&gt;
&lt;span class="c1"&gt;// colors = ["purple", "orange"];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Let: The Flexible Friend&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;let&lt;/code&gt; keyword is your go-to for variables whose values might change within the scope they're declared. It offers more flexibility than &lt;code&gt;const&lt;/code&gt; while still preventing accidental reassignments from outer scopes. Use &lt;code&gt;let&lt;/code&gt; for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Loop Counters:&lt;/strong&gt; In &lt;code&gt;for&lt;/code&gt; loops, you typically need to update a counter variable. &lt;code&gt;let&lt;/code&gt; allows you to do this without creating issues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conditional Assignments:&lt;/strong&gt; When a variable's value might change based on certain conditions within its scope.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;25&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;adult&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Reassigning within the same scope using let&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Output: "adult"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Test Your Understanding!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here's a scenario to check if you've grasped the concepts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Alice&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;updateAge&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Can we modify age here? (Why or why not?)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;updateAge&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;age&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// What will be the output?&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Can you explain why &lt;code&gt;age&lt;/code&gt; can be modified inside the function and what the final output will be? If so, you're well on your way to mastering &lt;code&gt;const&lt;/code&gt; and &lt;code&gt;let&lt;/code&gt; in your JavaScript coding adventures!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remember:&lt;/strong&gt; By adopting a &lt;code&gt;const&lt;/code&gt;-by-default approach and only using &lt;code&gt;let&lt;/code&gt; when necessary, you'll enhance your code's clarity, prevent accidental modifications, and make it easier for yourself and others to understand your logic. Happy coding!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Understanding JavaScript and TypeScript: A Beginner's Guide</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Tue, 26 Mar 2024 21:42:41 +0000</pubDate>
      <link>https://forem.com/henrylehd/-understanding-javascript-and-typescript-a-beginners-guide-4o58</link>
      <guid>https://forem.com/henrylehd/-understanding-javascript-and-typescript-a-beginners-guide-4o58</guid>
      <description>&lt;p&gt;In the world of web development, JavaScript and TypeScript are two powerful programming languages used to build dynamic and interactive web applications. While they share similarities, they also have distinct differences that make each suitable for specific scenarios. In this blog post, we'll explore the short history of JavaScript and TypeScript, understand their differences, and learn where to use each and why.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Brief History
&lt;/h2&gt;

&lt;h3&gt;
  
  
  JavaScript
&lt;/h3&gt;

&lt;p&gt;JavaScript, often abbreviated as JS, was created by Brendan Eich in 1995 while he was working at Netscape Communications Corporation. Initially named "LiveScript," it was later renamed JavaScript to leverage the popularity of Java. JavaScript quickly gained traction as a versatile scripting language for web development, enabling developers to add interactivity to web pages.&lt;/p&gt;

&lt;h3&gt;
  
  
  TypeScript
&lt;/h3&gt;

&lt;p&gt;TypeScript, on the other hand, is a superset of JavaScript developed by Microsoft. Anders Hejlsberg, known for his work on Turbo Pascal, Delphi, and C#, spearheaded the creation of TypeScript. It was first made public in October 2012. TypeScript enhances JavaScript by adding optional static typing, making it more scalable and maintainable for large-scale applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Differences
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Static Typing
&lt;/h3&gt;

&lt;p&gt;One of the key differences between JavaScript and TypeScript is static typing. JavaScript is dynamically typed, meaning variable types are determined at runtime. On the contrary, TypeScript supports static typing, allowing developers to specify variable types during development. This helps catch type-related errors early in the development process.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// TypeScript&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello, TypeScript!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// JavaScript&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;message&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello, JavaScript!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tooling and IDE Support
&lt;/h3&gt;

&lt;p&gt;TypeScript offers better tooling and IDE support compared to JavaScript. IDEs like Visual Studio Code provide features such as auto-completion, type checking, and refactoring assistance, which significantly improve developer productivity. TypeScript's type system enables these advanced features, making it easier to write and maintain code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Compilation
&lt;/h3&gt;

&lt;p&gt;Another difference is in the compilation process. JavaScript is an interpreted language, meaning the code is executed line by line by the JavaScript engine. On the contrary, TypeScript code must be transpiled into JavaScript before execution. This extra step ensures compatibility with all JavaScript environments and browsers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to Use Which and Why
&lt;/h2&gt;

&lt;h3&gt;
  
  
  JavaScript
&lt;/h3&gt;

&lt;p&gt;JavaScript remains the go-to language for web development, especially for smaller projects, quick prototypes, and client-side scripting. Its ubiquity and ease of use make it accessible to beginners and experienced developers alike. JavaScript is well-supported across all modern web browsers, making it an excellent choice for building interactive web applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  TypeScript
&lt;/h3&gt;

&lt;p&gt;TypeScript shines in large-scale projects where maintainability and scalability are paramount. Its static typing system helps catch errors early, leading to more robust and bug-free codebases. TypeScript's tooling support and IDE integration make it an ideal choice for teams working on complex applications requiring collaboration and long-term maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;In summary, both JavaScript and TypeScript are powerful languages with their own strengths and use cases. JavaScript, with its simplicity and versatility, is ideal for smaller projects and client-side scripting. On the other hand, TypeScript's static typing and advanced tooling make it a compelling choice for large-scale applications requiring maintainability and scalability. Whether you choose JavaScript or TypeScript depends on the specific requirements of your project and your team's preferences and expertise.&lt;/p&gt;

&lt;p&gt;Happy coding! 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Say Hello to Programming: Writing "Hello, World!" in 50 Different Languages</title>
      <dc:creator>Henry Dioniz</dc:creator>
      <pubDate>Mon, 25 Mar 2024 21:38:26 +0000</pubDate>
      <link>https://forem.com/henrylehd/say-hello-to-programming-writing-hello-world-in-50-different-languages-202n</link>
      <guid>https://forem.com/henrylehd/say-hello-to-programming-writing-hello-world-in-50-different-languages-202n</guid>
      <description>&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt;&lt;br&gt;
In this blog post, we'll explore the fascinating world of programming by learning how to write the classic "Hello, World!" program in 50 different programming languages. From the simplicity of Python to the elegance of Haskell, we'll take a brief tour through a diverse range of languages, each with its own unique syntax and approach to programming. Whether you're a seasoned developer looking to expand your repertoire or a curious beginner eager to dip your toes into the vast ocean of code, this journey promises to be both educational and entertaining.&lt;/p&gt;



&lt;p&gt;Now, let's dive into writing "Hello, World!" in 50 different languages:&lt;/p&gt;

&lt;p&gt;1  &lt;strong&gt;Python:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello, World!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2  &lt;strong&gt;Java:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;HelloWorld&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt; &lt;span class="n"&gt;out&lt;/span&gt; &lt;span class="nf"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3  &lt;strong&gt;C:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight c"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;stdio h&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;4  &lt;strong&gt;C++:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"Hello, World!"&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;5  &lt;strong&gt;JavaScript:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;console&lt;/span&gt; &lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello, World!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;6  &lt;strong&gt;Ruby:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;7  &lt;strong&gt;Swift:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight swift"&gt;&lt;code&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;8  &lt;strong&gt;Go:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight go"&gt;&lt;code&gt;&lt;span class="k"&gt;package&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="s"&gt;"fmt"&lt;/span&gt;

&lt;span class="k"&gt;func&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;fmt&lt;/span&gt; &lt;span class="n"&gt;Println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;9  &lt;strong&gt;Rust:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nd"&gt;println!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;10  &lt;strong&gt;PHP:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="cp"&gt;?&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;11  &lt;strong&gt;Perl:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight perl"&gt;&lt;code&gt;&lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="p"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Hello, World!&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="p"&gt;";&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;12  &lt;strong&gt;Kotlin:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight kotlin"&gt;&lt;code&gt;&lt;span class="k"&gt;fun&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;println&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;13  &lt;strong&gt;Scala:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scala"&gt;&lt;code&gt;&lt;span class="k"&gt;object&lt;/span&gt; &lt;span class="nc"&gt;HelloWorld&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="k"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;Array&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="kt"&gt;String&lt;/span&gt;&lt;span class="o"&gt;])&lt;/span&gt;&lt;span class="k"&gt;:&lt;/span&gt; &lt;span class="kt"&gt;Unit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;14  &lt;strong&gt;Lua:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;15  &lt;strong&gt;Haskell:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight haskell"&gt;&lt;code&gt;&lt;span class="n"&gt;main&lt;/span&gt; &lt;span class="o"&gt;::&lt;/span&gt; &lt;span class="kt"&gt;IO&lt;/span&gt; &lt;span class="nb"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;main&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;putStrLn&lt;/span&gt; &lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;16  &lt;strong&gt;Dart:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight dart"&gt;&lt;code&gt;&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;17  &lt;strong&gt;Shell:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;18  &lt;strong&gt;Batch:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;@echo &lt;span class="na"&gt;off&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="kd"&gt;Hello&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;World&lt;/span&gt;&lt;span class="err"&gt;!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;19  &lt;strong&gt;PowerShell:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;Write-Output&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;20  &lt;strong&gt;VBScript:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MsgBox "Hello, World!"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;21  &lt;strong&gt;Objective-C:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#import &amp;lt;Foundation/Foundation h&amp;gt;

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSLog(@"Hello, World!");
    }
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;22  &lt;strong&gt;Assembly:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;section  data
    hello db 'Hello, World!',10
    len equ $ - hello

section  text
    global _start

_start:
    ; write our string to stdout
    mov eax, 4         ; sys_write
    mov ebx, 1         ; file descriptor 1 (stdout)
    mov ecx, hello     ; message to write
    mov edx, len       ; message length
    int 0x80           ; syscall
    ; exit
    mov eax, 1         ; sys_exit
    xor ebx, ebx       ; exit status 0
    int 0x80           ; syscall
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;23  &lt;strong&gt;VBA (Visual Basic for Applications):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sub HelloWorld()
    MsgBox "Hello, World!"
End Sub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;24  &lt;strong&gt;Tcl:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tcl"&gt;&lt;code&gt;puts &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;25  &lt;strong&gt;COBOL:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       IDENTIFICATION DIVISION 
       PROGRAM-ID  HELLO-WORLD 
       PROCEDURE DIVISION 
           DISPLAY "Hello, World!" 
           STOP RUN 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;26  &lt;strong&gt;F#:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight fsharp"&gt;&lt;code&gt;&lt;span class="n"&gt;printfn&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;27  &lt;strong&gt;Elixir:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight elixir"&gt;&lt;code&gt;&lt;span class="no"&gt;IO&lt;/span&gt; &lt;span class="n"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;28  &lt;strong&gt;SQL (MySQL):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;29  &lt;strong&gt;SQL (SQLite):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;30  &lt;strong&gt;SQL (PostgreSQL):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;31  &lt;strong&gt;SQL (Oracle):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="s1"&gt;'Hello, World!'&lt;/span&gt; &lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;DUAL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;32  &lt;strong&gt;SQL (SQL Server):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="n"&gt;PRINT&lt;/span&gt; &lt;span class="s1"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;33  &lt;strong&gt;Smalltalk:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight smalltalk"&gt;&lt;code&gt;&lt;span class="nc"&gt;Transcript&lt;/span&gt; &lt;span class="nf"&gt;show:&lt;/span&gt; &lt;span class="s"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nf"&gt;cr&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;34  &lt;strong&gt;R:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight r"&gt;&lt;code&gt;&lt;span class="n"&gt;cat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"Hello, World!\n"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;35  &lt;strong&gt;Bash:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;36  &lt;strong&gt;Erlang:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight erlang"&gt;&lt;code&gt;&lt;span class="p"&gt;-&lt;/span&gt;&lt;span class="ni"&gt;module&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="p"&gt;-&lt;/span&gt;&lt;span class="ni"&gt;export&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;hello_world&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; 

&lt;span class="nf"&gt;hello_world&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
    &lt;span class="nn"&gt;io&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nf"&gt;fwrite&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!&lt;/span&gt;&lt;span class="si"&gt;~n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;37  &lt;strong&gt;Julia:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight julia"&gt;&lt;code&gt;&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="x"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="x"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;38  &lt;strong&gt;MATLAB:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight matlab"&gt;&lt;code&gt;&lt;span class="nb"&gt;disp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;39  &lt;strong&gt;AutoHotkey:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MsgBox, Hello, World!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;40  &lt;strong&gt;Clojure:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight clojure"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;println&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;41  &lt;strong&gt;Groovy:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight groovy"&gt;&lt;code&gt;&lt;span class="n"&gt;println&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;42  &lt;strong&gt;OCaml:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ocaml"&gt;&lt;code&gt;&lt;span class="n"&gt;print_endline&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;43  &lt;strong&gt;D:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight d"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt; &lt;span class="n"&gt;stdio&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;writeln&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;44  &lt;strong&gt;Crystal:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight crystal"&gt;&lt;code&gt;&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;45  &lt;strong&gt;Nim:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight nim"&gt;&lt;code&gt;&lt;span class="n"&gt;echo&lt;/span&gt; &lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;46  &lt;strong&gt;Common Lisp:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight common_lisp"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;format&lt;/span&gt; &lt;span class="no"&gt;t&lt;/span&gt; &lt;span class="s"&gt;"Hello, World!~%"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;47  &lt;strong&gt;Scheme:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight scheme"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;display&lt;/span&gt; &lt;span class="s"&gt;"Hello, World!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;newline&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;48  &lt;strong&gt;Prolog:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight prolog"&gt;&lt;code&gt;&lt;span class="p"&gt;:-&lt;/span&gt; &lt;span class="ss"&gt;initialization&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;main&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 

&lt;span class="ss"&gt;main&lt;/span&gt; &lt;span class="p"&gt;:-&lt;/span&gt;
    &lt;span class="ss"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;'Hello, World!'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="ss"&gt;nl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="ss"&gt;halt&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;49  &lt;strong&gt;ABAP:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight abap"&gt;&lt;code&gt;&lt;span class="k"&gt;REPORT&lt;/span&gt; &lt;span class="n"&gt;ZHELLO_WORLD&lt;/span&gt; 

&lt;span class="k"&gt;WRITE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="s1"&gt;'Hello, World!'&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;50  &lt;strong&gt;VB NET:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;vb net
Module HelloWorld
    Sub Main()
        Console WriteLine("Hello, World!")
    End Sub
End Module 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That concludes our journey through "Hello, World!" in 50 different programming languages  Whether you're just starting or have been programming for years, exploring different&lt;/p&gt;

</description>
      <category>programming</category>
      <category>helloworld</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
