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

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
Which skills do i require to be an better ui developer?
Mainly HTML, CSS, JavaScript and Advance need Javascript Framework like AngularJS, Angular, Ember JS, React JS and so and so.
Soumya Ranjan
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
What is an Array?
An array is a collection of (same or different type of) items.In Java and C#, etc., the elements inside the array should be of the same type (e.g. ) while in languages like JavaScript and Python. The elements can be different types also(e.g. )
M

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

Ask a Question

Related Lessons

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...

Closures in Javascript
A closure is the combination of a function and the lexical environment within which that function was declared. Consider the following example: function makeFunc() { var name = 'Mozilla'; function...

Become a Javascript Programmer | Kick start your career as a web developer
Wondering what to do after college? If you want to start your career in IT and if you want to become a programmer, I would strongly insist on learning one language/skill and that language is 'Javascript'. Yes,...

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....

Five exercises on numbers that will help you develop your logic
If you want to become a programmer (web developer) you need to have good logical thinking skills. Programming is all about planning and building logic. Here is a set of exercises that will help you develop...

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