<?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>DEV Community: vennny</title>
    <description>The latest articles on DEV Community by vennny (@vennny).</description>
    <link>https://dev.to/vennny</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4060740%2F9c13c925-c5af-4646-a51c-d53485806bc6.png</url>
      <title>DEV Community: vennny</title>
      <link>https://dev.to/vennny</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vennny"/>
    <language>en</language>
    <item>
      <title>i created a language just for beginners to start making websites</title>
      <dc:creator>vennny</dc:creator>
      <pubDate>Mon, 03 Aug 2026 13:33:57 +0000</pubDate>
      <link>https://dev.to/vennny/i-created-a-language-just-for-beginners-to-start-making-websites-42j4</link>
      <guid>https://dev.to/vennny/i-created-a-language-just-for-beginners-to-start-making-websites-42j4</guid>
      <description>&lt;p&gt;I still remember the first time I had to print something in JavaScript and got told the answer was &lt;code&gt;console.log()&lt;/code&gt;. Console? I wasn't writing a console app, I just wanted to print a value. It's a small thing, but small things like that add up fast when you're learning — you end up confused by naming choices, not the actual logic, and it makes you feel like you're missing something everyone else already gets.&lt;/p&gt;

&lt;p&gt;So I built my own language.&lt;/p&gt;

&lt;p&gt;E-script is a small language that compiles straight to regular JavaScript — no runtime of its own, no new engine, nothing exotic under the hood. It's really just JS with better naming and a few changes:&lt;/p&gt;

&lt;p&gt;func greet(name) {&lt;br&gt;
  return "Hey, {name}!"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;let ready = true and not false&lt;/p&gt;

&lt;p&gt;if ready {&lt;br&gt;
  print(greet("world"))&lt;br&gt;
}&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;print()&lt;/code&gt; instead of &lt;code&gt;console.log()&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;and&lt;/code&gt; / &lt;code&gt;or&lt;/code&gt; / &lt;code&gt;not&lt;/code&gt; instead of &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt; / &lt;code&gt;||&lt;/code&gt; / &lt;code&gt;!&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;String interpolation with &lt;code&gt;{name}&lt;/code&gt; instead of concatenation&lt;/li&gt;
&lt;li&gt;One-line functions with &lt;code&gt;=&amp;gt;&lt;/code&gt; for implicit returns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this is a new idea individually — plenty of languages have made similar choices. The point isn't that this is revolutionary, it's that it's &lt;a href="https://dev.tourl"&gt;&lt;/a&gt;mine, and it's aimed specifically at people who find JS's naming and error messages more confusing than the logic ever was.&lt;/p&gt;

&lt;p&gt;The part I actually spent the most time on&lt;/p&gt;

&lt;p&gt;Syntax sugar is the easy 20%. The part that actually matters for beginners is what happens when you get something wrong — and JS's default errors are rough if you're new (&lt;code&gt;Cannot read properties of undefined (reading 'map')&lt;/code&gt; doesn't mean much your first week coding).&lt;/p&gt;

&lt;p&gt;So E-script's compiler tries to say what's actually wrong, in plain language:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Line 1: expected a closing parenthesis ), but found the end of your code instead
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;instead of a annoying token dump. That's the thing I think matters more than the syntax choices themselves.&lt;br&gt;
 A free course to go with it&lt;/p&gt;

&lt;p&gt;I also built a free interactive course — 10 levels, starts from printing "hello world," gets harder gradually, instant feedback and hints along the way, no account required. If you want to actually try the language without installing anything, that's the fastest way in.&lt;/p&gt;

&lt;p&gt;Try it&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Course (no install): &lt;a href="https://e-learn-ws9u.onrender.com" rel="noopener noreferrer"&gt;https://e-learn-ws9u.onrender.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Install E-script: &lt;a href="https://e-script.onrender.com" rel="noopener noreferrer"&gt;https://e-script.onrender.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Source: &lt;a href="https://github.com/venven1212/E-Script" rel="noopener noreferrer"&gt;https://github.com/venven1212/E-Script&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback wanted&lt;/p&gt;

&lt;p&gt;I built this solo, so I'm sure there are rough edges I haven't hit yet. If anything in the lessons feels confusing, or you find a case where the error messages still don't make sense, I'd genuinely like to hear about it.fr&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>programming</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
