Empty program: Difference between revisions
Moved LaTeX into a Markup Languages section |
Formatting |
||
Line 5: | Line 5: | ||
=Programming Languages= |
=Programming Languages= |
||
==[[Ada]]== |
==[[Ada]]== |
||
Compiler: [[GCC]] 4.1.2 |
'''Compiler:''' [[GCC]] 4.1.2 |
||
procedure Empty is begin null; end; |
procedure Empty is begin null; end; |
||
==[[BASIC]]== |
==[[BASIC]]== |
||
Compiler: [[QBASIC]] |
'''Compiler:''' [[QBASIC]] |
||
END |
END |
||
==[[C]]== |
==[[C]]== |
||
Compiler: [[GCC]] 4.0.3 |
'''Compiler:''' [[GCC]] 4.0.3 |
||
int main (int argc, char *argv[]) |
int main (int argc, char *argv[]) |
||
Line 23: | Line 23: | ||
==[[C Sharp|C#]]== |
==[[C Sharp|C#]]== |
||
Compiler: Microsoft (R) Visual C# 2005 Compiler version 8.00 |
'''Compiler:''' Microsoft (R) Visual C# 2005 Compiler version 8.00 |
||
static class Program |
static class Program |
||
Line 33: | Line 33: | ||
==[[C plus plus|C++]]== |
==[[C plus plus|C++]]== |
||
Compiler: [[GCC]] 4.0.3 |
'''Compiler:''' [[GCC]] 4.0.3 |
||
void main ( int /*argc*/, char * * /*argv*/ ) |
void main ( int /*argc*/, char * * /*argv*/ ) |
||
Line 81: | Line 81: | ||
==[[Pascal]]== |
==[[Pascal]]== |
||
Compiler: Borland Pascal |
'''Compiler:''' Borland Pascal |
||
program ProgramName; |
program ProgramName; |
||
Line 90: | Line 90: | ||
==[[Perl]]== |
==[[Perl]]== |
||
Interpreter: [[Perl]] 5.8.8 |
'''Interpreter:''' [[Perl]] 5.8.8 |
||
#!/usr/bin/perl |
#!/usr/bin/perl |
||
Line 106: | Line 106: | ||
==[[Python]]== |
==[[Python]]== |
||
Interpreter: [[Python]] 2.4.3 |
'''Interpreter:''' [[Python]] 2.4.3 |
||
#!/usr/bin/env python |
#!/usr/bin/env python |
||
==[[Ruby]]== |
==[[Ruby]]== |
||
Interpreter: [[Ruby]] 1.8.5 |
'''Interpreter:''' [[Ruby]] 1.8.5 |
||
#!/usr/bin/env ruby |
#!/usr/bin/env ruby |
||
Line 120: | Line 120: | ||
==[[UNIX Shell]]== |
==[[UNIX Shell]]== |
||
Interpreter: [[Debian Almquist SHell]] |
'''Interpreter:''' [[Debian Almquist SHell]] |
||
#!/bin/sh |
#!/bin/sh |
||
Interpreter: [[Bourne Again SHell]] |
'''Interpreter:''' [[Bourne Again SHell]] |
||
#!/bin/bash |
#!/bin/bash |
||
==[[Visual Basic .NET|VB.NET]]== |
==[[Visual Basic .NET|VB.NET]]== |
||
Compiler: Microsoft (R) Visual Basic Compiler version 8.0 |
'''Compiler:''' Microsoft (R) Visual Basic Compiler version 8.0 |
||
Module General |
Module General |
||
Line 137: | Line 137: | ||
==[[xTalk]]== |
==[[xTalk]]== |
||
Interpreter: [[HyperCard]] |
'''Interpreter:''' [[HyperCard]] |
||
on startup |
on startup |
||
Line 144: | Line 144: | ||
=Markup Languages= |
=Markup Languages= |
||
==[[LaTeX]]== |
==[[LaTeX]]== |
||
Compiler: pdfeTeXk, Version 3.141592-1.30.4-2.2 (Web2C 7.5.5), LaTeX2e |
'''Compiler:''' [[pdfeTeXk]], Version 3.141592-1.30.4-2.2 (Web2C 7.5.5), [[LaTeX2e]] (2003/12/01) |
||
\documentclass{article} |
\documentclass{article} |
Revision as of 00:23, 24 January 2007
![Task](http://static.miraheze.org/rosettacodewiki/thumb/b/ba/Rcode-button-task-crushed.png/64px-Rcode-button-task-crushed.png)
You are encouraged to solve this task according to the task description, using any language you may know.
In this task, the goal is to create the simplest possible program that is still considered "correct."
Programming Languages
Ada
Compiler: GCC 4.1.2
procedure Empty is begin null; end;
BASIC
Compiler: QBASIC
END
C
Compiler: GCC 4.0.3
int main (int argc, char *argv[]) { return 0; }
C#
Compiler: Microsoft (R) Visual C# 2005 Compiler version 8.00
static class Program { static void Main(string[] args) { } }
C++
Compiler: GCC 4.0.3
void main ( int /*argc*/, char * * /*argv*/ ) { // Unused arguments should not be named // There are variations: // 1: The return value may be `int`; if so, main *must* return a value // 2: The arguments may be omitted entirely }
Haskell
Standard: Haskell98
module Main where
main :: IO () main = return ()
Java
Compiler: Sun javac, JDK 1.5.0 and up
public class EmptyMainClass { public static void main(String[] args) { } }
public class EmptyApplet extends java.applet.Applet { @Override public void init() { } }
Compiler: Sun javac, JDK 1.0 and Up
public class EmptyMainClass { public static void main(String[] args) { } }
public class EmptyApplet extends java.applet.Applet { public void init() { } }
@Override will be telling the compiler need to override this function. It's presents from JDK 5.0 (1.5.0) and up
Actually this is not strictly correct. The smallest possible correct program in Java is an empty source file.
Pascal
Compiler: Borland Pascal
program ProgramName; begin end.
Perl
Interpreter: Perl 5.8.8
#!/usr/bin/perl
Is this correct? As far as I am aware, that is a shell statement, not perl code. It instructs the shell as to where to find the interpreter to use.
#!/usr/bin/ksh
Would use the korn shell. etc..?
PHP
<?php ?>
Python
Interpreter: Python 2.4.3
#!/usr/bin/env python
Ruby
Interpreter: Ruby 1.8.5
#!/usr/bin/env ruby
Starting an Interactive RuBy shell
irb
UNIX Shell
Interpreter: Debian Almquist SHell
#!/bin/sh
Interpreter: Bourne Again SHell
#!/bin/bash
VB.NET
Compiler: Microsoft (R) Visual Basic Compiler version 8.0
Module General Sub Main() End Sub End Module
xTalk
Interpreter: HyperCard
on startup end startup
Markup Languages
LaTeX
Compiler: pdfeTeXk, Version 3.141592-1.30.4-2.2 (Web2C 7.5.5), LaTeX2e (2003/12/01)
\documentclass{article} \begin{document} \end{document}