Mostrando entradas con la etiqueta costo de cambio. Mostrar todas las entradas
Mostrando entradas con la etiqueta costo de cambio. Mostrar todas las entradas

miércoles, 18 de noviembre de 2020

Los costos de cambio y el monopolio de Google

El argumento antimonopolio que Google puede hacer es que Microsoft no


REUTERS / Arnd Wiegmann
Es fácil cambiar de motor de búsqueda, pero eso no es suficiente.

Por Walter Frick || Quartz


La demanda antimonopolio presentada contra Google por el Departamento de Justicia de EE. UU. Esta semana contiene ecos del caso del gobierno contra Microsoft hace 22 años, pero dependerá de las formas en que los dos casos sean diferentes.

La defensa de Google incluirá su antiguo mantra de que "la competencia está a solo un clic de distancia", o, como dijo la compañía en un comunicado esta semana, "puede descargar fácilmente las aplicaciones que elija o cambiar la configuración predeterminada en cuestión de segundos, más rápido de lo que puedes caminar a otro pasillo en la tienda ".

Microsoft no pudo decir eso. Si el sistema operativo Windows te estaba volviendo loco, no podrías cambiarte al Mac OS, el principal competidor en ese momento, sin comprar una computadora nueva (y costosa). Por el contrario, Google tiene básicamente razón en que generalmente es fácil cambiar de motor de búsqueda, aunque se necesitan al menos unos pocos clics para hacerlo. Esos bajos "costos de cambio" son una razón fundamental por la que algunos expertos rechazan la idea de Google como "el nuevo Microsoft".

Pero demostrar que la competencia está a un clic de distancia no es lo mismo que demostrar que un mercado es competitivo. Si esa defensa es suficiente o no para que Google gane este caso, es importante comprender la diferencia.

Para que la competencia funcione bien, los consumidores deben poder y querer cambiar a mejores productos, y los nuevos competidores deben poder ingresar al mercado. No importa cuántos clics se necesiten para cambiar si no hay opciones decentes a las que valga la pena cambiar. Y en el mercado de los motores de búsqueda, los datos son una barrera de entrada poderosa.

“Muchas de las consultas que recibe un motor de búsqueda cada día serán aquellas que el motor de búsqueda nunca había visto antes”, escribió Megan Gray, asesora general del motor de búsqueda DuckDuckGo en una declaración de 2019 al Congreso de los Estados Unidos. "A medida que crece la participación de mercado de un motor de búsqueda, el porcentaje de nuevas búsquedas en ese motor de búsqueda disminuirá". En otras palabras, cuanto más grande sea, más fácil será ofrecer buenos resultados de búsqueda. Eso, a su vez, disuade al cambio. Si todos cambiaran a un nuevo motor de búsqueda, podría tener una oportunidad, pero ningún usuario tiene un incentivo para cambiar a lo que, al principio, es un producto claramente inferior.


Luego está el hecho de que "un clic de distancia" todavía está bastante lejos. El caso del gobierno de EE. UU. Gira en torno a que Google paga a empresas como Apple para que sean el motor de búsqueda predeterminado en navegadores y teléfonos inteligentes, lo que plantea la cuestión de cuánto importan los valores predeterminados. Los modelos económicos estándar asumen que un usuario cambia cuando le conviene hacerlo, lo que simplemente no es el caso. En su libro Nudge, Richard Thaler y Cass Sunstein llaman a esto la heurística de "sí, lo que sea": la mayoría de las veces optamos por la opción predeterminada. "Si, para una elección determinada, hay una opción predeterminada ... entonces podemos esperar que una gran cantidad de personas terminen con esa opción, sea o no buena para ellos", escriben.

La heurística de "sí, lo que sea" y otros hallazgos de la economía del comportamiento han tenido repercusiones en las ciencias sociales, pero desafortunadamente no han tenido tanto impacto en las leyes antimonopolio. Es poco probable que los tribunales estadounidenses reconozcan la barrera que realmente representa "un clic de distancia".

