{"id":3545,"date":"2017-11-20T15:40:13","date_gmt":"2017-11-20T21:40:13","guid":{"rendered":"http:\/\/pensemosweb.com.mx\/index.php\/2017\/11\/20\/javascript-scheme-self-java\/"},"modified":"2024-03-08T10:01:53","modified_gmt":"2024-03-08T16:01:53","slug":"javascript-scheme-self-java","status":"publish","type":"post","link":"https:\/\/pensemosweb.com\/en\/javascript-scheme-self-java\/","title":{"rendered":"\u00bfQu\u00e9 relaci\u00f3n tiene javascript con scheme, self y java? Nacimiento de Javascript"},"content":{"rendered":"<p>Para poder entender la relaci\u00f3n entre <strong>Javascript<\/strong>, <strong>scheme<\/strong>, <strong>self <\/strong>and <strong>java<\/strong>, tenemos que entender un poco de la historia de los lenguajes.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>No somos creadores de la historia. Estamos hechos por la historia.<\/p><cite>Martin Luther King, Jr.<\/cite><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">De Algol a Smalltalk<\/h2>\n\n\n\n<p>Los lenguajes de programaci\u00f3n m\u00e1s usados en los sesentas, eran:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>FORTRAN<\/li><li>LISP (Paradigma funcional)<\/li><li>COBOL<\/li><li>ALGOL<\/li><\/ol>\n\n\n\n<p><strong>ALGOL<\/strong> (Algorithmic Language) introdujo la utilizaci\u00f3n de bloques utilizando las palabras reservadas <code>begin<\/code> and <code>end<\/code>. <\/p>\n\n\n\n<p>Como clara influencia, actualmente en JavaScript, C, Java, entre otros, se utiliza las llaves <code><strong>{}<\/strong><\/code>&nbsp; para definir bloques de c\u00f3digo.<\/p>\n\n\n\n<p>En 1967 se lanz\u00f3 <strong>Simulates 67<\/strong>, <em><strong>Simulates<\/strong><\/em> fue el primer lenguaje de programaci\u00f3n orientado a objetos,&nbsp; b\u00e1sicamente le agreg\u00f3 clases y objetos a ALGOL.<\/p>\n\n\n\n<p>La programaci\u00f3n orientada a objetos fue descubierta en <strong>1966 <\/strong>por los mismos creados de Simula, <strong>Ole Johan Dahl and Kristen Nygaard<\/strong>.<\/p>\n\n\n\n<p>Some time later it was created <strong>Smalltalk<\/strong>, a much more sophisticated and modern object-oriented programming language, in charge of this project was <strong>Alan Kay<\/strong>.<\/p>\n\n\n\n<p>Alan Kay commented:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>I&#039;m sorry I coined the term a long time ago. <strong>Objects<\/strong> for programming because it made people focus on the least important part. The big idea is \u201c<strong>Sending messages<\/strong>&#8220;.<\/p><cite>Alan Kay<\/cite><\/blockquote>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/11\/javascript_-Scheme-self-java.png\" alt=\"Camino smalltalk\" class=\"wp-image-2848\"\/><figcaption>Camino smalltalk<\/figcaption><\/figure><\/div>\n\n\n\n<p>Posteriormente se empezaron a crear otros lenguajes de programaci\u00f3n orientados a objetos, todos basados en ideas de <strong>Smalltalk<\/strong> and <strong>C<\/strong>.<\/p>\n\n\n\n<p>Se crearon Objective C, C++ y Eiffel, de los cuales surgieron otros lenguajes de programaci\u00f3n como Java, C# y Ruby. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/11\/modern-oop-languages.png\" alt=\"Influencias sobre lenguajes de programaci\u00f3n orientada a objetos\" class=\"wp-image-372\"\/><figcaption>Influencias sobre lenguajes de programaci\u00f3n orientada a objetos<\/figcaption><\/figure><\/div>\n\n\n\n<p>JavaScript surge poquito despu\u00e9s de JAVA, en el mismo a\u00f1o. JavaScript tomar\u00e1 influencias de smalltalk,  porque <strong>Self <\/strong>fue influido por smalltalk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">De Smalltalk a Self<\/h2>\n\n\n\n<p><strong>Smalltalk<\/strong> It also allowed the creation of <strong>Self<\/strong>, creado en Xerox Parc y luego migrado a Sun Microsystems Labs.<\/p>\n\n\n\n<p>In this programming language the idea of <strong>prototypes<\/strong>, eliminating the use of classes to create objects, this language uses the objects themselves to allow one object to reuse the functionalities of another.<\/p>\n\n\n\n<p><strong>Self <\/strong>It is a fast language and is generally known for its great performance, <strong>self<\/strong> hizo un buen trabajo en sistemas de recolecci\u00f3n de basura y tambi\u00e9n utilizaba una maquinar virtual para administrar su ejecuci\u00f3n y memoria.<\/p>\n\n\n\n<p>La maquina virtual <strong>Java HotSpot <\/strong>se pudo crear gracias a Self, debido a la influencia de Self tenemos hoy en d\u00eda el motor de <strong>JavaScript<\/strong> <strong>V8<\/strong>, which uses it <strong>node.js y<\/strong> <strong>Google Chrome<\/strong> internally. <\/p>\n\n\n\n<p>Self followed one of the book&#039;s recommendations <strong>Design Patterns: Elements of Reusable Object-Oriented Software<\/strong>, long before it came out, published this recommendation:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Better composition of objects to class inheritance.<\/p><cite>Design Patterns: Elements of Reusable Object-Oriented Software<\/cite><\/blockquote>\n\n\n\n<p>Actualmente Javascript utiliza prototipos para la reutilizaci\u00f3n de c\u00f3digo, se podr\u00eda decir que usa composici\u00f3n, en lugar de herencia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">De c\u00e1lculo lambda a Scheme<\/h2>\n\n\n\n<p>Functional programming is the oldest programming paradigm, in fact its discovery was long before computer programming, it was discovered in <strong>1936 <\/strong>by <strong>Alonzo Church<\/strong>, when I invented the <strong>lambda calculus<\/strong> mientras resolv\u00eda el mismo problema matem\u00e1tico que <strong>Alan Turing<\/strong>.<\/p>\n\n\n\n<p>El s\u00edmbolo del c\u00e1lculo lambda es :<\/p>\n\n\n\n<p class=\"has-huge-font-size\"><strong>\u03bb<\/strong><\/p>\n\n\n\n<p><strong>LISP<\/strong> fue el primer lenguaje funcional, creado por <strong>John McCarthy<\/strong>.<\/p>\n\n\n\n<p>JavaScript tom\u00f3 influencias de LISP, porque <strong>scheme<\/strong> fue influido por LISP.<\/p>\n\n\n\n<p>Smalltalk uses the <strong>\u201cThe Actor Model\u201d<\/strong>, which says that actors communicate with each other through messages.<\/p>\n\n\n\n<p>On the other hand we have <strong>LISP<\/strong>, which has a <strong>\u201cFunction dispatcher model\u201d<\/strong> What we currently call functional language, these models are identical, because what functions and methods do is send messages between actors.<\/p>\n\n\n\n<p>An example of this is when a function calls another function or when an object&#039;s method is invoked, what happens is that actors exist and they communicate with each other through messages.<\/p>\n\n\n\n<p>Entonces podemos decir que la idea principal de la programaci\u00f3n orientada a objetos es el env\u00edo de mensajes y que no es muy diferente de la programaci\u00f3n funcional. Y aqu\u00ed es importante remarcar lo que dijo <strong>Alan Kay Co-creator of SmallTalk<\/strong>:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>I&#039;m sorry I coined the term a long time ago. <strong>Objects<\/strong> for programming because it made people focus on the least important part. The big idea is \u201c<strong>Sending messages<\/strong>&#8220;.<\/p><cite>Alan Kay<\/cite><\/blockquote>\n\n\n\n<p>Mi ingles es malo as\u00ed que pueden revisar el texto original <a href=\"http:\/\/wiki.c2.com\/?AlanKayOnMessaging\">here<\/a>.<\/p>\n\n\n\n<p>Tomando estos dos modelos id\u00e9nticos, se refinaron, y se cre\u00f3 <strong>scheme<\/strong>.<\/p>\n\n\n\n<p><strong>scheme<\/strong> has the goodness to use <strong>tail recursion <\/strong>and <strong>closure<\/strong> to obtain a functional language, <strong>closure<\/strong> permite tener acceso a las variables de una funci\u00f3n externa aun cuando esta ya haya regresado alg\u00fan valor.<\/p>\n\n\n\n<p>Javascript usa mucho closure en su faceta de lenguaje funcional.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Predecesor de la PC moderna y el desarrollo de componentes web<\/h2>\n\n\n\n<p>On the other hand we have <strong>NLS <\/strong>(oN-Line System), fue un sistema de colaboraci\u00f3n entre computadoras dise\u00f1ado por <strong>Douglas Engelbart<\/strong> e implementado por la <strong>ARC <\/strong>(Augment Research Center) en el Instituto de investigaci\u00f3n de Stanford <strong>SRI.<\/strong><\/p>\n\n\n\n<p>Fue el primer sistema en usar enlaces de hipertexto, mouse, monitores de video, Informaci\u00f3n organizada por relevancia, GUI (Interfaces gr\u00e1ficas de usuario), programa para presentaciones y otros conceptos modernos de computaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-embed alignwide is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"1968 \u201cMother of All Demos\u201d by SRI\u2019s Doug Engelbart and Team\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/B6rKUf9DWRI?feature=oembed\"  allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Despu\u00e9s cuando <strong>Steve Jobs<\/strong> se le ocurri\u00f3 la idea de crear la computadora personal m\u00e1s sofisticada, la <strong>Macintosh <\/strong>(esta idea ven\u00eda concebida desde <strong>NLS<\/strong>), los programadores ten\u00edan que usar lenguaje ensamblador para crear programas.<\/p>\n\n\n\n<p>Era muy dif\u00edcil conseguir programadores que desarrollaran en ensamblador, debido a esta dificultad, <strong>Bill Atkinson <\/strong>que ya hab\u00eda creado <strong>MacPaint <\/strong>and <strong>QuickDraw<\/strong>, se le ocurri\u00f3 crear una interesante aplicaci\u00f3n que le permitiera a personas que no se dedicaran a la programaci\u00f3n crear f\u00e1cilmente programas.<\/p>\n\n\n\n<p>A esta aplicaci\u00f3n le agreg\u00f3 un <strong>lenguaje de scripting<\/strong>, y se le llam\u00f3 <strong>HyperCard<\/strong>, ten\u00eda botones, enlaces y muchas cosas que actualmente se tienen en el desarrollo web, en la web misma y en los navegadores modernos.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/11\/hypercard.jpg\" alt=\"Hypercard\" class=\"wp-image-374\"\/><figcaption>Hypercard<\/figcaption><\/figure><\/div>\n\n\n\n<p>Por ejemplo para agregar un bot\u00f3n t\u00fa pulsabas <code>Cmd + B<\/code> y se abr\u00eda un cuadro de di\u00e1logo para crear el bot\u00f3n y ten\u00eda las opciones de configuraci\u00f3n que se ven en la imagen de abajo, poner icono, alg\u00fan efecto y hasta agregarle funcionalidad a trav\u00e9s de un script.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.pensemosweb.com\/wp-content\/uploads\/2017\/11\/ide-button-hypercard.jpg\" alt=\"IDE HyperCard agregar un bot\u00f3n\" class=\"wp-image-375\"\/><figcaption>IDE HyperCard agregar un bot\u00f3n<\/figcaption><\/figure><\/div>\n\n\n\n<p>Una gran ventaja de HyperCard es que si t\u00fa creabas un componente como un bot\u00f3n y te lo llevabas a otra tarjeta o p\u00e1gina, el bot\u00f3n segu\u00eda teniendo toda la configuraci\u00f3n, incluyendo el script.<\/p>\n\n\n\n<p>Es claro que esto ultimo es un predecesor de los <a href=\"https:\/\/pensemosweb.com\/en\/como-crear-mejores-aplicaciones-con-los-fascinantes-componentes-web\/\">componentes web<\/a> actuales. Su lenguaje de script se llamaba <strong>HyperTalk<\/strong> y era as\u00ed:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.pensemosweb.com\/wp-content\/uploads\/2017\/11\/button-mouseup-code-hypercard.jpg\" alt=\"HyperTalk script parecido a Javascript\" class=\"wp-image-376\"\/><figcaption>HyperTalk script parecido a Javascript<\/figcaption><\/figure><\/div>\n\n\n\n<p>Se puede notar el parecido con la funcionalidad <strong>mouseup <\/strong>de los navegadores web actuales, de hecho el creador de JavaScript tomo esta influencia para agregar eventos a elementos de un sitio web, como por ejemplo el <code>onmouseup<\/code>:<\/p>\n\n\n\n<figure><iframe src=\"\/\/codepen.io\/jaime_cervantes_ve\/embed\/paOjbW\/?height=265&amp;theme-id=0&amp;default-tab=js,result&amp;embed-version=2#full\" height=\"265\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Surgimiendo de los navegadores web<\/h2>\n\n\n\n<p>Se empez\u00f3 un proyecto llamado Xanadu, este sistema computacional utilizaba el concepto de hipertexto.<\/p>\n\n\n\n<p>La idea de Xanadu era el fin de concebir un documento global y \u00fanico que cubra todo lo escrito en el mundo mediante una gran cantidad de ordenadores interconectados que contenga todo el conocimiento existente.<\/p>\n\n\n\n<p>Xanadu fue el predecesor de WWW, tiempo despues Tim Berne\u2019s Lee cre\u00f3 la WWW o World Wide web.<\/p>\n\n\n\n<p>Con la WWW funcionando, vinieron los navegadores web como <strong>Mosaic<\/strong>, este se dividi\u00f3 en <strong>Netscape<\/strong> and <strong>SpyGlass<\/strong>.<\/p>\n\n\n\n<p>Tiempo despu\u00e9s SpyGlass fue comprado por Microsoft para poder concebir al navegador m\u00e1s odiado por los desarrolladores web, <strong>Internet Explorer<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/www.pensemosweb.com\/wp-content\/uploads\/2017\/11\/path-to-modern-browsers.png\" alt=\"Surgimiento de Internet Explorer y Netscape\" class=\"wp-image-378\"\/><figcaption>Surgimiento de Internet Explorer y Netscape<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">De navegadores web a Javascript<\/h2>\n\n\n\n<p>A mediados de los noventa, la <strong>compa\u00f1\u00eda Netscape <\/strong>necesitaba un lenguaje para su navegador web, as\u00ed que contrataron a&nbsp;<strong>Brendan Eich<\/strong> quien inicialmente quer\u00eda usar algo como <strong>scheme <\/strong>dentro del navegador.<\/p>\n\n\n\n<p>Netscape ten\u00eda tratos con <strong>Sun microsystems<\/strong> para mostrar Java en el navegador a trav\u00e9s de applets, as\u00ed que ten\u00edan en mente un lenguaje hermano, mucho m\u00e1s simple. De hecho en un punto ya no sintieron que deber\u00edan crear Javascript, pensaban que con Java era suficiente.<\/p>\n\n\n\n<p>Al final gracias a Brendan y otras dos personas de Netscape y Sun Microsystems, se vio la necesidad de un lenguaje que pudiera correr directo en una p\u00e1gina web, que pudiera ser utilizado por personas que no supieran lo que es un compilador.<\/p>\n\n\n\n<p><strong>Brendan Eich<\/strong> tom\u00f3 la sintaxis de Java, el modelo funcional de <strong>scheme<\/strong>, y la programaci\u00f3n orientado a objetos basada en prototipos de <strong>Self<\/strong>. <\/p>\n\n\n\n<p>Aunque la sintaxis la toma de Java, esta sintaxis realmente viene de C\/C++ de los cuales Java surgi\u00f3. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2017\/11\/path-to-js-1024x683.jpg\" alt=\"Javascript: scheme, self y Java en uno\" class=\"wp-image-369\"\/><figcaption>Javascript: scheme, self y Java en uno<\/figcaption><\/figure>\n\n\n\n<p>Ahora bien si nos ponemos a pensar, Javascript tiene m\u00e1s que ver con <strong>LISP y Scheme <\/strong>en la parte funcional, con <strong>Self<\/strong> en la parte orientada a objetos y con<strong> C\/C++<\/strong> en su sintaxis.<\/p>\n\n\n\n<p>JavaScript fue creado a prisas y con mucha presi\u00f3n, en diez d\u00edas<strong> Brendan Eich<\/strong> cre\u00f3 la primera versi\u00f3n, aun as\u00ed la habilidad de Brendan en tomar los mejores aspectos de los lenguajes de programaci\u00f3n <strong>Scheme, Self y C\/C++<\/strong> han hecho de JavaScript un lenguaje muy potente y expresivo.<\/p>\n\n\n\n<p>En un inicio se llam\u00f3 <strong>mocha<\/strong>, despu\u00e9s <strong>LiveScript<\/strong> en su primer lanzamiento oficial en 1995 y tres meses despu\u00e9s lo llamaron <strong>JavaScript<\/strong>, este \u00faltimo nombre tiene muy poco que ver con el lenguaje, seg\u00fan se entiende, lo llamaron as\u00ed por estrategia de mercadotecnia porque Netscape incrustaba Java en el navegador web.<\/p>\n\n\n\n<p>Netscape anuncio una reuni\u00f3n con la organizaci\u00f3n de est\u00e1ndares <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ecma_International\">Ecma International<\/a> para dar paso a la estandarizaci\u00f3n de Javascript. As\u00ed la primera edici\u00f3n<strong> ECMA-262<\/strong>, fue aceptada por la asamblea general de Ecma en junio de <strong>1997<\/strong>. As\u00ed que realmente el est\u00e1ndar del lenguaje se llama <strong>ECMAScript<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Javascript en m\u00faltiples plataformas<\/h2>\n\n\n\n<p>Javascript es un lenguaje de programaci\u00f3n muy flexible, multiparadigma, din\u00e1mico y con un gran potencial, es por eso que lo encontramos actualmente en diferentes \u00e1reas, por mencionar algunas:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Navegadores web<\/strong> como Firefox, Google Chrome, Opera, Safari.<\/li><li>Aplicaciones m\u00f3viles, incrustado en la aplicaci\u00f3n nativa, un ejemplo es <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/cordova.apache.org\/\" target=\"_blank\">Cordova<\/a><\/strong> and <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/ionicframework.com\/\" target=\"_blank\">Ionic<\/a><\/strong><\/li><li>En <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/nodejs.org\/es\/\" target=\"_blank\">Node.js<\/a><\/strong> para crear servidores http, ftp y cualquier tipo de tecnolog\u00eda de red de una forma escalable, otro ejemplo es ejecutar scripts en tu sistema operativo para automatizar tareas.<\/li><li>Bases de datos como <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/www.mongodb.com\/\" target=\"_blank\">MongoDB<\/a><\/strong>.<\/li><li>Aplicaciones de escritorio, un ejemplo es <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/electronjs.org\/\" target=\"_blank\">Electron<\/a><\/strong>, los editores <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/atom.io\/\" target=\"_blank\">Atom<\/a><\/strong> and <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/code.visualstudio.com\/?wt.mc_id=DX_841432\" target=\"_blank\">Visual Studio Code<\/a><\/strong> est\u00e1n hechos con electron.<\/li><li>Programaci\u00f3n de Robots e IoT (Internet de las cosas), por ejemplo <strong><a rel=\"noreferrer noopener\" href=\"https:\/\/www.arduino.cc\/\" target=\"_blank\">Arduino<\/a><\/strong> and <strong><a rel=\"noreferrer noopener\" href=\"http:\/\/johnny-five.io\/\" target=\"_blank\">johnny-five<\/a><\/strong>.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>La implementaci\u00f3n interna de la programaci\u00f3n orientado a objetos y funcional desde el inicio en JavaScript, han hecho que este lenguaje de programaci\u00f3n tenga el \u00e9xito global de hoy en d\u00eda. Permitiendo crear un c\u00f3digo m\u00e1s eficiente y expresivo<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"referencias\">References<\/h3>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=JxAXlJEmNMghttp:\/\/wiki.c2.com\/?AlanKayOnMessaginghttps:\/\/www.youtube.com\/watch?v=yvx4ObDBGZs\">https:\/\/www.youtube.com\/watch?v=JxAXlJEmNMg<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=JxAXlJEmNMghttp:\/\/wiki.c2.com\/?AlanKayOnMessaginghttps:\/\/www.youtube.com\/watch?v=yvx4ObDBGZs\">http:\/\/wiki.c2.com\/?AlanKayOnMessaging<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=JxAXlJEmNMghttp:\/\/wiki.c2.com\/?AlanKayOnMessaginghttps:\/\/www.youtube.com\/watch?v=yvx4ObDBGZs\">https:\/\/www.youtube.com\/watch?v=yvx4ObDBGZs<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thenewstack.io\/brendan-eich-on-creating-javascript-in-10-days-and-what-hed-do-differently-today\/\">https:\/\/thenewstack.io\/brendan-eich-on-creating-javascript-in-10-days-and-what-hed-do-differently-today\/<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>A partir de ALGOL se creo Simula y Smalltalk, Simula fue el primer lenguaje de programaci\u00f3n orientado a objetos, basicamane le agrego clases y objetos a ALGOL. Poco tiempo despu\u00e9s se cre\u00f3 el primer lenguaje de POO moderno, lo llamaron Smalltalk.<\/p>","protected":false},"author":2,"featured_media":3765,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[28,32],"tags":[54,67],"class_list":["post-3545","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","category-basico","tag-javascript","tag-basico"],"_links":{"self":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts\/3545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/comments?post=3545"}],"version-history":[{"count":1,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts\/3545\/revisions"}],"predecessor-version":[{"id":3636,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/posts\/3545\/revisions\/3636"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/media\/3765"}],"wp:attachment":[{"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/media?parent=3545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/categories?post=3545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pensemosweb.com\/en\/wp-json\/wp\/v2\/tags?post=3545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}