- Kotlin Blueprints
- Ashish Belagali Hardik Trivedi Akshay Chordiya
- 292字
- 2021-07-02 21:50:09
Why not other languages?
Many languages prior to Kotlin have tried to become a better Java. Let's see why they could never become one.
Every language attracts the programmer community by giving them an ability to do something that was cumbersome before. Their adoption is directly driven by how much value the promise has for them and how much faith the community can put into that promise.
All languages that claimed to be a better Java and offered something worthwhile beyond what Java offers, also took something back in turn. Here are a few examples:
- .NET has been the longtime rival of Java and has supported multiple languages from day one. Based on the lessons learnt from Java, the .NET designers came up with better language constructs. However, the biggest hurdle for .NET was that it was a proprietary technology, and that created an impediment to its adoption. Also, .NET was more aggressive in adding newer language constructs. While the language evolved quickly as a result of that, it broke its backwards compatibility many times.
- Ruby (and Python) offered shortened code, enticing programming constructs, and greater expressiveness as opposed to the boring Java; however, they took away static typing support (which helps to make robust programs) and made the programs slower.
- Scala offered shortened code and advanced programming constructs, without sacrificing typing safety. However, Scala is complex and has a substantially high learning curve. It supports multiple coding styles. So, there is a danger that Scala code written by one developer may not be understood easily by another. These are risk factors for any project that includes a team of developers and when the application is expected to be supported over a long period, which is true about most applications anyway.
推薦閱讀
- 高手是如何做產品設計的(全2冊)
- Mastering phpMyAdmin 3.4 for Effective MySQL Management
- Visual C++串口通信技術詳解(第2版)
- Mastering Ext JS
- Tableau 10 Bootcamp
- Bootstrap 4 Cookbook
- 智能手機APP UI設計與應用任務教程
- Arduino機器人系統設計及開發
- OpenCV 3.0 Computer Vision with Java
- 優化驅動的設計方法
- Python機器學習
- SOA Patterns with BizTalk Server 2013 and Microsoft Azure(Second Edition)
- Visual FoxPro數據庫程序設計
- Visual C++程序開發范例寶典
- 亮劍C#項目開發案例導航