2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
During this webinar, Anand Bagmar demonstrates how AI tools such as ChatGPT can be applied to various stages of the software development life cycle (SDLC) using an eCommerce application case study. Find the on-demand recording and more info at https://applitools.info/b59
Key takeaways:
• Learn how to use ChatGPT to add AI power to your testing and test automation
• Understand the limitations of the technology and where human expertise is crucial
• Gain insight into different AI-based tools
• Adopt AI-based tools to stay relevant and optimize work for developers and testers
* ChatGPT and OpenAI belong to OpenAI, L.L.C.
More than Just Lines on a Map: Best Practices for U.S Bike Routes
This session highlights best practices and lessons learned for U.S. Bike Route System designation, as well as how and why these routes should be integrated into bicycle planning at the local and regional level.
Presenters:
Presenter: Kevin Luecke Toole Design Group
Co-Presenter: Virginia Sullivan Adventure Cycling Association
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
Has your project been caught in a storm of deadlines, clashing requirements, and the need to change course halfway through? If yes, then check out how the administration team navigated through all of this, relocating 160 people from 3 countries and opening 2 offices during the most turbulent time in the last 20 years. Belka Games’ Chief Administrative Officer, Katerina Rudko, will share universal approaches and life hacks that can help your project survive unstable periods when there seem to be too many tasks and a lack of time and people.
This presentation was designed to provide strategic recommendations for a brand in decline. The deck also incorporates a situational assessment, including a brand identity, positioning, architecture, and portfolio strategy for the Brand.
Presentation originally created for NYU Stern's Brand Strategy course. Design by Erica Santiago & Chris Alexander.
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
During this webinar, Anand Bagmar demonstrates how AI tools such as ChatGPT can be applied to various stages of the software development life cycle (SDLC) using an eCommerce application case study. Find the on-demand recording and more info at https://applitools.info/b59
Key takeaways:
• Learn how to use ChatGPT to add AI power to your testing and test automation
• Understand the limitations of the technology and where human expertise is crucial
• Gain insight into different AI-based tools
• Adopt AI-based tools to stay relevant and optimize work for developers and testers
* ChatGPT and OpenAI belong to OpenAI, L.L.C.
More than Just Lines on a Map: Best Practices for U.S Bike Routes
This session highlights best practices and lessons learned for U.S. Bike Route System designation, as well as how and why these routes should be integrated into bicycle planning at the local and regional level.
Presenters:
Presenter: Kevin Luecke Toole Design Group
Co-Presenter: Virginia Sullivan Adventure Cycling Association
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
Has your project been caught in a storm of deadlines, clashing requirements, and the need to change course halfway through? If yes, then check out how the administration team navigated through all of this, relocating 160 people from 3 countries and opening 2 offices during the most turbulent time in the last 20 years. Belka Games’ Chief Administrative Officer, Katerina Rudko, will share universal approaches and life hacks that can help your project survive unstable periods when there seem to be too many tasks and a lack of time and people.
This presentation was designed to provide strategic recommendations for a brand in decline. The deck also incorporates a situational assessment, including a brand identity, positioning, architecture, and portfolio strategy for the Brand.
Presentation originally created for NYU Stern's Brand Strategy course. Design by Erica Santiago & Chris Alexander.
Java Forum Stuttgart 2010: Scala 2.8.0 - Was gibt's Neues?
1. Java Forum Stuttgart 1
Scala 2.8.0 – Was gibt’s Neues?
Prof. Dr. Oliver Braun
o.braun@fh-sm.de
Fakult¨t Informatik
a
Fachhochschule Schmalkalden
01. Juli 2010
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
2. Java Forum Stuttgart 2
¨
Uberblick
urspr¨nglich nur Collections neu schreiben
u
18 Monate Entwicklungszeit
parallel viele andere Erneuerungen
bessere IDE-Unterst¨tzung
u
neue Tools: scalap, scaladoc2
Typ-Inferenz f¨r Typ-Konstruktoren
u
verbesserte Actors
Unterst¨tzung f¨r Continuations
u u
...
Martin Odersky auf den Scala Days 2010 (sinngem¨ß):
a
es w¨re eigentlich 3.0 angebracht
a
aber 2.8 ist schon announced
und wird bereits in B¨chern etc. referenziert
u
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
3. Java Forum Stuttgart 3
Inhalt
Named Arguments
Default Arguments
Scala 2.8 Collections
Package-Objekte
Arrays in Scala 2.8
Typ-Spezialisierung
Nested Packages
Scaladoc 2
Scala IDE for Eclipse
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
4. Java Forum Stuttgart 4
Named Arguments
Parameter in Funktionsdefinitionen haben Namen, z.B.
def f ( a : I n t , b : B o o l e a n ) = i f ( b ) a e l s e 0
diese Namen k¨nnen ab Scala 2.8.0 nicht nur innerhalb der
o
Funktion, sondern auch beim Aufruf der Funktion in der
Parameterliste genutzt werden, z.B.
f (a = 7 , b = false )
f ( b = true , a = 1 2 )
f (18 , b = true )
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
5. Java Forum Stuttgart 5
Named Arguments (2)
nicht erlaubt
f ( b = true , 1 ) // error: positional after named argument
f ( true , a = 2 ) // error: parameter specified twice: a
(fast) keine Verwechslung mit Zuweisungen m¨glich
o
v ar a = 5
f ( a = a + 1 , b = f a l s e ) // named argument
eine Zuweisung der Form a = a + 1 hat den Typ Unit
bei by-name-Argumenten mit dem Ergebnistyp Unit kann es
Probleme geben Compiler-Error
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
6. Java Forum Stuttgart 6
Default Arguments
bei der Definition einer Funktion k¨nnen Default Arguments
o
angegeben werden, z.B.
def f ( a : I n t , b : B o o l e a n = t r u e ) =
i f (b) a else 0
damit kann das Argument beim Aufruf weg gelassen werden
f (7)
f ( a = 12)
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
7. Java Forum Stuttgart 7
Default Arguments (2)
Named und Default Arguments zusammen machen einfache
¨
Uberladung obsolet
c l a s s R a t i o n a l ( v a l numer : I n t = 0 ,
v a l denom : I n t = 1 )
4 Konstruktoren“
”
new R a t i o n a l ( ) // 0 1
new R a t i o n a l ( 2 ) // 2 1
0
new R a t i o n a l ( denom = 2 ) // 2
new R a t i o n a l ( 5 , 3 ) // 53
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
8. Java Forum Stuttgart 8
Default Arguments (3)
Achtung: Default Arguments ersetzen nicht die
Implementierung uberladener Methoden
¨
Beispiel:
trait MyTrait {
def f ( i : I n t ) : Double
def f ( i : I n t , d : Double ) : Double
}
class MyClass extends MyTrait { // e r r o r
def f ( i : I n t , d : Double = 1 ) = i ∗ d
}
f¨hrt zu
u
error: class MyClass needs to be abstract,
since method f in trait MyTrait of
type (i: Int)Double is not defined
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
9. Java Forum Stuttgart 9
copy-Methode f¨r Case-Klassen
u
F¨r Case-Klassen wird copy-Methode dank Named und Default
u
Arguments automatisch generiert.
Beispiel:
case c l a s s C o n f e r e n c e ( name : S t r i n g , y e a r : I n t )
v a l j f s 2 0 1 0 = C o n f e r e n c e ( ” J a v a Forum S t u t t g a r t ” ,
2010)
v a l j f s 2 0 1 1 = j f s 2 0 1 0 copy ( y e a r = 2 0 1 1 )
// Conference(Java Forum Stuttgart,2011)
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
10. Java Forum Stuttgart 10
Scala 2.8 Collections
mit 2.8.0 Redesign der Scala-Collections-Bibliothek
alle Collection-Klassen sind in scala.collection
die meisten Basis-Klassen1 existieren in 3 Formen
1 in scala.collection.immutable
2 in scala.collection.mutable
3 in scala.collection
einzige Ausnahme ist Buffer-Trait (immer mutable)
die Klassen in scala.collection haben das selbe Interface
wie die entsprechende in scala.collection.immutable
. . . sind aber nicht garantiert unver¨nderbar
a
die Klassen in scala.collection.mutable haben zus¨tzlich
a
noch Methoden die den Zustand ver¨ndern k¨nnen
a o
1
siehe n¨chste Folie
a
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
11. Java Forum Stuttgart 11
Die wichtigsten Collection-Basisklassen
Traversable
|
|
Iterable
|
+---------------+-------------------+
| | |
Map Set Seq
| | |
| +--------+ +-------+---------+
| | | | | |
SortedMap SortedSet BitSet Buffer Vector LinearSeq
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
12. Java Forum Stuttgart 12
Erzeugen einer Instanz
. . . durch Angabe des Klassennamens und der Elemente in
Klammern, z.B.
T r a v e r s a b l e (1 , 2 , 3)
Map( ”B” −> ” B e r l i n ” , ”S” −> ” S t u t t g a r t ” )
S e t ( ” J a v a ” , ”Forum” , ” S t u t t g a r t ” )
genauso f¨r spezifische Implementierungen
u
L i s t (1 , 2 , 3)
HashMap ( 1 −> ” one ” , 2 −> ” two ” )
Repr¨sentation als Zeichenkette mit toString auf die gleiche
a
Weise
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
13. Java Forum Stuttgart 13
Seq
Sequenzen sind partielle Funktionen von Int zu dem
Elementtyp, beginnend bei 0
Sequenzen definieren eine Methode apply2 zum Indizieren
Beispiel
v a l l i s t = L i s t ( ” H a l l o ” , ” Welt ” )
l i s t ( 1 ) // Welt
2
Ein Ausdruck der Form <objectname>(<parameterlist>) wird in
Scala immer expandiert zu <objectname>.apply(<parameterlist>)
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
14. Java Forum Stuttgart 14
Set
apply ist identisch zur contains-Methode, d.h.
val s e t = Set (1 ,2 ,3)
s e t ( 2 ) // true, entspricht set.contains(2)
s e t ( 4 ) // false, entspricht set.contains(4)
Elemente hinzuf¨gen oder entfernen
u
immutable: Set(1,2) + 3 und Set(1,2) - 2
mutable: set += 3 und set -= 2
Argumentliste mit mehreren Argumenten
v a l s e t 2 = s e t − ( 3 , 2 ) // Set(1)
Mengenoperationen wie Vereinigung (union, |), Schnitt
(intersect, &), Mengendifferenz (diff, &~)
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
15. Java Forum Stuttgart 15
Map
apply gibt Wert zur¨ck oder wirft Exception
u
map ( k e y ) // value oder Exception
Lookup-Methode get nutzt den Option-Datentyp3
def g e t ( k e y ) : O p t i o n [ V a l u e ]
im Wesentlichen gleiche Methoden wie Set: +, -, +=, -=, . . .
3
Option[A] hat die beiden Werte None und Some(x) f¨r ein x: A
u
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
16. Java Forum Stuttgart 16
Map (2)
Updates mit verschiedener Syntax m¨glich4
o
map ( 5 ) = ” f i v e ”
map . u p d a t e ( 5 , ” f i v e ” )
map + ( 5 −> ” f i v e ” )
=
f¨r immutable Maps
u
map . u p d a t e d ( 5 , ” f i v e ” )
map + ( 5 −> ” f i v e ” )
4
Ein Ausdruck der Form
<objectname>(<parameterlist>) = <expression>
wird in Scala immer expandiert zu
<objectname>.update(<parameterlist>, <expression>)
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
17. Java Forum Stuttgart 17
Migration zu neuen Collection-Klassen
die in Scala 2.8.0 neu eingef¨hrten Package-Objekte
u
erleichtern Migration
package o b j e c t s c a l a {
type L i s t [+A ] =
s c a l a . c o l l e c t i o n . immutable . L i s t [A]
val L i s t =
s c a l a . c o l l e c t i o n . immutable . L i s t
// . . .
}
das Scala-Package-Objekt muss in scala/package.scala
gespeichert werden
die dort definierten Member sind dann Teil des Packages
damit gibt es neben scala.collection.immutable.List
auch scala.List
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
18. Java Forum Stuttgart 18
Arrays in Scala
Spannungsfeld
Interoperabilit¨t mit Java / Effizienz von Java-Arrays
a
vs.
die Vielzahl von Methoden der Scala-Collections soll auch mit
Arrays nutzbar sein
Scala bis 2.7.x nutzt Boxing / Unboxing / Compiler Magic
Probleme und zum Teil schlechte Performanz
auf Scala-Arrays konnten zwar viele Collection-Methoden
angewendet werden, aber das Ergebnis war kein Array mehr
gleiches Problem mit String und RichString
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
19. Java Forum Stuttgart 19
Scala 2.8 Arrays
entsprechen Java Arrays
implizite Umwandlung in ArrayOps f¨r die
u
Collection-Methoden ⇒ geben Arrays zur¨ck
u
moderen VMs k¨nnen die impliziten Konversionen eliminieren
o
Overhead nahe Null
zweite implizite Umwandlung in echte“ Seq: WrappedArray
”
Auswahl von uberladenen Methoden und Implicits in 2.8.0
¨
liberalisiert:
Priorisierung von Implicits
Analog: StringOps und WrappedString
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
20. Java Forum Stuttgart 20
Generische Arrays
Java erlaubt keine Typparameter im Zusammenhang mit
Arrays
Scala erlaubt aber beispielsweise
new A r r a y [ T ] // f¨r T ist Typparameter
u
⇒ ben¨tigt Runtime-Information uber T
o ¨
Mechanismus heisst Manifest
Manifest[T] kann f¨r bekannte Typen vom Compiler
u
generiert werden und wird als impliziter Parameter ubergeben
¨
abgeschw¨chte Version ClassManifest kann erzeugt werden
a
wenn nur Top-Level-Klasse eines Typen bekannt ist (reicht f¨r
u
Arrays)
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
21. Java Forum Stuttgart 21
Generische Arrays (2)
Beispiel
def l i s t T o A r r a y [T] ( l i s t : L i s t [T] )
( i m p l i c i t m: C l a s s M a n i f e s t [ T ] ) = {
v a l x s = new A r r a y [ T ] ( l i s t . l e n g t h )
f o r ( i <− 0 u n t i l l i s t . l e n g t h ) x s ( i ) = l i s t ( i )
xs
}
k¨rzer mit Context Bound
u
def l i s t T o A r r a y [T: C l a s s M a n i f e s t ]
( l i s t : L i s t [ T ] ) = { // . . .
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
22. Java Forum Stuttgart 22
Generische Arrays (3)
Funktion die listToArray nutzt und selbst Typparameter hat
muss auch Manifest bieten:
d e f mkArray [ T : C l a s s M a n i f e s t ] ( x : T∗ ) =
listToArray (x . toList )
GenericArray ist immer Java-Referenz-Array und braucht
daher kein Manifest
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
23. Java Forum Stuttgart 23
Typ-Spezialisierung
Scalas parametrischer Polymorphismus basiert auf Type
Erasure
f¨r primitive Typen heisst das Un-/Boxing
u
Unit, Boolean, Byte, Short, Char, Int, Long, Float,
Double
⇒ ca. 10 mal langsamer
⇒ Programmierer nehmen keine generischen Collections
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
24. Java Forum Stuttgart 24
Typ-Spezialisierung (2)
Ausweg: Type Specialization in Scala 2.8
c l a s s V e c t o r [@ s p e c i a l i z e d A ] {
def a p p l y ( i : I n t ) : A = // . . .
def map [@ s p e c i a l i z e d ( I n t , B o o l e a n ) B ]
( f : A = B) = // . . .
>
}
Compiler erzeugt generische Klasse Vector und spezialisierte
f¨r jeden primitiven Typ
u
map wird f¨r Int und Boolean spezialisiert
u
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
25. Java Forum Stuttgart 25
Nested Packages
Java hat nur absolute Packages, in Scala k¨nnen Packages
o
verschachtelt werden
Pre-2.8:
package n e t . o b r a u n
import j a v a . u t i l . S c a n n e r
schl¨gt fehl, wenn es ein Sub-Package net.java gibt
a
2.8:
package n e t . o b r a u n
sucht nicht in net
package n e t
package o b r a u n
sucht in net
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
26. Java Forum Stuttgart 26
Neues Scaladoc
moderneres Layout
Tags, wie in Javadoc
@author
@param
@return
...
Wiki-Syntax in
Sourcecode-
Kommentaren
Makros
@define <name> <body>
nutzbar als $name
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
27. Java Forum Stuttgart 27
Eclipse-Plugin
gemischte
Scala/Java-Projekte
Syntax Highlighting
Code-Completion
Hyperlinks zu
Definitionen
Error Markers
Debugging
...
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?
28. Java Forum Stuttgart 28
Vielen Dank f¨r die Aufmerksamkeit – Fragen?
u
02.12.2010
Die Sprache Scala
Die Tools
Interpreter / Compiler
...
Simple Build Tool
ScalaDoc / ScalaCheck
/ ScalaTest / . . .
Die Frameworks
Lift
Akka
...
c 2010 Oliver Braun Scala 2.8.0 – Was gibt’s Neues?