Hello world/Standard error: Difference between revisions

From Rosetta Code
Content added Content deleted
(Ada solution added)
(Obj-C)
Line 94: Line 94:
END Stderr.
END Stderr.
</pre>
</pre>

=={{header|Objective-C}}==

{{Works with|GNUstep}}
{{Works with|Cocoa}}

In Objective-C one can use the standard C library and the stderr as in the C language; nonetheless a common way to output to stderr for logging purpose and/or error notification is the <tt>NSLog</tt> function, that works almost like <tt>fprintf(stderr, "...")</tt>, save for the fact that the string is a NSString object.

<objc>#import <Foundation/Foundation.h>

int main()
{
fprintf(stderr, "Goodbye, World!\n");
fputs("Goodbye, World!\n", stderr);
NSLog(@"Goodbye, World!");
return 0;
}</objc>


=={{header|OCaml}}==
=={{header|OCaml}}==

Revision as of 18:57, 13 January 2009

Task
Hello world/Standard error
You are encouraged to solve this task according to the task description, using any language you may know.

A common practice in computing is to send error messages to a different output stream than normal text console messages. The normal messages print to what is called "standard output" or "standard out". The error messages print to "standard error". This separation can be used to redirect error messages to a different place than normal messages.

Show how to print a message to standard error by printing "Goodbye, World!" on that stream.

Ada

<ada> with Ada.Text_IO; use Ada.Text_IO;

procedure Goodbye_World is begin

  Put_Line (Standard_Error, "Goodbye, World!");

end Goodbye_World; </ada>

ALGOL 68

The procedures print and printf output to stand out, whereas put and putf can output to any open FILE, including stand error.

Works with: ALGOL 68 version Standard - no extensions to language used
Works with: ALGOL 68G version Any - tested with release mk15-0.8b.fc9.i386
Works with: ELLA ALGOL 68 version Any (with appropriate job cards) - tested with release 1.8.8d.fc9.i386 - note that printf and putf were note ported into ELLA's libraries.
main:(
  put(stand error, ("Goodbye, World!", new line))
)

Output:

Goodbye, World!

C

Unlike puts(), fputs() does not append a terminal newline. <c>#include <stdio.h>

int main() { fprintf(stderr, "Goodbye, "); fputs("World!\n", stderr);

return 0; } </c>

C#

<csharp>static class StdErr {

   static void Main(string[] args)
   {
       Console.Error.WritleLine("Goodbye, World!");
   }

}</csharp>

C++

<cpp>#include <iostream>

using std::cerr; using std::endl;

int main () {

 cerr << "Goodbye, World!" << endl;
 return 0;

}</cpp>

E

stderr.println("Goodbye, World!")

Forth

Works with: GNU Forth
outfile-id
  stderr to outfile-id
  ." Goodbye, World!" cr
to outfile-id

Haskell

import System.IO
hPutStrLn stderr "Goodbye, World!"

Java

<java>public class Err{

  public static void main(String[] args){
     System.err.println("Goodbye, World!");
  }

}</java>

Modula-3

MODULE Stderr EXPORTS Main;

IMPORT Wr, Stdio;

BEGIN
  Wr.PutText(Stdio.stderr, "Goodbye, World!\n");
END Stderr.

Objective-C

Works with: GNUstep
Works with: Cocoa

In Objective-C one can use the standard C library and the stderr as in the C language; nonetheless a common way to output to stderr for logging purpose and/or error notification is the NSLog function, that works almost like fprintf(stderr, "..."), save for the fact that the string is a NSString object.

<objc>#import <Foundation/Foundation.h>

int main() {

  fprintf(stderr, "Goodbye, World!\n");
  fputs("Goodbye, World!\n", stderr);
  NSLog(@"Goodbye, World!");
  return 0;

}</objc>

OCaml

<ocaml>prerr_endline "Goodbye, World!"; (* this is how you print a string with newline to stderr *) Printf.eprintf "Goodbye, World!\n"; (* this is how you would use printf with stderr *)</ocaml>

Perl

<perl>print STDERR "Goodbye, World!\n";</perl>

PHP

<php>fprintf(STDERR, "Goodbye, World!\n");</php>

Python

Works with: Python version 2.x

<python>import sys

print >> sys.stderr, "Goodbye, World!"</python>

Works with: Python version 3.x

<python>import sys

print("Goodbye, World!", file=sys.stderr)</python>

Ruby

$stderr.puts("Goodbye, World!")

UNIX Shell

echo "Goodbye, World!" > /dev/stderr