Perhaps I should have post this as my first message to the group, but I will add it anyway for completeness. Or in case someone wants to try Scala out and at least you can grap this template to start pasting code to trying it out for other examples.

object Hello {
  def main(args: Array[String]): Unit = {
println("Hello world.")
}
}

Save above into Hello.scala, then compile and run your program like these:
powerbookg4:tmp zemian$ scalac Hello.scala
powerbookg4:tmp zemian$ scala Hello
Hello world.

Note that Scala main entry program is a "object" instead of "class". "object" in Scala is like a class that define a type, but it force it to be a singleton(only one instance), so it almost like "static" in Java. Your main entry in command line must be an object with the main method defined.


You may turn your source file into a script by enter a expression that invoke the main method on the end of the file, and then run it through "scala" instead of compiling it. For example:

object Hello {
  def main(args: Array[String]): Unit = {
println("Hello world.")
}
}
Hello.main(args)

Note that variable "args" is predefined when you run it as script. To run it, just invoke like this:
powerbookg4:tmp zemian$ scala Hello.scala
Hello world.

Note the difference. 1 no compile. 2 you give scala the script file name, not the type name!


Happy programming!

Views: 36

Happy 10th year, JCertif!

Notes

Welcome to Codetown!

Codetown is a social network. It's got blogs, forums, groups, personal pages and more! You might think of Codetown as a funky camper van with lots of compartments for your stuff and a great multimedia system, too! Best of all, Codetown has room for all of your friends.

When you create a profile for yourself you get a personal page automatically. That's where you can be creative and do your own thing. People who want to get to know you will click on your name or picture and…
Continue

Created by Michael Levin Dec 18, 2008 at 6:56pm. Last updated by Michael Levin May 4, 2018.

Looking for Jobs or Staff?

Check out the Codetown Jobs group.

 

Enjoy the site? Support Codetown with your donation.



InfoQ Reading List

Architectural Lessons From Patreon's Year in Review

In 2025, Patreon’s engineering team expertly balanced feature delivery for 10M+ members with vital infrastructure upgrades. Their Year in Review highlights 12 projects focused on maintenance and evolution, emphasizing resilient migration, data model refactoring, and strategic consistency trade-offs, ultimately redefining backend operations while enhancing system reliability and performance.

By Patrick Farry

Google Boosts ART Compile Times by 18% Without Compromising Code Quality

Google's Android Runtime (ART) team has achieved a 18% reduction in compile times for Android code without compromising code quality or increasing peak memory usage, delivering significant performance improvements for both just-in-time (JIT) and ahead-of-time (AOT) compilation.

By Sergio De Simone

QCon AI New York 2025: AI Works, PRs Don't: How AI Is Breaking the SDLC and What To Do About It

Michael Webster, Principal Engineer at CircleCI, presented “AI Works, Pull Requests Don’t: How AI Is Breaking the SDLC and What To Do About It” at QCon AI New York 2025. Webster discussed the impact of AI on the Software Development Lifecycle (SDLC) and Continuous Integration/Continuous Delivery (CI/CD) processes at CircleCI.

By Michael Redlich

AWS Announces New Amazon EKS Capabilities to Simplify Workload Orchestration

Amazon Web Services has launched Amazon EKS Capabilities, a set of fully managed, Kubernetes-native features designed to streamline workload orchestration, AWS cloud resource management, and Kubernetes resource composition and automation.

By Craig Risi

Open-Source Agent Sandbox Enables Secure Deployment of AI Agents on Kubernetes

The Agent Sandbox is an open-source Kubernetes controller that provides a declarative API for managing a single, stateful pod with stable identity and persistent storage. It is particularly well suited for creating isolated environments to execute untrusted, LLM-generated code, as well as for running other stateful workloads.

By Sergio De Simone

© 2025   Created by Michael Levin.   Powered by

Badges  |  Report an Issue  |  Terms of Service