Узнайте, как Smalltalk и Java повлияли на Коллекции Eclipse и могут помочь вам расти как разработчику.

Прогулка со Smalltalk

12 мая 2022 года я выступил с докладом Smalltalk или Java? Почему не оба! в Питтсбургской группе пользователей Java. Встречу организовали Сириша Пратха и Ринат Гатятуллин. Выступление было записано и теперь доступно на YouTube-канале Pittsburgh JUG (ссылка на видео ниже). Я продемонстрировал некоторые функции языка и библиотеки, переключаясь между примерами кода Smalltalk и Java/Eclipse Collections, используя Pharo 10.0 и IntelliJ IDEA 2022.1.

Разговор доставил мне массу удовольствия. Прошло 22 года с тех пор, как я профессионально программировал на Smalltalk. Один из участников спросил меня, какой Smalltalk я использовал раньше. Я ответил, что программировал в IBM VisualAge для Smalltalk. Я также упомянул, что начал изучать Java с помощью IBM VisualAge for Java, который был реализован в VisualAge for Smalltalk. VisualAge для Java в конечном итоге превратилась в Eclipse IDE, исходный код которого был открыт IBM более 20 лет назад.

Четыре десятилетия в качестве разработчика

Я программирую 40 лет. Вот список большинства языков, на которых я программировал.

3 десятилетия, 3 языка и 3 лямбда-синтаксиса

За последние 30 лет я профессионально программировал на трех разных языках, которые оказали длительное влияние на мой мыслительный процесс как разработчика. Все три из этих языков поддерживают лямбда-выражения.

Во время разговора я объяснил, что больше никогда не смогу программировать на языке без поддержки лямбда-выражений.

Ссылки на блоги

Я ссылался на следующие ссылки на блог во время разговора. Код, которым я поделился на живых сеансах кодирования, доступен в блогах. Я также подробно объясняю, как начать работу с Pharo Smalltalk IDE.

Болтовня





Java с коллекциями Eclipse





И Smalltalk, и Java





Коллекции Eclipse = Smalltalk + Java

Eclipse Collections — это мост, построенный между двумя удивительными мирами программирования. Вот таблица, которая объясняет влияние обоих языков программирования на эволюцию библиотеки Java с открытым исходным кодом, которой уже 18 лет.

Моя игровая площадка Pharo из разговора

Ниже приведен снимок игровой площадки Pharo, которую я использовал в качестве REPL для выделения и выполнения кода. Вывод в Transcipt на изображении является результатом выполнения выделенного кода. Я заметил, что Interval является инклюзивным в Smalltalk, и когда вы используете дробный шаг, Smalltalk автоматически уменьшает дроби, когда это возможно. Я упомянул, что у нас есть Interval, IntInterval и LongInterval в Коллекциях Eclipse.

Изучайте несколько языков

Изучение нескольких языков может помочь нам расти как разработчикам. Есть много языков программирования для изучения. Я считаю, что изучение классических языков, таких как Lisp и Smalltalk, имеет такое же, если не большее значение, как и изучение новых блестящих языков программирования. Классические языки, такие как Lisp и Smalltalk, продолжают развиваться и решать новые проблемы. Готовясь к этому выступлению, я узнал кое-что новое о Smalltalk, которого не знал, а также некоторые интересные функции среды разработки Pharo Smalltalk. Похоже, API коллекций в Pharo Smalltalk продолжает развиваться. Я надеюсь, что, проводя подобные доклады, сообщества Java и Smalltalk смогут узнать о новых возможностях, которые мы реализовали в Eclipse Collections.

Я надеюсь реализовать библиотеку Lazy Iterable для Pharo Smalltalk в будущем. Я, конечно, открою библиотеку, как только доберусь до нее.

Делиться заботой.

Я размещу ссылку на видео с выступления здесь, как только оно появится на YouTube. Следите за обновлениями!

Обновление: видео

Я являюсь руководителем и ответственным за проект OSS Eclipse Collections в Eclipse Foundation. Eclipse Collections открыт для пожертвований. Если вам нравится библиотека, сообщите нам об этом, пометив ее звездочкой на GitHub.