Share
Google+LinkedInPinterest

Objective-C (Conceptos Básicos )

Bienvenido a esta nueva serie que se estará presentando alternativamente a la serie “iOS desde Cero”, para fortalecer las bases que te harán entender mejor y desarrollar aplicaciones más robustas, tanto para Mac OS X como para iOS.
Visto en:

Apple’s WWDC June 2nd LIVE Coverage


 

Historia

Hace 41 años atrás (1972) nace el lenguaje C, introduciendo una sintaxis innovadora que se convirtió luego en la más popular del mundo, influenciando a muchos lenguajes que utilizamos hoy en día.
En 1980 aparece SmallTalk, el primer lenguaje orientado a objetos. Fue entonces cuando se pensó que se podría crear un lenguaje como C pero con orientación a objetos, y así nació C++ en el 83. Más adelante, en 1986 fue creado Objective-C como una extensión del lenguaje C, añadiéndole: clases, objetos, métodos, protocolos, excepciones, propiedades y categorías.
En 1988 Objective-C fue adoptado por NeXT (la compañía que fundó Steve Jobs cuando dejó Apple). Este fue utilizado como base para construir el sistema operativo que correrían sus computadores, NeXTStep.
En el 96 Apple compró NeXT, y su sistema operativo, NextStep, pasó a convertirse en Mac OS X en 2001. Es por esto que verás que la mayoría de las clases del SDK de iOS y Mac tienen el prefijo “NS”, porque provienen de NeXTStep.
En 2007 se introdujo el iPhone, cuyo sistema operativo sería basado en las tecnologías de Mac. Es por esta razón que Objective-C también es el lenguaje utilizado para programar las aplicaciones nativas de iOS.
Toda esta plataforma de Apple está sentada sobre más de 20 años de historia y evolución de Objective-C, por eso no puede ser eliminado del cuadro.


El lenguaje

Objective-C al principio puede parecer intimidante porque se ve muy diferente, si vienes de lenguajes como Java o C++, pero la verdad es que es bastante sencillo.
A diferencia de C++, Java o C#, Objective-C no esta basado en C, Objective-C es C. Por lo tanto podrías copiar código de un programa hecho en C y pegarlo en uno de Objective-C y este compilará.
Vamos a dar inicio a este tutorial. Abrimos Xcode (en este caso uso la versión 4.6.2) y creamos un nuevo proyecto seleccionando Application > Command Line Tool.

¡Alerta!

Los siguientes ejemplos son Objective-C puro, no son específicos del desarrollo iOS ni de Mac OS X, sino del lenguaje. Para información básica sobre Xcode y como usarlo puedes revisar el primer capítulo de la serie
“iOS desde Cero”.


En la siguiente ventana colocamos el nombre del producto, el nombre de la organización, el identificador de la compañía, y seleccionamos “Foundation” del combo y chequeamos “Use Automatic Reference Counting”

