Cincom Smalltalk vs. Eclipse
Cincom Smalltalk is a cross platform development and deployment technology that helps developers build applications quickly and efficiently from highly scalable web, and Web 2.0 applications to classic client/server system. But how does it stack up against the competition.
Take Eclipse, for example. Eclipse is an Integrated Development Environment (IDE) primarily written in Java. Eclipse began as an IBM project, developed by OTI (Object Technology International). In 2001, a consortium was formed to develop Eclipse as open source. Two years later, the Eclipse Foundation was established.
- Was built in a research lab by a select group.
- Was built over a decade, with no product pressures.
- Had the goal of making computing easy for people.
- The research lab’s work has influenced and shaped modern computing.
- Is meant for Java developers, in its default form.
- Consisting of Java Development Tools (JDT)
- Capabilities can be extended by installing plug-ins, such as toolkits for other programming languages (i.e., C and Python).
- Eclipse provides language packs for translations into over a dozen other natural languages.
- Is often described as “Smalltalk-like.”
Strengths and Weaknesses
Cincom Smalltalk’s Strengths:
- Enjoyment – Cincom Smalltalk is pure Object -Oriented. Developers achieve more and enjoy doing it.
- Better morale and employee retention.
- Developers have said, “They did not get object -oriented programming, until they learned Smalltalk.”
- Developers feel more capable in any object-oriented language, after having learned Smalltalk.
- Maintainability – Cincom Smalltalk can handle vast changes quickly and easily, as evidenced by Cincom Smalltalk client, JPMorgan – complex derivatives.
- Scalability – Cincom Smalltalk can scale tremendously, as seen by Cincom Smalltalk client, EZ Board – has 30 million users.
- Consistency – Cincom Smalltalk is incredibly robust and reliable, as demonstrated by Cincom Smalltalk client, Money Markets System – $6 billion in trades per day.
- Learning curve – Cincom Smalltalk is faster and easier to learn.
- Productivity – Cincom Smalltalk is more productive than any other mainstream language.
- Portability – developers using Cincom Smalltalk can develop on their favorite platform and then deploy to any other platform with no changes.
- Productivity – Cincom Smalltalk programmers typically solve a given problem faster and write one third to one half of code produced by programmers using other languages. This enables Cincom Smalltalk to be a very productive and strong prototyping tool.
- Plug-ins well supported.
- Uses other programming languages such as, C and Python.
- Provides flexibility and choice being open source.
- Platform runs on many operating systems.
- Easier to develop and deploy applications by integrating the enterprise environment.
- Has a large community of major technology vendors.
- IDE refactoring (Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure.*) is very good.
- IDE tools are most modern.
- Eclipse gives the impression of being a refined and productive environment. It will take a novice some time to become proficient in the environment.
- Eclipse is written in Java, which is not a dynamic language.
- Portability could be an issue. There are supporters who claim, “Write once, run anywhere,” and detractors who say, “Write once, debug anywhere.”
- Eclipse has several tutorials used in the learning environment. Some tutorial steps are not straightforward, and navigation direction is vague.
- Being Java based, the Eclipse environment is often described as becoming a modern “Cobol.”
- Lacks object-oriented purity.
The risk of choosing the wrong technology and selecting the “right” language. Robust modern development frameworks are increasingly leveraging the capabilities that a dynamic language (like Smalltalk) offers.
With Cincom Smalltalk, you get a better return on investment (ROI). You can develop better applications, faster and with a smaller staff. You can maintain and enhance applications with a smaller staff (less code = less maintenance). You can also react to changes in your business domain faster than the competition.
* Martin Fowler, from “Refactoring: Improving the Design of Existing Code”