Sin embargo, Google lo consigue, por lo que paga miles de millones por ser el predeterminado. Si ser mejor fuera suficiente, ¿por qué no dejar que Apple llegue a un acuerdo con Bing o DuckDuckGo, y confiar en que los usuarios harían clic en su camino hacia el mejor producto?

"Siempre habrá algún grado de pura inercia y lealtad del consumidor ... debido en parte a nuestras limitaciones humanas", escribieron los economistas Hal Varian y Carl Shapiro en su libro Information Rules de 1999. “Estos costos pueden parecer pequeños”, señalan en el mismo capítulo, “pero pregúntese con qué frecuencia busca un nuevo agente de viajes, agente de seguros o banco. ¿De verdad sabe que está obteniendo el mejor trato posible? " Tres años después de la publicación del libro, Varian aceptó un trabajo en una pequeña empresa llamada Google. 

domingo, 12 de marzo de 2017

La economía de los lenguajes de programación




La Economía de las Lenguajes de Programación

David N. Welton
Davidw@dedasys.com
Welton

Me gustan mucho los lenguajes de programación. He utilizado un número de ellos profesionalmente, e incluso he escrito uno mismo - Hecl - aunque toma prestado la mayor parte de sus ideas, si no código fuente, de Tcl. Y, por supuesto, he participado en mi parte de los debates y discusiones sobre "qué idioma es el mejor", un tema que por supuesto no tiene una respuesta clara, pero a menudo es la fuente de argumentos acalorados.

Recientemente leí un libro interesante, Information Rules: A Strategic Guide to the Network Economy, de Carl Shapiro y Hal R. Varian (Harvard Business School Press, 1998; ISBN: 087584863X), que habla de la economía del mundo de la alta tecnología. Mientras lo leía y pensaba en los lenguajes de programación, se hicieron clic en varias cosas. No son conclusiones que rompen la tierra. Por el contrario, muchos de ellos tienen más o menos sentido común, pero es bueno leer que hay algunas teorías metódicamente estudiadas detrás de algunas de las intuiciones, presentimientos y observaciones que he hecho a lo largo de los años.

En este artículo intentaré enumerar lo que creo que son los puntos más destacados de la economía de los lenguajes de programación y describir sus efectos en los idiomas existentes, así como en aquellos que desean escribir e introducir nuevos idiomas.

Lenguajes como productos

Los lenguajes de programación, como cualquier producto, tienen ciertas propiedades. Obviamente, como cualquier otro tipo de información buena, los costes de producción en el sentido de hacer copias son esencialmente cero. La investigación y el desarrollo (costos irrecuperables) son necesarios para crear el software en sí, lo que significa que una inversión inicial es necesaria, y si el idioma no es exitoso, es probable que la inversión no se puede recuperar.

Esto se aplica a muchos bienes de información, pero los lenguajes de programación también tienen algunas cualidades que los hacen especiales dentro de este grupo. A saber, que ambos son un medio de dirigir a las computadoras y sus periféricos para hacer un trabajo útil, pero también son un medio de intercambio de ideas y algoritmos para hacer ese trabajo entre personas. En otras palabras, las lenguas van más allá de ser simplemente algo que es útil; Son también un medio de comunicación. Además, en forma de colecciones de código tales como paquetes, módulos o bibliotecas, los lenguajes de programación son también una forma de intercambiar rutinas útiles que pueden ser recombinadas de forma novedosa por otros programadores, en lugar de simplemente intercambiar aplicaciones terminadas.

Externalidades positivas de red

Esto nos lleva a lo que es uno de los conceptos más importantes. "Externalidades de red", o "efectos de red", se refiere a la noción de que cuanto más personas poseen o utilizan algo, más valioso es para cada uno. Considere un teléfono celular, por ejemplo. Si no tuviera a nadie para llamar, podría obtener un poco de placer de seleccionar molesto tonos de llamada en lugares públicos, pero más allá de eso, sería un trozo de plástico en su mayoría inútil. Una gran parte del valor del teléfono está en la capacidad de llamar a tus amigos, y hacer que te llamen.

