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: 32

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

Atlassian's 4 Million PostgreSQL Database Migration: When Standard Cloud Strategies Fail

Atlassian recently migrated 4 million Jira databases to Amazon Aurora, intending to reduce costs and improve the reliability of its Jira Cloud platform. Due to the large number of files involved and the constraints of managed services, the team developed a custom tool to orchestrate the process, as traditional cloud migration strategies were not viable.

By Renato Losio

LM Studio 0.3.17 Adds Model Context Protocol (MCP) Support for Tool-Integrated LLMs

LM Studio has released version 0.3.17, introducing support for the Model Context Protocol (MCP) — a step forward in enabling language models to access external tools and data sources. Originally developed by Anthropic, MCP defines a standardized interface for connecting LLMs to services such as GitHub, Notion, or Stripe, enabling more powerful, contextual reasoning.

By Robert Krzaczyński

Grafana Tempo 2.8 Released: Major TraceQL Enhancements and Memory Optimizations

Grafana released Tempo 2.8 on June 12, 2025, introducing substantial memory optimizations and expanded functionality in its trace query language, TraceQL. This update is part of an ongoing effort to make distributed tracing more performant and accessible within observability stacks.

By Craig Risi

Gemma 3n Introduces Novel Techniques for Enhanced Mobile AI Inference

Launched in early preview last May, Gemma 3n is now officially available. It targets mobile-first, on-device AI applications, using new techniques designed to increase efficiency and improve performance, such as per-layer embeddings and transformer nesting.

By Sergio De Simone

Article: Effective Practices for Coding with a Chat-Based AI

In this article, we explore how AI agents are reshaping software development and the impact they have on a developer’s workflow. We introduce a practical approach to staying in control while working with these tools by adopting key best practices from the discipline of software architecture, including defining an implementation plan, splitting tasks, and so on.

By Enrico Piccinin

© 2025   Created by Michael Levin.   Powered by

Badges  |  Report an Issue  |  Terms of Service