If you could rewrite HTML/CSS/Javascript or other basic web languages from scratch, what changes would you make?

Asked by Last Modified  

Follow 1
Answer

Please enter your answer

IT Professional Trainer with 15 years of experience in IT Industry

It’s a short list:Static type checking.HTML, CSS, XML and JSON have many problems, most notably:They are all overly-complicated ways to express untyped trees.They were supposed to be human readable.A better direct replacement for all of these would be the most straightforward tree: a Lisp-style...
read more
It’s a short list:Static type checking.HTML, CSS, XML and JSON have many problems, most notably:They are all overly-complicated ways to express untyped trees.They were supposed to be human readable.A better direct replacement for all of these would be the most straightforward tree: a Lisp-style list of lists where the leaves are strings although I’d probably use m-express and square brackets rather than s-exprs because I find them easier to understand. However, significant picture none of this stuff needs to be human readable. We have computers, people. Let’s use them. So I’d go with a binary format but more on that later.Javascript is a poorly designed programming language when what we needed was a common language runtime. If I were to reinvent this today, I would use Microsoft’s .NET. If I were reinventing it back when Javascript came out I would look for a lean binary replacement like OCaml’s bytecode but, retrospectively, I’d be sad to have missed out on reified generics and value types.The core issue is this: HTML, CSS, XML and JSON are just ways for programs to exchange information. A better alternative would be to use statically type checked code and verify the data going over the wire using that same type system. The interface between your web browser and the remote web server should be type checked. No need for “schemas”. Serialization should be an implementation detail.Interesting question though. After programming for almost 40 years, professionally for over 24, I have given up because I cannot stand the fact that web technologies have dragged computer programming backwards ~20 years. I think the state of web tech is shameful.PS: I should probably give more detail about my proposed type of system. I’d aim for core ML:Ints, floats, chars and strings.Mutable arrays.TuplesUnions (where each constructor has precisely one argument).Functions (that accept one value and return one value).Parametric polymorphism (aka “generics”).Zeroth-order modules.I believe that is the most straightforward type of system that would be practically useful. You don’t even need a built-in bool type because it is just the union of true and false.I’d expect the first language to provide ML-style pattern matching with exhaustiveness and redundancy checking and the ability to serialize any value to and from the wire format (whatever it is: an implementation detail) with a single function call. read less
Comments

Trainer

I would first plan my work using a pencil and paper. The best architecture would involve DRY (Don't repeat yourself) techniques, resulting in modularised code. I would remove the dependency of one module over another. Coding standards and documentation would be the utmost priority, as it helps in the...
read more
I would first plan my work using a pencil and paper. The best architecture would involve DRY (Don't repeat yourself) techniques, resulting in modularised code. I would remove the dependency of one module over another. Coding standards and documentation would be the utmost priority, as it helps in the maintenance of the code over the long run once the application starts becoming bigger. read less
Comments

Related Questions

Some basic program bass of java and how it work?
JavaScript (Lightweight & loosely typed client-side Scripting Language which needs interpreter) is entirely different from Java (Programming Language which needs compilation)
Shekhar
How to start Learning Javascript, Jquery and Angular
Very easy, your requirement in advanced client side technologies, you can get this course every where
Sandeep
Want to learn javascript jquery and angular with live demo
Yes you can join me, i will provide you teaching with real life example,
Sandeep
0 0
7
I know HTML, CSS, and a bit of JavaScript. What should I learn next?
HTML,CSS and Javascript are Tools which are used for Front-End Web Development. The next step is to learn the following: 1)Learn Javascript Frameworks like node.js,react.js,angular.js etc. 2)Learn Back-End...
Inch By
How Java is different from Java script?
Java is server side language is used to make application. Java is need to compile. The end user can not see the code of java it is secured. But Javascript is script language is a open source can be viewed by end user in browser.
Samadhan

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

Simple Algorithms - Fibonacci, Finding GCD & Finding LCM.
import java.util.Scanner; //0,1,1,2,3,5,8,13,21,34... //fun(n)=fun(n-1)+fun(n-2) where n>=2 /*fib(9)=fib(8)+fib(7) =fib(7)+fib(6)+fib(6)+fib(5) =fib(6)+fib(5)+fib(5)+fib(4)+fib(5)+fib(4)+fib(4)+fib(3) */ public...


Some good resources
Clean Code by Robert C Martin, is available in my profile please download and read it, irrespective of what language you code in, it will change the way you code. Also if you code in Javascript read https://12factor.net/ https://blog.risingstack.com/javascript-clean-coding-best-practices-node-js-at-scale/ For...

What Should I Learn in 2025 for Frontend or Web Technology?
If you're wondering what to focus on in 2025 to excel in frontend development, here's a concise guide: 1. React.js React remains one of the most in-demand technologies for building modern web applications....

Web Technology Tutorial
Web Technology has 2 category Front End (HTML,CSS,JS Etc) Back End/Server Side (PHP,JSP,ASP,ROR Etc) Front End technologies are - HTML, CSS, Bootstrap, Javascript, jQuery etc. Using front end...

Recommended Articles

Here are the top 6 must have skills for every Web Designer : Technical Skills Web designers undoubtedly require very strong technical skills. They must have hands on using Web designing software and tools, such as Adobe Dreamweaver, Fireworks, Photoshop, Flash etc. In addition to the knowledge of design...

Read full article >

Whether it was the Internet Era of 90s or the Big Data Era of today, Information Technology (IT) has given birth to several lucrative career options for many. Though there will not be a “significant" increase in demand for IT professionals in 2014 as compared to 2013, a “steady” demand for IT professionals is rest assured...

Read full article >

Microsoft Excel is an electronic spreadsheet tool which is commonly used for financial and statistical data processing. It has been developed by Microsoft and forms a major component of the widely used Microsoft Office. From individual users to the top IT companies, Excel is used worldwide. Excel is one of the most important...

Read full article >

Almost all of us, inside the pocket, bag or on the table have a mobile phone, out of which 90% of us have a smartphone. The technology is advancing rapidly. When it comes to mobile phones, people today want much more than just making phone calls and playing games on the go. People now want instant access to all their business...

Read full article >

Looking for Java Script Training classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you