El valor de las lenguajes de programación no depende claramente totalmente de este concepto; ciertamente puede hacer mucho incluso con un lenguaje que no es utilizado por muchas personas. Sin embargo, tenga en cuenta todos los extras que obtiene si su idioma es popular: libros, bibliotecas de código abierto, ejemplos, grupos de discusión / apoyo, posibilidades de trabajo o, a la inversa, la capacidad de contratar a programadores para trabajar en el producto de su empresa. Si utiliza un lenguaje popular como C, y sale un nuevo protocolo de red, es muy probable que alguien cree una biblioteca que "hable" de este protocolo, y en estos días es muy posible que sea incluso de código abierto. Por otra parte, si usted está usando un lenguaje oscuro, usted tendrá que escribir el apoyo para este nuevo protocolo usted mismo, o esperar que alguien en un grupo más limitado.

Los efectos de esto son claramente visibles. A pesar del gran número de lenguajes que han sido creados por individuos, investigadores universitarios y corporaciones, la mayoría de los programadores en cualquier momento dado probablemente usarán uno de un conjunto relativamente pequeño de lenguajes. Sin embargo, hay algunos factores que mitigan estos efectos, como veremos en breve.

Costos de cambio

En la columna de gastos, los "costos de conmutación", o los costos de cambiar los lenguajes de programación, son bastante evidentes. Reescribir una gran pieza de software en otro idioma está plagado de trampas, y es probable que sea extremadamente caro y consume mucho tiempo. Una vez que se escribe, puede ser ampliado o modificado, pero las reescrituras completas son raras. ¿Propondrías reescribir un sistema de trabajo a tu jefe? "No, en realidad no hará mucho más, que lo que tenemos ahora, y se necesitarán tres programadores de cinco meses para completar, pero será en Haskell en lugar de Fortran!". Esta es la razón por la cual los bancos todavía tienen tanto código escrito en Cobol.

Para el individuo, también, tener que aprender un nuevo idioma es difícil. Incluso para los programadores expertos, es difícil dominar realmente muchos idiomas, ya que la práctica frecuente es necesaria para "mantenerse en forma". Una vez que tenga unos pocos en su cinturón, es para su ventaja para poder utilizarlos por un tiempo. Prefiere poner "20 años de experiencia en Java" en su currículum que "6 meses de programación Forth", ¿no? Debido a que los programadores y los programas incurren en costos de conmutación que pueden ser muy altos, el efecto es que los idiomas duran mucho tiempo, incluso si ya no son "lo último" que se enseña en las universidades.

Cambiar los costos es aún mayor para las personas que no son programadores expertos - aprender un idioma ya es una gran inversión para ellos, y no sería rápido e indoloro para ellos aprender varios idiomas, o cambiar a un idioma diferente. El viejo adagio de "la mejor herramienta para el trabajo" tampoco encaja en este caso. Dado que la mayoría de los lenguajes de programación son mucho más complejos que, por ejemplo, un martillo, la mayoría de la gente prefiere aprender uno o dos que hacen un buen trabajo razonable al tratar con los problemas que más frecuentemente enfrentan, Otras necesidades que puedan surgir.

La elección de un idioma para aprender es, por consiguiente, de mayor importancia para estos individuos, que sin embargo son los menos bien posicionados para poder hacer una elección informada, carentes de la experiencia y la capacidad de comparar y contrastar los conjuntos de herramientas disponibles.

Una vez que nuestro hipotético programador "a tiempo parcial" ha seleccionado e invertido el tiempo para aprender un nuevo idioma, es probable que en ese momento quieran defender su elección - a nadie le gusta pensar que hicieron una mala inversión. Y, por supuesto, quieren ver que continúan fuertes, por lo que no se les pone en una posición de ser obligados a aprender algo más, a partir de cero.

