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

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

Cloudflare Launches Code Mode MCP Server to Optimize Token Usage for AI Agents

Cloudflare has launched a new Model Context Protocol (MCP) server powered by Code Mode, enabling AI agents to interact with large APIs with minimal token usage. The server reduces context footprint across 2,500+ endpoints, improves multi-API orchestration, and provides a secure, code-centric execution environment for LLM agents.

By Leela Kumili

Presentation: From VR to Flat Screens: Bridging the Input and Immersion Gap

Dany Lepage discusses the architectural journey of porting a hit VR title to seven non-VR platforms. He explains how his team solved the challenges of cross-progression, diverse input paradigms, and maintaining release velocity across Steam, iOS, and PlayStation. Beyond the tech, he shares candid lessons on the "product fit" gap when translating immersive social presence to 2D screens.

By Dany Lepage

Platform as a Product: Delivering Value While Balancing Competing Priorities

Software platforms must be treated as products. Success requires balancing engineering, design, usability, security, and value for internal customers and the organisation, Abby Bangser mentioned in her talk Platform as a Product. A product mindset, clear ownership, and continuous investment prevent bottlenecks, platform decay, and wasted effort, enabling scalable, sustainable value over time.

By Ben Linders

Cursor 3 Introduces Agent-First Interface, Moving Beyond the IDE Model

Anysphere released Cursor 3, a redesigned interface built from scratch that shifts the primary model from file editing to managing parallel coding agents. The new workspace supports local-to-cloud agent handoff, multi-repo parallel execution, and a plugin marketplace. Community reaction has been divided, with developers questioning cost overhead and the move away from Cursor's IDE-first identity.

By Steef-Jan Wiggers

OpenTelemetry Declarative Configuration Reaches Stability Milestone

The OpenTelemetry project has announced that key portions of its declarative configuration specification have reached stable status. The observability framework is a vendor-neutral and language-agnostic way to configure telemetry collection.

By Matt Saunders

© 2026   Created by Michael Levin.   Powered by

Badges  |  Report an Issue  |  Terms of Service