This document provides information about HUJAK, a Croatian organization that promotes Java and software development. It discusses HUJAK's role in organizing Java conferences in Croatia, supporting STEM education for children, and connecting Java developers. It also summarizes Java's continued popularity and growth, and outlines some of the upcoming projects that aim to further develop the Java programming language.
The document discusses Java's continued popularity and evolution. It provides statistics showing Java remains the #1 and #3 most popular programming language. It outlines the various JDK releases available and describes how Java continues to innovate through incremental 6-month releases while ensuring backwards compatibility. It also discusses proposals to shift to releasing long-term support versions every 2 years instead of every 3 years to better meet developer and enterprise needs.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
In the modern "World of Java" there was a lot of interesting things going on in the last year, and many things are yet to come. A bit more than a year ago we got a long-awaited Java 9 with Jigsaw modularization and many other new features. This spring we "moved Java forward faster" and switched to Java 10 with more than 100 new features, following a new release model and versioning scheme. Only three weeks ago we got a brand-new Java 11 with more than a dozen new JEPs and accompanying features, also coming with long-term support. Now, we are already looking forward to Java 12 and other interesting stuff coming from incubator projects Amber and Valhalla, and new ideas in projects Loom, Panama, and Metropolis. Beside accelerated changes in the World of Java, there is an even larger number of modern technology trends such as IoT, Smart Devices, Cloud Computing, Artificial Intelligence, Virtual Reality, Robotics, and Blockchain, which are rapidly adopted and developers must respond to it. We will be discussing this hyper-progress from the perspective of a typical Java development team, and talk about our present and our future, globally and locally. We will tackle important technical skills Java developers need these days, and, even more important, how to acquire them. Finally, we will close with details of (y)our favorite Java community – HUJAK.
This document provides an overview of the history and popularity of Java as a programming language. It discusses the origins of Java in the 1990s, its growth in popularity globally and among developers. The document also summarizes statistics about the job market for Java developers, showing strong demand and above-average salaries. Finally, it discusses the history and activities of the Croatian Java User Group (HUJAK) in promoting Java in Croatia.
The document provides an overview of the history and evolution of Java, including key events and releases. It discusses the original Java Man fossil discovery in 1891 and notes how 100 years later, a new generation of Java Men were discovered with the creation of the Java programming language in 1991. The summary also mentions that Indy, the famous film character, served as inspiration for CroDuke Indy, HUJAK's Java conference mascot.
This document provides an overview of the current state and future of Java. It discusses the continued growth and popularity of Java over 24+ years as the #1 programming language. It summarizes the major Java Development Kit (JDK) releases from JDK 8 to the latest JDK 14 final release candidate, highlighting new features, preview features, and long-term support versions. The document also discusses the different open-source and commercial options for downloading the JDK, such as Oracle JDK, OpenJDK, Azul Zulu, and others.
The document discusses the history and future of Java. It provides timelines of Java releases and describes some of the major features of Java 8 and Java 9. It also shares survey results about which Java, Java EE and tools versions developers currently use most as well as their level of interest in upcoming Java features. The future of Java is depicted as focusing on modularity, HTTP/2, JSON, cloud optimization and ahead-of-time compilation.
HUJAK Community keynote presentation
Branko Mihaljević
Stjepan Matijašević
Hrvoje Đurđević
Slavko Žnidarić
Marin Orlić
Aleksander Radovan
Jurica Križanić
The document discusses Java's continued popularity and evolution. It provides statistics showing Java remains the #1 and #3 most popular programming language. It outlines the various JDK releases available and describes how Java continues to innovate through incremental 6-month releases while ensuring backwards compatibility. It also discusses proposals to shift to releasing long-term support versions every 2 years instead of every 3 years to better meet developer and enterprise needs.
The State of Java and Software Development in Croatia (Community Keynote) by dr. sc. Branko Mihaljević, Aleksander Radovan, and doc. dr. sc.Martin Žagar at the 8th International Java Conference in Croatia - JavaCro '19
In this community keynote by HUJAK, we want to present and compare the current state of Java and related software development in Croatia, our part of Europe, and worldwide. Therefore, we will start by discussing the latest global trends in software development and what does it mean in our rapidly evolving world full of new technologies based on IoT, Machine Learning and AI, Blockchain, Virtual Reality, and Robotics, to which we must respond to ASAP. Of course, when addressing those contemporary technology trends, we will focus mostly on our country and the region. In the other part, we will discuss the major events in the world of Java that happened in the last few years since Java 8 and Java 9/10/11 were widely adopted. We will see what Java 11 and 12 brought us and what developers are mostly using (or not) and why, as well as what will be there interesting in Java 13 and beyond, including new features from incubator projects Amber and Valhalla, and new ideas from projects Loom, Panama, Skara, and Metropolis. Once again, we are going to take a typical developer’s point of view on software development challenges in this part of Europe, and we will discuss the future of our software developers from the perspective of how to become one (educational institutions and practice) and how to get/earn a good job (local employers and the job market). We intend to close this keynote with details of (y)our favorite Java community aka HUJAK.
In the modern "World of Java" there was a lot of interesting things going on in the last year, and many things are yet to come. A bit more than a year ago we got a long-awaited Java 9 with Jigsaw modularization and many other new features. This spring we "moved Java forward faster" and switched to Java 10 with more than 100 new features, following a new release model and versioning scheme. Only three weeks ago we got a brand-new Java 11 with more than a dozen new JEPs and accompanying features, also coming with long-term support. Now, we are already looking forward to Java 12 and other interesting stuff coming from incubator projects Amber and Valhalla, and new ideas in projects Loom, Panama, and Metropolis. Beside accelerated changes in the World of Java, there is an even larger number of modern technology trends such as IoT, Smart Devices, Cloud Computing, Artificial Intelligence, Virtual Reality, Robotics, and Blockchain, which are rapidly adopted and developers must respond to it. We will be discussing this hyper-progress from the perspective of a typical Java development team, and talk about our present and our future, globally and locally. We will tackle important technical skills Java developers need these days, and, even more important, how to acquire them. Finally, we will close with details of (y)our favorite Java community – HUJAK.
This document provides an overview of the history and popularity of Java as a programming language. It discusses the origins of Java in the 1990s, its growth in popularity globally and among developers. The document also summarizes statistics about the job market for Java developers, showing strong demand and above-average salaries. Finally, it discusses the history and activities of the Croatian Java User Group (HUJAK) in promoting Java in Croatia.
The document provides an overview of the history and evolution of Java, including key events and releases. It discusses the original Java Man fossil discovery in 1891 and notes how 100 years later, a new generation of Java Men were discovered with the creation of the Java programming language in 1991. The summary also mentions that Indy, the famous film character, served as inspiration for CroDuke Indy, HUJAK's Java conference mascot.
This document provides an overview of the current state and future of Java. It discusses the continued growth and popularity of Java over 24+ years as the #1 programming language. It summarizes the major Java Development Kit (JDK) releases from JDK 8 to the latest JDK 14 final release candidate, highlighting new features, preview features, and long-term support versions. The document also discusses the different open-source and commercial options for downloading the JDK, such as Oracle JDK, OpenJDK, Azul Zulu, and others.
The document discusses the history and future of Java. It provides timelines of Java releases and describes some of the major features of Java 8 and Java 9. It also shares survey results about which Java, Java EE and tools versions developers currently use most as well as their level of interest in upcoming Java features. The future of Java is depicted as focusing on modularity, HTTP/2, JSON, cloud optimization and ahead-of-time compilation.
HUJAK Community keynote presentation
Branko Mihaljević
Stjepan Matijašević
Hrvoje Đurđević
Slavko Žnidarić
Marin Orlić
Aleksander Radovan
Jurica Križanić
The document summarizes Heather VanCura's presentation on the future of Java and the Java Community Process (JCP). Some key points:
- Java continues to grow with over 10 million developers and billions of devices running Java.
- Upcoming versions of Java platforms include Java EE 8 in 2017, Java SE 9 in 2017, and future projects like Valhalla and Panama.
- Reforms to the JCP through JCP.next aim to increase transparency, merge committees, and broaden membership.
- Many Java user groups (JUGs) around the world are participating in JCP work and hack days on Java specifications.
This document discusses Java development tools and best practices. It provides survey results on topics like the most commonly used Java versions, IDEs, frameworks, testing tools, and more. The document also covers new Java features like switch expressions, which allow switch statements to be used as expressions and simplify control flow without needing breaks. Examples demonstrate using switch expressions to yield values from a switch block.
1) HUJAK is a Java user group in Croatia that was formed in 2011 to expand the Java community.
2) Java was created in 1991 and first publicly announced in 1995. It has grown significantly in popularity and is now the most popular programming language.
3) Java 8 was released in 2014 with major new features like lambdas, and Java EE 7 specifications were approved in 2013, focusing on annotations and other modern features.
This document provides an overview of Google Summer of Code (GSoC) and the X.Org Foundation's participation in it. GSoC is a global program that brings student developers into open source software. It involves organizations applying to participate, students submitting project proposals, organizations selecting projects and students, and coding/evaluation periods over the summer. The X.Org Foundation has participated in GSoC for many years, accepting over 50 students with an 81% success rate. It also runs its own program called Endless Vacation of Code for cases where GSoC is not an option.
Some years ago development of Java Desktop applications was easy: We just downloaded Java 8 from Oracle and got a set of useful tools and framework to develop Java desktop applications:
AWT & Swing
WebStart
JavaFX
JFX Packager
If you now download a Java version from Oracle (or any other vendor) several of the mentioned tools and frameworks are gone. Some JDKs only contain AWT & Swing for desktop development and miss all the newer tools. But even if they include such tools or frameworks you have sometimes no idea about their state.
In this session I will give an overview about the differences between JDKs that you can use today and how frameworks like JavaFX are really supported by the vendors. Next to this we will have a look at all the tools that are important for building and installing desktop development. Since some like WebStart are gone you can find quite good alternatives.
This presentation was the intro video to the Virtual Technology Summit in September 2015. It gives an update about the Java releases and community updates.
This document provides an overview and timeline of SWAD, an open source learning management system developed at the University of Granada since 1999. It discusses the history and features of SWAD, the process of releasing it as free and open source software in 2010, usage statistics from its deployment at the University of Granada, and efforts to promote its international adoption through openswad.org since 2012. The success of SWAD at the university is attributed to it being open to the entire institution, training for teachers, user support, development driven by user requests, and its functionality, usability, simplicity and reliability.
Adopt OpenJDK the past, the present & the futureMani Sarkar
The document discusses the history and future of OpenJDK and Adopt OpenJDK. OpenJDK is the open-source reference implementation of Java SE since Java 7. It was launched by Sun Microsystems in 2006 and later adopted by Oracle. Adopt OpenJDK is a community initiative to improve OpenJDK and contribute patches to Java. The presentation covers what OpenJDK consists of, its history from 2006 to present, and resources for getting involved in its development going forward.
E2D3 is Opensource, Intaractive, Dynamic Data Visualization platform on Excel.
It's Easy, Useful, and Intuitive.
Use E2D3 app for powerful presentation of your data.
This document provides an overview and timeline of the development of SWAD, an open-source learning management system created at the University of Granada in 1999. It discusses the initial creation of SWAD to manage courses and students, its release as free and open-source software in 2010, and the subsequent creation of openswad.org to offer the platform for free worldwide. The summary also notes that SWAD has been used by over 150,000 users at the University of Granada and details some of the keys to its success there, such as being open to the entire university.
Open Source Portal and Mobile SolutionsAaron Grant
In this session we will show our student portal system and mobile app, MySAIL, and how we integrate it with Banner data. In our portal we display to students their class schedules, mid-term and final grades, financial aid information, progress to degree/capp, and other general student information. Additionally we use CAS, an open source project, to allow for single sign-on between MySAIL, Moodle, Banner Self Service and more.
This document summarizes an Equella briefing that covered community news and activities, sustaining engineering efforts, a community spotlight, a demonstration of the upcoming 6.6 release, and upcoming events. The briefing discussed the nearing completion of Equella 6.6 with a focus on community testing. It highlighted sustaining engineering priorities from subscribers and showed screenshots from the new 6.6 release. The briefing also promoted the upcoming Open Apereo conference in June.
This document provides an agenda for a presentation on HealthVault, Microsoft's personal health record service. The presentation will introduce HealthVault, discuss its capabilities at a high level, demonstrate the user interface, cover some key concepts, show how to program HealthVault applications, and leave time for questions. It will also advertise upcoming Microsoft events and prizes related to Windows Phone application development and interoperability initiatives.
- Keiichiro Ono presented on his experience developing and maintaining bioinformatics visualization applications over 15 years, including Cytoscape.
- Expanding applications to support new technologies like web, Python, and JavaScript is important to attract developers and connect to popular tools, but breaking API changes are difficult.
- A loosely coupled approach integrating existing applications, Jupyter notebooks, and new web apps may be better than rewriting applications from scratch.
This document summarizes a presentation about Adopt OpenJDK, an initiative to improve the OpenJDK and Java. It discusses what OpenJDK is, the benefits of contributing to it, and how to get involved at different levels, from testing to more advanced work. The presenter encourages attendees to consider joining the effort to help advance the Java ecosystem. Slides and demos are provided during the presentation, and time is allocated at the end for questions, announcements and discussion.
David Zhang is a graduate with a Master's degree in Software Engineering seeking a position as a software engineer. He has 2 years of experience in Python backend development and 1 year of front end development experience. He has worked on several projects as a full stack developer and has skills in languages like Python, Java, Ruby and frameworks like Django, AngularJS, and jQuery. He is a fast learner, good communicator, and prefers working in a team.
Robo4J (Java Duke’s Choice Award 2017) is an upcoming open source framework for quickly building IoT systems (example: robots, button activator…) using popular hardware on Java SE platform. Nice example is Coff-E, an autonomous system, partly 3D-printed system, fully running on Java.
This talk will show how to painlessly wire different types of hardware together, configure and use them on Java platform (life coding demos, raspberrypi, lcd, sensors, servos… ). You will also learn how simple is to turn your hardware units into the micro-services. Talk will also touch how we started using Robo4J at M.A.N Truck & Bus AG.
After session you should be prepared to start building your own hardware systems on Java platform. All demos will be available on Robo4J GitHub repository.
The document discusses various big data technologies, describing their purpose, developer, programming languages used, and current stable versions. It covers technologies for data storage like Hadoop, MongoDB, and Splunk Hunk. Data mining technologies mentioned include Presto, RapidMiner, and Elasticsearch. Data analytics technologies covered are Apache Kafka, Splunk, KNIME, Apache Spark, and R-Language. The document also discusses data visualization technologies like Tableau and Plotly, as well as emerging technologies like TensorFlow, Apache Beam, Docker, Apache Airflow, and Kubernetes.
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Behaviour-Driven Development (or TDD for that matter) is one of the pillars of Software Quality. While it is very important, not many of us do it or do not have the support from the management to invest time in it. Commonly, it has been described as a waste of time or an intangible effort conflicting with the deadlines. In this presentation, I would like to share my experiences with the Behaviour-Driven Development, the effects of not having it at all, as well as the outcomes of working on projects where a significant amount of behavior is automated with Cucumber tool.
By attending this session you will be able to learn what BDD and Cucumber are, how to build Cucumber tests and hear about first-hand experiences around automating specifications.
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader - Daniel Strmečki
Your success depends on others, a 1-man army can only achieve so much. The only way to progress from coder to leader is to learn how to scale yourself. Nowadays, you can become a Senior Developer with just a few years of experience. After that, there are many roads and possibilities you can take. Whether you decide for a developer, architect, manager or a mixed career, at one point, you will need to become a leader. In the first chapter of the lecture we will start a discussion on how to get there. Since your time is limited, you need to mentor, coach, motivate and engage others. Start with making a stable foundation, like setting up a proper onboarding process. If you help people around you, they will for sure talk about it, and your manager will hear it. Also, demonstrate ability in everyday work: coding, project management, client-focus, communication and care about others. Always stick to your values and keep high standards. In the second chapter we will discuss the challenges that turn up once you get there. At that point you will deal with people more than technology. You will need to step away from coding for meetings very often. Interruptions will happen every day and it we be very hard to maintain “the flow”. You will need to learn how to delegate and drive topics without implementing them yourself. Visit the lecture to find out some techniques for dealing with interruptions, meetings, prioritization, people and their motivation.
More Related Content
Similar to Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
The document summarizes Heather VanCura's presentation on the future of Java and the Java Community Process (JCP). Some key points:
- Java continues to grow with over 10 million developers and billions of devices running Java.
- Upcoming versions of Java platforms include Java EE 8 in 2017, Java SE 9 in 2017, and future projects like Valhalla and Panama.
- Reforms to the JCP through JCP.next aim to increase transparency, merge committees, and broaden membership.
- Many Java user groups (JUGs) around the world are participating in JCP work and hack days on Java specifications.
This document discusses Java development tools and best practices. It provides survey results on topics like the most commonly used Java versions, IDEs, frameworks, testing tools, and more. The document also covers new Java features like switch expressions, which allow switch statements to be used as expressions and simplify control flow without needing breaks. Examples demonstrate using switch expressions to yield values from a switch block.
1) HUJAK is a Java user group in Croatia that was formed in 2011 to expand the Java community.
2) Java was created in 1991 and first publicly announced in 1995. It has grown significantly in popularity and is now the most popular programming language.
3) Java 8 was released in 2014 with major new features like lambdas, and Java EE 7 specifications were approved in 2013, focusing on annotations and other modern features.
This document provides an overview of Google Summer of Code (GSoC) and the X.Org Foundation's participation in it. GSoC is a global program that brings student developers into open source software. It involves organizations applying to participate, students submitting project proposals, organizations selecting projects and students, and coding/evaluation periods over the summer. The X.Org Foundation has participated in GSoC for many years, accepting over 50 students with an 81% success rate. It also runs its own program called Endless Vacation of Code for cases where GSoC is not an option.
Some years ago development of Java Desktop applications was easy: We just downloaded Java 8 from Oracle and got a set of useful tools and framework to develop Java desktop applications:
AWT & Swing
WebStart
JavaFX
JFX Packager
If you now download a Java version from Oracle (or any other vendor) several of the mentioned tools and frameworks are gone. Some JDKs only contain AWT & Swing for desktop development and miss all the newer tools. But even if they include such tools or frameworks you have sometimes no idea about their state.
In this session I will give an overview about the differences between JDKs that you can use today and how frameworks like JavaFX are really supported by the vendors. Next to this we will have a look at all the tools that are important for building and installing desktop development. Since some like WebStart are gone you can find quite good alternatives.
This presentation was the intro video to the Virtual Technology Summit in September 2015. It gives an update about the Java releases and community updates.
This document provides an overview and timeline of SWAD, an open source learning management system developed at the University of Granada since 1999. It discusses the history and features of SWAD, the process of releasing it as free and open source software in 2010, usage statistics from its deployment at the University of Granada, and efforts to promote its international adoption through openswad.org since 2012. The success of SWAD at the university is attributed to it being open to the entire institution, training for teachers, user support, development driven by user requests, and its functionality, usability, simplicity and reliability.
Adopt OpenJDK the past, the present & the futureMani Sarkar
The document discusses the history and future of OpenJDK and Adopt OpenJDK. OpenJDK is the open-source reference implementation of Java SE since Java 7. It was launched by Sun Microsystems in 2006 and later adopted by Oracle. Adopt OpenJDK is a community initiative to improve OpenJDK and contribute patches to Java. The presentation covers what OpenJDK consists of, its history from 2006 to present, and resources for getting involved in its development going forward.
E2D3 is Opensource, Intaractive, Dynamic Data Visualization platform on Excel.
It's Easy, Useful, and Intuitive.
Use E2D3 app for powerful presentation of your data.
This document provides an overview and timeline of the development of SWAD, an open-source learning management system created at the University of Granada in 1999. It discusses the initial creation of SWAD to manage courses and students, its release as free and open-source software in 2010, and the subsequent creation of openswad.org to offer the platform for free worldwide. The summary also notes that SWAD has been used by over 150,000 users at the University of Granada and details some of the keys to its success there, such as being open to the entire university.
Open Source Portal and Mobile SolutionsAaron Grant
In this session we will show our student portal system and mobile app, MySAIL, and how we integrate it with Banner data. In our portal we display to students their class schedules, mid-term and final grades, financial aid information, progress to degree/capp, and other general student information. Additionally we use CAS, an open source project, to allow for single sign-on between MySAIL, Moodle, Banner Self Service and more.
This document summarizes an Equella briefing that covered community news and activities, sustaining engineering efforts, a community spotlight, a demonstration of the upcoming 6.6 release, and upcoming events. The briefing discussed the nearing completion of Equella 6.6 with a focus on community testing. It highlighted sustaining engineering priorities from subscribers and showed screenshots from the new 6.6 release. The briefing also promoted the upcoming Open Apereo conference in June.
This document provides an agenda for a presentation on HealthVault, Microsoft's personal health record service. The presentation will introduce HealthVault, discuss its capabilities at a high level, demonstrate the user interface, cover some key concepts, show how to program HealthVault applications, and leave time for questions. It will also advertise upcoming Microsoft events and prizes related to Windows Phone application development and interoperability initiatives.
- Keiichiro Ono presented on his experience developing and maintaining bioinformatics visualization applications over 15 years, including Cytoscape.
- Expanding applications to support new technologies like web, Python, and JavaScript is important to attract developers and connect to popular tools, but breaking API changes are difficult.
- A loosely coupled approach integrating existing applications, Jupyter notebooks, and new web apps may be better than rewriting applications from scratch.
This document summarizes a presentation about Adopt OpenJDK, an initiative to improve the OpenJDK and Java. It discusses what OpenJDK is, the benefits of contributing to it, and how to get involved at different levels, from testing to more advanced work. The presenter encourages attendees to consider joining the effort to help advance the Java ecosystem. Slides and demos are provided during the presentation, and time is allocated at the end for questions, announcements and discussion.
David Zhang is a graduate with a Master's degree in Software Engineering seeking a position as a software engineer. He has 2 years of experience in Python backend development and 1 year of front end development experience. He has worked on several projects as a full stack developer and has skills in languages like Python, Java, Ruby and frameworks like Django, AngularJS, and jQuery. He is a fast learner, good communicator, and prefers working in a team.
Robo4J (Java Duke’s Choice Award 2017) is an upcoming open source framework for quickly building IoT systems (example: robots, button activator…) using popular hardware on Java SE platform. Nice example is Coff-E, an autonomous system, partly 3D-printed system, fully running on Java.
This talk will show how to painlessly wire different types of hardware together, configure and use them on Java platform (life coding demos, raspberrypi, lcd, sensors, servos… ). You will also learn how simple is to turn your hardware units into the micro-services. Talk will also touch how we started using Robo4J at M.A.N Truck & Bus AG.
After session you should be prepared to start building your own hardware systems on Java platform. All demos will be available on Robo4J GitHub repository.
The document discusses various big data technologies, describing their purpose, developer, programming languages used, and current stable versions. It covers technologies for data storage like Hadoop, MongoDB, and Splunk Hunk. Data mining technologies mentioned include Presto, RapidMiner, and Elasticsearch. Data analytics technologies covered are Apache Kafka, Splunk, KNIME, Apache Spark, and R-Language. The document also discusses data visualization technologies like Tableau and Plotly, as well as emerging technologies like TensorFlow, Apache Beam, Docker, Apache Airflow, and Kubernetes.
Similar to Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan (20)
Javantura v7 - Behaviour Driven Development with Cucumber - Ivan Lozić
Behaviour-Driven Development (or TDD for that matter) is one of the pillars of Software Quality. While it is very important, not many of us do it or do not have the support from the management to invest time in it. Commonly, it has been described as a waste of time or an intangible effort conflicting with the deadlines. In this presentation, I would like to share my experiences with the Behaviour-Driven Development, the effects of not having it at all, as well as the outcomes of working on projects where a significant amount of behavior is automated with Cucumber tool.
By attending this session you will be able to learn what BDD and Cucumber are, how to build Cucumber tests and hear about first-hand experiences around automating specifications.
Javantura v7 - Learning to Scale Yourself: The Journey from Coder to Leader - Daniel Strmečki
Your success depends on others, a 1-man army can only achieve so much. The only way to progress from coder to leader is to learn how to scale yourself. Nowadays, you can become a Senior Developer with just a few years of experience. After that, there are many roads and possibilities you can take. Whether you decide for a developer, architect, manager or a mixed career, at one point, you will need to become a leader. In the first chapter of the lecture we will start a discussion on how to get there. Since your time is limited, you need to mentor, coach, motivate and engage others. Start with making a stable foundation, like setting up a proper onboarding process. If you help people around you, they will for sure talk about it, and your manager will hear it. Also, demonstrate ability in everyday work: coding, project management, client-focus, communication and care about others. Always stick to your values and keep high standards. In the second chapter we will discuss the challenges that turn up once you get there. At that point you will deal with people more than technology. You will need to step away from coding for meetings very often. Interruptions will happen every day and it we be very hard to maintain “the flow”. You will need to learn how to delegate and drive topics without implementing them yourself. Visit the lecture to find out some techniques for dealing with interruptions, meetings, prioritization, people and their motivation.
This is a story about our exploration of aspects of Polyglot Programming and Memory Management in a (J)VM. The first part is focused on our research of performance of GraalVM, an open-source, high-performance polyglot virtual machine written in Java, as well as an accompanying Graal compiler, supporting JIT and AOT compilation, with outstanding inlining and escape analysis algorithms. In the second part we are dealing with aspects of automatic memory management and garbage collection analysis in an existing JVM, thus comparing the most commonly used (older) garbage collectors such as Serial, Parallel (Old), CMS, and G1, with contemporary and default Parallel Full G1, and new experimental ZGC and Shenandoah, across several JDKs using a common benchmark suite.
We develop an application prototype with Java and Hyperledger Fabric to facilitate people in the company to sell domestic goods to each other using marketplace application. Java and SmartGWT were used to develop UI, part of data were stored in the relational DBMS, while orders and balances were stored on the blockchain, specifically Hyperledger Fabric.
Bugs happen! It is a developers life fact. Let'e explore one way we the developers can help customers to make batter bug reports.
During lifecycle of systems and applications that support complex and long running business processes it is often the challenge to get accurate bug report. In this talk we will present one custom developed solution that we used on several our projects as well as our experiences in using this approach.
With several years of remote work experience in an agile environment, working from beautiful Zagreb for clients abroad and trying out different distributed team setups, we will share the motivation and philosophy behind it. We will also cover best practices, challenges and general tips & tricks in different segments such as work organisation, technical requirements, social requirements, methodology etc.
This talk is recommended for all developers who want to start working remotely or improve the way they already do it, employers who consider establishing distributed teams inside of their companies and clients searching for partners who have distributed teams.
While Kotlin is designed to work well with Java by default, we'll still need to some work to get clean and idiomatic code in both languages.
In this talk we'll cover both how to make your Java code more Kotlin friendly and how to make your Kotlin code nicer to use from Java.
HATEOAS is without a doubt, the least understood pillar of REST. It seems difficult to implement and shows no immediate reward for it, so many developers don't even bother. The truth is, it just has some bad PR and a horrible acronym that sounds like a breakfast cereal. Join me to take a look at the theory and practice behind using hypermedia by examining both web services and web clients. Along the way we will look at some exciting upcoming Spring HATEOAS features, like the Affordances API, and talk about what the future holds for hypermedia in your web services.
This document discusses continuous delivery of microservices on Kubernetes. It notes that previously there were challenges like big bang releases, lack of automation, and complexity in delivering business value. However, tools like Jenkins X now allow for reimagined continuous integration and continuous delivery (CI/CD) workflows for cloud native applications on Kubernetes, providing faster feedback and delivery of value. The document encourages ongoing learning and communication to improve processes.
Individual microservices are relatively easy to develop, but managing a distributed system composed of microservices is never a simple task. Kubernetes helps, but it falls short of providing everything such a system needs. This is where the Istio Service Mesh comes in.
Running microservices in production, you'll soon realize you want things like traffic splitting, automatic connection retries, timeouts and failovers, secure communication and authentication between your services, distributed metrics, tracing and logging. By introducing Istio into your architecture, you get all of that and more. And you get most of it without changing your code at all.
In this talk, you'll see a demonstration of Istio in action and learn about the tricks that make its magic possible.
Do your customers keep complaining about bugs in your software application? Does it take you too much time to implement new features? If yes, then you probably have issues with the quality of your application. Join me to find out what practical steps you can follow to improve the quality of your application!
We are used to give commands to our computers with keyboard - by natural language recognition improvement, services around this technology stack become better and better each day. Using Google Home mini device, IFTTT service and java web socket netty server hosted on red hat Openshift platform, control your loving private computer terminal or any application from distance with your bare voice.
Quality control during apps development demands continuous testing. Selenium, Cucumber, Jenikns and Docker can help us in that process. Hrvoje will share his experience about that subject.
Bugs are a daily cause of stress in our work as Java developers. Those pesky things can hide behind core concepts in Java 9 and 10—there is no way out of this. If we don’t keep up to date with new Java versions, bugs will take over our projects. But can we have fun hunting them? You bet! How about solving a series of Java puzzles as a way to master concepts and save a lot of time finding those tricky bugs? In this session, attendees can help the bug hunters solve fun Java challenges, gain a clear understanding of what causes the most-stressful bugs—and have fun eliminating them from projects.
In H2020 EU project symbIoTe (symbiosis of smart objects across IoT environments) we have been building IoT middleware based on microservices programmed in Java with Spring Boot and Spring Cloud components. Here I will present our experiences in developing such services in distributed team across EU and employed by 15 organizations. I will present organizational and technical advantages and drawbacks as well as our choices in building such system.
In this talk, you'll learn about the new features in JDK 11, the first long-term support (LTS) release in a new, faster Java SE release cadence.
We'll discuss the how these features benefit your code, and how existing code can be brought forward to benefit from JDK 11. Last but not least, we'll discuss how to keep up with innovations coming up in JDK 12, and future releases.
Javantura v6 Conference
What’s new in Java today, and what’s coming to Java tomorrow? This session will review some of the recent enhancements made over the last year to the language and the platform, as well as offer a glimpse into some of the features in development that will continue to improve both developer productivity and program performance while retaining Java’s core values of readability, generality, and compatibility.
Javantura v6 Conference
What is the future of Earth and Sun in the close and far future? What is the future of this part of the Universe and how the whole Universe will end? What is the close future of humankind? What is the best way to deal with greatest challenges like climate changes, artificial intelligence, globalisation and generally very fast advancement of technology. What is the future we want? In this session we will discuss answers to these questions, as the basis for further discussion and as food for thoughts.
This document introduces self-service application deployment with Kubernetes and OpenShift. It discusses how containers and container orchestration tools like Kubernetes and OpenShift address issues with traditional application deployment processes by allowing developers to deploy applications without needing access to infrastructure. It provides an overview of Kubernetes and OpenShift concepts and components that enable this self-service deployment model.
Cloud-native architectures and microservices allow software to be built faster, more resiliently, and scalably. Microservices involve decomposing applications into loosely coupled services that are independently deployable. Key aspects of microservices include explicit interfaces, independent scaling, and fault tolerance through approaches like circuit breakers. Containerization helps with microservices by enabling portable, lightweight execution of individual services. APIs are critical for communication between microservices and services should be stateless and immutable.
More from HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association (20)
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Javantura v6 - Java in Croatia and HUJAK - Branko Mihaljević, Aleksander Radovan
1. dr. sc. Branko Mihaljević
and
Aleksander Radovan
HUJAK
www.hujak.hr 1
Java in Croatia
and HUJAK
Welcome to Javantura v6!
HUJAK - B. Mihaljević and A. Radovan
2. Before we start – some Javantura info
• General info at javantura.org
• Latest schedule at javantura.com/schedule
• On social networks you can use #Javanturav6
• Halls A/B – this one; after split at noon – Hall A is on the right, Hall B is on the left
• Hall C – on the first floor, upstairs and left from the elevators
• Lunch – upstairs
• Conference closing (with some prizes) at 6 pm
• After that we can go for a drinkup ;-)
• Javantura v6 post-conference survey will be sent to your email
Thank you all for coming today! ☺
www.hujak.hr 2HUJAK - B. Mihaljević and A. Radovan
6. What is HUJAK doing?
• Trying to connect people that like software development and (mostly) Java
• Organizing Java-related conferences and other gatherings
• Helping our members to find developers, partners and clients
• Popularizing programming and software development
• Helping in STEM reachout to children and younger students
• Popularizing Java among students and developers
• Many other things…
www.hujak.hr 6HUJAK - B. Mihaljević and A. Radovan
7. A few nice things happened in 2018…
• Java Zagreb meetups – many great meetups so far
• Java in high schools initiative with Oracle Academy
• Croatian Makers league (IRIM) continues
• Micro:bit, Logo, mBot, Scratch, Arduino, Little Bits…
• Digital Academy (Algebra)
• ScratchJr, RunMarco, Studio Code, Play Lab, Scratch, App studio,
micro:bit, Arduino…
• Code Club Croatia (Programerko & STEMI)
• Udruga za darovitu djecu "Dar" and many many others
• Two great Javantura and JavaCro conferences ☺
www.hujak.hr 7HUJAK - B. Mihaljević and A. Radovan
8. Calendar of Java-related Conferences in EU
• HUJAK's conference calendar is
available at: hujak.hr/kalendar/
• Take a look at May 2019
• P.S. If we are missing some
event please send email to
info (at) hujak.hr
www.hujak.hr 8HUJAK - B. Mihaljević and A. Radovan
9. Java-related Conferences in Croatia
www.hujak.hr 9
Conference Location Date Sessions Tracks Attendees Countries
HrOUG 2018 Rovinj 16.-19.10.2018. 70 7 370 -
JavaCro'18 Rovinj 7.-9.5.2018. 47 5 300 15
Javantura v5 Zagreb 17.2.2018. 26 3 300 -
JavaCro'17 Rovinj 10.-12.5.2017. 50 5 280 15
Javantura v4 Zagreb 11.2.2017. 27 3 300 -
HrOUG 2016 Rovinj 18.-22.10.2016. 7 (od 96) 1 (od 9) 450 11
JavaCro'16 Rovinj 18.-20.5.2016. 56 5 260 15
Javantura v3 Zagreb 20.2.2016. 23 - 300 -
JavaCro'15 Rovinj 10.-12.5.2015. 46 5 200 11
Javantura v2 Zagreb 15.11.2014. 16 - 160 -
JavaCro'14 Poreč 11.-13.5.2014. 50 5 220 11
Javantura v1 Zagreb 22.2.2014. 12 - 150 -
WebCamp 2013 Zagreb 26.10.2013. 24 - 600 -
HrOUG 2013 Rovinj 15.-19.10.2013. 11 (od 90) 1 (od 7) 370 12
JavaCro'13 Tuhelj 3.-5.6.2013. 50 5 200 -
HrOUG 2012 Rovinj 16.-20.10.2012. 11 (od 114) 1 (od 7) 370 13
WebCamp 2012 Zagreb 24.11.2012. 24 - -
Java 2012 Tuhelj 29.-30.5.2012. 34 7 170 -
HrOUG 2011 Rovinj 18.-22.10.2011. 12 (od 96) 1 (od 9) 460 11
This is our 20th conference!!! ☺
#Javantura #JavaCro #HrOUG #proud
HUJAK - B. Mihaljević and A. Radovan
16. • #1 Development Platform
• Continued growth of Java for 23 years
• A Few Dozen Billion Devices run Java
• 10 Million Java Developers in the world
• Many have Java Certificates
• But not only Java – 50+ JVM languages
• including Clojure, Groovy, Scala, JRuby, Jython, Fantom, Kotlin, Ceylon, Xtend, X10,
LuaJ, Golo, Frege, Mirah, Eta… and JavaScript
So, what is Java … for us?
www.hujak.hr 16HUJAK - B. Mihaljević and A. Radovan
17. How is Java currently holding?
• TIOBE index for February 2019
www.hujak.hr 17HUJAK - B. Mihaljević and A. Radovan
Rank Language Ratings
1 Java 15.876%
2 C 12.424%
3 Python 7.574%
4 C++ 7.444%
5 VB .NET 7.095%
18. What about trends?
• Google Trends
• Java vs Python vs C vs C++ vs JavaScript
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 18
Average
Last 14 years
Last year (2018)
19. What about Java download?
• When you type "Java
download" in Google
you'll probably get
www.java.com
• Where you can
download JRE
Java 8 Update 201
• What about the latest
JDK download(s)?
www.hujak.hr 19HUJAK - B. Mihaljević and A. Radovan
20. Available JDKs (and Licenses)
• Oracle JDK www.oracle.com/technetwork/java/javase/downloads/
• Oracle Binary Code License (BCL) with FoU (Field of Use) restrictions $$$ ?
• Many OpenJDKs:
• Oracle OpenJDK jdk.java.net/11/
• GNU General Public License version 2, with the Classpath Exception (GPLv2cpe) with no restrictions
• Security and bug fix updates every (and only for) six months (until next JDK, no overlap)
• AdoptOpenJDK's OpenJDK adoptopenjdk.net
• OpenJDK 8 or OpenJDK 11 (both with LTS)
• Hotspot JVM or OpenJ9 JVM (former IBM commercial JVM, open-sourced to Eclipse foundation)
• Azul's Zulu OpenJDK www.azul.com/downloads/zulu/
• From JDK 6 to JDK 11, wide platform support (Windows, Linux, macOS…)
• Others: Amazon's Corretto OpenJDK, RedHat's OpenJDK, SAP's SapMachine OpenJDK,
Linux distribution's OpenJDKs …
www.hujak.hr 20HUJAK - B. Mihaljević and A. Radovan
21. • Oracle's Java SE Downloads
• Currently available downloads
of Oracle's JDK:
• Java SE 11.0.2
• Java SE 8u201
www.hujak.hr 21
Java Download
HUJAK - B. Mihaljević and A. Radovan
22. Open Sourcing and Converged Binaries
• No functional difference between OpenJDK and Oracle JDK in JDK 11+
• Open sourcing most of the closed-source parts of JDK
• Flight recorder, Mission control …
• Removing some closed-source parts
• Browser Plugin, Java Web Start,
JavaFX …
• Backwards Compatibility
• Applications depending on
Java SE should work
www.hujak.hr 22
Oracle
JDK 10
OpenJDK
10
Java SE
10
OpenJDK &
Oracle JDK
11+
Java SE
11+
HUJAK - B. Mihaljević and A. Radovan
23. OpenJDK Release Model
• New Features included (only) when ready
• Feature release versions released every 6 months (in March and
September)
• Update releases shipped quarterly (in January, April, July, and October)
• Long-term support (LTS) feature release every 3 years
• Starting with JDK 11 (September 2018), updates available for at least 3 years
• LTS for all releases is not practical
• Starting with JDK 11 (September 2018), then JDK 17 (September 2021), then JDK
23…
• For Oracle's commercial customers updates available for at least 3 years or longer
• JDK 12 – in General Availability on March 19, 2019
www.hujak.hr 23HUJAK - B. Mihaljević and A. Radovan
24. Is Java still "Free"?
• $free as in free beer (the cost) vs free as in free speech (what can you do)
• For $free use of OpenJDK binaries
• For free use of OpenJDK with GPLv2+CE license
• Updates refers to code patches – typically $free
• Support means fixing bugs and answering questions – was never $free
• LTS release every 3 years – does not mean 3 years of $free updates
• Oracle JDK 11 (and onward) can only be used in production with commercial
Java SE subscription
• Free JDK 11 (and later) are only OpenJDK binaries
• However, Oracle JDK 8 can be used indefinitely for free
• Without any further security patches and bug fixes
www.hujak.hr 24HUJAK - B. Mihaljević and A. Radovan
25. OK, but what do we use in reality?
• JVM Ecosystem Report 2018 by Snyk and Java Magazine, October 2018
snyk.io/blog/jvm-ecosystem-report-2018
www.hujak.hr 25HUJAK - B. Mihaljević and A. Radovan
26. Which Java SE version in production?
• Which Java SE version do you use in production for your main application?
• Note:
This was
before
Java 11
www.hujak.hr 26HUJAK - B. Mihaljević and A. Radovan
27. Which JDKs are in production?
• Which Java vendor’s JDK do you use in production for main applications?
www.hujak.hr 27
Source: JVM Ecosystem Report, Snyk, 2018, https://snyk.io/blog/jvm-ecosystem-report-2018/
HUJAK - B. Mihaljević and A. Radovan
28. Which Java SE version in the future?
• How do you plan to respond to Java’s new release cycle?
www.hujak.hr 28HUJAK - B. Mihaljević and A. Radovan
29. What is our advice?
• Obviously – use Java 11 ☺
• OpenJDK or Oracle JDK or any other –
it's up to you
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 29
30. More Long-term Java Future
• Project Amber – incubator for smaller, productivity-oriented language features and
simplifying syntax
• Local variable type inference, local variable syntax for lambdas, lambda leftovers, raw string literals,
pattern matching, switch expressions…
• Project Valhalla – incubator project for advanced JVM and language feature candidates
• Value types and specialized generics
• Project Panama – to interconnect JVM and native code
• Foreign function interface (FFI) as a replacement for JNI
• Project Loom – to reduce complexity in writing concurrent applications
• Fibres (JVM-level threads) and continuations
• Project Metropolis – JVM re-written in Java, i.e. "Java on Java"
• Using Graal experience, easier porting, performance to be explored (AOT compiler)
• Project Skara – alternative SCM & code review for JDK
• Git instead of Mercurial
www.hujak.hr 30HUJAK - B. Mihaljević and A. Radovan
31. Is Java really "Moving Forward Faster"?
• Community opinion: well… yeah! ☺
• Much more frequent Java releases
• Faster access to new features
• Many new improvement ideas
• A lot of maintenance and housekeeping
• Java still remains free
• However, there is no more JavaOne conference?!
• There is and it is larger than ever, but with a new name
Oracle Code One – a conference for all developers
www.hujak.hr 31HUJAK - B. Mihaljević and A. Radovan
32. Where can you learn Java?
• On every major university in the world
• On all major online learning and MOOC platforms
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 32
&
33. How can you (and your kids) start?
• Scratch (7-16 g.) i ScratchJr (5-7 g.)
• scratch.mit.edu, MIT Media Lab
• Alice (11-18 g.)
• www.alice.org, Carnegie Mellon University
• Greenfoot (13-20+ g.)
• www.greenfoot.org, University of Kent
• BlueJ (15-20+ g.) and jGRASP
• Eclipse, IntelliJ IDEA, NetBeans …
• Other: robotics, Minecraft, Raspberry Pi…
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 33
34. However, the most interesting are… robots!
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 34
Photo from Javantura v3 conference, author Johan Janssen
35. What about learning Java in Croatia?
• You can learn Java practically in each and every computing / computer science /
information technology university and/or college study program in Croatia
• Java is #1 introductory programming language for decades! ☺
• In 18 cities: Bjelovar, Čakovec, Dubrovnik, Krapina,
Križevci, Osijek, Pula, Rijeka, Sisak, Split, Šibenik,
Varaždin, Velika Gorica, Virovitica, Zabok, Zadar,
Zagreb, and Zaprešić
• On 37 or more educational institutions including
7 public universities and 15 private colleges
• In 80 or more educational programs
(BS, MS, spec, PhD)
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 35
Source: Gdje studirati računarstvo i informatiku u Hrvatskoj?, www.bug.hr/obrazovanje/gdje-studirati-informatiku-u-hrvatskoj-2018-4185, Bug, 2018.
36. What about getting hired?
• Do we have to tell you? Really? ☺
• Number of job offers on one famous job portal in ICT category
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 36
37. Instead of conclusion…
• OK, enough from us, there are 27 interesting talks today so…
• Let's start another great #Java adventure
Javantura v6
Warm welcome
from HUJAK
and CroDuke!
www.hujak.hr HUJAK - B. Mihaljević and A. Radovan 37