“Foundation” es un framework de Apple que facilita el manejo de estructuras básicas como colecciones, strings, fechas, entre otros.
“Automatic Reference Counting” (ARC) en un manejador de memoria (no recolector de basura como el de Java o C#) que nos ahorrará tener que hacer release (similar a delete o free en C++). ARC lleva el conteo de referencias (punteros) a direcciones de memoria y es capaz de hacer la liberación del espacio automáticamente por nosotros cuando el conteo llega a cero. En otras palabras, cuando creas un objeto, este es alocado en memoria y apuntado por una variable que llamamos “apuntador”, cuando esta variable deja de existir (Ej: Terminó la ejecución de la función donde fue creado), el espacio de memoria no es apuntado por nadie, por lo tanto ARC lo borra.

Guardamos en el directorio de nuestra preferencia y empezamos a programar.

Estructura de un programa

Si todo salió bien, deberíamos ver un archivo llamado main.m con el siguiente código:

  1. En esta línea importamos el foundation framework. De esta menear le dijimos a la aplicación que vamos a utilizarlo.
  2. No importa si programas para iOS o Mac, todas las aplicaciones en Objective-C inician con la función main. Xcode siempre la va incluir por nosotros, por lo tanto no es necesario que la escribamos.
  3. autoreleasepool tiene que ver con manejo de memoria, por ahora vamos a ignorarlo, esto lo estaré explicando junto a ARC con más detalle en futuros capítulos.
  4. Esto es un comentario. También podemos comentar con /* */ como en la mayoría de los lenguajes modernos.
  5. NSLog se usa para escribir mensajes de salida (imprimir por pantalla), es el equivalente, a printf de C++, system.out.println de Java o console.writeline de C#.
  6. Este es el final de la función main, indicando que fue exitosa la ejecución.

Objective-C es un lenguaje case sensitive, esto significa que main es diferente de Main.
Por otro lado, no es sensible a espacios en blanco por lo que la función main se podría declarar también de la siguiente manera:

Corriendo la aplicación

Objective-C es un lenguaje que debe ser compilado. A diferencia de Javascript, PHP, Ruby o Python, que son lenguajes interpretados.
Para compilar podemos seleccionar Product > Build o presionar Command+B que es el atajo. Si no dañamos nada del proyecto que generó Xcode para nosotros, debería decir “Build Succeeded”.
Si queremos correr la aplicación seleccionamos el botón de la esquina superior izquierda que dice “Run” o podemos también ir a Product > Run, o presionar el atajo Command+R. Xcode compila y corre el programa (no es necesario compilar y correr manualmente, xcode compila siempre antes de correr).
En la parte inferior de la ventana veremos que apareció un panel, este contiene a la consola del lado derecho.

Luego de correr la aplicación debería decir:

Este es el mensaje que mandamos a imprimir con NSLog.

Variables

Todas las variables en Objective-C se declaran igual que en C. La estructura de la definición es la siguiente:

tipoDeDato NombreDeVariable = Valor;

Los tipos de dato primitivos en Objective-C son los mismos que en C solo que incluimos uno más:

  • int: para numeros enteros
  • float: para puntos flotante (valores con decimales)
  • double: un punto flotante de mayor precisión (dobla la cantidad de decimales de float)
  • char: para carateres simples
  • BOOL: este es el que incluimos que no tenia C, es para valores booleanos (verdadero o falso, en objective-C: YES o NO)

Condicionales

Los condicionales también son idénticos a los de C:

Ciclos

Igualmente los mismo de C:

Incluimos uno más que es el “For In” o “For each”:

Este es para recorrer colecciones de objetos, más adelante los explicaré con detalle.


Conclusión

Hasta ahora lo que hemos visto de Objective-C no es muy diferente de C. En el próximo capitulo hablaremos de operadores, numeros, strings (cadenas de caracteres), enumeradores, entre otras cosas antes de introducirnos a la orientación a objetos.
 


Fuente:http://codehero.co
Read More
280

Views

Share
Google+LinkedInPinterest

¡Hola mundo!

En informática, un programa Hola mundo es el que imprime el texto «¡Hola, mundo!» en un dispositivo de visualización, en la mayoría de los casos una pantalla de monitor. Este programa suele ser usado como introducción al estudio de un lenguaje de programación, siendo un primer ejercicio típico, y se lo considera fundamental desde el punto de vista didáctico.
El Hola Mundo se caracteriza por su sencillez, especialmente cuando se ejecuta en una interfaz de línea de comandos. En interfaces gráficas la creación de este programa requiere de más pasos.

Ejemplos de implementación del Hola mundo en diferentes lenguajes

En ABAP/IV

REPORT HOLAMUNDO.
WRITE '¡Hola, mundo!'.

En ABC

WRITE "¡Hola mundo!"

En ActionScript

 trace("¡Hola, mundo!");

En ActionScript 3.0

Opción 1

package
{
	import flash.display.Sprite;
	public class Main extends Sprite
	{
		public function Main()
		{
			trace("¡Hola, Mundo!");
		}
	 }
}

Opción 2

package
{
	import flash.display.Sprite;
	import flash.text.TextField;
	public class Main extends Sprite
	{
		public function Main()
		{
			var txtField = new TextField();
			txtField.text = "¡Hola, Mundo!";
			addChild(txtField);
		}
	}
}

En Ada

 with Ada.Text_IO;
  procedure Hola_Mundo is
  begin
     Ada.Text_IO.Put("¡Hola, mundo!");
  end Hola_Mundo;

En ALGOL

BEGIN
 FILE F (KIND=REMOTE);
 EBCDIC ARRAY E [0:12];
 REPLACE E BY "HOLA MUNDO!";
 WHILE TRUE DO
   BEGIN
   WRITE (F, *, E);
   END;
 END.

En AppleScript

  display dialog "Hola, Mundo!" buttons {"OK"} default button {"OK"}

En ASP

Response.Write(“Hola Mundo”)

En AutoIt

  MsgBox(0,"","Hola Mundo!")

En Autoplay Media Studio

  Dialog.Messages("Noticia", "Hola, Mundo!", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

En AWK

  #!/bin/awk -f
  BEGIN{
    print "¡Hola, mundo!";
  }

En Bash

  #!/bin/bash
  echo "Hola mundo"

En Basic

  print "Hola Mundo";

En Batch

@echo Hola mundo!
@pause > nul

En Boo

#!/usr/bin/booish
print "Hola mundo"

En Brainfuck

 +++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

En C

#include <stdio.h>
int main()
{
    printf("¡Hola, mundo!\n");
    return 0;
}

En C++

#include <iostream>
int main()
{
   std::cout << "Hola mundo\n";
   return 0 ;
}

En C++/CLI

Opción 1

 int main()
 {
    System::Console::WriteLine("Hola, mundo!");
    return 0;
 }

Opción 2

 #include <iostream>
using namespace std;
 void main()
 {
  cout << "Hola mundo\n";
 }

En C#

using System;
 class MainClass
 {
     public static void Main()
     {
         Console.WriteLine("¡Hola mundo!");
     }
 }

En Centura

 Call SalMessageBox('Hola Mundo', 'Saludo', MB_IconExclamation | MB_Ok)

En Clipper

? "Hola Mundo!"

En CLIPS

 (defrule printout t "Hola, Mundo" crlf)

En COBOL

  IDENTIFICATION DIVISION.
  PROGRAM-ID. HELLO.
  ENVIRONMENT DIVISION.
  DATA DIVISION.
  PROCEDURE DIVISION.
  DISPLAY "Hola mundo".
  STOP RUN.

En ColdFusion

<cfset variable="Hola Mundo">
<cfoutput>#variable#</cfoutput>

En CSS (2.0 en adelante)

Sólo para navegadores que cumplan con el estándar CSS 2.0 en adelante.

 body:after {
   content: 'Hola Mundo.';
 }

En D

import std.stdio;
void main()
{
    writefln("Hola mundo");
}

 

En Delphi

 program PHolaMundo;
 uses
   Dialogs;
 begin
   MessageDlg('Hola Mundo', mtInformation, [mbOK], 0);
 end.

En DIV Games Studio y Fenix GNU

  PROGRAM Hola Mundo;
    PRIVATE fuente1;
    BEGIN
      fuente1 = load_fnt("help\help.fnt");
      write(fuente1, 160, 100, 4, "Hola Mundo");
      LOOP
        FRAME;
      END
    END

En DOS

En sistemas operativos de la familia DOS como MS-DOS o PC-DOS que usan como shell el intérprete de comandos COMMAND. COM o CMD. EXE (OS/2 y Windows de la rama NT) se pueden crear archivos de proceso por lotes con extensiones .BAT y .CMD respectivamente, con el siguiente contenido:

 @echo ¡Hola, Mundo!

En Eiffel

 class HOLA_MUNDO
 create
     make
 feature
     make is
         do
             io.put_string("%nHola mundo%N")
         end
 end  -- HOLA_MUNDO

En ensamblador de PowerPC para Mac OS X

 # hola-ppc.S para Mac OS X
 # gcc -nostdlib hola-ppc.S -o hola-ppc
 .data                    ; datos
 hola:
   .ascii    "Hola, mundo!\n"
   hola_len = . - hola
 .text                    ; aquí vive el codigo
   .globl start
 start:
     li      r0, 4              ; llamada al sistema 4 (sys_write)
     li      r3, 1              ; arg. 1: descriptor de archivo (stdout)
     lis     r4, ha16(hola)     ; arg. 2: puntero a la cadena (parte alta)
     addi    r4, r4,lo16(hola)  ; sumamos la parte baja del mismo
     li      r5, hola_len       ; arg. 3: longitud de la cadena
     sc                         ; llamamos al sistema
     nop
     li        r3, 0            ; el valor que vamos a devolver
     li        r0, 1            ; llamada al sistema sys_exit
     sc
     nop

En ensamblador de PowerPC para GNU/Linux

 # hola-ppc.S para GNU/Linux
 # gcc -nostdlib hola-ppc.S -o hola-ppc
 .data                    # datos
 hola:
   .string    "Hola, mundo!\n"
   hola_len = . - hola
 .text                    # aqui vive el codigo
   .global _start
 _start:
     li      0, 4              # llamada al sistema 4 (sys_write)
     li      3, 1              # arg. 1: descriptor de archivo (stdout)
     lis     4, hola@ha        # arg. 2: puntero a la cadena (parte alta)
     addi    4, 4,hola@l      # sumamos la parte baja del mismo
     li      5, hola_len       # arg. 3: longitud de la cadena
     sc                         # llamamos al sistema
     nop
     li      3, 0            # el valor que vamos a devolver
     li      0, 1            # llamada al sistema sys_exit
     sc
     nop

En ensamblador de x86 para DOS

 .model small
 .stack
 .data
 Cadena1 DB 'Hola Mundo.$'
 .code
 programa:
    mov ax, @data
    mov ds, ax
    mov dx, offset Cadena1
    mov ah, 9
    int 21h
 end programa

En ensamblador de x86 para GNU/Linux

Nasm:

 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

Gas:

    .section .rodata
    .MSG
        .string "¡Hola Mundo!"
    .section .text
    .globl main
main:
    movl $.MSG,(%esp)
    call puts
    movl $1,%eax
    movl $0,%ebx
    int $0x80

En Erlang

  -module (hola).
  -export([hola_mundo/0]).
  hola_mundo() -> io:fwrite("Hola mundo!\n").

En Fortran

 PROGRAM HOLA
   PRINT *, '¡Hola, mundo!'
 END

En Game Maker Language

Opción 1 (con package “Windows Dialogs”)

{
  wd_message_simple('¡Hola mundo!')
}

Opción 2

{
  global.39dll = argument0
  global.function = external_define(global.39dll,'message',dll_cdecl,ty_real,ty_real)
  return external_call(global.function,0)
}

En Google Go

package main
import "fmt"
func main() {
	fmt.Println("Hola mundo")
}

En Groovy

 println "Hola Mundo!"

En GWBasic

  10 print "Hola Mundo"

En Haskell

  holaMundo :: IO ()
  holaMundo = putStrLn "Hola mundo!"

En HQ9+

  H

En HTML

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  <html>
    <head>
      <title>Hola Mundo</title>
    </head>
    <body>
      ¡Hola Mundo!
    </body>
  </html>

En HTML5

  <!DOCTYPE HTML>
  <html>
    <head>
      <title>Hola Mundo</title>
    </head>
    <body>
      <header>¡Hola Mundo!</header>
      <nav></nav>
      <section>
       <article>
       </article>
      </section>
      <footer>
      </footer>
    </body>
  </html>

En Icon

  procedure main ()
      write ( "Hola Mundo" );
  end

En IDL

 print,'Hola Mundo!'

En INTERCAL

 PLEASE NOTE Hola mundo en INTERCAL
 DO ,1 <- #13
 DO ,1 SUB #1 <- #238
 DO ,1 SUB #2 <- #28
 DO ,1 SUB #3 <- #192
 DO ,1 SUB #4 <- #176
 DO ,1 SUB #5 <- #82
 DO ,1 SUB #6 <- #48
 PLEASE DO ,1 SUB #7 <- #78
 DO ,1 SUB #8 <- #8
 DO ,1 SUB #9 <- #56
 DO ,1 SUB #10 <- #80
 DO ,1 SUB #11 <- #48
 DO ,1 SUB #12 <- #114
 DO ,1 SUB #13 <- #52
 PLEASE READ OUT ,1
 PLEASE GIVE UP

En IHTML

<!iHTML CACHE=TRUE>
<iSET message="Hola Mundo">
  <html>
   <head>
     <title>:message</title>
   </head>
   <body>
      ¡:message
   </body>
 </html>

En Java

public class HolaMundo
{
    public static void main(String[] args)
    {
        System.out.println("Hola Mundo");
    }
}

En JavaScript

 <script type="text/javascript">
   document.write("¡Hola, mundo!");
 </script>

En JCL

//Paso1 EXEC PGM=T9971591
//DDUNO DD IN
%%  Hola mundo

En JSP

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html>
    <%! String hola = "hola mundo"; %>
    <head>
      <title>
        <%= hola %>
      </title>
    </head>
    <body>
      <%= hola %>
    </body>
  </html>

En Korn Shell

#!usr/bin/ksh
print "Hola Mundo";

En LabVIEW

LVholamundo.png

En Liberty BASIC

 print "¡Hola, mundo!"

En LISP

 (format t "¡Hola, mundo!")
 "¡Hola, mundo!"

Opción 1

 escribe [¡Hola mundo!]

Opción 2

Rotula "Hola GD 90 sl av 50 Rotula "mundo

En LOLCODE

  HAI
  CAN HAS STDIO?
  VISIBLE "HOLA MUNDO!"
  KTHXBYE

En Lua

Opción 1 (PC)

 print("¡Hola, Mundo!\n")

Opción 2 (PSP)

 Nombre=color.new(R, G, B)
 screen.print(x, y, "Hola, Mundo!",Nombre)

En Macom Script

  say("Hola Mundo!")

En Malbolge

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCAA@98\6543W10/.R,+O<

En Maple

"hola mundo";

En Mathematica

Opción 1

hola mundo

Opción 2

Print["hola mundo"]

Opción 3

"hola mundo"

En MATLAB

Opción 1

  disp('Hola Mundo');

Opción 2

  fprintf(1,'Hola Mundo');

En mIRC Scripting

 on 1:start: {
    echo ¡Hola Mundo!
 }

En Modula-2

 MODULE Hola;
 FROM InOut IMPORT WriteString;
 BEGIN
   WriteString ("Hola Mundo");
 END Hola.

En Natural

   WRITE "HOLA MUNDO"

En NetLinx

 send_string 0,'Hola Mundo'

En NetREXX

Opción 1: Con REXX clásico

Utilizando la instrucción say que proviene de REXX clásico:

say "Hola Mundo"

Opción 2: Con clases y métodos Java

Utilizando clases y métodos Java:

System.out.println("¡Hola mundo!");

En ObjectPAL

   method holaMundo()
       msgInfo( "", "¡hola mundo!")
   endMethod
   method run(var eventInfo Event)
        msgInfo( "", "¡hola mundo!")
   endMethod

En Object Pascal

procedure tform1.button1click (sender:tobject);
    //Despues de crear y presionar el botón "button1"
    begin
        showmessage('HOLA MUNDO');
    end;
end.

En Object REXX

Opción 1: Con REXX clásico

Utilizando los métodos de REXX clásico:

 say "Hola Mundo"
 call lineout , 'Hola, mundo.'
 call charout , 'Hola, mundo.'||eol

Opción 2: Utilizando objetos

Utilizando objetos:

 .output~say('Hola, mundo.')
 .output~lineout('Hola, mundo.')
 .output~charout('Hola, mundo.'||eol) -- eol definido previamente

En Ocaml

   print_endline "Hola mundo";;

En Ook!

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.
 

En OpenInventor

 #Inventor V2.1 ascii
 Text3 {
   string "Hola mundo"
 }

En Oz

  declare
  {Browse 'Hello World'}

En Pascal

 Program HolaMundo;
 Begin
     Write('¡Hola, Mundo!');
     ReadLn;
 End.

En Pauscal

  'Pauscal: Lenguaje de programación en español
  Importar "Pauscal.prp"
  Mensaje("¡Hola Mundo!")

En Pawn

 main () {
   print("Hola, mundo!\n");
 }

En Perl

print "Hola, mundo\n";

En Perl v5.10

say 'Hola, mundo';

En PHP

Opción 1

 <?php echo 'Hola Mundo!'; ?>

Opción 2

 <?php print "Hola Mundo!"; ?>

Opción 3

 <?="Hola Mundo!"; //Depende de la configuración de PHP para funcionar 
 ?>

En PL/1

Hola: procedure options(main);
      put skip list('¡Hola Mundo!');
end Hola;

En PL/SQL

 BEGIN
 DBMS_OUTPUT.Put_Line( 'Hola Mundo' );
 END;

En Prolog

 write('Hola mundo').

En Python

print "¡Hola Mundo!"

En Python 3.0

Opción 1

 print('Hola mundo')

Opción 2

 print("Hola mundo")

Opción 3

>>> hm="Hola mundo"
>>> hm

|}

En QBasic

 PRINT "Hola mundo"

En R

  print("¡Hola, mundo!")

En RapidQ

ShowMessage("Hola, mundo!")

En REXX

 say "Hola Mundo"

En Ruby

 puts "Hola Mundo"

En SAPScript

MAIN
P1    Hola Mundo
/

En Scala

 object HolaMundo {
  def main(args: Array[String]) =
    println("Hola, mundo")
 }

En Scheme

 (let ((HOLA MUNDO
         (lambda ()
           (display "Hola, mundo")
           (newline))))
    (hola-mundo))

o, simplemente

 (display "Hola, mundo\n")

En Scilab

Opción 1

  disp('Hola, mundo')

Opción 2

  printf('Hola, mundo\n')

En Scratch

HolaMundoScratch.png

En Seed7

$ include "seed7_05.s7i";
const proc: main is func
  begin
    writeln("Hola Mundo");
  end func;

En Smalltalk

 Transcript show: '¡Hola, mundo!'

En SQL

Variante de Oracle:

 SELECT 'HOLA MUNDO'
 FROM DUAL;

Otros SQL (MySQL, Microsoft SQL Server, etc.)

 SELECT 'HOLA MUNDO';
 print('HOLA MUNDO')

En Tcl

 puts "Hola mundo"

En Template Toolkit

[% GET "Hola mundo!"; %]

En ThinBasic

print "Hola Mundo"

En TrueBasic

print "Hola Mundo"

En Unlambda

```s``sii`ki
``s``s`ks
    ``s``s`ks``s`k`s`kr
              ``s`k`si``s`k`s`k
                              `d````````````.H.o.l.a.,. .m.u.n.d.o.!
                       k
     k
 `k``s``s`ksk`k.*

En Vala

Opción simple:

void main () {
    print ("Hola mundo\n");
}

Usando orientación a objetos:

class Sample : Object {
	void run () {
		stdout.printf ("Hola mundo\n");
	}
	static void main (string[] args) {
		var sample = new Sample ();
		sample.run ();
	}
}

En Visual Basic

Private Sub Form_Load()
   Msgbox "Hola Mundo"
 End Sub

En Visual Basic .NET

 Private Sub Form_Load() Handles Form1.Load
   Messagebox.show("¡Hola, mundo!")
 End Sub
 'modo consola.
 Private Sub Main()
  Console.WriteLine("¡Hola, mundo!")
 End Sub

En Visual FoxPro

 ? "Hola Mundo"
 = MessageBox ( "Hola Mundo" )
 wait window "Hola Mundo" nowait

En Whitespace

http://compsoc.dur.ac.uk/whitespace/hworld.ws

En X3

SubProg HOLAMUNDO()
   Infbox "Hola Mundo"
End

En xBase

? "Hola Mundo"

En XUL

<?xml version=“1.0”?> <?xml-stylesheet href=“chrome://global/skin/” type=“text/css”?> <window id=“Hola” title=“Ejemplo: hola mundo” orient=“vertical” persist=“screenX screenY width height” xmlns= “http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul”> <description style=‘font-size:24pt’>Hola mundo</description> <description value=‘Hola mundo’ style=‘font-size:24pt’/> <label value = ‘Hola mundo’ style=‘font-size:24pt’/> </window>
Fuente:http://es.wikipedia.org
Read More
191

Views