Git Product home page Git Product logo

daw1-ed-holamundo's Introduction

DAW1-ED-HolaMundo

HolaMundo en varios lenguajes de programación

En este documento se indican los pasos que deberemos seguir para ejecutar código en distintos lenguajes de programación.

En el caso de lenguajes interpretados se indica también la forma de generar un script ejecutable.

El código fuente para distintos lenguajes de programación está disponible en:

Debemos instalar los siguientes paquetes:

apt  install  python  php  nodejs  gcc  g++  default-jdk  default-jre  nasm  ruby  golang  rustc  clisp

Plataforma usada: Ubuntu 16.04 LTS.


Bash

Pasos

  1. Ejecutamos el intérprete.
    Este paso no es necesario aquí, puesto que ya estamos en el terminal.

  2. Escribimos las sentencias y luego pulsamos INTRO.

echo "Hola Mundo"
  1. Para salir del intérprete pulsamos CTRL+D.
    No pulsar esta combinación si no queremos cerrar el terminal.

Script ejecutable

  1. Editamos archivo hola.sh
#!/usr/bin/env bash

echo "Hola mundo"
  1. Damos permisos de ejecución
chmod  +x  hola.sh
  1. Ejecutamos
./hola.sh

Python

Pasos

  1. Ejecutamos el intérprete.
python
  1. Escribimos las sentencias y luego pulsamos INTRO.
print "Hola Mundo"
  1. Para salir del intérprete pulsamos CTRL+D.

Script ejecutable

  1. Editamos archivo hola.py
#!/usr/bin/env python

print "Hola mundo"
  1. Damos permisos de ejecución
chmod  +x  hola.py
  1. Ejecutamos
./hola.py

PHP

Pasos

  1. Ejecutamos el intérprete.
php
  1. Escribimos las sentencias.
<?php 
  echo "Hola mundo\n" 
?>
  1. Para salir del intérprete pulsamos CTRL+D. Después veremos el resultado de la ejecución.

Script ejecutable

  1. Editamos archivo hola.php
#!/usr/bin/env php

<?php 
  echo "Hola mundo\n" 
?>
  1. Damos permisos de ejecución
chmod  +x  hola.php
  1. Ejecutamos
./hola.php

Javascript (nodejs)

Pasos

  1. Ejecutamos el intérprete.
node
  1. Escribimos las sentencias y luego pulsamos INTRO.
console.log('Hola mundo');
  1. Para salir del intérprete pulsamos CTRL+D.

Script ejecutable

  1. Editamos archivo hola.js
#!/usr/bin/env node

console.log('Hola mundo');
  1. Damos permisos de ejecución
chmod  +x  hola.js
  1. Ejecutamos
./hola.js

C

Pasos

  1. Editamos archivo hola.c
#include <stdio.h>

int main()
{
    printf("¡Hola, mundo!");
    return 0;
}
  1. Compilamos y enlazamos
gcc  -o  hola  hola.c      # Compilamos y enlazamos
  1. Ejecutamos
./hola                     # Ejecutamos

C++

Pasos

  1. Editamos archivo hola.cpp
#include <iostream>

using namespace std;

int main()
{
   cout << "¡Hola, mundo!" << endl;
   return 0;
}
  1. Compilamos y enlazamos
g++  -o  hola  hola.cpp    # Compilamos y enlazamos
  1. Ejecutamos
./hola                     # Ejecutamos

Java

Pasos

  1. Editamos archivo Hola.java
class Hola
{
    public static void main(String[] args)
    {
        System.out.println("Hola Mundo");
    }
}
  1. Compilamos
javac  Hola.java      # Compilamos
  1. Interpretamos y ejecutamos
java  Hola            # Interpretamos y ejecutamos

Script ejecutable

Realmente no es un script, sino bytecode empaquetado en JAR e interpretado por la JVM (Java Virtual Machine).

  1. Empaquetamos
jar  cvfe  hola.jar  Hola  Hola.class  # Empaquetamos  
NOTA: Las opciones utilizadas en el comando jar son:

