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

What is the best way to learn JavaScript?
Learn Java Script Basics Learn OOPS and Design pattern in JavaScript Learn Jquery , DOM , JSON etc. Try Framework like ReactJS / AngularJS Refer to online tutorial or get fast track training...
Profile Photo
Umamahesh
0 0
View Comments5
Which language has the best future prospects: Python, Java, or JavaScript?
According to me, "Python" is the programming language having the best future prospect considering the current industry trend. Reason: Python is extensively used in advanced technologies such as Machine...
Profile Photo
Atharva
0 0
View Comments5
What types of jobs are available for those that know just HTML/CSS and JavaScript?
By being hired by companies that require front-end development. I don't only know JavaScript, CSS and HTML, but they're pretty much the only technologies I ever use at work, because there's so much front-end...
Profile Photo
Pritty
0 0
View Comments5
x eskor plus two x plus one
what is the question? can't understand the meaning.
Profile Photo
Ankur
0 0
View Comments8
Want to learn javascript jquery and angular with live demo
Yes you can join me, i will provide you teaching with real life example,
Profile Photo
Sandeep
0 0
View Comments7

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

Ask a Question

Related Lessons


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

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,...
Profile Photo

What Is Mean Stack? Why Mean Stack Is Popular Now?
Mean Stack is standing for MongoDB, ExpressJS, AngularJS and NodeJS. These four javascript solutions create a high performing web application. Mainly JavaScript is the frontend language. It’s working...
Profile Photo

Advantage of Node.js over Angularjs
i. Nodejs helps a user to develop scalable network applications. It delivers efficiency along with with event-driven, non-blocking I/O model, which has been proved ideal for real-time data-intensive applications....
Profile Photo

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