Effective polyglot programming by cloud monk Page

Effective Polyglot Programming by Cloud Monk, 2025



Formerly Effective Programming Languages by Cloud Monk

#redirect Effective Polyglot Programming by Cloud Monk

Inspired by and Based on Effective Java, Third Edition by Joshua Bloch, Pearson Education Inc., 2018, ISBN-13: 978-0-13-468599-1, ISBN-10: 0-13-468599-7. Also on 100 Java Mistakes and How to Avoid Them, Troubleshooting Java - Read, Debug, and Optimize JVM Applications, The Well-Grounded Java Developer, Second Edition, Functional Programming in Java - How Functional Techniques Improve your Java Programs, Classic Computer Science Problems in Java, Modern Java in Action - Lambdas, Streams, Functional and Reactive Programming, The Java Module System, CPP Core Guidelines by Bjarne Stroustrup and Herb Sutter | C++ Core Guidelines by Bjarne Stroustrup and Herb Sutter and Software Mistakes and Tradeoffs

https://survey.stackoverflow.co/2024/technology

0. Transact-SQL and SQL - Effective SQL (Microsoft Transact-SQL, SQL, SQL:2023 - ISO/IEC 9075-2023 - 9th edition, Oracle PL/SQL

The programming languages that most closely resemble Java are:

1. Effective C Sharp | Effective C#: C Sharp is often compared to Java due to its similar syntax, object-oriented principles, and runtime environment (the .NET framework in C# vs. the JVM in Java). Both languages share features such as garbage collection, strong typing, and similar syntax for defining classes, methods, and interfaces.

2. Effective Kotlin: Kotlin is designed to be fully interoperable with Java and runs on the JVM. It is often used as a modern replacement for Java in Android development. Kotlin shares many features with Java, such as object-oriented programming, but also introduces more concise syntax, null safety, and higher-order functions.

3. Effective Scala: Scala is another language that runs on the JVM and is fully interoperable with Java. Scala combines object-oriented and functional programming paradigms and offers features like type inference, immutability, and pattern matching, all while allowing seamless integration with existing Java code.

4. Effective Groovy: Groovy is a dynamic language that runs on the JVM and is fully compatible with Java. It offers a simpler syntax and adds powerful features such as closures, dynamic typing, and scripting capabilities, while still allowing Java code to be directly integrated.

5. Effective CPP | Effective C++: CPP is a general-purpose programming language that heavily influenced the design of Java. While C++ includes both low-level and high-level programming features and does not run on a JVM, its syntax, object-oriented concepts, and use of classes and inheritance closely resemble those in Java.

6. Effective JavaScript: Despite differences in execution environments (browser vs. JVM) and some language features, JavaScript shares many syntax similarities with Java, especially in its earlier versions. Both languages use C-style syntax, and JavaScript was originally designed with Java-like syntax to make it familiar to Java developers.

7. Effective Swift: Swift is the programming language developed by Apple for iOS and macOS development. Swift shares several object-oriented features with Java, such as strong typing, the use of classes, methods, and protocols (similar to interfaces in Java). Swift also adopts a modern syntax and safety features that parallel Java's evolution.

8. Effective PHP: Starting from PHP 5, PHP adopted object-oriented features that resemble those in Java. The syntax for class declarations, method definitions, and inheritance in PHP is similar to Java. While PHP is primarily a scripting language for web development, its object-oriented features make it resemble Java in certain aspects.

9. Effective TypeScript: TypeScript is a superset of JavaScript that adds static typing and other features commonly associated with strongly-typed languages like Java. TypeScript's syntax for classes, interfaces, and modules is similar to Java, making it a familiar choice for developers who are used to Java's type system and object-oriented principles.

10. NO - a dying language - Effective Objective-C: Objective-C is an object-oriented programming language used primarily for developing software on Apple platforms. Its syntax and object-oriented features are similar to those of Java, especially in the use of classes, methods, and interfaces. While it includes additional features such as message-passing, the general structure of Objective-C code resembles Java.


These previous languages are either directly influenced by Java, share similar syntax and design principles, or are intended to interoperate with Java code.


----

These next languages are are NOT directly influenced by Java, do not share similar syntax and design principles, or are not intended to interoperate with Java code:


11. Python - not based on Java - see Effective Python

12. Golang - not based on Java - see Effective Golang

13. Rust - not based on Java - see Effective Rust

14. C Language - not based on Java - see Effective C Language

15. R Language - not based on Java - see Effective R Language

16. Ruby - not based on Java - see Effective Ruby

17. Clojure - not based on Java - see Effective Clojure

18. Haskell - not based on Java - see Effective Haskell

19. Elixir - not based on Java - see Effective Elixir

20. Erlang - not based on Java - see Effective Erlang

21. Elm - not based on Java - see Effective Elm

22. PowerShell - not based on Java - see Effective PowerShell

23. Dart - not based on Java - see Effective Dart