DEV Community

loading...

A New Language For the Web, Built to Help Beginners Get Started in Open Source

ntrupin profile image Noah Trupin ・1 min read

LineScript is a language that compiles into a valid HTML document on runtime, with the ability to run CSS and JavaScript in-line and from scripts.

GitHub logo ntrupin / abstractml

An HTML abstraction focused on simplicity, with support for JavaScript and CSS. Perfect for experts and beginners!

AbstractML

AbstractML: Abstract Markup Language

We're looking for someone to help maintain the project. If you would like to help, please open an issue.

An HTML abstraction focused on simplicity, providing beautiful, easy syntax to create webpages.

Like it? Leave us a star, it will help attract more visitors and contributors!

Using AbstractML, you can write markup both more simple and more readable, providing a more straightforward way to design beautiful webpages!

In short, it allows you to replace this:

<!DOCTYPE html>
<html>
    <body>
        <h1>Hello, world!</h1>
        <hr>
        <p>This is HTML</p>
    </body>
</html>
Enter fullscreen mode Exit fullscreen mode

with this

h1 -> Hello, world
hr
p -> This is AbstractML!
Enter fullscreen mode Exit fullscreen mode

Our Mission

Primarily, our mission at AbstractML is to help beginners and experts alike make their first contribution…

However, their goal is not to “create a better web”, or “design a new way to code”, as many new languages claim. It is much simpler, but so much bigger at the same time. LineScript’s goal is to help beginners make their first open source contribution. Their repository was specifically designed to be beginner friendly, and provides crystal-clear contribution guides to help beginners put their foot in the right direction.

So, maybe their mission is to “create a better web”, but the way to the goal is certainly much more thoughtful and practical.

Discussion (19)

pic
Editor guide
Collapse
codevault profile image
Sergiu Mureşan

At university we barely even learned one semester about web development after which they are put straight into a web framework at their first job without knowing the basics.

I like this idea but only for pure beginners that haven't touched the DevTools in their life. Otherwise, just go with vanilla JS, CSS, HTML and build a good understanding from there.

Collapse
ntrupin profile image
Noah Trupin Author

Thanks for the feedback! This language is for
a. Pure beginners
b. People who just want to learn another way of doing things
So, yes, I am glad you like the idea

Collapse
codevault profile image
Sergiu Mureşan

Have you tried Scratch? It's similar but for programming in general.

Thread Thread
ntrupin profile image
Noah Trupin Author

Yes, I have, and I like the concept and execution.
However, it is more of a “learn to code” for kids, while my project is “get started with open source” for developers of any age

Collapse
eljayadobe profile image
Eljay-Adobe

I'm sometimes asked the question "I want to learn how to program. What language should I use?"

My answer is always "Learn Python. If you like programming in Python, you may like programming in other languages too. But if you don't like programming in Python, then I'd be pretty confident that programming isn't for you."

There are a lot of good beginners books in Python. I have a few I recommend, but I'm not sure if they are the best Python beginner books available. They are merely the one's I'm familiar with.

Collapse
ntrupin profile image
Noah Trupin Author

I see what you are saying. However, Python is not the easiest language for beginners to learn in the field of web development (what this language is about), because it requires use of Flask, Django, or other frameworks. While they may be simple for someone who has been programming for a long time, it is not easy for beginners, and that is the goal of LineScript.

Collapse
misterhtmlcss profile image
Roger K.

As someone who has been learning on his own at home for over a year and is now unemployed (on purpose) focused 100% on my first dev role I feel I can contribute to this as it relates to my own decisions.. That said..

Python was my first choice; it's true that it's easy to read and understand the basics, but anything beyond this is a variable and how to assign it is harder than JavaScript.

Python is harder because the learning is more abstract when compared to easily relatable experiences like, make a button, click a button, picture changes..
Python is more like make a guessing word game or hangman, etc. Just harder to conceptualize when you are new how hangman works versus the button is blue, hides, gets bigger. That's really small steps that I could make from day one that gave me the 'feeling' of programming and progress too These two things are very important when you are making time away from your wife, kids, family, friends, girlfriend, etc. Hard to justify those hours invested without those two key results in hand.

Also my wife can SEE my progress and therefore can more easily be supportive of my efforts and resist the negativity of others; people don't react well when men aren't working even in this 'modern society' that is all about being equal. Don't get me wrong, my wife is super supportive, but people are often (even accidentally) negative about our choice of me studying for a career change.

TMI? Probably, but I just feel context is King and so I wanted to share so that others can relate and understand I'm not talking out of my butt.

Ps. This doesn't make me 'right' it's just a point of view.

Collapse
bgadrian profile image
Adrian B.G.

As a general Idea it cannot help the beginners because they have to learn 1 extra language.

Collapse
nitricware profile image
Kurt Höblinger

My understanding is, that this targets open source contribution beginners, not web dev beginners.

Collapse
ntrupin profile image
Noah Trupin Author

Absolutely correct. This is not a “mass production” language, per se, but a language with intentional missing pieces to give open source beginners clear-cut ways to contribute

Collapse
tux0r profile image
tux0r

LineScript is a language that compiles into a valid HTML document on runtime, with the ability to run CSS and JavaScript in-line and from scripts.

I use Common Lisp's Parenscript for that. Same same...

Collapse
kip13 profile image
kip • Edited

Parenscript only generate javascript code, for HTML you need to use CL-WHO

Of course you can generate HTML only with Parenscript, but it's still javascript.

Collapse
nssimeonov profile image
Templar++ • Edited

Yet another functional language, this time targeting the web and pretending to be for beginners. I can hardly think of a worse combination and can only imagine how puzzled the students will look when you try to explain it to them.

Trying to teach beginners with web is basically the worst idea one can think of, because you should not only teach them the basics like what is a data, what is code, what type of data there is (numbers, strings, objects) and how you can handle them (conditions, loops, boolean operations, some string and datetime functions maybe, etc. etc.)... but you should also teach them html and css (at least a bit), you also have to explain how the browser requests the data from a server, what steps it does to get and process it, probably even scratch networking basics... and on top of that the browser runs javascript, which is another programming language...

Sorry, but I think this is a terrible idea.

Collapse
ben profile image
Ben Halpern

Pretty cool!

Collapse
qm3ster profile image
Mihail Malo

Isn't that just a template language like pug or slim?
What's the advantage here?

Collapse
Sloan, the sloth mascot
Comment deleted
Collapse
ntrupin profile image
Noah Trupin Author • Edited

“Their” is the founding figures of the project, and (sorry if this sounds rude) the code is bad intentionally to give beginners clear-cut ways to contribute, which you’d know if you read up on the project. The code is bad enough that a beginner can pick it up and make it better, and that is the goal of the language. Not to write beautiful code and be used by millions of people, but to allow beginners to have an easier time starting to contribute to open source.

Collapse
petcuandrei profile image
Andrei Petcu

Sure kid, you know it all. Keep going.

Collapse
sanderfish profile image
Sander Visser

What’s the attitude for Andrei? Noah has put his time and effort into helping people. I think that’s far more than most of us do. I don’t see why you need to be so rude?