Skip to content

Latest commit

 

History

History
32 lines (27 loc) · 3.15 KB

scala.md

File metadata and controls

32 lines (27 loc) · 3.15 KB

Back to catalogue

A Scalable language

Scala is an acronym for “Scalable Language”. This means that Scala grows with you. At the root, the language’s scalability is the result of a careful integration of object-oriented and functional language concepts. Scala is the preferred workhorse language for many mission-critical server systems. The generated code is on a par with Java’s and its precise typing means that many problems are caught at compile-time rather than after deployment.

Object-Oriented

Scala is a pure-bred object-oriented language. Conceptually, every value is an object and every operation is a method call. The language supports advanced component architectures through classes and traits.

Functional

Even though its syntax is fairly conventional, Scala is also a full-blown functional language. It has everything you would expect, including first-class functions, a library with efficient immutable data structures, and a general preference of immutability over mutation.

Seamless Java Interop

Scala runs on the JVM. Java and Scala classes can be freely mixed, no matter whether they reside in different projects or in the same. They can even mutually refer to each other, the Scala compiler contains a subset of a Java compiler to make sense of such recursive dependencies.

Fun

Maybe most important is that programming in Scala tends to be very enjoyable. No boilerplate, rapid iteration, but at the same time the safety of a strong static type system. As Graham Tackley from the Guardian says: “We’ve found that Scala has enabled us to deliver things faster with less code. It’s reinvigorated the team.”

Application Instructions

  • Twitter: Your proposal should contain at least the following information, but feel free to include anything that you think is relevant:
  • Please include your name and contact details
  • Title of your proposal
  • Abstract of your proposal
  • Detailed description of your idea including an explanation on why is it innovative, what contribution do you expect to make to the Scala community and why do you think your project is needed, a rough plan of your development and possible architecture sketches.
  • Description of previous work, existing solutions
  • Write us about yourself and convince us that you are the right person for the job (linking to your resume/CV is good but not sufficient)
    • Mention the details of your academic studies, any previous work, internships
    • Any relevant skills that will help you to achieve the goal?
    • Any previous open-source projects you have contributed to?
    • Do you plan to have any other commitments during SoC that may affect your work? Any vacations/holidays planned? Please be specific as much as you can.
  • If you apply to more than one GSoC project, especially if you also apply for a project in another organization, specify which project has your preference. In case two organizations choose to accept your applications, we can then give you the project that is most important to you. Preferring the project of another organization will not influence our decision whether to accept your application.