Introducción a un nuevo idioma

Para aquellos que desean introducir y popularizar un nuevo idioma, un punto clave es cómo superar el impulso conferido a las lenguas populares existentes por los efectos de red y los costos de cambio.

En estos días y edades, las implementaciones de lenguaje de programación están en su mayoría disponibles de forma gratuita (y en muchos casos incluso tienen implementaciones de código abierto), lo que significa que la introducción de un lenguaje más reciente y más barato y la implementación rara vez es posible. Si desarrollamos un nuevo lenguaje, las porciones "más baratas" y "mejores" de la ecuación deben provenir de la calidad del lenguaje mismo. Tendrá que hacer código:

  • Más fácil de escribir - ampliar el número de personas que pueden utilizar el idioma, y ​​por lo tanto su valor. Piense en los lenguajes de scripting en comparación con C. Son más tolerantes y fáciles de usar gracias a las formas de recolección de basura o de referencia de conteo, lo que significa que las personas que podrían no haber sido capaces de llevar a cabo una tarea determinada con C podría hacerlo con un lenguaje de scripting.
  • Más eficientes: hacer programas más rápidos que requieren menos tiempo o recursos del sistema para lograr lo que necesitan. Aunque, como podemos ver en las tendencias recientes como Java, esto es menos importante a medida que los precios de la memoria caen y el espacio en disco es cada vez más abundante.
  • Mayor calidad - lo que significa que menos tiempo del programador se gasta bugs de caza, y más en el desarrollo de nuevas características. Recolección de basura, una vez más, es una de esas características que significa que el programador necesita preocuparse menos sobre el seguimiento de la memoria. Algunas investigaciones han pasado a programas "demostrables", aunque sin ningún efecto sobre las técnicas convencionales en esta fecha. No tener que lidiar con la manipulación de puntero directo también es una forma de eliminar una categoría de errores.
  • Más productivo - lenguajes que le permiten hacer cosas complejas fácilmente significa que usted puede hacer más que un competidor con un lenguaje que es más lento para desarrollar pulg PHP en la web permite a las personas hack out rápido páginas web dinámicas muy rápidamente sin una gran cantidad de configuración. El kit de herramientas gráficas Tk hizo que las GUIs escritas fueran muy fáciles, impulsando el uso del lenguaje Tcl. Esto es muy a menudo una cuestión de bibliotecas que resumen en el nivel correcto en lugar de la lengua en sí; La mayoría de los idiomas, sin embargo, tienen una "sensación", y es el lenguaje central y las bibliotecas que dan el tono.

Por supuesto, las ganancias deben ser significativas -si sólo obtienes una ganancia del cinco por ciento, pero pierdes todo el código existente, o esa gran comunidad de programadores que puedes pedir ayuda en un momento dado, vale la pena?

Compatibilidad

Una forma de darse un impulso es con alguna forma de compatibilidad. C ++ es un ejemplo obvio de esto. Otro es el mayor de los lenguajes de script, todos los cuales están escritos en C, y proporcionan una interfaz que les permite interoperar a ese nivel. Por ejemplo, Tcl no fue concebido como un lenguaje independiente, sino como una biblioteca que proporciona un lenguaje flexible para ser incluido en programas más grandes, lo que significa que tiene una API C que le permite interactuar fácilmente entre Tcl y C. Esto significa que Todos los lenguajes de secuencias de comandos han sido capaces de aprovechar las bibliotecas escritas en C, aumentando considerablemente su utilidad.

Lisp, un lenguaje muy elegante que es ampliamente admirado por los aficionados al lenguaje, a menudo ha tomado el enfoque de estar orientado a hacer todo en Lisp - a principios de los años 80, incluso se producían computadoras que ejecuta Lisp: "Lisp Machines"! Tal vez este deseo de ser Lisp "todo el camino hacia abajo" ha costado este lenguaje algo en términos de su capacidad de co-optar a través de la compatibilidad con C, pero es una discusión compleja en sí mismo y es probablemente mejor dejar para otro artículo.

