Una vez en una llamada de Zoom de nuestro equipo, el hilo de la discusión fue más allá de lo planeado. Esto sucede a menudo en una ubicación remota, porque todos carecen de la comunicación habitual de "cocina" en la oficina. La conversación comenzó con un libro en italiano, donde “Te amo” está escrito en todos los idiomas del mundo. Luego hubo objeciones de que los lenguajes de programación también son lenguajes, ¿por qué no están ahí? Entonces recordamos que el día de San Valentín estaba a la vuelta de la esquina. Así que descubrimos cómo hacer una nueva versión de este libro a nuestra manera y, al mismo tiempo, recordamos la última clasificación de lenguajes de programación del IEEE.
Lanzamos el libro en una pequeña edición, y en este post publicamos su contenido: declaraciones de amor en 53 de los lenguajes de programación más populares. Y como beneficio adicional, ofrecemos una breve descripción de cada uno de ellos.
Contenido
- Pitón
- Java
- C
- C ++
- JavaScript
- R
- Arduino
- Vamos
- Rápido
- MATLAB
- Rubí
- Dardo
- SQL
- PHP
- Montaje
- Scala
- HTML
- Kotlin
- Julia
- Oxido
- Cascarón
- Procesando
- C #
- SAS
- Fortran
- CUDA
- Visual Basic
- Objective-C
- Delphi
- Perl
- Verilog
- VHDL
- Elixir
- F#
- Prolog
- Lua
- Lisp
- Ada
- Apache Groovy
- Scheme
- Haskell
- COBOL
- Clojure
- ABAP
- D
- Forth
- OCaml
- Tcl
- Erlang
- Eiffel
- CoffeeScript
- J
- Racket
1. Python . Un lenguaje interpretado y orientado a objetos que se basa en gran medida en una gran cantidad de bibliotecas, incluidos módulos populares para el aprendizaje automático y la informática científica.
print('I love you!')
2. Java . Un lenguaje orientado a objetos que genera código para ejecutarse en una máquina virtual. Esto le permite ejecutarse en diferentes plataformas con cambios menores. Java es una opción popular para los desarrolladores de aplicaciones web.
public class ILoveYou
{
public static void main(String[] args)
{
System.out.println("I love you!");
}
}
3. C . Se utiliza para escribir programas donde la velocidad y la flexibilidad son importantes. Por ejemplo, en sistemas integrados o informática de alto rendimiento.
#include <stdio.h>
int main(void)
{
printf("I love you!\n");
return 0;
}
4. C ++ . Versión orientada a objetos de C, que resultó ser una continuación lógica para el software impulsado por interfaces gráficas de usuario.
#include <iostream>
int main()
{
std::cout << "I love you!" << std::endl;
return 0;
}
5. JavaScript . Un lenguaje de secuencias de comandos que se utiliza principalmente para agregar funcionalidad a los navegadores web sobre la marcha, le permite crear páginas web complejas.
document.write("I love you!");
6. R . Un lenguaje de programación y un entorno diseñado para aplicaciones de análisis estadístico y minería de datos.
print("I love you!")
7. Arduino . Basado en el lenguaje de cableado y el entorno de desarrollo de procesamiento, el idioma nativo del microcontrolador Arduino se ha convertido en la base de una gran cantidad de dispositivos de bricolaje y prototipos.
void setup() {
Serial.begin(9600);
Serial.println("I love you!");
}
void loop() {
}
8. Vaya . Creado por Google, Go tiene soporte integrado para programas que necesitan comunicarse mientras se ejecutan en diferentes núcleos o computadoras.
package main;
import "fmt"
func main()
{
fmt.Println("I love you!")
}
9. Rápido . El lenguaje de Apple para crear software iOS y macOS. Compatible con código C, C ++ y Objective-C.
print('I love you!')
10. MATLAB . Un lenguaje de secuencias de comandos para el entorno informático MATLAB de MathWorks. Diseñado para tareas de computación numérica como ingeniería o modelado científico.
disp('I love you!')
11. Ruby . Un lenguaje de secuencias de comandos diseñado para proporcionar más soporte para objetos que otros lenguajes similares.
puts "I love you!"
12. Dardo . Desarrollado por Google, Dart se puede compilar para arquitecturas ARM y x86 para dispositivos móviles, o portarse a JavaScript para aplicaciones basadas en navegador. El marco Flutter basado en Dart está diseñado para crear libros personalizados para iOS y Android.
void main() {
print('I love you!');
}
13. SQL . Un lenguaje especializado para consultar y manipular bases de datos. Existen extensiones para escribir programas generales que permiten, por ejemplo, ejecutar lógica empresarial junto con una base de datos.
CREATE TABLE iloveyou (phrase TEXT);
INSERT INTO iloveyou VALUES ("I love you!");
SELECT COUNT(*) FROM iloveyou;
14. PHP . Un lenguaje de secuencias de comandos diseñado principalmente para admitir sitios web dinámicos.
<?php
echo "I love you!";
?>
15. Montaje . Término genérico para la amplia familia de conjuntos de instrucciones de procesador. Escribir código ensamblador requiere un conocimiento significativo, pero le permite crear software de alta velocidad que se puede ejecutar directamente en el hardware.
global _main extern _printf section .text _main: push message call _printf add esp, 4 ret message: db 'I love you!', 10, 0
16. Scala . Los programas escritos en Scala pueden ejecutarse en la misma máquina virtual que los programas Java.
object Love {
def main(args: Array[String]) = {
println("I love you!")
}
}
17. HTML . Un lenguaje especializado para describir la apariencia de las páginas web, a menudo extensible con CSS.
<!DOCTYPE html>
<html>
<head>
<title>Love</title>
</head>
<body>
<p>I love you!</p>
</body>
</html>
18. Kotlin . Como extensión de Java, el código de Kotlin se puede ejecutar en una máquina virtual de Java o se puede compilar en JavaScript o en una aplicación nativa de Android.
fun main(args: Array<String>) {
println("I love you!")
}
19. Julia . El lenguaje está diseñado para computación científica y estadística, y es compatible con bibliotecas heredadas escritas en Fortran y C.
println("I love you!")
20. Óxido . Un lenguaje diseñado para facilitar la programación robusta de sistemas paralelos.
fn main() {
println!("I love you!");
}
21. Shell . Término general para un conjunto de marcos que permiten la creación de scripts para la línea de comandos del sistema operativo.
#!/bin/sh
echo I love you!
22. Procesamiento . Este lenguaje se creó en el Instituto de Tecnología de Massachusetts para facilitar la creación de visualizaciones a los artistas, diseñadores y aficionados. Una biblioteca de JavaScript estrechamente relacionada llamada p5.js le permite crear aplicaciones basadas en navegador.
PFont font;
void setup() {
size(200,200);
font = loadFont("CharterBT-Roman-48.vlw");
}
void draw() {
background(255);
textFont(font,20);
fill(0);
text("I love you!",10,100);
}
23. C # . Un lenguaje orientado a objetos creado por Microsoft para desarrollar software para la plataforma .NET. Admite muchas aplicaciones de Windows y Azure.
using System;
class ILoveYou
{
static void Main()
{
Console.Write("I love you!");
}
}
24. SAS . El lenguaje del análisis de datos y análisis estadístico.
data foo ; bar="I love" ; put bar= "you!"; run ;
25. Fortran . Creado en la década de 1950, Fortran está diseñado para la informática científica y de ingeniería de alto rendimiento.
program iloveyou
print *, "I love you!"
end program
26. CUDA . Una plataforma y un juego de herramientas del fabricante de chips gráficos NVIDIA que permite a los programadores aprovechar la potencia de las GPU para la informática de uso general.
__global__ void cuda_love(){
printf("I love you!\n");
}
int main() {
cuda_love<<<1,1>>>();
return 0;
}
27. Visual Basic . Microsoft creó Visual Basic para el rápido desarrollo de aplicaciones de Windows, pero ya no lo admite. Un descendiente de Visual Basic .NET, que todavía es compatible, funciona con el marco .NET más moderno.
Imports System
Module Love
Sub Main()
Console.WriteLine("I love you!")
Console.ReadLine()
End Sub
End Module
28. Objetivo-C . Era el idioma favorito de Apple para escribir aplicaciones para OS X e iOS antes de Swift.
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"I love you!");
}
return 0;
}
29. Delphi . Un derivado de Pascal utilizado para aplicaciones de Windows. Propiedad de Embarcadero Delphi. Existen implementaciones de código abierto para Open Pascal para otras plataformas.
program ILoveYou;
{$APPTYPE CONSOLE}
begin
WriteLn('I love you!');
end.
30. Perl . Una vez, un solo idioma se usaba a menudo como pegamento en sistemas complejos. Perl ahora pertenece a dos lenguajes estrechamente relacionados pero diferentes: Perl 5 y Perl 6 actualizado.
print('I love you!')
31. Verilog . Un lenguaje de descripción de hardware (definido por el estándar IEEE 1364) que se utiliza para crear y analizar circuitos electrónicos. Constituye la base para SystemVerilog posterior y ampliado (IEEE 1800).
module love_you ;
initial begin
$display ("I love you!");
#10 $finish;
end
endmodule
32. VHDL . Un lenguaje de descripción de equipo utilizado en la creación y análisis de circuitos electrónicos.
entity T01_ILoveYou is
end entity;
architecture sim of ILoveYou is
begin
process is
begin
report "I love you!";
wait;
end process;
end architecture;
33. Elixir . Elixir, una extensión del lenguaje de programación Erlang, está diseñado para software a gran escala, como sitios web de alto tráfico o para procesar grandes cantidades de datos.
Erlang/OTP 21.0 [64-bit] [smp:2:2] [...]
Interactive Elixir (1.11.3) - press Ctrl+C to exit
iex(1)> "I " <> "love " <> "you!"
"I love you!"
34. F # . Desarrollado por Microsoft, F # se dirige al entorno de programación .NET que se encuentra más comúnmente en Windows. Se basa principalmente en funciones, pero también admite programación orientada a objetos.
[<EntryPoint>]
let main argv =
printfn "I love you!"
0
35. Prolog . Originario de la comunidad de IA, este lenguaje se utiliza principalmente como herramienta de enseñanza e investigación.
$ swipl
<...banner...>
?- write('I love you!'), nl.
36. Lua . Este lenguaje de secuencias de comandos se utiliza a menudo para hacer que otras aplicaciones sean programables, especialmente en los campos de la animación y los juegos.
print("I love you!")
37. Lisp . Creado en la década de 1950, Lisp se ha vuelto ampliamente utilizado por los investigadores de inteligencia artificial, pero su popularidad ha disminuido en los últimos años. Sin embargo, los sabores Lisp como Clojure y Scheme (enumerados por separado) cuentan con comunidades activas.
CL-USER> (defun love ()
(format t "I love you!~%"))
LOVE
CL-USER> (love)
I love you!
NIL
CL-USER>
38. Ada . Desarrollado originalmente para el Departamento de Defensa de EE. UU., El lenguaje se usa para aplicaciones donde la confiabilidad es crítica, como los sistemas de control aeroespacial.
with Ada.Text_IO;
procedure sayLove is
begin
Ada.Text_IO.put("I love you!"); -- Output some text!
end sayLove;
39. Apache Groovy . Un lenguaje de programación orientado a objetos que se ejecuta en la plataforma Java. Un marco conocido para la creación de aplicaciones web, Grails, está escrito en Groovy.
public class Love {
public static void main(String args[]) {
System.out.println("I love you!");
}
}
40. Esquema . Originalmente concebido como un lenguaje con fines educativos, Scheme es ahora una familia de variaciones Lisp que se utilizan en aplicaciones como App Inventor para Android. Esto le permite desarrollar rápidamente servicios móviles.
(begin
(display "I love you!")
(newline))
41. Haskell . El lenguaje, construido sobre los principios de la programación funcional pura, está diseñado para aplicaciones donde la confiabilidad es importante.
main :: IO ()
main = putStrLn "I love you!"
42. COBOL . El software COBOL, desarrollado a fines de la década de 1950 para aplicaciones comerciales y financieras, aún administra sistemas de misión crítica en muchas organizaciones grandes.
PROCEDURE DIVISION.
DISPLAY 'I love you!'.
STOP RUN.
43. Clojure . Un dialecto Lisp compatible con la misma máquina virtual que admite programas Java.
(ns helloworld.core)
(defn -main
"I can say 'I love you!'."
[]
(println "I love you!"))
44. ABAP . ABAP (Advanced Business Application Programming) es un lenguaje de programación para servicios empresariales creado por SAP.
REPORT ILOVEYOU.
WRITE 'I love you!'.
45. D . Construido como el sucesor de C ++, D tiene un ensamblador en línea para usar hardware específico de la arquitectura.
import std.stdio;
void main()
{
writeln("I love you!");
}
46. Cuarto . Desarrollado originalmente para controlar radiotelescopios, este lenguaje de programación todavía se utiliza hoy en día para aplicaciones como cargadores de arranque y firmware.
: LOVE ( -- ) CR ." I love you!" ;
47. OCaml . Un lenguaje orientado a objetos con énfasis en la confiabilidad del software.
print_string "I love you!\n";;
48. Tcl . Un lenguaje interpretado diseñado para la creación rápida de prototipos y soporte para la interfaz gráfica de usuario Tk utilizada principalmente por sistemas Unix.
#! /usr/local/bin/wish8.5
button .love -text "I love you!" -command { exit }
pack .love
49. Erlang . El lanzamiento de Erlang como lenguaje de código abierto creado por Ericsson para aplicaciones de telefonía integradas en 1998 aumentó su popularidad entre los programadores que desarrollan servicios que deben procesar muchas tareas simultáneamente.
-module(love).
-export([love_you/0]).
love_you() -> io:fwrite("I love you!\n").
50. Eiffel . Un lenguaje orientado a objetos que ha influido en varios otros lenguajes comunes. Un principio importante es que la mayor parte posible del trabajo de optimización del código debe dejarse al compilador, mientras que el programador se centrará en la lógica fundamental y la legibilidad del código.
on_paint (paint_dc: WEL_PAINT_DC; invalid_rect: WEL_RECT)
do
paint_dc.draw_centered_text("I love you!", client_rect)
end
51. CoffeeScript . Diseñado para facilitar la escritura de código JavaScript mediante la implementación de convenciones de sintaxis de otros lenguajes.
console.log("I love you!")
52. J . Usado principalmente para análisis y programación matemática, el código escrito en J suele ser muy conciso.
#!/bin/jc
echo 'I love you!'
exit ''
53. Raqueta . Una variación de Lisp, este lenguaje facilita la creación de sus propios lenguajes específicos de dominio.
> "I love you!"