Codetown ::: a software developer's community
object Hello {
def main(args: Array[String]): Unit = {
println("Hello world.")
}
}
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)
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!
Tags:
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.
Created by Michael Levin Dec 18, 2008 at 6:56pm. Last updated by Michael Levin May 4, 2018.
Check out the Codetown Jobs group.

Nicole Forsgren discusses the "AI Productivity Paradox", explaining why generating code faster often makes deployment bottlenecks more expensive. She shares the DevEx framework to help architects and leaders systematically remove friction. Learn how to use DORA metrics and RICE prioritization to make a data-driven case for platform health.
By Nicole Forsgren
Most SwiftUI educational content focuses on small projects and sample apps that do not explain what it means to adopt it in a 50 million user app developed by a team of 20+ iOS engineers. This article will attempt to fill this gap. and show how to succeed without breaking your team, your app, or your users' trust along the way.
By Jimit Patel
Digital sovereignty is about maintaining control of critical systems by limiting reliance on any single vendor. Open standards and portable architectures reduce lock‑in and keep migration options open, even when providers change pricing, licensing, or viability. Full independence is impossible, but disciplined design and clear guardrails strengthen resilience.
By Jakob Beckmann
At QCon London 2026, James Hall discussed running AI workloads directly in browsers, highlighting local processing benefits such as enhanced privacy, reduced latency and cost. He examined technologies like Transformers.js and WebGPU, illustrated practical applications, and provided guidelines for browser-based AI implementation, emphasizing appropriate use cases and evaluation principles.
By Daniel Curtis
Netflix engineers built Graph Abstraction, a high-throughput platform managing 650 TB of graph data with millisecond latency. Supporting services from Netflix Gaming’s social graphs to operational topology graphs, it maintains global availability via asynchronous replication. This article covers its architecture, caching, and traversal design for high-scale performance.
By Leela Kumili
© 2026 Created by Michael Levin.
Powered by