Java es otro lenguaje que tiende a desear "pureza", aunque es posible integrar el código C nativo con él. Su éxito se atribuye probablemente a algunas mejoras genuinas sobre C y C ++ en términos de facilidad y calidad, ya su organización rígida, que le da a los equipos la capacidad de asignar tareas a programadores menos talentosos sin temor a contaminar todo el proyecto con un disco duro -verificación de segmentación. Millones de dólares de dólares de Sun Microsystems para la comercialización y la construcción de grandes bibliotecas estándar también fueron útiles en la adopción de la lengua, aunque esta es una técnica no disponible para muchos diseñadores de lenguaje aspirantes.

Atacar un nicho

A pesar de los intentos de flexibilizar las lenguas y de llevar a cabo tantas tareas como sea posible, como herramientas, las lenguas tienen áreas donde son más adecuadas que otras. Fortran sigue siendo el mejor de algunas aplicaciones científicas, pero lo más probable es que no lo utilice para aplicaciones web. Erlang es un lenguaje y una plataforma muy robustos que son ideales para aplicaciones que no se les permite fallar, pero es probable que no sea tan fácil para principiantes como algo como Python.

El mundo de la informática y la tecnología está siempre cambiando, por lo que se deduce que surgirán nuevos nichos y mercados donde las lenguas existentes no son ideales. Por ejemplo, los lenguajes de secuencias de comandos eran un ajuste natural para la Web. Fácil de usar y práctico para tratar con texto, que hizo mucho más agradable para crear páginas web que trabajar con C habría sido. Los diseñadores de lenguajes que esperan ver su creación más ampliamente utilizada pueden desear identificar un nicho en particular donde su invención es particularmente adecuada. El nuevo idioma puede no estar tan lejos del campo en todas las formas posibles, pero si el desarrollo se concentra para proporcionar un sistema que es al menos superior en una cosa que hace muy bien, podría llegar a ser suficiente para Menos que la gente la utilice.

PHP, por ejemplo, no era una novedad cuando se creó. Como lengua, no es nada innovador en comparación con otros de su tipo. Sin embargo, hizo páginas web dinámicas muy bien, y muy fácilmente comparado con otros sistemas disponibles en el momento. Recuerdo la configuración de mod_perl y la instalación de varios componentes que a menudo tenían los requisitos de versión. Fue un dolor comparado con la configuración PHP más integrada. Otro ejemplo, como se mencionó anteriormente, fue la combinación de Tk con Tcl para scripts de GUI. Tcl es muy adecuado para una variedad de tareas, desde ejecutar en routers de Cisco hasta hacer scripts web en sí, pero Tk fue su home run, y lo que se hizo conocido.

Conclusión

Las nociones aquí discutidas parecerán familiares para aquellos que se han dedicado a reflexionar sobre el tema, pero al enmarcarlos en términos de costos y beneficios, espero darles a los usuarios de idiomas una idea para seleccionar un idioma que mejor se adapte a sus necesidades. Este marco también ayudará a los diseñadores y defensores lingüísticos a comercializar mejor sus productos, dándoles un lenguaje común, el de la economía, para discutir los desafíos y oportunidades inherentes al mercado de los lenguajes de programación informática.

_________________
Además del libro Information Rules mencionado al principio de este artículo, otro recurso para los lectores interesados en el seguimiento de este tema es "Languages, Levels, Libraries, and Longevity" de John R. Mashey publicado en ACM Queue (vol. 9, diciembre / enero 2004-2005). Gracias también al profesor Stephen J. Turnbull, de la Universidad de Tsukuba, por sus comentarios y sugerencias.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Hostgator Coupon Code