Xah Web Dev Blog 2017-10

Updates of JS tutorial to ES2015, status.

in the past 2 months, the following have been updated to ES2015

  1. JS: Intro to Event-Based Programing
  2. JS: Random Range Function
  3. JS: Round/Truncate Number
  4. JS: Tagged Template String
  5. JS: Object Basics
  6. JS: Array.prototype.forEach
  7. JS: Clone, Deep Copy Object/Array
  8. JS: Array.prototype.slice
  9. JS: SVG Clock
  10. JS: Array-Like Object to Array
  11. JS: Array.prototype.sort
  12. JS: Array.prototype.some
  13. JS: Array.prototype.every
  14. JS: Array.prototype.reduce
  15. JS: Array.prototype.reduceRight
  16. JS: Array.from
  17. JS: Array.prototype.toString
  18. JS: Compare Array Equality
  19. JS: Test Equality of Objects
  20. JS: Sparse Array
  21. JS: Array.prototype.indexOf
  22. JS: Array.prototype.lastIndexOf
  23. JS: Array.prototype.join
  24. JS: Array.prototype.concat
  25. JS: Array Constructor
  26. JS: Flatten Nested Array
  27. JS: Create Array
  28. JS: Random Array Element, Randomize Array
  29. Node.js Tutorial
  30. JS: Understand JS Array
  31. JS: Array Basics
  32. JS: Array.prototype.map
  33. JS: Range Function for Array
  34. JS: Array.prototype.splice
  35. JS: the Set Object Tutorial
  36. JS: Set Object
  37. JS: Set.prototype
  38. JS: Set.prototype.add
  39. JS: Set.prototype.clear
  40. JS: Set.prototype.delete
  41. JS: Set.prototype.has
  42. DOM: Set Element's Attribute Value
  43. JS: Function Call, Apply, Bind
  44. JS: Function.prototype.call
  45. JS: Reflect.apply
  46. JS: Function.prototype.apply
  47. JS: Get Max/Min Value of Array
  48. JS: Reflect.getOwnPropertyDescriptor
  49. JS: Reflect.isExtensible
  50. JS: Object.isExtensible
  51. JS: Reflect.preventExtensions
  52. JS: Object.preventExtensions

there are still about 100 pages need to be updated. Mostly remove use of var

then, am going to write a JS ES2015 tutorial for beginner. That is, a ES2015 version of JavaScript Basics

put in a few bucks in my patreon. https://www.patreon.com/xahlee Thank you.

following pages updated to ES2015

  1. JS: Object.keys
  2. JS: Object.getOwnPropertyNames
  3. JS: Object.getOwnPropertySymbols
  4. JS: Reflect.ownKeys
  5. JS: Date Tutorial
  6. JS: Date.now
  7. JS: List Properties

CSS: Text Shadow (updated)

CSS: Round Corners (updated)

revamped many pages at Visual CSS

Why JavaScript is the Suckest Language

JavaScript is truly the suckest language. There's no easy way to test object equality, makes you change algorithms fundamentally.

and JavaScript syntax, is the worst possible. Code written by others is not readable.

why is js syntax unreadable? because

it has function expression, but it does not have the usual function programing languages's design to control it. JS is mostly imperative and prototype OOP, incompatible with function programing. Thus, you have passing function as argument and return function. This feature by itself, if used without fine control, creates incomprehensible code (e.g. y-combinator). (e.g. haskell has types, composition, currying, etc, to control complex function semantics.)

And JavaScript syntax is C/Java-like, provides no syntactic support for function programing. The passing function style becomes unreadable quickly. (e.g. lisp solves syntax problem by almost pure nested parenthesis, and haskell etc provides linear syntax (no parenthesis), and syntax that support semantic features such as currying, lambda, nesting, etc.)

Further, JavaScript design that was trying to emulate Java, created the following entities with exceptionally convoluted semantics.

See also: JS: Test Equality of Objects

been thinking, to fix the js problem by removing some features, we'd gain a lot by,

  1. Ban the keyword function.
  2. Ban the keyword this.
  3. Ban the keyword new.
  4. Ban the use of property key "prototype".
  5. Ban the use of property key "constructor".
  6. Ban the keyword delete. [see JS: Delete operator]
  7. Ban the keyword var.
  8. Ban ==.
js suckest language  50182
js suckest language

the spam trend of past 3 years, is people who email you nicely and elaborately, citing your site and ask you to link to them.

Note, you get that only if your site is popular.

See also: Web Spam, Scam, Blackhat SEO Collection

and there's a scum job site plorepbqref (rot13 to see name), somehow they can always tell if you clicked their email spam read in gmail.

what's the technique to see if your spam email has been opened? (no click link) I thought Google gmail blocked all tracking gifs and indirected stuff.

JavaScript sort, is fragile, and most complex, convoluted

http://xahlee.info/javascript_es2016/ECMAScript_2016_Language_Specification.html#sec-array.prototype.sort

today's js: http://xahlee.info/js/js_array_sort.html

If you have a question, put $5 at patreon and message me.