c: Create      (Crear archivo jar)
v: Verbose     (Mostrar información)
f: File        (Nombre de archivo jar, en este caso hola.jar)
e: Entry point (Punto de entrada, en este caso la clase Hola)
 
Como último parámetro indicamos el bytecode a incluir, en este caso Hola.class.
  1. Damos permiso de ejecución
chmod  +x  hola.jar                    # Damos permiso de ejecución
  1. Ejecutamos
./hola.jar                             # Ejecutamos

NOTA: La forma tradicional de ejecutar un archivo jar es invocando al intéprete java:

java  -jar   hola.jar

NOTA: Los pasos 2 y 3 no funcionan en todas las distribuiciones de Linux. Parece ser algo relacionado con la asociación de la aplicación al tipo de archivo. Si tienes problemas para ejecutar el archivo .jar de forma directa, quizás no tienes asociada ninguna aplicación a dicho tipo de archivo.

Comprueba que tienes el archivo /usr/share/applications/openjdk-8-java.desktop con el siguiente contenido:

[Desktop Entry]
Name=OpenJDK Java 8 Runtime
Name[fi]=OpenJDK Java 8 - ajonaikainen ympäristö
Comment=OpenJDK Java 8 Runtime
Comment[fi]=OpenJDK Java 8 - ajonaikainen ympäristö
Keywords=java;runtime
Exec=cautious-launcher %f /usr/bin/java -jar
Terminal=false
Type=Application
Icon=openjdk-8
MimeType=application/x-java-archive;application/java-archive;application/x-jar;
NoDisplay=true

Si tienes otra versión de Java, debes modificar el nombre del archivo y su contenido para reflejar tal situación.

Ensamblador (nasm)

Pasos

  1. Editamos archivo hola.asm
 section .data
 
 msg     db "¡Hola Mundo!", 0Ah
 len     equ     $ - msg  
 
 section .text
 
 global _start
 
 _start:
        mov     eax, 04h
        mov     ebx, 01h
        mov     ecx, msg
        mov     edx, len
        int     80h
        mov     eax, 01h
        mov     ebx, 00h
        int     80h
  1. Ensamblamos y enlazamos
nasm  -f  elf64  hola.asm        # Ensamblado para ELF64
ld  hola.o  -o  hola             # Enlazado y generación de ejecutable
  1. Ejecutamos
./hola                           # Ejecución

Ruby

Pasos

  1. Ejecutamos el intérprete.
ruby
  1. Escribimos las sentencias y luego pulsamos INTRO.
puts "Hola Mundo"
  1. Para salir del intérprete pulsamos CTRL+D.

Script ejecutable

  1. Editamos archivo hola.rb
#!/usr/bin/env ruby

puts "Hola Mundo"
  1. Damos permisos de ejecución
chmod  +x  hola.rb
  1. Ejecutamos
./hola.rb

Go

Pasos

  1. Editamos archivo hola.go
package main

import "fmt"

func main() {
        fmt.Println("Hola mundo desde Go")
}
  1. Compilamos y enlazamos
go  build  hola.go   # Compilamos y enlazamos
  1. Ejecutamos
./ hola              # Ejecutamos
  1. Si lo deseamos,en Go también es posible interpretar el código
go  run  hola.go     # Interpretamos y ejecutamos

Rust

Pasos

  1. Editamos archivo hola.rs
fn main() {
    println!("¡Hola, mundo! Desde RUST ");
}
  1. Compilamos y enlazamos
rustc  hola.rs              # Compilamos y enlazamos
  1. Ejecutamos
./hola                      # Ejecutamos

Lisp

Pasos

  1. Ejecutamos el intérprete.
clisp
  1. Escribimos las sentencias y luego pulsamos INTRO.
(format t "¡Hola, mundo!")
  1. Para salir del intérprete pulsamos CTRL+D.

Script ejecutable

  1. Editamos archivo hola.lisp
#!/usr/bin/env clisp

(format t "¡Hola, mundo!")
  1. Damos permisos de ejecución
chmod  +x  hola.lisp
  1. Ejecutamos
./hola.lisp

Otros lenguajes

Otros lenguajes menos comunes, pero de interés por diversos motivos, se tratan en los siguientes enlaces:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.